oakutils package
Subpackages
- oakutils.aruco package
- oakutils.benchmark package
- oakutils.blobs package
- Subpackages
- oakutils.blobs.definitions package
- Subpackages
- Submodules
- oakutils.blobs.definitions.abstract_model module
- oakutils.blobs.definitions.closing module
- oakutils.blobs.definitions.dilation module
- oakutils.blobs.definitions.erosion module
- oakutils.blobs.definitions.gaussian module
- oakutils.blobs.definitions.gftt module
- oakutils.blobs.definitions.harris module
- oakutils.blobs.definitions.hessian module
- oakutils.blobs.definitions.laplacian module
- oakutils.blobs.definitions.laserscan module
- oakutils.blobs.definitions.opening module
- oakutils.blobs.definitions.point_cloud module
- oakutils.blobs.definitions.sobel module
- Module contents
- oakutils.blobs.models package
- oakutils.blobs.definitions package
- Module contents
- Subpackages
- oakutils.calibration package
- Module contents
- Classes
- Functions
CalibrationDataCalibrationData.rgbCalibrationData.leftCalibrationData.rightCalibrationData.stereoCalibrationData.l2rgb_extrinsicCalibrationData.r2rgb_extrinsicCalibrationData.rgb2l_extrinsicCalibrationData.rgb2r_extrinsicCalibrationData.T_l_rgbCalibrationData.T_r_rgbCalibrationData.T_rgb_lCalibrationData.T_rgb_rCalibrationData.primaryCalibrationData.T_l_rgbCalibrationData.T_r_rgbCalibrationData.T_rgb_lCalibrationData.T_rgb_rCalibrationData.l2rgb_extrinsicCalibrationData.leftCalibrationData.primaryCalibrationData.r2rgb_extrinsicCalibrationData.rgbCalibrationData.rgb2l_extrinsicCalibrationData.rgb2r_extrinsicCalibrationData.rightCalibrationData.stereo
ColorCalibrationDataColorCalibrationData.sizeColorCalibrationData.KColorCalibrationData.DColorCalibrationData.fxColorCalibrationData.fyColorCalibrationData.cxColorCalibrationData.cyColorCalibrationData.fovColorCalibrationData.fov_radColorCalibrationData.PColorCalibrationData.valid_regionColorCalibrationData.map_1ColorCalibrationData.map_2ColorCalibrationData.pinholeColorCalibrationData.DColorCalibrationData.KColorCalibrationData.PColorCalibrationData.cxColorCalibrationData.cyColorCalibrationData.fovColorCalibrationData.fov_radColorCalibrationData.fxColorCalibrationData.fyColorCalibrationData.map_1ColorCalibrationData.map_2ColorCalibrationData.pinholeColorCalibrationData.sizeColorCalibrationData.valid_region
MonoCalibrationDataMonoCalibrationData.sizeMonoCalibrationData.KMonoCalibrationData.DMonoCalibrationData.fxMonoCalibrationData.fyMonoCalibrationData.cxMonoCalibrationData.cyMonoCalibrationData.fovMonoCalibrationData.fov_radMonoCalibrationData.RMonoCalibrationData.TMonoCalibrationData.HMonoCalibrationData.valid_regionMonoCalibrationData.map_1MonoCalibrationData.map_2MonoCalibrationData.pinholeMonoCalibrationData.DMonoCalibrationData.HMonoCalibrationData.KMonoCalibrationData.RMonoCalibrationData.TMonoCalibrationData.cxMonoCalibrationData.cyMonoCalibrationData.fovMonoCalibrationData.fov_radMonoCalibrationData.fxMonoCalibrationData.fyMonoCalibrationData.map_1MonoCalibrationData.map_2MonoCalibrationData.pinholeMonoCalibrationData.sizeMonoCalibrationData.valid_region
StereoCalibrationDataStereoCalibrationData.leftStereoCalibrationData.rightStereoCalibrationData.R1StereoCalibrationData.R2StereoCalibrationData.T1StereoCalibrationData.T2StereoCalibrationData.H_leftStereoCalibrationData.H_rightStereoCalibrationData.l2r_extrinsicStereoCalibrationData.r2l_extrinsicStereoCalibrationData.Q_leftStereoCalibrationData.Q_rightStereoCalibrationData.baselineStereoCalibrationData.primaryStereoCalibrationData.Q_primaryStereoCalibrationData.Q_cv2StereoCalibrationData.R1_cv2StereoCalibrationData.R2_cv2StereoCalibrationData.P1StereoCalibrationData.P2StereoCalibrationData.valid_region_primaryStereoCalibrationData.pinhole_primaryStereoCalibrationData.H_leftStereoCalibrationData.H_rightStereoCalibrationData.P1StereoCalibrationData.P2StereoCalibrationData.Q_cv2StereoCalibrationData.Q_leftStereoCalibrationData.Q_primaryStereoCalibrationData.Q_rightStereoCalibrationData.R1StereoCalibrationData.R1_cv2StereoCalibrationData.R2StereoCalibrationData.R2_cv2StereoCalibrationData.T1StereoCalibrationData.T2StereoCalibrationData.baselineStereoCalibrationData.l2r_extrinsicStereoCalibrationData.leftStereoCalibrationData.pinhole_primaryStereoCalibrationData.primaryStereoCalibrationData.r2l_extrinsicStereoCalibrationData.rightStereoCalibrationData.valid_region_primary
create_q_matrix()get_camera_calibration()get_oak1_calibration()get_oak1_calibration_basic()get_oakd_calibration()get_oakd_calibration_basic()get_oakd_calibration_primary_mono()
- Module contents
- oakutils.core package
- oakutils.filters package
- oakutils.nodes package
- Subpackages
- oakutils.nodes.buffer package
- oakutils.nodes.models package
- Submodules
- oakutils.nodes.models.gaussian module
- oakutils.nodes.models.gftt module
- oakutils.nodes.models.harris module
- oakutils.nodes.models.hessian module
- oakutils.nodes.models.laplacian module
- oakutils.nodes.models.laserscan module
- oakutils.nodes.models.point_cloud module
- oakutils.nodes.models.sobel module
- Module contents
- Submodules
- oakutils.nodes.color_camera module
- oakutils.nodes.image_manip module
- oakutils.nodes.imu module
- oakutils.nodes.mobilenet_detection_network module
- oakutils.nodes.mono_camera module
- oakutils.nodes.neural_network module
- oakutils.nodes.stereo_depth module
- oakutils.nodes.xin module
- oakutils.nodes.xout module
- oakutils.nodes.yolo_detection_network module
- Module contents
- Submodules
- Classes
- Functions
BufferMobilenetDataMobilenetData.bounding_box_scale_factorMobilenetData.confidence_thresholdMobilenetData.depth_input_linkMobilenetData.input_blockingMobilenetData.lower_depth_thresholdMobilenetData.num_inference_threadsMobilenetData.num_nce_per_inference_threadMobilenetData.num_pool_framesMobilenetData.spatialMobilenetData.upper_depth_threshold
MultiBufferYolomodelDataYolomodelData.anchor_masksYolomodelData.anchorsYolomodelData.confidence_thresholdYolomodelData.coordinate_sizeYolomodelData.depth_input_linkYolomodelData.input_blockingYolomodelData.iou_thresholdYolomodelData.lower_depth_thresholdYolomodelData.num_classesYolomodelData.num_inference_threadsYolomodelData.num_nce_per_inference_threadYolomodelData.num_pool_framesYolomodelData.spatialYolomodelData.upper_depth_threshold
create_color_camera()create_image_manip()create_imu()create_left_right_cameras()create_mobilenet_detection_network()create_mono_camera()create_neural_network()create_stereo_depth()create_stereo_depth_from_mono_cameras()create_xin()create_xout()create_yolo_detection_network()frame_norm()get_nn_bgr_frame()get_nn_data()get_nn_frame()get_nn_gray_frame()get_nn_point_cloud_buffer()get_yolo_data()
- Subpackages
- oakutils.optimizer package
- oakutils.point_clouds package
- oakutils.tools package
- Submodules
- oakutils.tools.depth module
- oakutils.tools.display module
- oakutils.tools.parsing module
- Functions
get_color_sensor_info_from_str()get_color_sensor_resolution_from_str()get_color_sensor_resolution_from_tuple()get_median_filter_from_str()get_mono_sensor_info_from_str()get_mono_sensor_resolution_from_str()get_mono_sensor_resolution_from_tuple()get_tuple_from_color_sensor_resolution()get_tuple_from_mono_sensor_resolution()
- oakutils.tools.pixel module
- oakutils.tools.spatial module
- oakutils.tools.transform module
- Module contents
- oakutils.vpu package
Module contents
Package for Python utilities for the OpenCV AI Kit (OAK-D) and related hardware.
This package contains Python utilities for the OpenCV AI Kit (OAK-D) and related hardware. It is intended to be used with the Luxonis DepthAI API or SDK. Provides easy-to-use classes for working with the OAK-D and doing common tasks. Also provides easy methods for working with OpenCV and Open3D.
Submodules
- aruco
Contains utilities for working with ArUco markers.
- benchmark
Contains utilities for benchmarking characteristics of OAK devices.
- blobs
Contains utilities for working with blobs.
- calibration
Contains utilities for working with calibration.
- core
Contains core utilities for working with the OAK-D.
- filters
Contains utilities for working with filters.
- nodes
Contains utilities for creating nodes.
- optimizer
Contains utilities for optimizing pipelines.
- point_clouds
Contains utilities for working with point clouds.
- tools
Contains general tools and utilities.
- vpu
Contains utilities for using the onboard VPU as a standalone processor.
Classes
- ApiCamera
A lightweight class for creating custom pipelines using callbacks.
- LegacyCamera
A class for using the color, mono, and imu sensors on the OAK-D.
- Webcam
A class for reading frames from an OAK using the same interface as cv2.VideoCapture.
- VPU
A class for using the onboard VPU as a standalone processor.
Functions
- set_log_level
Set the log level for the oakutils package.
- create_device
Create a DepthAI device object from a pipeline.
- class oakutils.ApiCamera(color_size: tuple[int, int] = (1920, 1080), mono_size: tuple[int, int] = (640, 400), device_id: str | None = None, *, primary_mono_left: bool | None = None)
Bases:
objectA lightweight class for creating custom pipelines using callbacks.
- add_callback(name: str | Iterable[str], callback: Callable) None
Use to add a callback to be run on the output queue with the given name.
- Parameters:
name (str) – The name of the output queue to add the callback to.
callback (Callable) – The callback to add.
- add_device_call(call: Callable[[dai.DeviceBase], None]) None
Use to add a device call to be run after the device is created.
- Parameters:
call (Callable[[dai.Device], None]) – The call to add.
- Raises:
RuntimeError – If the camera has already been started.
- add_display(name: str) None
Use to add a display callback for the given stream name.
- Parameters:
name (str) – The name of the output queue to add the callback to.
- property calibration: CalibrationData | ColorCalibrationData
Use to get the calibration data.
- property displays: DisplayManager
Use to get the display manager.
- property pcv: PCVisualizer | None
Use to get the point cloud visualizer.
If open3d is not installed, this will always return None.
- Returns:
The point cloud visualizer.
- Return type:
PointCloudVisualizer | None
- property pipeline: dai.Pipeline
Use to get the pipeline. This is useful for adding custom nodes to the pipeline.
- Raises:
RuntimeError – If the pipeline is accessed once the camera has been started.
- class oakutils.VPU(device_id: str | None = None)
Bases:
objectClass for using the onboard VPU as a standalone processor.
- reconfigure(blob_path: str | Path, input_names: list[str] | None = None, model_data: YolomodelData | MobilenetData | None = None) None
Use to reconfigure the VPU with a single new blob file.
- Parameters:
blob_path (str | Path) – The path to the blob file.
input_names (list[str], optional) – The names of the input layers. Defaults to None.
model_data (YolomodelData | MobilenetData, optional) – The model data. Defaults to None. Can be used to set the YoloModelData or MobilenetData. If None, then a generic neural network will be created.
- reconfigure_multi(blob_paths: Sequence[str | Path], input_names: Sequence[list[str] | None] | None = None, modeldata: Sequence[YolomodelData | MobilenetData | None] | None = None) None
Reconfigure the VPU with multiple blob files.
- Parameters:
blob_paths (Sequence[str | Path]) – The paths to the blob files.
input_names (Sequence[list[str] | None]) – The names of the input layers. Defaults to None. Should be filled in if a model has multiple inputs.
modeldata (Sequence[YolomodelData | MobilenetData | None]) – The model data. Defaults to None. Should be filled in if the model is a YOLO or Mobilenet model. If None, then a generic neural network will be created.
- run(data: np.ndarray | list[np.ndarray] | list[np.ndarray | list[np.ndarray]], *, safe: bool | None = None) dai.ADatatype | list[dai.ADatatype] | list[dai.ADatatype | list[dai.ADatatype]]
Use to run an inference on the VPU.
If the VPU was configured with multiple networks, then data must be a list of data. If the VPU was configured with a single network, then data can be a single np.ndarray or a list of np.ndarray if the network has multiple inputs. The return type will change based on whether the VPU was configured with multiple networks. If configured with a single network, then the return will be a single np.ndarray or dai.ImgDetections. If configured with multiple networks, then the return will be a list of np.ndarray or dai.ImgDetections.
- Parameters:
- Returns:
The result of the inference.
- Return type:
dai.ADatatype | list[dai.ADatatype] | list[dai.ADatatype | list[dai.ADatatype]]
- Raises:
RuntimeError – If the VPU thread is not set or alive. Will occur if not configured. If the VPU result is None.
- class oakutils.Webcam(resolution: tuple[int, int] = (1920, 1080), fps: int = 30, device_id: str | None = None)
Bases:
objectA class for reading frames from an OAK using the same interface as cv2.VideoCapture.
- property calibration: ColorCalibrationData
Returns the calibration info for the camera.
- Returns:
The calibration info for the camera
- Return type:
- oakutils.create_device(pipeline: Pipeline, device_id: str | None = None, max_usb_speed: UsbSpeed | None = None) DeviceBase
Create a DepthAI device object from a pipeline.
- Parameters:
pipeline (dai.Pipeline) – The pipeline to use
device_id (str, optional) – The id of the device to use, by default None This can be a MXID, IP address, or USB port name. Examples: “14442C108144F1D000”, “192.168.1.44”, “3.3.3”
max_usb_speed (dai.UsbSpeed, optional) – The maximum USB speed to use, by default None Options are available in dai.UsbSpeed
- Returns:
The DepthAI device object
- Return type:
dai.Device
- oakutils.set_log_level(level: str) None
Set the log level for the oakutils package.
- Parameters:
level (str) – The log level to set. One of “DEBUG”, “INFO”, “WARNING”, “ERROR”, “CRITICAL”.
- Raises:
ValueError – If the level is not one of the allowed values.