Releases: luxonis/depthai-python
Releases · luxonis/depthai-python
Release v2.31.0.0
Features
- Add tuning for the IMX577 sensor, removing the previously present blue tint
- Improve IMX678 support on RVC2 with better black level correction, improving brightness and color accuracy
New devices support
- Add support for a new revision of OAK-Thermal (R8)
- Add support for OAK-ToF (R4)
- Add support for a new revision of OAK-D-S2-[Pro]-Wide OV9728 variant (R8)
Bug fixes and stability
- Fix a rare issue of IMU preventing a device reboot
- Fix a timestamp overflow bug on the BNO08x IMU
- Fix an edge case where
dai.Deviceconstructor could get stuck indefinitely if the device lost connection at the wrong time by adding a timeout internally - Turn on the watchdog early during discovery of RVC2 USB devices to avoid soft bricking the device along with handling the case where the device gets into that state to recover it on the next boot
- Fully disable crashdump extraction when
DEPTHAI_CRASHDUMP=0is set
Misc
- Add support to explicitly remove tracklets in
ObjectTrackernode - Remove limitation for the maximum watchdog frequency from 4.5 seconds to unlimited ("infinity") by adding a software watchdog in firmware
Release v2.30.0.0
Features
- Add RVC4 discovery to point users to
v3version of the library for OAK4 devices - Add support for a new VCM enabling autofocus on new IMX378 CCMs
Bug fixes
- Fix an edge case in ImageManip to make https://github.com/geaxgx/depthai_hand_tracker run in edge mode again
- Fix an edge case when sending MessageGroup from host to device and using more than 4 messages
- Fix a bug where standolone logging would cause a memory leak
Release v2.29.0.0
Features
- Add the ability to change the calibration on the device in runtime with the new
dai::Device.setCalibration()method and to retrieve it with thedai::Device.getCalibration(). - New
StereoDepthpresets:DEFAULTFACEHIGH_DETAILROBOTICS
- Multiple camera improvements (more details in luxonis/depthai-core#972):
- Expose more downsampling modes when picking a lower than native resolutions
- Expose more binning modes when binning is picked on IMX582/586 (
sumandavg) - HDR on IMX582/586
- Option to bypass 3A for having manual expose/ISO take effect faster
- Initial support for new Sony 4K Starvis sensors: IMX678 and IMX715
- Option to set the main camera to drive auto-exposure and auto-white-balance in multi-camera configurations
- Improved StereoDepth filtering and an option to use a set a custom order of filters
- Disparity is first scaled to 13 bit before going through filtering, which results in filters being more effective.
Misc
- Remove false reports on crashes that happened on device destruction
- Add
getWidth()andgetHeight()API toEncodedFrame
Release v2.28.0.0
Features
- Changed the automatic crashdump collection to always on unless
DEPTHAI_DISABLE_CRASHDUMP_COLLECTIONis set. - Added
DEPTHAI_ENABLE_ANALYTICS_COLLECTIONenvironment varialbe - when set, analytic data (pipeline schema) is sent to Luxonis which will be used to further improve the library. - Undistort both outputs of
ToFby default. - Improved 3A syncing on OAK-D-LR
- Added support for YoloV10
Bug fixes
- Fix
Cameranode to correctly allocate resources for undistortion - Fix
StereoDepthnode when decimation filter and depth alignment are used - Fix host timestamps of thermal frames to be synced
Misc
- Updated XLink to support clangd and shared libraries on Windows:
- Remove a custom assert to always produce a crash dump to improve the UX with the automatic crashdump collection
- Increased watchdog priority on device side to improve stability during high load
Release v2.27.0.0
Features
- Automatic crash dump collection when
DEPTHAI_ENABLE_FEEDBACK_CRASHDUMPis set.
Bug fixes
- Fix
PointCloudgeneration when depth comes out of theImageAlignnode - Fix IMX214 (OAK Lite) potential crash on init with more complex pipelines
- Fix a rare bug on a crash if a camera stream is closed after 1 second while AF is running
Python only
- Add support for numpy 2
Release v2.26.0.0
Features
- ImageAlign node
- it can align depth to any other sensor on the device - works for ToF too.
- it can align two sensors with a static depth (default at infinity), useful for thermal-rgb alignment
- Cast node
- Cast
NNDatamessage toImgFrame - Useful in case apps need to use outputs from
NeuralNetworknode to be fed into nodes that only acceptImgFrame
- Cast
- Full ToF support
- Running live at 30 FPS
- Measuring range of 20cm - 6m
- < 1% error across the range
- Support for ToF in spatial nodes
- Add an option to limit bandwidth over XLink
setXLinkRateLimit(int maxRateBytesPerSecond, int burstSize, int delayUs)
Stability improvements and bug fixes
- Improved PoE stability on reboots - eliminate the case where powercycle of the device was sometimes needed
- NOTE: This requires flashing the factory bootloader - by running the flash script or using the device manager
- Improved runtime stability of heavy pipelines by increasing priority of the cameras in the NoC
- Improved ImageManip stability
- Improved XLink communication to be able to detect memory corruption and avoid it
- Fix a bug where stereo rectification was inaccurate when the calibration data didn't contain direct link between the two inputs
- Relevant for custom setups on FFC devices
Misc
- Improve numerical stability of the rectification algorithm
- Improves stereo quality on wide FOV sensors
Python only
- Add docstrings to stubs - docs are shown in
Vscodeby default now - Fix stubs/autocomplete to correctly work with
with dai.Device() as device - Fix stubs/autocomplete to return the correct type in
getCvFramefunction.
Release v2.25.1.0
Features
- Added
DeviceBootloader::getFlashedVersionto retrieve the bootloader version that is flashed on device.
Bug fixes
- Fixed fsync on OAK-D-SR.
- Mitigated boot issue on OAK-D-SR-POE and OAK-T.
- Fixed compilation in same cases, because of problems with
jsoncpp. (luxonis/depthai-core#980)
Misc
- Added thermal neural network example (
examples/NeuralNetwork/thermal_nnet.py).
Release v2.25.0.0
Features
- PointCloud node along with the PointCloudData message
- On device pointcloud generation
- Native conversion to PCL message type - similar to
getCvFrame()
- Support for the OAK Thermal
- New
setManualFocusRaw()API with more granularity for setting manual focus position - New
getStereoPairs()andgetAvailableStereoPairs()API to allow more device agnostic programming - Add the
intensityoutput to the ToF node - Add the crop sensor configs in
getConnectedCameraFeatures()now contain how each of the resolutions is cropped from the native sensor resolution
Python only features
- Added
depthaibinary- Useful to quickly list out devices, run
cam_test, etc.
- Useful to quickly list out devices, run
- Added Python 3.12 wheels
- Added 32 bit wheels for
bookwormOS on RPI (Python 3.11)
Bug fixes
- Bug fix for
v2.24.0regression with flashing the bootloader link - Bug fix in message groups for large resolution frames when going through
XLinkOutnode - Bug fix to apply AE limit during AF lens movement (before the fix, the AE limit wasn't applied during active AF movements)
- Bug fix for grayscale
VideoEncodernode with 2 inputs of different sizes
Misc
- Fix timings for IMX214 4K resolution, which were slightly off
Release v2.24.0.0
Features
- New nodes and messages:
- Sync node - syncs multiple inputs based on the timestamp, outputs a message group message
- Demux node - demultiplexes message group in multiple messages
- Message group message - a new message that can contain a map of arbitrary depthai messages, it's the output of the sync node and input to the demux node
- Encoded frame message - a new message specialized for encoded frames
- New output for the VideoEncoder node (
out) for the encoded frame message
- Automatic crash dump retrieval for firmware crashes
- Added
setIrFloodLightIntensityandsetIrLaserDotProjectorIntensitymethods for setting the intensity normalized between 0 and 1 - Added
getConnectionInterfacesmethod to retrieve the list of available interfaces on a device - Added an option to cap maximum time for exposure when using auto exposure with
setAutoExposureLimit - Initial integration for
IMX283andIMX462 - Improve time-syncing between the host and device to achieve sub 300 us offset
- Improved max FPS and image quality under low light for
OV9282andOV9782luxonis/depthai-core#926 ,new ranges per resolution of:THE_800_P:1.687..129.6fpsTHE_720_P:1.687..143.1fpsTHE_400_P:1.687..255.7fps
Bug fixes
- Avoid overflow for XLink profiling luxonis/depthai-core#933
- Improve XLink stability when using multiple devices luxonis/XLink#73
- Fix a rare bug where the device would hand in the constructor luxonis/depthai-core#922
- Fix a bug where
XLinkIndidn't work correctly for very small and very large buffers - Fix a bug for running multiple stereo nodes with a shared input
Misc
- On multi-input NeuralNetworks set the output NNData to the newest input timestamp (previously undefined)
- Add NOC DDR usage reporting on
DEPTHAI_LEVEL=info
Release v2.23.0.0
Bindings specific
- Added armv6l support (for all builds/releases)
- Fixed docstring creation
Features
- ImageManip - configurable interpolation type
- Script - added missing bindings for reading device releated data (on device calibration, etc...)
- Added
Device::getDeviceNameandDevice::getProductNamethat target a user name and a "SKU" name - Timesync - improved synchronization with tweaks to XLink
- Calibration - added
housingExtrinsics
Bug fixes
- Fix CAM_D enumeration on OAK-FFC-4P R7
- BMI270 IMU - fix latency when slow reading
- Device related logging
- OAK-D-SR-POE - new revision bugfixes
- Fix 4 cameras crash on PoE due to memory allocation
- Fixed incorrect warp in issue #882
Misc
- #867
- #873
- XLink - updated number of devices to 64
- ToF - median filter and Z map support (still not the final decoding pipeline)
hasAutofocusvalue fixed and introducedhasAutofocusIC- Added timestamps and sequence numbers to all Message types
- Added
DEPTHAI_ENABLE_LIBUSBfor potentially disabling USB protocol (to not require libusb library) - OV9782 and AR0234 improvements:
- OV9782 FPS improvements
- AR0234 max exposure time bump to 33ms and improved FSync INPUT mode