Skip to content

Releases: luxonis/depthai-python

Release v2.29.0.0

25 Nov 10:03
84daffe
Compare
Choose a tag to compare

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 the dai::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 and avg)
    • 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() and getHeight() API to EncodedFrame

Release v2.28.0.0

19 Aug 22:24
837a361
Compare
Choose a tag to compare

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

27 Jun 10:23
8e1c96f
Compare
Choose a tag to compare

Features

  • Automatic crash dump collection when DEPTHAI_ENABLE_FEEDBACK_CRASHDUMP is set.

Bug fixes

  • Fix PointCloud generation when depth comes out of the ImageAlign 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

26 May 06:19
ad4ddea
Compare
Choose a tag to compare

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 to ImgFrame
    • Useful in case apps need to use outputs from NeuralNetwork node to be fed into nodes that only accept ImgFrame
  • 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
  • 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

22 Apr 16:52
4d85750
Compare
Choose a tag to compare

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

09 Mar 14:49
Compare
Choose a tag to compare

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() and getAvailableStereoPairs() 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.
  • 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

14 Dec 08:43
7b57b28
Compare
Choose a tag to compare

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 and setIrLaserDotProjectorIntensity 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 and IMX462
  • 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 and OV9782 luxonis/depthai-core#926 ,new ranges per resolution of:
    • THE_800_P: 1.687 .. 129.6 fps
    • THE_720_P: 1.687 .. 143.1 fps
    • THE_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

05 Oct 11:03
Compare
Choose a tag to compare

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 and Device::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 introduced hasAutofocusIC
  • 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

13 Jun 07:51
Compare
Choose a tag to compare

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 by name

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

06 Apr 01:44
Compare
Choose a tag to compare

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