Changelog
## 1.6.0 (08-06-2024)
### Added
blobs.testing.BlobEvaluator introduced
- Exposed more compiler functionality
blobs.get_model_path
blobs.get_cache_dir
blob.get_model_name
- Added blobs.models.bulk for easier bulk importing of model paths
- i.e. bulk.GAUSSIAN_15x15 is a tuple of all compiled models
of that function
ALL_MODELS, as a list of each valid tuple of paths
- Added new script model_visualizer which allows visualizing a variety
of pre-compiled models.
### Improved
Explicit call to VPU.stop in blobs.benchmark_blob.
Enabled with statement usage with VPU to prevent missing stop calls.
Rewrote all existing tests to use new BlobEvaluator
More debug logging in VPU and node creation
## 1.5.3 (07-27-2024)
### Added
- blobs.benchmark_blob
Measure the latency of a compiled blob.
- nodes.get_yolo_data
Create a YolomodelData object from a json file.
## 1.5.2 (07-09-2024)
### Added
- benchmark submodule
- measure_latency and measure_throughput functions.
Allow measuring roundtrip latency and max uplink and downlink throughput.
- Info functions for compiled blobs
- Can get the layer information for input/output layers
of compiled blob files.
- Added function for getting blob objects via paths
with verification.
### Improvements
- create_device
Now accepts a usb speed parameter.
## 1.5.1 (05-15-2024)
### Added
- Supported for OAK-1 devices through the calibration API
- get_camera_calibration now reads device type and pulls
correct information.
- ApiCamera, LegacyCamera, VPU, and Webcam now accept
a device_id for specifying which physical OAK device to utilize.
- create_device: A function for creating a DepthAI Device
from a pre-defined pipeline. Accepts parameters for where to create said device.
- nodes.buffer submodule
- Buffer, MultiBuffer, SimpleBuffer classes. Each class
enables methods for making DataInput/OutputQueues easier to use in bulk.
- create_synced_buffer, allows wrapping multiple output
streams with a single function getting a single output from each stream at once.
### Improvements
- VPU methods refactored to handle multiple neural networks
reconfigure parameters changed
Added reconfigure_multi
Function signature changed for run
Pipeline generation and VPU thread use new backend
### Changed
- get_camera_calibration
- New return type of CalibrationData | ColorCalibrationData
This comes from the OAK-1 support
- Could break old code which utilized this function, but
would primarily affect static type-checkers like mypy
Can replace with get_oakd_calibration to achieve 1:1
## 1.5.0 (04-08-2024)
### Changed
- Removed Open3d as a strict requirement
point_clouds submodule only imported if open3d is found
Pinhole models in calibration will be None unless open3d is found
If open3d is found then oakutils will function identically as pre 1.5
open3d can be installed with oakutils[o3d]
- Added cv2ext as a strict requirment
Switched the DisplayManager to use cv2ext.Display
## 1.4.5 (02-22-2024)
### Added
- get_nn_data function
allows getting generic data from an executed neuralnetwork
### Fixed
- VPU
Incorrect return type for run
blob_path listed incorrectly as parameter for init
Changed reconfigure to accept str | Path
- Documentation
Resolved indentation errors in docs
### Changed
Removed README from doc homepage
## 1.4.4 (02-21-2024)
### Fixed
Package gets detected as being fully typed.
## 1.4.3 (02-10-2024)
### Added
Support for Python 3.11
### Changed
Dependency versions for almost every package to ensure more consistent behavior
### Fixed
CI test workflows not correctly propagating error codes
- Bug with queues on color camera, mono camera, image manip, xout, and stereo depth.
Queue flags should all be none and then only assigned if user provides.
## 1.4.2 (01-29-2024)
### Improvements
Better logging for compiling custom models
### Added
set_log_level function for controlling log levels programmatically
clear_cache function in blobs module for wiping all saved models
### Changed
Exposed setting the onnx opset through the compile_model function
Exposed setting the openvino version through the compile_model function
Failed connections from blobconverter are captured successfully
The model_tester script has been updated to have U8 and FP16 models
### Fixed
- uint8 input models can now be successfully compiled
Previously, a double column hack was being used similiar to what was employed in the depthai-experiments for on-device point cloud generation. This hack is no longer needed with new version of depthai.
## 1.4.1 (01-25-2024)
### Changed
- Better error messages during blob compilation
Capture and parse error message from blobconverter
User receives exact error from OpenVINO instead of json dump
### Fixed
VPU has no “vpu_out” stream, for generic networks.
Error in model install tests.
## 1.4.0 (01-22-2024)
### Added
Automatic doc building to include example files
- Stricter linting
Increase amount of rules Ruff checks for
Changed boolean parameters to be keyword only (Ruff FTB)
MyPy Static Type checking
Stub generation with Pyright, static type checking with Pyright (non-CI)
### Changed
- VPU access API
Switched from single class to submodule
Support for Yolo and TFOD networks
Switched to Pathlib vs. os module calls for internals