Releases: luxonis/depthai-python
Releases · luxonis/depthai-python
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
StereoDepth
presets:DEFAULT
FACE
HIGH_DETAIL
ROBOTICS
- 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 (
sum
andavg
) - 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_COLLECTION
is set. - Added
DEPTHAI_ENABLE_ANALYTICS_COLLECTION
environment varialbe - when set, analytic data (pipeline schema) is sent to Luxonis which will be used to further improve the library. - Undistort both outputs of
ToF
by default. - Improved 3A syncing on OAK-D-LR
- Added support for YoloV10
Bug fixes
- Fix
Camera
node to correctly allocate resources for undistortion - Fix
StereoDepth
node 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_CRASHDUMP
is set.
Bug fixes
- Fix
PointCloud
generation when depth comes out of theImageAlign
node - 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
NNData
message toImgFrame
- Useful in case apps need to use outputs from
NeuralNetwork
node 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
Vscode
by default now - Fix stubs/autocomplete to correctly work with
with dai.Device() as device
- Fix stubs/autocomplete to return the correct type in
getCvFrame
function.
Release v2.25.1.0
Features
- Added
DeviceBootloader::getFlashedVersion
to 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
intensity
output 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
depthai
binary- 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
bookworm
OS on RPI (Python 3.11)
Bug fixes
- Bug fix for
v2.24.0
regression with flashing the bootloader link - Bug fix in message groups for large resolution frames when going through
XLinkOut
node - 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
VideoEncoder
node 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
setIrFloodLightIntensity
andsetIrLaserDotProjectorIntensity
methods for setting the intensity normalized between 0 and 1 - Added
getConnectionInterfaces
method 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
IMX283
andIMX462
- Improve time-syncing between the host and device to achieve sub 300 us offset
- Improved max FPS and image quality under low light for
OV9282
andOV9782
luxonis/depthai-core#926 ,new ranges per resolution of:THE_800_P
:1.687
..129.6
fpsTHE_720_P
:1.687
..143.1
fpsTHE_400_P
:1.687
..255.7
fps
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
XLinkIn
didn'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::getDeviceName
andDevice::getProductName
that 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)
hasAutofocus
value fixed and introducedhasAutofocusIC
- Added timestamps and sequence numbers to all Message types
- Added
DEPTHAI_ENABLE_LIBUSB
for 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
Release v2.22.0.0
Features
- UVC Node - Capability to create a pipeline that sends data over UVC (or flash it)
- ToF Node - Capability to decode ToF data into a depth map
- New devices: OAK-D-SR (fixes), OAK-D-LR R1, OAK-D SR PoE
- Reorganized CameraBoardSocket naming
- Logging improvements
- Added data throughput profiling, per device and globally
- Added
DEPTHAI_DEVICE_NAME_LIST
env var to filter devices byname
Bug fixes
- Bootloader v0.0.26 - Fix for bootloader crash (USB variant)
- Fix for 4 cameras via ETH
- Device constructor bugfixes (when taking pipeline, or pipeline with config preapplied, etc...)
- XLink - Bugfix for wrongly discovered usb path on Windows
- OV9782 startup stream issue fix
- luxonis/depthai-core#779 - Fixes a parsing issue
- luxonis/depthai-core#469 - Fixes a stuck case if same stream names are used
Misc
- Deprecated RGB/LEFT/RIGHT/... CamerBoardSocket naming. Rely on CAM_[A-H] or
setName
API - Add option to clear crash dump
- XLink - Added 255.255.255.255 discovery and increased PoE search time
Release v2.21.2.0
Features
- SpatialLocationCalculator/SpatialDetectionNetwork - Support for median and mode, default changed to median
- Improved x/y accuracy
- StereoDepth
- Multi stereo support, ability to run stereo between any 2 calibrated cameras
- Support for LEFT/RIGHT alignment
- Support to invalidate edge pixels: setNumInvalidateEdgePixels
- BrightnessFilter - If the input frame pixel is too dark or too bright, the disparity will be invalidated. Default pixels with value 0 are invalidated
- Added disparityToDepthUseSpecTranslation, rectificationUseSpecTranslation, and depthAlignmentUseSpecTranslation options for advanced usage
- Fix for RGB alignment when RGB is configured to 12 MP
- Crash dump support - support to retrieve crash context from the device which can be shared with developers
- Configurable 3A fps - setIsp3aFps
- IMU - support to retrieve connected IMU type, and firmware version. Refactored firmware update API
- BMI270 - enable interrupt mode, timestamps are more consistent now
- BNO086* - fix for sequence number
- ImageManip -CSC improvements
- Camera sensor improvements
- AR0234 improved AE smoothness, increased max gain to 400x (first 25.6x analog),
- OV9782 on RGB/CAM-A socket max FPS: 120 (previously was only for OV9282), also improves image quality in very bright light,
- OV9782/9282 minimum exposure time decreased: 20us -> 10us, helps in very bright light. TODO update tuning to make use of it, currently only possible to use with manual exposure
- HW sync (trigger mode) enabled for OAK-D-LR, for cameras with matching FPS
Bug fixes
- FW: fix for UART0 / '/dev/ttyS0' init failure in Script node
- POE power cycle fix - in rare occasions POE devices got stuck after reboot, requiring a manual power cycle
Misc
- Updated readme on Android support
- [XLink] Increased max number of links from 32 to 64
- Update FW with performance metrics when DEPTHAI_LEVEL=info is enabled
- Handle EEPROM boardOptions bit 7 for separate I2C on L/R