# DepthAI C++ API

DepthAI C++ API can be found on Github [luxonis/depthai-core](https://github.com/luxonis/depthai-core). Below is the reference
documentation for the C++ API.

### dai

Kind: namespace

#### dai::bootloader

Kind: namespace

##### dai::bootloader::request

Kind: namespace

###### dai::bootloader::request::BaseRequest

Kind: struct

###### Command cmd

Kind: variable

###### BaseRequest(Command command)

Kind: function

###### dai::bootloader::request::UsbRomBoot

Kind: struct

###### UsbRomBoot()

Kind: function

###### dai::bootloader::request::BootApplication

Kind: struct

###### BootApplication()

Kind: function

###### dai::bootloader::request::UpdateFlash

Kind: struct

###### uint32_t Storage

Kind: enum

###### SBR

Kind: enum_value

###### BOOTLOADER

Kind: enum_value

###### Storage storage

Kind: variable

###### uint32_t totalSize

Kind: variable

###### uint32_t numPackets

Kind: variable

###### UpdateFlash()

Kind: function

###### dai::bootloader::request::GetBootloaderVersion

Kind: struct

###### GetBootloaderVersion()

Kind: function

###### dai::bootloader::request::BootMemory

Kind: struct

###### uint32_t totalSize

Kind: variable

###### uint32_t numPackets

Kind: variable

###### BootMemory()

Kind: function

###### dai::bootloader::request::UpdateFlashEx

Kind: struct

###### Memory memory

Kind: variable

###### Section section

Kind: variable

###### uint32_t totalSize

Kind: variable

###### uint32_t numPackets

Kind: variable

###### UpdateFlashEx()

Kind: function

###### dai::bootloader::request::UpdateFlashEx2

Kind: struct

###### Memory memory

Kind: variable

###### uint32_t offset

Kind: variable

###### uint32_t totalSize

Kind: variable

###### uint32_t numPackets

Kind: variable

###### UpdateFlashEx2()

Kind: function

###### dai::bootloader::request::GetBootloaderType

Kind: struct

###### GetBootloaderType()

Kind: function

###### dai::bootloader::request::SetBootloaderConfig

Kind: struct

###### Memory memory

Kind: variable

###### int64_t offset

Kind: variable

###### uint32_t clearConfig

Kind: variable

###### uint32_t totalSize

Kind: variable

###### uint32_t numPackets

Kind: variable

###### SetBootloaderConfig()

Kind: function

###### dai::bootloader::request::GetBootloaderConfig

Kind: struct

###### Memory memory

Kind: variable

###### int64_t offset

Kind: variable

###### uint32_t maxSize

Kind: variable

###### GetBootloaderConfig()

Kind: function

###### dai::bootloader::request::BootloaderMemory

Kind: struct

###### BootloaderMemory()

Kind: function

###### dai::bootloader::request::GetBootloaderCommit

Kind: struct

###### GetBootloaderCommit()

Kind: function

###### dai::bootloader::request::UpdateFlashBootHeader

Kind: struct

###### int32_t Type

Kind: enum

###### GPIO_MODE

Kind: enum_value

###### USB_RECOVERY

Kind: enum_value

###### NORMAL

Kind: enum_value

###### FAST

Kind: enum_value

###### Type type

Kind: variable

###### int64_t offset

Kind: variable

###### int64_t location

Kind: variable

###### int32_t dummyCycles

Kind: variable

###### int32_t frequency

Kind: variable

###### int32_t gpioMode

Kind: variable

###### UpdateFlashBootHeader()

Kind: function

###### dai::bootloader::request::ReadFlash

Kind: struct

###### Memory memory

Kind: variable

###### uint32_t offset

Kind: variable

###### uint32_t totalSize

Kind: variable

###### ReadFlash()

Kind: function

###### dai::bootloader::request::GetApplicationDetails

Kind: struct

###### Memory memory

Kind: variable

###### GetApplicationDetails()

Kind: function

###### dai::bootloader::request::GetMemoryDetails

Kind: struct

###### Memory memory

Kind: variable

###### GetMemoryDetails()

Kind: function

###### dai::bootloader::request::IsUserBootloader

Kind: struct

###### IsUserBootloader()

Kind: function

###### uint32_t Command

Kind: enum

###### USB_ROM_BOOT

Kind: enum_value

###### BOOT_APPLICATION

Kind: enum_value

###### UPDATE_FLASH

Kind: enum_value

###### GET_BOOTLOADER_VERSION

Kind: enum_value

###### BOOT_MEMORY

Kind: enum_value

###### UPDATE_FLASH_EX

Kind: enum_value

###### UPDATE_FLASH_EX_2

Kind: enum_value

###### NO_OP

Kind: enum_value

###### GET_BOOTLOADER_TYPE

Kind: enum_value

###### SET_BOOTLOADER_CONFIG

Kind: enum_value

###### GET_BOOTLOADER_CONFIG

Kind: enum_value

###### BOOTLOADER_MEMORY

Kind: enum_value

###### GET_BOOTLOADER_COMMIT

Kind: enum_value

###### UPDATE_FLASH_BOOT_HEADER

Kind: enum_value

###### READ_FLASH

Kind: enum_value

###### GET_APPLICATION_DETAILS

Kind: enum_value

###### GET_MEMORY_DETAILS

Kind: enum_value

###### IS_USER_BOOTLOADER

Kind: enum_value

##### dai::bootloader::response

Kind: namespace

###### dai::bootloader::response::BaseResponse

Kind: struct

###### Command cmd

Kind: variable

###### BaseResponse(Command command)

Kind: function

###### dai::bootloader::response::FlashComplete

Kind: struct

###### uint32_t success

Kind: variable

###### char errorMsg

Kind: variable

###### FlashComplete()

Kind: function

###### dai::bootloader::response::FlashStatusUpdate

Kind: struct

###### float progress

Kind: variable

###### FlashStatusUpdate()

Kind: function

###### dai::bootloader::response::BootloaderVersion

Kind: struct

###### uint32_t major

Kind: variable

###### uint32_t minor

Kind: variable

###### uint32_t patch

Kind: variable

###### BootloaderVersion()

Kind: function

###### dai::bootloader::response::BootloaderType

Kind: struct

###### Type type

Kind: variable

###### BootloaderType()

Kind: function

###### dai::bootloader::response::GetBootloaderConfig

Kind: struct

###### uint32_t success

Kind: variable

###### char errorMsg

Kind: variable

###### uint32_t totalSize

Kind: variable

###### uint32_t numPackets

Kind: variable

###### GetBootloaderConfig()

Kind: function

###### dai::bootloader::response::BootloaderMemory

Kind: struct

###### Memory memory

Kind: variable

###### BootloaderMemory()

Kind: function

###### dai::bootloader::response::BootApplication

Kind: struct

###### uint32_t success

Kind: variable

###### char errorMsg

Kind: variable

###### BootApplication()

Kind: function

###### dai::bootloader::response::BootloaderCommit

Kind: struct

###### char commitStr

Kind: variable

###### BootloaderCommit()

Kind: function

###### dai::bootloader::response::ReadFlash

Kind: struct

###### uint32_t success

Kind: variable

###### char errorMsg

Kind: variable

###### uint32_t totalSize

Kind: variable

###### uint32_t numPackets

Kind: variable

###### ReadFlash()

Kind: function

###### dai::bootloader::response::ApplicationDetails

Kind: struct

###### uint32_t success

Kind: variable

###### char errorMsg

Kind: variable

###### uint32_t hasApplication

Kind: variable

###### uint32_t hasFirmwareVersion

Kind: variable

###### uint32_t hasApplicationName

Kind: variable

###### char firmwareVersionStr

Kind: variable

###### char applicationNameStr

Kind: variable

###### ApplicationDetails()

Kind: function

###### dai::bootloader::response::MemoryDetails

Kind: struct

###### uint32_t hasMemory

Kind: variable

###### Memory memory

Kind: variable

###### int64_t memorySize

Kind: variable

###### char memoryInfo

Kind: variable

###### MemoryDetails()

Kind: function

###### dai::bootloader::response::IsUserBootloader

Kind: struct

###### uint32_t isUserBootloader

Kind: variable

###### IsUserBootloader()

Kind: function

###### dai::bootloader::response::NoOp

Kind: struct

###### uint32_t invalidOp

Kind: variable

###### NoOp()

Kind: function

###### uint32_t Command

Kind: enum

###### FLASH_COMPLETE

Kind: enum_value

###### FLASH_STATUS_UPDATE

Kind: enum_value

###### BOOTLOADER_VERSION

Kind: enum_value

###### BOOTLOADER_TYPE

Kind: enum_value

###### GET_BOOTLOADER_CONFIG

Kind: enum_value

###### BOOTLOADER_MEMORY

Kind: enum_value

###### BOOT_APPLICATION

Kind: enum_value

###### BOOTLOADER_COMMIT

Kind: enum_value

###### READ_FLASH

Kind: enum_value

###### APPLICATION_DETAILS

Kind: enum_value

###### MEMORY_DETAILS

Kind: enum_value

###### IS_USER_BOOTLOADER

Kind: enum_value

###### NO_OP

Kind: enum_value

##### dai::bootloader::NetworkConfig

Kind: struct

###### int timeoutMs

Kind: variable

If timeout < 0 - waits forever if timeout == 0 - no timeout if timeout > 0 - waits timeout milliseconds

###### std::uint32_t ipv4

Kind: variable

###### std::uint32_t ipv4Mask

Kind: variable

###### std::uint32_t ipv4Gateway

Kind: variable

###### std::uint32_t ipv4Dns

Kind: variable

###### std::uint32_t ipv4DnsAlt

Kind: variable

###### bool staticIpv4

Kind: variable

###### std::array< uint32_t, 4 > ipv6

Kind: variable

###### std::uint32_t ipv6Prefix

Kind: variable

###### std::array< uint32_t, 4 > ipv6Gateway

Kind: variable

###### std::array< uint32_t, 4 > ipv6Dns

Kind: variable

###### std::array< uint32_t, 4 > ipv6DnsAlt

Kind: variable

###### bool staticIpv6

Kind: variable

###### std::array< uint8_t, 6 > mac

Kind: variable

##### dai::bootloader::UsbConfig

Kind: struct

###### int timeoutMs

Kind: variable

If timeout < 0 - waits forever if timeout == 0 - no timeout if timeout > 0 - waits timeout milliseconds

###### int maxUsbSpeed

Kind: variable

UNKNOWN = 0, LOW, FULL, HIGH, SUPER, SUPER_PLUS

###### uint16_t vid

Kind: variable

VID/PID pair used by bootloader.

###### uint16_t pid

Kind: variable

##### dai::bootloader::Config

Kind: struct

###### Memory appMem

Kind: variable

###### UsbConfig usb

Kind: variable

###### NetworkConfig network

Kind: variable

###### uint32_t userBlSize

Kind: variable

###### uint32_t userBlChecksum

Kind: variable

##### dai::bootloader::Structure

Kind: struct

###### std::map< Section, long > offset

Kind: variable

###### std::map< Section, long > size

Kind: variable

###### Structure()

Kind: function

##### dai::bootloader::NetworkBootloaderStructure

Kind: struct

###### NetworkBootloaderStructure()

Kind: function

##### dai::bootloader::UsbBootloaderStructure

Kind: struct

###### UsbBootloaderStructure()

Kind: function

##### std::int32_t Memory

Kind: enum

###### AUTO

Kind: enum_value

###### FLASH

Kind: enum_value

###### EMMC

Kind: enum_value

##### std::int32_t Section

Kind: enum

###### AUTO

Kind: enum_value

###### HEADER

Kind: enum_value

###### BOOTLOADER

Kind: enum_value

###### BOOTLOADER_CONFIG

Kind: enum_value

###### APPLICATION

Kind: enum_value

###### USER_BOOTLOADER

Kind: enum_value

##### std::int32_t Type

Kind: enum

###### AUTO

Kind: enum_value

###### USB

Kind: enum_value

###### NETWORK

Kind: enum_value

##### constexpr static const char * XLINK_CHANNEL_BOOTLOADER

Kind: variable

##### constexpr static const char * XLINK_CHANNEL_WATCHDOG

Kind: variable

##### constexpr static std::uint32_t XLINK_STREAM_MAX_SIZE

Kind: variable

##### constexpr static const std::chrono::milliseconds XLINK_WATCHDOG_TIMEOUT

Kind: variable

##### DEPTHAI_BOOTLOADER_NLOHMANN_DEFINE_TYPE_OPTIONAL_NON_INTRUSIVE(NetworkConfig, timeoutMs, ipv4, ipv4Mask, ipv4Gateway,
ipv4Dns, ipv4DnsAlt, staticIpv4, ipv6, ipv6Prefix, ipv6Gateway, ipv6Dns, ipv6DnsAlt, staticIpv6, mac)

Kind: function

##### DEPTHAI_BOOTLOADER_NLOHMANN_DEFINE_TYPE_OPTIONAL_NON_INTRUSIVE(UsbConfig, timeoutMs, maxUsbSpeed, vid, pid)

Kind: function

##### DEPTHAI_BOOTLOADER_NLOHMANN_DEFINE_TYPE_OPTIONAL_NON_INTRUSIVE(Config, appMem, usb, network, userBlSize, userBlChecksum)

Kind: function

##### const Structure getStructure(Type type)

Kind: function

#### dai::device

Kind: namespace

##### constexpr static const char * XLINK_CHANNEL_PIPELINE_CONFIG

Kind: variable

##### constexpr static const char * XLINK_CHANNEL_MAIN_RPC

Kind: variable

##### constexpr static const char * XLINK_CHANNEL_TIMESYNC

Kind: variable

##### constexpr static const char * XLINK_CHANNEL_LOG

Kind: variable

##### constexpr static const char * XLINK_CHANNEL_WATCHDOG

Kind: variable

##### constexpr static std::uint32_t XLINK_USB_BUFFER_MAX_SIZE

Kind: variable

##### constexpr static const std::chrono::milliseconds XLINK_USB_WATCHDOG_TIMEOUT

Kind: variable

##### constexpr static const std::chrono::milliseconds XLINK_TCP_WATCHDOG_TIMEOUT

Kind: variable

##### constexpr static const int XLINK_MESSAGE_METADATA_MAX_SIZE

Kind: variable

#### dai::node

Kind: namespace

##### dai::node::AprilTag

Kind: class

AprilTag node.

###### AprilTagConfig initialConfig

Kind: variable

Initial config to use when calculating spatial location data.

###### Input inputConfig

Kind: variable

Input AprilTagConfig message with ability to modify parameters in runtime. Default queue is non-blocking with size 4.

###### Input inputImage

Kind: variable

Input message with depth data used to retrieve spatial information about detected object. Default queue is non-blocking with size
4.

###### Output out

Kind: variable

Outputs AprilTags message that carries spatial location results.

###### Output outConfig

Kind: variable

Outputs AprilTagConfig message that contains current configuration.

###### Output passthroughInputImage

Kind: variable

Passthrough message on which the calculation was performed. Suitable for when input queue is set to non-blocking behavior.

###### AprilTag(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### AprilTag(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setWaitForConfigInput(bool wait)

Kind: function

Specify whether or not wait until configuration message arrives to inputConfig Input. parameters: wait: True to wait for
configuration message, false otherwise.

##### dai::node::Camera

Kind: class

Camera node. Experimental node, for both mono and color types of sensors.

###### CameraControl initialControl

Kind: variable

Initial control options to apply to sensor

###### Input inputConfig

Kind: variable

Input for ImageManipConfig message, which can modify crop parameters in runtime Default queue is non-blocking with size 8

###### Input inputControl

Kind: variable

Input for CameraControl message, which can modify camera parameters in runtime Default queue is blocking with size 8

###### Output video

Kind: variable

Outputs ImgFrame message that carries NV12 encoded (YUV420, UV plane interleaved) frame data. Suitable for use with VideoEncoder
node

###### Output preview

Kind: variable

Outputs ImgFrame message that carries BGR/RGB planar/interleaved encoded frame data. Suitable for use with NeuralNetwork node

###### Output still

Kind: variable

Outputs ImgFrame message that carries NV12 encoded (YUV420, UV plane interleaved) frame data. The message is sent only when a
CameraControl message arrives to inputControl with captureStill command set.

###### Output isp

Kind: variable

Outputs ImgFrame message that carries YUV420 planar (I420/IYUV) frame data. Generated by the ISP engine, and the source for the
'video', 'preview' and 'still' outputs

###### Output raw

Kind: variable

Outputs ImgFrame message that carries RAW10-packed (MIPI CSI-2 format) frame data. Captured directly from the camera sensor, and
the source for the 'isp' output.

###### Output frameEvent

Kind: variable

Outputs metadata-only ImgFrame message as an early indicator of an incoming frame. It's sent on the MIPI SoF (start-of-frame)
event, just after the exposure of the current frame has finished and before the exposure for next frame starts. Could be used to
synchronize various processes with camera capture. Fields populated: camera id, sequence number, timestamp

###### Camera(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

Constructs Camera node.

###### Camera(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setBoardSocket(CameraBoardSocket boardSocket)

Kind: function

Specify which board socket to use parameters: boardSocket: Board socket to use

###### CameraBoardSocket getBoardSocket()

Kind: function

Retrieves which board socket to use return: Board socket to use

###### void setCamera(std::string name)

Kind: function

Specify which camera to use by name parameters: name: Name of the camera to use

###### std::string getCamera()

Kind: function

Retrieves which camera to use by name return: Name of the camera to use

###### void setImageOrientation(CameraImageOrientation imageOrientation)

Kind: function

Set camera image orientation.

###### CameraImageOrientation getImageOrientation()

Kind: function

Get camera image orientation.

###### void setSize(std::tuple< int, int > size)

Kind: function

Set desired resolution. Sets sensor size to best fit.

###### void setSize(int width, int height)

Kind: function

Set desired resolution. Sets sensor size to best fit.

###### void setPreviewSize(int width, int height)

Kind: function

Set preview output size.

###### void setPreviewSize(std::tuple< int, int > size)

Kind: function

Set preview output size, as a tuple <width, height>

###### void setVideoSize(int width, int height)

Kind: function

Set video output size.

###### void setVideoSize(std::tuple< int, int > size)

Kind: function

Set video output size, as a tuple <width, height>

###### void setStillSize(int width, int height)

Kind: function

Set still output size.

###### void setStillSize(std::tuple< int, int > size)

Kind: function

Set still output size, as a tuple <width, height>

###### void setFps(float fps)

Kind: function

Set rate at which camera should produce frames parameters: fps: Rate in frames per second

###### void setIsp3aFps(int isp3aFps)

Kind: function

Isp 3A rate (auto focus, auto exposure, auto white balance, camera controls etc.). Default (0) matches the camera FPS, meaning
that 3A is running on each frame. Reducing the rate of 3A reduces the CPU usage on CSS, but also increases the convergence rate of
3A. Note that camera controls will be processed at this rate. E.g. if camera is running at 30 fps, and camera control is sent at
every frame, but 3A fps is set to 15, the camera control messages will be processed at 15 fps rate, which will lead to queueing.

###### float getFps()

Kind: function

Get rate at which camera should produce frames return: Rate in frames per second

###### std::tuple< int, int > getPreviewSize()

Kind: function

Get preview size as tuple.

###### int getPreviewWidth()

Kind: function

Get preview width.

###### int getPreviewHeight()

Kind: function

Get preview height.

###### std::tuple< int, int > getVideoSize()

Kind: function

Get video size as tuple.

###### int getVideoWidth()

Kind: function

Get video width.

###### int getVideoHeight()

Kind: function

Get video height.

###### std::tuple< int, int > getStillSize()

Kind: function

Get still size as tuple.

###### int getStillWidth()

Kind: function

Get still width.

###### int getStillHeight()

Kind: function

Get still height.

###### std::tuple< int, int > getSize()

Kind: function

Get sensor resolution as size.

###### int getWidth()

Kind: function

Get sensor resolution width.

###### int getHeight()

Kind: function

Get sensor resolution height.

###### void setMeshSource(Properties::WarpMeshSource source)

Kind: function

Set the source of the warp mesh or disable.

###### Properties::WarpMeshSource getMeshSource()

Kind: function

Gets the source of the warp mesh.

###### void loadMeshFile(const dai::Path & warpMesh)

Kind: function

Specify local filesystem paths to the undistort mesh calibration files. When a mesh calibration is set, it overrides the camera
intrinsics/extrinsics matrices. Overrides useHomographyRectification behavior. Mesh format: a sequence of (y,x) points as 'float'
with coordinates from the input image to be mapped in the output. The mesh can be subsampled, configured by With a 1280x800
resolution and the default (16,16) step, the required mesh size is: width: 1280 / 16 + 1 = 81 height: 800 / 16 + 1 = 51

###### void loadMeshData(span< const std::uint8_t > warpMesh)

Kind: function

Specify mesh calibration data for undistortion See

###### void setMeshStep(int width, int height)

Kind: function

Set the distance between mesh points. Default: (32, 32)

###### std::tuple< int, int > getMeshStep()

Kind: function

Gets the distance between mesh points.

###### void setCalibrationAlpha(float alpha)

Kind: function

Set calibration alpha parameter that determines FOV of undistorted frames.

###### tl::optional< float > getCalibrationAlpha()

Kind: function

Get calibration alpha parameter that determines FOV of undistorted frames.

###### void setRawOutputPacked(bool packed)

Kind: function

Configures whether the camera ToF .

##### dai::node::Cast

Kind: class

Cast node.

###### Input input

Kind: variable

Input NNData or ImgFrame message.

###### Output output

Kind: variable

Output ImgFrame message.

###### Output passthroughInput

Kind: variable

Passthrough input message.

###### Cast(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### Cast(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### Cast & setNumFramesPool(int numFramesPool)

Kind: function

Set number of frames in pool parameters: numFramesPool: Number of frames in pool

###### Cast & setOutputFrameType(dai::RawImgFrame::Type outputType)

Kind: function

Set output frame type parameters: outputType: Output frame type

###### Cast & setScale(float scale)

Kind: function

Set scale parameters: scale: Scale

###### Cast & setOffset(float offset)

Kind: function

Set offset parameters: offset: Offset

##### dai::node::ColorCamera

Kind: class

ColorCamera node. For use with color sensors.

###### CameraControl initialControl

Kind: variable

Initial control options to apply to sensor

###### Input inputConfig

Kind: variable

Input for ImageManipConfig message, which can modify crop parameters in runtime Default queue is non-blocking with size 8

###### Input inputControl

Kind: variable

Input for CameraControl message, which can modify camera parameters in runtime Default queue is blocking with size 8

###### Output video

Kind: variable

Outputs ImgFrame message that carries NV12 encoded (YUV420, UV plane interleaved) frame data. Suitable for use with VideoEncoder
node

###### Output preview

Kind: variable

Outputs ImgFrame message that carries BGR/RGB planar/interleaved encoded frame data. Suitable for use with NeuralNetwork node

###### Output still

Kind: variable

Outputs ImgFrame message that carries NV12 encoded (YUV420, UV plane interleaved) frame data. The message is sent only when a
CameraControl message arrives to inputControl with captureStill command set.

###### Output isp

Kind: variable

Outputs ImgFrame message that carries YUV420 planar (I420/IYUV) frame data. Generated by the ISP engine, and the source for the
'video', 'preview' and 'still' outputs

###### Output raw

Kind: variable

Outputs ImgFrame message that carries RAW10-packed (MIPI CSI-2 format) frame data. Captured directly from the camera sensor, and
the source for the 'isp' output.

###### Output frameEvent

Kind: variable

Outputs metadata-only ImgFrame message as an early indicator of an incoming frame. It's sent on the MIPI SoF (start-of-frame)
event, just after the exposure of the current frame has finished and before the exposure for next frame starts. Could be used to
synchronize various processes with camera capture. Fields populated: camera id, sequence number, timestamp

###### ColorCamera(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

Constructs ColorCamera node.

###### ColorCamera(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### int getScaledSize(int input, int num, int denom)

Kind: function

Computes the scaled size given numerator and denominator

###### void setBoardSocket(CameraBoardSocket boardSocket)

Kind: function

Specify which board socket to use parameters: boardSocket: Board socket to use

###### CameraBoardSocket getBoardSocket()

Kind: function

Retrieves which board socket to use return: Board socket to use

###### void setCamera(std::string name)

Kind: function

Specify which camera to use by name parameters: name: Name of the camera to use

###### std::string getCamera()

Kind: function

Retrieves which camera to use by name return: Name of the camera to use

###### void setCamId(int64_t id)

Kind: function

Set which color camera to use.

###### int64_t getCamId()

Kind: function

Get which color camera to use.

###### void setImageOrientation(CameraImageOrientation imageOrientation)

Kind: function

Set camera image orientation.

###### CameraImageOrientation getImageOrientation()

Kind: function

Get camera image orientation.

###### void setColorOrder(ColorCameraProperties::ColorOrder colorOrder)

Kind: function

Set color order of preview output images. RGB or BGR.

###### ColorCameraProperties::ColorOrder getColorOrder()

Kind: function

Get color order of preview output frames. RGB or BGR.

###### void setInterleaved(bool interleaved)

Kind: function

Set planar or interleaved data of preview output frames.

###### bool getInterleaved()

Kind: function

Get planar or interleaved data of preview output frames.

###### void setFp16(bool fp16)

Kind: function

Set fp16 (0..255) data type of preview output frames.

###### bool getFp16()

Kind: function

Get fp16 (0..255) data of preview output frames.

###### void setPreviewSize(int width, int height)

Kind: function

Set preview output size.

###### void setPreviewSize(std::tuple< int, int > size)

Kind: function

Set preview output size, as a tuple <width, height>

###### void setPreviewNumFramesPool(int num)

Kind: function

Set number of frames in preview pool.

###### void setVideoSize(int width, int height)

Kind: function

Set video output size.

###### void setVideoSize(std::tuple< int, int > size)

Kind: function

Set video output size, as a tuple <width, height>

###### void setVideoNumFramesPool(int num)

Kind: function

Set number of frames in preview pool.

###### void setStillSize(int width, int height)

Kind: function

Set still output size.

###### void setStillSize(std::tuple< int, int > size)

Kind: function

Set still output size, as a tuple <width, height>

###### void setStillNumFramesPool(int num)

Kind: function

Set number of frames in preview pool.

###### void setResolution(Properties::SensorResolution resolution)

Kind: function

Set sensor resolution.

###### Properties::SensorResolution getResolution()

Kind: function

Get sensor resolution.

###### void setRawNumFramesPool(int num)

Kind: function

Set number of frames in raw pool.

###### void setIspNumFramesPool(int num)

Kind: function

Set number of frames in isp pool.

###### void setNumFramesPool(int raw, int isp, int preview, int video, int still)

Kind: function

Set number of frames in all pools.

###### void setIspScale(int numerator, int denominator)

Kind: function

Set 'isp' output scaling (numerator/denominator), preserving the aspect ratio. The fraction numerator/denominator is simplified
first to a irreducible form, then a set of hardware scaler constraints applies: max numerator = 16, max denominator = 63

###### void setIspScale(std::tuple< int, int > scale)

Kind: function

Set 'isp' output scaling, as a tuple <numerator, denominator>

###### void setIspScale(int horizNum, int horizDenom, int vertNum, int vertDenom)

Kind: function

Set 'isp' output scaling, per each direction. If the horizontal scaling factor (horizNum/horizDen) is different than the vertical
scaling factor (vertNum/vertDen), a distorted (stretched or squished) image is generated

###### void setIspScale(std::tuple< int, int > horizScale, std::tuple< int, int > vertScale)

Kind: function

Set 'isp' output scaling, per each direction, as <numerator, denominator> tuples.

###### void setFps(float fps)

Kind: function

Set rate at which camera should produce frames parameters: fps: Rate in frames per second

###### void setIsp3aFps(int isp3aFps)

Kind: function

Isp 3A rate (auto focus, auto exposure, auto white balance, camera controls etc.). Default (0) matches the camera FPS, meaning
that 3A is running on each frame. Reducing the rate of 3A reduces the CPU usage on CSS, but also increases the convergence rate of
3A. Note that camera controls will be processed at this rate. E.g. if camera is running at 30 fps, and camera control is sent at
every frame, but 3A fps is set to 15, the camera control messages will be processed at 15 fps rate, which will lead to queueing.

###### void setFrameEventFilter(const std::vector< dai::FrameEvent > & events)

Kind: function

###### std::vector< dai::FrameEvent > getFrameEventFilter()

Kind: function

###### float getFps()

Kind: function

Get rate at which camera should produce frames return: Rate in frames per second

###### std::tuple< int, int > getPreviewSize()

Kind: function

Get preview size as tuple.

###### int getPreviewWidth()

Kind: function

Get preview width.

###### int getPreviewHeight()

Kind: function

Get preview height.

###### std::tuple< int, int > getVideoSize()

Kind: function

Get video size as tuple.

###### int getVideoWidth()

Kind: function

Get video width.

###### int getVideoHeight()

Kind: function

Get video height.

###### std::tuple< int, int > getStillSize()

Kind: function

Get still size as tuple.

###### int getStillWidth()

Kind: function

Get still width.

###### int getStillHeight()

Kind: function

Get still height.

###### std::tuple< int, int > getResolutionSize()

Kind: function

Get sensor resolution as size.

###### int getResolutionWidth()

Kind: function

Get sensor resolution width.

###### int getResolutionHeight()

Kind: function

Get sensor resolution height.

###### std::tuple< int, int > getIspSize()

Kind: function

Get 'isp' output resolution as size, after scaling.

###### int getIspWidth()

Kind: function

Get 'isp' output width.

###### int getIspHeight()

Kind: function

Get 'isp' output height.

###### void sensorCenterCrop()

Kind: function

Specify sensor center crop. Resolution size / video size

###### void setSensorCrop(float x, float y)

Kind: function

Specifies the cropping that happens when converting ISP to video output. By default, video will be center cropped from the ISP
output. Note that this doesn't actually do on-sensor cropping (and MIPI-stream only that region), but it does postprocessing on
the ISP (on RVC). parameters: x: Top left X coordinate; y: Top left Y coordinate

###### std::tuple< float, float > getSensorCrop()

Kind: function

return: Sensor top left crop coordinates

###### float getSensorCropX()

Kind: function

Get sensor top left x crop coordinate.

###### float getSensorCropY()

Kind: function

Get sensor top left y crop coordinate.

###### void setWaitForConfigInput(bool wait)

Kind: function

Specify to wait until inputConfig receives a configuration message, before sending out a frame. parameters: wait: True to wait for
inputConfig message, false otherwise

###### bool getWaitForConfigInput()

Kind: function

see: setWaitForConfigInput return: True if wait for inputConfig message, false otherwise

###### void setPreviewKeepAspectRatio(bool keep)

Kind: function

Specifies whether preview output should preserve aspect ratio, after downscaling from video size or not. parameters: keep: If
true, a larger crop region will be considered to still be able to create the final image in the specified aspect ratio. Otherwise
video size is resized to fit preview size

###### bool getPreviewKeepAspectRatio()

Kind: function

see: setPreviewKeepAspectRatio return: Preview keep aspect ratio option

###### int getPreviewNumFramesPool()

Kind: function

Get number of frames in preview pool.

###### int getVideoNumFramesPool()

Kind: function

Get number of frames in video pool.

###### int getStillNumFramesPool()

Kind: function

Get number of frames in still pool.

###### int getRawNumFramesPool()

Kind: function

Get number of frames in raw pool.

###### int getIspNumFramesPool()

Kind: function

Get number of frames in isp pool.

###### void setRawOutputPacked(bool packed)

Kind: function

Configures whether the camera ToF .

##### dai::node::DetectionNetwork

Kind: class

DetectionNetwork , base for different network specializations.

###### Output out

Kind: variable

Outputs ImgDetections message that carries parsed detection results. Overrides NeuralNetwork 'out' with ImgDetections output
message type.

###### Output outNetwork

Kind: variable

Outputs unparsed inference results.

###### void setConfidenceThreshold(float thresh)

Kind: function

Specifies confidence threshold at which to filter the rest of the detections. parameters: thresh: Detection confidence must be
greater than specified threshold to be added to the list

###### float getConfidenceThreshold()

Kind: function

Retrieves threshold at which to filter the rest of the detections. return: Detection confidence

##### dai::node::MobileNetDetectionNetwork

Kind: class

MobileNetDetectionNetwork node. Parses MobileNet results.

###### MobileNetDetectionNetwork(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### MobileNetDetectionNetwork(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

##### dai::node::YoloDetectionNetwork

Kind: class

YoloDetectionNetwork node. Parses Yolo results.

###### YoloDetectionNetwork(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### YoloDetectionNetwork(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setNumClasses(int numClasses)

Kind: function

Set num classes.

###### void setCoordinateSize(int coordinates)

Kind: function

Set coordianate size.

###### void setAnchors(std::vector< float > anchors)

Kind: function

Set anchors.

###### void setAnchorMasks(std::map< std::string, std::vector< int >> anchorMasks)

Kind: function

Set anchor masks.

###### void setIouThreshold(float thresh)

Kind: function

Set Iou threshold.

###### int getNumClasses()

Kind: function

Get num classes.

###### int getCoordinateSize()

Kind: function

Get coordianate size.

###### std::vector< float > getAnchors()

Kind: function

Get anchors.

###### std::map< std::string, std::vector< int > > getAnchorMasks()

Kind: function

Get anchor masks.

###### float getIouThreshold()

Kind: function

Get Iou threshold.

##### dai::node::DetectionParser

Kind: class

DetectionParser node. Parses detection results from different neural networks and is being used internally by
MobileNetDetectionNetwork and YoloDetectionNetwork .

###### Input input

Kind: variable

Input NN results with detection data to parse Default queue is blocking with size 5

###### Output out

Kind: variable

Outputs image frame with detected edges

###### DetectionParser(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### DetectionParser(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setNumFramesPool(int numFramesPool)

Kind: function

Specify number of frames in pool. parameters: numFramesPool: How many frames should the pool have

###### int getNumFramesPool()

Kind: function

Returns number of frames in pool

###### void setBlob(const OpenVINO::Blob & blob)

Kind: function

Retrieves some input tensor information from the blob parameters: blob: OpenVINO blob to retrieve the information from

###### void setNNFamily(DetectionNetworkType type)

Kind: function

Sets NN Family to parse

###### DetectionNetworkType getNNFamily()

Kind: function

Gets NN Family to parse

###### void setConfidenceThreshold(float thresh)

Kind: function

Specifies confidence threshold at which to filter the rest of the detections. parameters: thresh: Detection confidence must be
greater than specified threshold to be added to the list

###### float getConfidenceThreshold()

Kind: function

Retrieves threshold at which to filter the rest of the detections. return: Detection confidence

###### void setNumClasses(int numClasses)

Kind: function

Set num classes.

###### void setCoordinateSize(int coordinates)

Kind: function

Set coordianate size.

###### void setAnchors(std::vector< float > anchors)

Kind: function

Set anchors.

###### void setAnchorMasks(std::map< std::string, std::vector< int >> anchorMasks)

Kind: function

Set anchor masks.

###### void setIouThreshold(float thresh)

Kind: function

Set Iou threshold.

###### int getNumClasses()

Kind: function

Get num classes.

###### int getCoordinateSize()

Kind: function

Get coordianate size.

###### std::vector< float > getAnchors()

Kind: function

Get anchors.

###### std::map< std::string, std::vector< int > > getAnchorMasks()

Kind: function

Get anchor masks.

###### float getIouThreshold()

Kind: function

Get Iou threshold.

##### dai::node::EdgeDetector

Kind: class

EdgeDetector node. Performs edge detection using 3x3 Sobel filter.

###### EdgeDetectorConfig initialConfig

Kind: variable

Initial config to use for edge detection.

###### Input inputConfig

Kind: variable

Input EdgeDetectorConfig message with ability to modify parameters in runtime. Default queue is non-blocking with size 4.

###### Input inputImage

Kind: variable

Input image on which edge detection is performed. Default queue is non-blocking with size 4.

###### Output outputImage

Kind: variable

Outputs image frame with detected edges

###### Output passthroughInputImage

Kind: variable

Passthrough message on which the calculation was performed.

###### EdgeDetector(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### EdgeDetector(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setWaitForConfigInput(bool wait)

Kind: function

Specify whether or not wait until configuration message arrives to inputConfig Input. parameters: wait: True to wait for
configuration message, false otherwise.

###### bool getWaitForConfigInput()

Kind: function

see: setWaitForConfigInput return: True if wait for inputConfig message, false otherwise

###### void setNumFramesPool(int numFramesPool)

Kind: function

Specify number of frames in pool. parameters: numFramesPool: How many frames should the pool have

###### void setMaxOutputFrameSize(int maxFrameSize)

Kind: function

Specify maximum size of output image. parameters: maxFrameSize: Maximum frame size in bytes

##### dai::node::FeatureTracker

Kind: class

FeatureTracker node. Performs feature tracking and reidentification using motion estimation between 2 consecutive frames.

###### FeatureTrackerConfig initialConfig

Kind: variable

Initial config to use for feature tracking.

###### Input inputConfig

Kind: variable

Input FeatureTrackerConfig message with ability to modify parameters in runtime. Default queue is non-blocking with size 4.

###### Input inputImage

Kind: variable

Input message with frame data on which feature tracking is performed. Default queue is non-blocking with size 4.

###### Output outputFeatures

Kind: variable

Outputs TrackedFeatures message that carries tracked features results.

###### Output passthroughInputImage

Kind: variable

Passthrough message on which the calculation was performed. Suitable for when input queue is set to non-blocking behavior.

###### FeatureTracker(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### FeatureTracker(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setWaitForConfigInput(bool wait)

Kind: function

Specify whether or not wait until configuration message arrives to inputConfig Input. parameters: wait: True to wait for
configuration message, false otherwise.

###### bool getWaitForConfigInput()

Kind: function

see: setWaitForConfigInput return: True if wait for inputConfig message, false otherwise

###### void setHardwareResources(int numShaves, int numMemorySlices)

Kind: function

Specify allocated hardware resources for feature tracking. 2 shaves/memory slices are required for optical flow, 1 for corner
detection only. parameters: numShaves: Number of shaves. Maximum 2.; numMemorySlices: Number of memory slices. Maximum 2.

##### dai::node::IMU

Kind: class

IMU node for BNO08X.

###### Output out

Kind: variable

Outputs IMUData message that carries IMU packets.

###### IMU(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

Constructs IMU node.

###### IMU(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void enableIMUSensor(IMUSensorConfig sensorConfig)

Kind: function

Enable a new IMU sensor with explicit configuration

###### void enableIMUSensor(const std::vector< IMUSensorConfig > & sensorConfigs)

Kind: function

Enable a list of IMU sensors with explicit configuration

###### void enableIMUSensor(IMUSensor sensor, uint32_t reportRate)

Kind: function

Enable a new IMU sensor with default configuration

###### void enableIMUSensor(const std::vector< IMUSensor > & sensors, uint32_t reportRate)

Kind: function

Enable a list of IMU sensors with default configuration

###### void setBatchReportThreshold(std::int32_t batchReportThreshold)

Kind: function

Above this packet threshold data will be sent to host, if queue is not blocked

###### std::int32_t getBatchReportThreshold()

Kind: function

Above this packet threshold data will be sent to host, if queue is not blocked

###### void setMaxBatchReports(std::int32_t maxBatchReports)

Kind: function

Maximum number of IMU packets in a batch report

###### std::int32_t getMaxBatchReports()

Kind: function

Maximum number of IMU packets in a batch report

###### void enableFirmwareUpdate(bool enable)

Kind: function

##### dai::node::ImageAlign

Kind: class

ImageAlign node. Calculates spatial location data on a set of ROIs on depth map.

###### ImageAlignConfig initialConfig

Kind: variable

Initial config to use when calculating spatial location data.

###### Input inputConfig

Kind: variable

Input message with ability to modify parameters in runtime. Default queue is non-blocking with size 4.

###### Input input

Kind: variable

Input message. Default queue is non-blocking with size 4.

###### Input inputAlignTo

Kind: variable

Input align to message. Default queue is non-blocking with size 1.

###### Output outputAligned

Kind: variable

Outputs ImgFrame message that is aligned to inputAlignTo.

###### Output passthroughInput

Kind: variable

Passthrough message on which the calculation was performed. Suitable for when input queue is set to non-blocking behavior.

###### ImageAlign(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### ImageAlign(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### ImageAlign & setOutputSize(int alignWidth, int alignHeight)

Kind: function

Specify the output size of the aligned image

###### ImageAlign & setOutKeepAspectRatio(bool keep)

Kind: function

Specify whether to keep aspect ratio when resizing

###### ImageAlign & setInterpolation(Interpolation interp)

Kind: function

Specify interpolation method to use when resizing

###### ImageAlign & setNumShaves(int numShaves)

Kind: function

Specify number of shaves to use for this node

###### ImageAlign & setNumFramesPool(int numFramesPool)

Kind: function

Specify number of frames in the pool

##### dai::node::ImageManip

Kind: class

ImageManip node. Capability to crop, resize, warp, ... incoming image frames.

###### ImageManipConfig initialConfig

Kind: variable

Initial config to use when manipulating frames

###### Input inputConfig

Kind: variable

Input ImageManipConfig message with ability to modify parameters in runtime Default queue is blocking with size 8

###### Input inputImage

Kind: variable

Input image to be modified Default queue is blocking with size 8

###### Output out

Kind: variable

Outputs ImgFrame message that carries modified image.

###### ImageManip(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### ImageManip(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setCropRect(float xmin, float ymin, float xmax, float ymax)

Kind: function

###### void setCenterCrop(float ratio, float whRatio)

Kind: function

###### void setResize(int w, int h)

Kind: function

###### void setResizeThumbnail(int w, int h, int bgRed, int bgGreen, int bgBlue)

Kind: function

###### void setFrameType(ImgFrame::Type name)

Kind: function

###### void setHorizontalFlip(bool flip)

Kind: function

###### void setKeepAspectRatio(bool keep)

Kind: function

###### void setWaitForConfigInput(bool wait)

Kind: function

Specify whether or not wait until configuration message arrives to inputConfig Input. parameters: wait: True to wait for
configuration message, false otherwise.

###### bool getWaitForConfigInput()

Kind: function

see: setWaitForConfigInput return: True if wait for inputConfig message, false otherwise

###### void setNumFramesPool(int numFramesPool)

Kind: function

Specify number of frames in pool. parameters: numFramesPool: How many frames should the pool have

###### void setMaxOutputFrameSize(int maxFrameSize)

Kind: function

Specify maximum size of output image. parameters: maxFrameSize: Maximum frame size in bytes

###### void setWarpMesh(const std::vector< Point2f > & meshData, int width, int height)

Kind: function

Set a custom warp mesh parameters: meshData: 2D plane of mesh points, starting from top left to bottom right; width: Width of
mesh; height: Height of mesh

###### void setWarpMesh(const std::vector< std::pair< float, float >> & meshData, int width, int height)

Kind: function

##### dai::node::MessageDemux

Kind: class

###### Input input

Kind: variable

Input message of type MessageGroup

###### OutputMap outputs

Kind: variable

A map of outputs, where keys are same as in the input MessageGroup

###### MessageDemux(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### MessageDemux(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setProcessor(ProcessorType type)

Kind: function

Set on which processor the node should run parameters: type: Processor type - Leon CSS or Leon MSS

###### ProcessorType getProcessor()

Kind: function

Get on which processor the node should run return: Processor type - Leon CSS or Leon MSS

##### dai::node::MonoCamera

Kind: class

MonoCamera node. For use with grayscale sensors.

###### CameraControl initialControl

Kind: variable

Initial control options to apply to sensor

###### Input inputControl

Kind: variable

Input for CameraControl message, which can modify camera parameters in runtime Default queue is blocking with size 8

###### Output out

Kind: variable

Outputs ImgFrame message that carries RAW8 encoded (grayscale) frame data. Suitable for use StereoDepth node. Processed by ISP

###### Output raw

Kind: variable

Outputs ImgFrame message that carries RAW10-packed (MIPI CSI-2 format) frame data. Captured directly from the camera sensor

###### Output frameEvent

Kind: variable

Outputs metadata-only ImgFrame message as an early indicator of an incoming frame. It's sent on the MIPI SoF (start-of-frame)
event, just after the exposure of the current frame has finished and before the exposure for next frame starts. Could be used to
synchronize various processes with camera capture. Fields populated: camera id, sequence number, timestamp

###### MonoCamera(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### MonoCamera(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setBoardSocket(CameraBoardSocket boardSocket)

Kind: function

Specify which board socket to use parameters: boardSocket: Board socket to use

###### CameraBoardSocket getBoardSocket()

Kind: function

Retrieves which board socket to use return: Board socket to use

###### void setCamera(std::string name)

Kind: function

Specify which camera to use by name parameters: name: Name of the camera to use

###### std::string getCamera()

Kind: function

Retrieves which camera to use by name return: Name of the camera to use

###### void setCamId(int64_t id)

Kind: function

###### int64_t getCamId()

Kind: function

###### void setImageOrientation(CameraImageOrientation imageOrientation)

Kind: function

Set camera image orientation.

###### CameraImageOrientation getImageOrientation()

Kind: function

Get camera image orientation.

###### void setResolution(Properties::SensorResolution resolution)

Kind: function

Set sensor resolution.

###### Properties::SensorResolution getResolution()

Kind: function

Get sensor resolution.

###### void setFrameEventFilter(const std::vector< dai::FrameEvent > & events)

Kind: function

###### std::vector< dai::FrameEvent > getFrameEventFilter()

Kind: function

###### void setFps(float fps)

Kind: function

Set rate at which camera should produce frames parameters: fps: Rate in frames per second

###### void setIsp3aFps(int isp3aFps)

Kind: function

Isp 3A rate (auto focus, auto exposure, auto white balance, camera controls etc.). Default (0) matches the camera FPS, meaning
that 3A is running on each frame. Reducing the rate of 3A reduces the CPU usage on CSS, but also increases the convergence rate of
3A. Note that camera controls will be processed at this rate. E.g. if camera is running at 30 fps, and camera control is sent at
every frame, but 3A fps is set to 15, the camera control messages will be processed at 15 fps rate, which will lead to queueing.

###### float getFps()

Kind: function

Get rate at which camera should produce frames return: Rate in frames per second

###### std::tuple< int, int > getResolutionSize()

Kind: function

Get sensor resolution as size.

###### int getResolutionWidth()

Kind: function

Get sensor resolution width.

###### int getResolutionHeight()

Kind: function

Get sensor resolution height.

###### void setNumFramesPool(int num)

Kind: function

Set number of frames in main (ISP output) pool.

###### void setRawNumFramesPool(int num)

Kind: function

Set number of frames in raw pool.

###### int getNumFramesPool()

Kind: function

Get number of frames in main (ISP output) pool.

###### int getRawNumFramesPool()

Kind: function

Get number of frames in raw pool.

###### void setRawOutputPacked(bool packed)

Kind: function

Configures whether the camera ToF .

##### dai::node::NeuralNetwork

Kind: class

NeuralNetwork node. Runs a neural inference on input data.

###### Input input

Kind: variable

Input message with data to be inferred upon Default queue is blocking with size 5

###### Output out

Kind: variable

Outputs NNData message that carries inference results

###### Output passthrough

Kind: variable

Passthrough message on which the inference was performed. Suitable for when input queue is set to non-blocking behavior.

###### InputMap inputs

Kind: variable

Inputs mapped to network inputs. Useful for inferring from separate data sources Default input is non-blocking with queue size 1
and waits for messages

###### OutputMap passthroughs

Kind: variable

Passthroughs which correspond to specified input

###### NeuralNetwork(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### NeuralNetwork(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setBlobPath(const dai::Path & path)

Kind: function

Load network blob into assets and use once pipeline is started. parameters: Error: if file doesn't exist or isn't a valid network
blob. parameters: path: Path to network blob

###### void setBlob(OpenVINO::Blob blob)

Kind: function

Load network blob into assets and use once pipeline is started. parameters: blob: Network blob

###### void setBlob(const dai::Path & path)

Kind: function

Same functionality as the setBlobPath() . Load network blob into assets and use once pipeline is started. parameters: Error: if
file doesn't exist or isn't a valid network blob. parameters: path: Path to network blob

###### void setNumPoolFrames(int numFrames)

Kind: function

Specifies how many frames will be available in the pool parameters: numFrames: How many frames will pool have

###### void setNumInferenceThreads(int numThreads)

Kind: function

How many threads should the node use to run the network. parameters: numThreads: Number of threads to dedicate to this node

###### void setNumNCEPerInferenceThread(int numNCEPerThread)

Kind: function

How many Neural Compute Engines should a single thread use for inference parameters: numNCEPerThread: Number of NCE per thread

###### int getNumInferenceThreads()

Kind: function

How many inference threads will be used to run the network return: Number of threads, 0, 1 or 2. Zero means AUTO

##### dai::node::ObjectTracker

Kind: class

ObjectTracker node. Performs object tracking using Kalman filter and hungarian algorithm.

###### Input inputTrackerFrame

Kind: variable

Input ImgFrame message on which tracking will be performed. RGBp, BGRp, NV12, YUV420p types are supported. Default queue is
non-blocking with size 4.

###### Input inputDetectionFrame

Kind: variable

Input ImgFrame message on which object detection was performed. Default queue is non-blocking with size 4.

###### Input inputDetections

Kind: variable

Input message with image detection from neural network. Default queue is non-blocking with size 4.

###### Input inputConfig

Kind: variable

Input ObjectTrackerConfig message with ability to modify parameters at runtime. Default queue is non-blocking with size 4.

###### Output out

Kind: variable

Outputs Tracklets message that carries object tracking results.

###### Output passthroughTrackerFrame

Kind: variable

Passthrough ImgFrame message on which tracking was performed. Suitable for when input queue is set to non-blocking behavior.

###### Output passthroughDetectionFrame

Kind: variable

Passthrough ImgFrame message on which object detection was performed. Suitable for when input queue is set to non-blocking
behavior.

###### Output passthroughDetections

Kind: variable

Passthrough image detections message from neural network output. Suitable for when input queue is set to non-blocking behavior.

###### ObjectTracker(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### ObjectTracker(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setTrackerThreshold(float threshold)

Kind: function

Specify tracker threshold. parameters: threshold: Above this threshold the detected objects will be tracked. Default 0, all image
detections are tracked.

###### void setMaxObjectsToTrack(std::int32_t maxObjectsToTrack)

Kind: function

Specify maximum number of object to track. parameters: maxObjectsToTrack: Maximum number of object to track. Maximum 60 in case of
SHORT_TERM_KCF, otherwise 1000.

###### void setDetectionLabelsToTrack(std::vector< std::uint32_t > labels)

Kind: function

Specify detection labels to track. parameters: labels: Detection labels to track. Default every label is tracked from image
detection network output.

###### void setTrackerType(TrackerType type)

Kind: function

Specify tracker type algorithm. parameters: type: Tracker type.

###### void setTrackerIdAssignmentPolicy(TrackerIdAssignmentPolicy type)

Kind: function

Specify tracker ID assignment policy. parameters: type: Tracker ID assignment policy.

###### void setTrackingPerClass(bool trackingPerClass)

Kind: function

Whether tracker should take into consideration class label for tracking.

###### void setOcclusionRatioThreshold(float occlusionRatioThreshold)

Kind: function

Specify occlusion ratio threshold. parameters: occlusionRatioThreshold: Occlusion ratio threshold. Used to filter out overlapping
tracklets. Default 0.4.

###### void setTrackletMaxLifespan(uint32_t lifespan)

Kind: function

Specify tracklet lifespan. parameters: lifespan: Tracklet lifespan in number of frames. Number of frames after which a LOST
tracklet is removed. Default 120.

###### void setTrackletBirthThreshold(uint32_t birthThreshold)

Kind: function

Specify tracklet birth threshold. parameters: threshold: Tracklet birth threshold. Minimum consecutive tracked frames required to
consider a tracklet as a new instance. Default 3.

##### dai::node::PointCloud

Kind: class

PointCloud node. Computes point cloud from depth frames.

###### PointCloudConfig initialConfig

Kind: variable

Initial config to use when computing the point cloud.

###### Input inputConfig

Kind: variable

Input PointCloudConfig message with ability to modify parameters in runtime. Default queue is non-blocking with size 4.

###### Input inputDepth

Kind: variable

Input message with depth data used to create the point cloud. Default queue is non-blocking with size 4.

###### Output outputPointCloud

Kind: variable

Outputs PointCloudData message

###### Output passthroughDepth

Kind: variable

Passthrough depth from which the point cloud was calculated. Suitable for when input queue is set to non-blocking behavior.

###### PointCloud(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### PointCloud(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setNumFramesPool(int numFramesPool)

Kind: function

Specify number of frames in pool. parameters: numFramesPool: How many frames should the pool have

##### dai::node::SPIIn

Kind: class

SPIIn node. Receives messages over SPI.

###### Output out

Kind: variable

Outputs message of same type as send from host.

###### SPIIn(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### SPIIn(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setStreamName(const std::string & name)

Kind: function

Specifies stream name over which the node will receive data parameters: name: Stream name

###### void setBusId(int id)

Kind: function

Specifies SPI Bus number to use parameters: id: SPI Bus id

###### void setMaxDataSize(std::uint32_t maxDataSize)

Kind: function

Set maximum message size it can receive parameters: maxDataSize: Maximum size in bytes

###### void setNumFrames(std::uint32_t numFrames)

Kind: function

Set number of frames in pool for sending messages forward parameters: numFrames: Maximum number of frames in pool

###### std::string getStreamName()

Kind: function

Get stream name.

###### int getBusId()

Kind: function

Get bus id.

###### std::uint32_t getMaxDataSize()

Kind: function

Get maximum messages size in bytes.

###### std::uint32_t getNumFrames()

Kind: function

Get number of frames in pool.

##### dai::node::SPIOut

Kind: class

SPIOut node. Sends messages over SPI.

###### Input input

Kind: variable

Input for any type of messages to be transferred over SPI stream Default queue is blocking with size 8

###### SPIOut(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### SPIOut(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### void setStreamName(std::string name)

Kind: function

Specifies stream name over which the node will send data parameters: name: Stream name

###### void setBusId(int busId)

Kind: function

Specifies SPI Bus number to use parameters: id: SPI Bus id

##### dai::node::Script

Kind: class

###### InputMap inputs

Kind: variable

Inputs to Script node. Can be accessed using subscript operator (Eg: inputs['in1']) By default inputs are set to blocking with
queue size 8

###### OutputMap outputs

Kind: variable

Outputs from Script node. Can be accessed subscript operator (Eg: outputs['out1'])

###### Script(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### Script(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setScriptPath(const dai::Path & path, const std::string & name)

Kind: function

Specify local filesystem path to load the script parameters: path: Filesystem path to load the script; name: Optionally set a name
of this script, otherwise the name defaults to the path

###### void setScript(const std::string & script, const std::string & name)

Kind: function

Sets script data to be interpreted parameters: script: Script string to be interpreted; name: Optionally set a name of this script

###### void setScript(const std::vector< std::uint8_t > & data, const std::string & name)

Kind: function

Sets script data to be interpreted parameters: data: Binary data that represents the script to be interpreted; name: Optionally
set a name of this script

###### dai::Path getScriptPath()

Kind: function

Get filesystem path from where script was loaded.

return: dai::Path from where script was loaded, otherwise returns empty path

###### std::string getScriptName()

Kind: function

Get the script name in utf-8.

When name set with setScript() or setScriptPath() , returns that name. When script loaded with setScriptPath() with name not
provided, returns the utf-8 string of that path. Otherwise, returns "<script>" return: std::string of script name in utf-8

###### void setProcessor(ProcessorType type)

Kind: function

Set on which processor the script should run parameters: type: Processor type - Leon CSS or Leon MSS

###### ProcessorType getProcessor()

Kind: function

Get on which processor the script should run return: Processor type - Leon CSS or Leon MSS

##### dai::node::SpatialDetectionNetwork

Kind: class

SpatialDetectionNetwork node. Runs a neural inference on input image and calculates spatial location data.

###### Input input

Kind: variable

Input message with data to be inferred upon Default queue is blocking with size 5

###### Input inputDepth

Kind: variable

Input message with depth data used to retrieve spatial information about detected object Default queue is non-blocking with size 4

###### Output out

Kind: variable

Outputs ImgDetections message that carries parsed detection results.

###### Output boundingBoxMapping

Kind: variable

Outputs mapping of detected bounding boxes relative to depth map Suitable for when displaying remapped bounding boxes on depth
frame

###### Output passthrough

Kind: variable

Passthrough message on which the inference was performed. Suitable for when input queue is set to non-blocking behavior.

###### Output passthroughDepth

Kind: variable

Passthrough message for depth frame on which the spatial location calculation was performed. Suitable for when input queue is set
to non-blocking behavior.

###### Output spatialLocationCalculatorOutput

Kind: variable

Output of SpatialLocationCalculator node, which is used internally by SpatialDetectionNetwork . Suitable when extra information is
required from SpatialLocationCalculator node, e.g. minimum, maximum distance.

###### void setBoundingBoxScaleFactor(float scaleFactor)

Kind: function

Specifies scale factor for detected bounding boxes. parameters: scaleFactor: Scale factor must be in the interval (0,1].

###### void setDepthLowerThreshold(uint32_t lowerThreshold)

Kind: function

Specifies lower threshold in depth units (millimeter by default) for depth values which will used to calculate spatial data
parameters: lowerThreshold: LowerThreshold must be in the interval [0,upperThreshold] and less than upperThreshold.

###### void setDepthUpperThreshold(uint32_t upperThreshold)

Kind: function

Specifies upper threshold in depth units (millimeter by default) for depth values which will used to calculate spatial data
parameters: upperThreshold: UpperThreshold must be in the interval (lowerThreshold,65535].

###### void setSpatialCalculationAlgorithm(dai::SpatialLocationCalculatorAlgorithm calculationAlgorithm)

Kind: function

Specifies spatial location calculator algorithm: Average/Min/Max parameters: calculationAlgorithm: Calculation algorithm.

###### void setSpatialCalculationStepSize(int stepSize)

Kind: function

Specifies spatial location calculator step size for depth calculation. Step size 1 means that every pixel is taken into
calculation, size 2 means every second etc. parameters: stepSize: Step size.

##### dai::node::MobileNetSpatialDetectionNetwork

Kind: class

MobileNetSpatialDetectionNetwork node. Mobilenet-SSD based network with spatial location data.

###### MobileNetSpatialDetectionNetwork(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

##### dai::node::YoloSpatialDetectionNetwork

Kind: class

YoloSpatialDetectionNetwork node. Yolo-based network with spatial location data.

###### YoloSpatialDetectionNetwork(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### void setNumClasses(const int numClasses)

Kind: function

Set num classes.

###### void setCoordinateSize(const int coordinates)

Kind: function

Set coordianate size.

###### void setAnchors(std::vector< float > anchors)

Kind: function

Set anchors.

###### void setAnchorMasks(std::map< std::string, std::vector< int >> anchorMasks)

Kind: function

Set anchor masks.

###### void setIouThreshold(float thresh)

Kind: function

Set Iou threshold.

###### int getNumClasses()

Kind: function

Get num classes.

###### int getCoordinateSize()

Kind: function

Get coordianate size.

###### std::vector< float > getAnchors()

Kind: function

Get anchors.

###### std::map< std::string, std::vector< int > > getAnchorMasks()

Kind: function

Get anchor masks.

###### float getIouThreshold()

Kind: function

Get Iou threshold.

##### dai::node::SpatialLocationCalculator

Kind: class

SpatialLocationCalculator node. Calculates spatial location data on a set of ROIs on depth map.

###### SpatialLocationCalculatorConfig initialConfig

Kind: variable

Initial config to use when calculating spatial location data.

###### Input inputConfig

Kind: variable

Input SpatialLocationCalculatorConfig message with ability to modify parameters in runtime. Default queue is non-blocking with
size 4.

###### Input inputDepth

Kind: variable

Input message with depth data used to retrieve spatial information about detected object. Default queue is non-blocking with size
4.

###### Output out

Kind: variable

Outputs SpatialLocationCalculatorData message that carries spatial location results.

###### Output passthroughDepth

Kind: variable

Passthrough message on which the calculation was performed. Suitable for when input queue is set to non-blocking behavior.

###### SpatialLocationCalculator(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### SpatialLocationCalculator(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setWaitForConfigInput(bool wait)

Kind: function

Specify whether or not wait until configuration message arrives to inputConfig Input. parameters: wait: True to wait for
configuration message, false otherwise.

###### bool getWaitForConfigInput()

Kind: function

see: setWaitForConfigInput return: True if wait for inputConfig message, false otherwise

##### dai::node::StereoDepth

Kind: class

StereoDepth node. Compute stereo disparity and depth from left-right image pair.

###### std::uint32_t PresetMode

Kind: enum

Preset modes for stereo depth.

###### HIGH_ACCURACY

Kind: enum_value

Prefers accuracy over density. More invalid depth values, but less outliers.

###### HIGH_DENSITY

Kind: enum_value

Prefers density over accuracy. Less invalid depth values, but more outliers.

###### DEFAULT

Kind: enum_value

###### FACE

Kind: enum_value

###### HIGH_DETAIL

Kind: enum_value

###### ROBOTICS

Kind: enum_value

###### StereoDepthConfig initialConfig

Kind: variable

Initial config to use for StereoDepth .

###### Input inputConfig

Kind: variable

Input StereoDepthConfig message with ability to modify parameters in runtime. Default queue is non-blocking with size 4.

###### Input left

Kind: variable

Input for left ImgFrame of left-right pair Default queue is non-blocking with size 8

###### Input right

Kind: variable

Input for right ImgFrame of left-right pair Default queue is non-blocking with size 8

###### Output depth

Kind: variable

Outputs ImgFrame message that carries RAW16 encoded (0..65535) depth data in depth units (millimeter by default). Non-determined /
invalid depth values are set to 0

###### Output disparity

Kind: variable

Outputs ImgFrame message that carries RAW8 / RAW16 encoded disparity data: RAW8 encoded (0..95) for standard mode; RAW8 encoded
(0..190) for extended disparity mode; RAW16 encoded for subpixel disparity mode: 0..760 for 3 fractional bits (by default);
0..1520 for 4 fractional bits; 0..3040 for 5 fractional bits

###### Output syncedLeft

Kind: variable

Passthrough ImgFrame message from 'left' Input.

###### Output syncedRight

Kind: variable

Passthrough ImgFrame message from 'right' Input.

###### Output rectifiedLeft

Kind: variable

Outputs ImgFrame message that carries RAW8 encoded (grayscale) rectified frame data.

###### Output rectifiedRight

Kind: variable

Outputs ImgFrame message that carries RAW8 encoded (grayscale) rectified frame data.

###### Output outConfig

Kind: variable

Outputs StereoDepthConfig message that contains current stereo configuration.

###### Output debugDispLrCheckIt1

Kind: variable

Outputs ImgFrame message that carries left-right check first iteration (before combining with second iteration) disparity map.
Useful for debugging/fine tuning.

###### Output debugDispLrCheckIt2

Kind: variable

Outputs ImgFrame message that carries left-right check second iteration (before combining with first iteration) disparity map.
Useful for debugging/fine tuning.

###### Output debugExtDispLrCheckIt1

Kind: variable

Outputs ImgFrame message that carries extended left-right check first iteration (downscaled frame, before combining with second
iteration) disparity map. Useful for debugging/fine tuning.

###### Output debugExtDispLrCheckIt2

Kind: variable

Outputs ImgFrame message that carries extended left-right check second iteration (downscaled frame, before combining with first
iteration) disparity map. Useful for debugging/fine tuning.

###### Output debugDispCostDump

Kind: variable

Outputs ImgFrame message that carries cost dump of disparity map. Useful for debugging/fine tuning.

###### Output confidenceMap

Kind: variable

Outputs ImgFrame message that carries RAW8 confidence map. Lower values means higher confidence of the calculated disparity value.
RGB alignment, left-right check or any postproccessing (e.g. median filter) is not performed on confidence map.

###### StereoDepth(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### StereoDepth(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setEmptyCalibration()

Kind: function

Specify that a passthrough/dummy calibration should be used, when input frames are already rectified (e.g. sourced from recordings
on the host)

###### void loadMeshFiles(const dai::Path & pathLeft, const dai::Path & pathRight)

Kind: function

Specify local filesystem paths to the mesh calibration files for 'left' and 'right' inputs. When a mesh calibration is set, it
overrides the camera intrinsics/extrinsics matrices. Overrides useHomographyRectification behavior. Mesh format: a sequence of
(y,x) points as 'float' with coordinates from the input image to be mapped in the output. The mesh can be subsampled, configured
by With a 1280x800 resolution and the default (16,16) step, the required mesh size is: width: 1280 / 16 + 1 = 81 height: 800 / 16
+ 1 = 51

###### void loadMeshData(const std::vector< std::uint8_t > & dataLeft, const std::vector< std::uint8_t > & dataRight)

Kind: function

Specify mesh calibration data for 'left' and 'right' inputs, as vectors of bytes. Overrides useHomographyRectification behavior.
See

###### void setMeshStep(int width, int height)

Kind: function

Set the distance between mesh points. Default: (16, 16)

###### void setInputResolution(int width, int height)

Kind: function

Specify input resolution size Optional if MonoCamera exists, otherwise necessary

###### void setInputResolution(std::tuple< int, int > resolution)

Kind: function

Specify input resolution size Optional if MonoCamera exists, otherwise necessary

###### void setOutputSize(int width, int height)

Kind: function

Specify disparity/depth output resolution size, implemented by scaling. Currently only applicable when aligning to RGB camera

###### void setOutputKeepAspectRatio(bool keep)

Kind: function

Specifies whether the frames resized by

###### void setMedianFilter(dai::MedianFilter median)

Kind: function

parameters: median: Set kernel size for disparity/depth median filtering, or disable

###### void setDepthAlign(Properties::DepthAlign align)

Kind: function

parameters: align: Set the disparity/depth alignment: centered (between the 'left' and 'right' inputs), or from the perspective of
a rectified output stream

###### void setDepthAlign(CameraBoardSocket camera)

Kind: function

parameters: camera: Set the camera from whose perspective the disparity/depth will be aligned

###### void setConfidenceThreshold(int confThr)

Kind: function

Confidence threshold for disparity calculation parameters: confThr: Confidence threshold value 0..255

###### void setRectification(bool enable)

Kind: function

Rectify input images or not.

###### void setLeftRightCheck(bool enable)

Kind: function

Computes and combines disparities in both L-R and R-L directions, and combine them. For better occlusion handling, discarding
invalid disparity values

###### void setSubpixel(bool enable)

Kind: function

Computes disparity with sub-pixel interpolation (3 fractional bits by default). Suitable for long range. Currently incompatible
with extended disparity

###### void setSubpixelFractionalBits(int subpixelFractionalBits)

Kind: function

Number of fractional bits for subpixel mode. Default value: 3. Valid values: 3,4,5. Defines the number of fractional disparities:
2^x. Median filter postprocessing is supported only for 3 fractional bits.

###### void setExtendedDisparity(bool enable)

Kind: function

Disparity range increased from 0-95 to 0-190, combined from full resolution and downscaled images. Suitable for short range
objects. Currently incompatible with sub-pixel disparity

###### void setRectifyEdgeFillColor(int color)

Kind: function

Fill color for missing data at frame edges parameters: color: Grayscale 0..255, or -1 to replicate pixels

###### void setRectifyMirrorFrame(bool enable)

Kind: function

DEPRECATED function. It was removed, since rectified images are not flipped anymore. Mirror rectified frames, only when LR-check
mode is disabled. Default A side effect of this option is disparity alignment to the perspective of left or right input:
parameters: enable: True for normal disparity/depth, otherwise mirrored

###### void setOutputRectified(bool enable)

Kind: function

Enable outputting rectified frames. Optimizes computation on device side when disabled. DEPRECATED. The outputs are auto-enabled
if used

###### void setOutputDepth(bool enable)

Kind: function

Enable outputting 'depth' stream (converted from disparity). In certain configurations, this will disable 'disparity' stream.
DEPRECATED. The output is auto-enabled if used

###### void setRuntimeModeSwitch(bool enable)

Kind: function

Enable runtime stereo mode switch, e.g. from standard to LR-check. Note: when enabled resources allocated for worst case to enable
switching to any mode.

###### void setNumFramesPool(int numFramesPool)

Kind: function

Specify number of frames in pool. parameters: numFramesPool: How many frames should the pool have

###### float getMaxDisparity()

Kind: function

Useful for normalization of the disparity map. return: Maximum disparity value that the node can return

###### void setPostProcessingHardwareResources(int numShaves, int numMemorySlices)

Kind: function

Specify allocated hardware resources for stereo depth. Suitable only to increase post processing runtime. parameters: numShaves:
Number of shaves.; numMemorySlices: Number of memory slices.

###### void setDefaultProfilePreset(PresetMode mode)

Kind: function

Sets a default preset based on specified option. parameters: mode: Stereo depth preset mode

###### void setFocalLengthFromCalibration(bool focalLengthFromCalibration)

Kind: function

Whether to use focal length from calibration intrinsics or calculate based on calibration FOV. Default value is true.

###### void useHomographyRectification(bool useHomographyRectification)

Kind: function

Use 3x3 homography matrix for stereo rectification instead of sparse mesh generated on device. Default behaviour is AUTO, for
lenses with FOV over 85 degrees sparse mesh is used, otherwise 3x3 homography. If custom mesh data is provided through
loadMeshData or loadMeshFiles this option is ignored. parameters: useHomographyRectification: true: 3x3 homography matrix
generated from calibration data is used for stereo rectification, can't correct lens distortion. false: sparse mesh is generated
on-device from calibration data with mesh step specified with setMeshStep (Default: (16, 16)), can correct lens distortion.
Implementation for generating the mesh is same as opencv's initUndistortRectifyMap function. Only the first 8 distortion
coefficients are used from calibration data.

###### void enableDistortionCorrection(bool enableDistortionCorrection)

Kind: function

Equivalent to useHomographyRectification(!enableDistortionCorrection)

###### void setBaseline(float baseline)

Kind: function

Override baseline from calibration. Used only in disparity to depth conversion. Units are centimeters.

###### void setFocalLength(float focalLength)

Kind: function

Override focal length from calibration. Used only in disparity to depth conversion. Units are pixels.

###### void setDisparityToDepthUseSpecTranslation(bool specTranslation)

Kind: function

Use baseline information for disparity to depth conversion from specs (design data) or from calibration. Default: true

###### void setRectificationUseSpecTranslation(bool specTranslation)

Kind: function

Obtain rectification matrices using spec translation (design data) or from calibration in calculations. Should be used only for
debugging. Default: false

###### void setDepthAlignmentUseSpecTranslation(bool specTranslation)

Kind: function

Use baseline information for depth alignment from specs (design data) or from calibration. Default: true

###### void setAlphaScaling(float alpha)

Kind: function

Free scaling parameter between 0 (when all the pixels in the undistorted image are valid) and 1 (when all the source image pixels
are retained in the undistorted image). On some high distortion lenses, and/or due to rectification (image rotated) invalid areas
may appear even with alpha=0, in these cases alpha < 0.0 helps removing invalid areas. See getOptimalNewCameraMatrix from opencv
for more details.

##### dai::node::Sync

Kind: class

###### InputMap inputs

Kind: variable

A map of inputs

###### Output out

Kind: variable

Output message of type MessageGroup

###### Sync(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### Sync(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setSyncThreshold(std::chrono::nanoseconds syncThreshold)

Kind: function

Set the maximal interval between messages in the group parameters: syncThreshold: Maximal interval between messages in the group

###### void setSyncAttempts(int syncAttempts)

Kind: function

Set the number of attempts to get the specified max interval between messages in the group parameters: syncAttempts: Number of
attempts to get the specified max interval between messages in the group: if syncAttempts = 0 then the node sends a message as
soon at the group is filled; if syncAttempts > 0 then the node will make syncAttemts attempts to synchronize before sending out a
message; if syncAttempts = -1 (default) then the node will only send a message if successfully synchronized

###### void setProcessor(ProcessorType type)

Kind: function

Set on which processor the node should run parameters: type: Processor type - Leon CSS or Leon MSS

###### ProcessorType getProcessor()

Kind: function

Get on which processor the node should run return: Processor type - Leon CSS or Leon MSS

###### std::chrono::nanoseconds getSyncThreshold()

Kind: function

Gets the maximal interval between messages in the group in milliseconds

###### int getSyncAttempts()

Kind: function

Gets the number of sync attempts

##### dai::node::SystemLogger

Kind: class

SystemLogger node. Send system information periodically.

###### Output out

Kind: variable

Outputs SystemInformation message that carries various system information like memory and CPU usage, temperatures, ...

###### SystemLogger(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### SystemLogger(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setRate(float hz)

Kind: function

Specify logging rate, at which messages will be sent out parameters: hz: Sending rate in hertz (messages per second)

###### float getRate()

Kind: function

Gets logging rate, at which messages will be sent out

##### dai::node::ToF

Kind: class

ToF node.

###### ToFConfig initialConfig

Kind: variable

Initial config to use for depth calculation.

###### Input inputConfig

Kind: variable

Input ToF message with ability to modify parameters in runtime. Default queue is non-blocking with size 4.

###### Input input

Kind: variable

Input raw ToF data. Default queue is blocking with size 8.

###### Output depth

Kind: variable

Outputs ImgFrame message that carries decoded depth image.

###### Output amplitude

Kind: variable

Outputs ImgFrame message that carries amplitude image.

###### Output intensity

Kind: variable

Outputs ImgFrame message that carries intensity image.

###### Output phase

Kind: variable

Outputs ImgFrame message that carries phase image, useful for debugging. float32 type.

###### ToF(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

Constructs ToF node.

###### ToF(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### ToF & setNumShaves(int numShaves)

Kind: function

Specify number of shaves reserved for ToF decoding.

###### ToF & setNumFramesPool(int numFramesPool)

Kind: function

Specify number of frames in output pool parameters: numFramesPool: Number of frames in output pool

##### dai::node::UVC

Kind: class

UVC (USB Video Class) node.

###### Input input

Kind: variable

Input for image frames to be streamed over UVC Default queue is blocking with size 8

###### UVC(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### UVC(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setGpiosOnInit(std::unordered_map< int, int > list)

Kind: function

Set GPIO list <gpio_number, value> for GPIOs to set (on/off) at init.

###### void setGpiosOnStreamOn(std::unordered_map< int, int > list)

Kind: function

Set GPIO list <gpio_number, value> for GPIOs to set when streaming is enabled.

###### void setGpiosOnStreamOff(std::unordered_map< int, int > list)

Kind: function

Set GPIO list <gpio_number, value> for GPIOs to set when streaming is disabled.

##### dai::node::VideoEncoder

Kind: class

VideoEncoder node. Encodes frames into MJPEG, H264 or H265.

###### Input input

Kind: variable

Input for NV12 ImgFrame to be encoded Default queue is blocking with size set by 'setNumFramesPool' (4).

###### Output bitstream

Kind: variable

Outputs ImgFrame message that carries BITSTREAM encoded (MJPEG, H264 or H265) frame data. Mutually exclusive with out.

###### Output out

Kind: variable

Outputs EncodedFrame message that carries encoded (MJPEG, H264 or H265) frame data. Mutually exclusive with bitstream.

###### VideoEncoder(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### VideoEncoder(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setDefaultProfilePreset(float fps, Properties::Profile profile)

Kind: function

Sets a default preset based on specified frame rate and profile parameters: fps: Frame rate in frames per second; profile:
Encoding profile

###### void setDefaultProfilePreset(int width, int height, float fps, Properties::Profile profile)

Kind: function

Sets a default preset based on specified input size, frame rate and profile parameters: width: Input frame width; height: Input
frame height; fps: Frame rate in frames per second; profile: Encoding profile

###### void setDefaultProfilePreset(std::tuple< int, int > size, float fps, Properties::Profile profile)

Kind: function

Sets a default preset based on specified input size, frame rate and profile parameters: size: Input frame size; fps: Frame rate in
frames per second; profile: Encoding profile

###### void setNumFramesPool(int frames)

Kind: function

Set number of frames in pool parameters: frames: Number of pool frames

###### int getNumFramesPool()

Kind: function

Get number of frames in pool return: Number of pool frames

###### void setRateControlMode(Properties::RateControlMode mode)

Kind: function

Set rate control mode Applicable only to H264 and H265 profiles.

###### void setProfile(Properties::Profile profile)

Kind: function

Set encoding profile.

###### void setProfile(std::tuple< int, int > size, Properties::Profile profile)

Kind: function

Set encoding profile.

###### void setProfile(int width, int height, Properties::Profile profile)

Kind: function

Set encoding profile.

###### void setBitrate(int bitrate)

Kind: function

Set output bitrate in bps, for CBR rate control mode. 0 for auto (based on frame size and FPS). Applicable only to H264 and H265
profiles.

###### void setBitrateKbps(int bitrateKbps)

Kind: function

Set output bitrate in kbps, for CBR rate control mode. 0 for auto (based on frame size and FPS). Applicable only to H264 and H265
profiles.

###### void setKeyframeFrequency(int freq)

Kind: function

Set keyframe frequency. Every Nth frame a keyframe is inserted. Applicable only to H264 and H265 profiles Examples: 30 FPS video,
keyframe frequency: 30. Every 1s a keyframe will be inserted; 60 FPS video, keyframe frequency: 180. Every 3s a keyframe will be
inserted

###### void setNumBFrames(int numBFrames)

Kind: function

Set number of B frames to be inserted. Applicable only to H264 and H265 profiles.

###### void setQuality(int quality)

Kind: function

Set quality for [M]JPEG profile parameters: quality: Value between 0-100%. Approximates quality

###### void setLossless(bool lossless)

Kind: function

Set lossless mode. Applies only to [M]JPEG profile parameters: lossless: True to enable lossless jpeg encoding, false otherwise

###### void setFrameRate(float frameRate)

Kind: function

Sets expected frame rate parameters: frameRate: Frame rate in frames per second

###### void setMaxOutputFrameSize(int maxFrameSize)

Kind: function

Specifies maximum output encoded frame size

###### Properties::RateControlMode getRateControlMode()

Kind: function

Get rate control mode.

###### Properties::Profile getProfile()

Kind: function

Get profile.

###### int getBitrate()

Kind: function

Get bitrate in bps.

###### int getBitrateKbps()

Kind: function

Get bitrate in kbps.

###### int getKeyframeFrequency()

Kind: function

Get keyframe frequency.

###### int getNumBFrames()

Kind: function

Get number of B frames.

###### int getQuality()

Kind: function

Get quality.

###### std::tuple< int, int > getSize()

Kind: function

Get input size.

###### int getWidth()

Kind: function

Get input width.

###### int getHeight()

Kind: function

Get input height.

###### float getFrameRate()

Kind: function

Get frame rate.

###### bool getLossless()

Kind: function

Get lossless mode. Applies only when using [M]JPEG profile.

###### int getMaxOutputFrameSize()

Kind: function

##### dai::node::Warp

Kind: class

Warp node. Capability to crop, resize, warp, ... incoming image frames.

###### Input inputImage

Kind: variable

Input image to be modified Default queue is blocking with size 8

###### Output out

Kind: variable

Outputs ImgFrame message that carries warped image.

###### Warp(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### Warp(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setOutputSize(std::tuple< int, int > size)

Kind: function

Sets output frame size in pixels parameters: size: width and height in pixels

###### void setOutputSize(int width, int height)

Kind: function

###### void setWarpMesh(const std::vector< Point2f > & meshData, int width, int height)

Kind: function

Set a custom warp mesh parameters: meshData: 2D plane of mesh points, starting from top left to bottom right; width: Width of
mesh; height: Height of mesh

###### void setWarpMesh(const std::vector< std::pair< float, float >> & meshData, int width, int height)

Kind: function

###### void setNumFramesPool(int numFramesPool)

Kind: function

Specify number of frames in pool. parameters: numFramesPool: How many frames should the pool have

###### void setMaxOutputFrameSize(int maxFrameSize)

Kind: function

Specify maximum size of output image. parameters: maxFrameSize: Maximum frame size in bytes

###### void setHwIds(std::vector< int > ids)

Kind: function

Specify which hardware warp engines to use parameters: ids: Which warp engines to use (0, 1, 2)

###### std::vector< int > getHwIds()

Kind: function

Retrieve which hardware warp engines to use.

###### void setInterpolation(dai::Interpolation interpolation)

Kind: function

Specify which interpolation method to use parameters: interpolation: type of interpolation

###### dai::Interpolation getInterpolation()

Kind: function

Retrieve which interpolation method to use.

##### dai::node::XLinkIn

Kind: class

XLinkIn node. Receives messages over XLink.

###### Output out

Kind: variable

Outputs message of same type as send from host.

###### XLinkIn(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### XLinkIn(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setStreamName(const std::string & name)

Kind: function

Specifies XLink stream name to use. The name should not start with double underscores '__', as those are reserved for internal
use. parameters: name: Stream name

###### void setMaxDataSize(std::uint32_t maxDataSize)

Kind: function

Set maximum message size it can receive parameters: maxDataSize: Maximum size in bytes

###### void setNumFrames(std::uint32_t numFrames)

Kind: function

Set number of frames in pool for sending messages forward parameters: numFrames: Maximum number of frames in pool

###### std::string getStreamName()

Kind: function

Get stream name.

###### std::uint32_t getMaxDataSize()

Kind: function

Get maximum messages size in bytes.

###### std::uint32_t getNumFrames()

Kind: function

Get number of frames in pool.

##### dai::node::XLinkOut

Kind: class

XLinkOut node. Sends messages over XLink.

###### Input input

Kind: variable

Input for any type of messages to be transferred over XLink stream Default queue is blocking with size 8

###### XLinkOut(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId)

Kind: function

###### XLinkOut(const std::shared_ptr< PipelineImpl > & par, int64_t nodeId, std::unique_ptr< Properties > props)

Kind: function

###### void setStreamName(const std::string & name)

Kind: function

Specifies XLink stream name to use. The name should not start with double underscores '__', as those are reserved for internal
use. parameters: name: Stream name

###### void setFpsLimit(float fps)

Kind: function

Specifies a message sending limit. It's approximated from specified rate. parameters: fps: Approximate rate limit in messages per
second

###### void setMetadataOnly(bool metadataOnly)

Kind: function

Specify whether to transfer only messages attributes and not buffer data

###### std::string getStreamName()

Kind: function

Get stream name.

###### float getFpsLimit()

Kind: function

Get rate limit in messages per second.

###### bool getMetadataOnly()

Kind: function

Get whether to transfer only messages attributes and not buffer data.

#### dai::utility

Kind: namespace

##### dai::utility::VectorWriter

Kind: class

###### VectorWriter(Args &&... args)

Kind: function

###### VectorWriter(const VectorWriter &)

Kind: function

###### VectorWriter & operator=(const VectorWriter &)

Kind: function

###### nop::Status< void > Prepare(std::size_t)

Kind: function

###### nop::Status< void > Write(std::uint8_t byte)

Kind: function

###### nop::Status< void > Write(const void * begin, const void * end)

Kind: function

###### nop::Status< void > Skip(std::size_t padding_bytes, std::uint8_t padding_value)

Kind: function

###### const std::vector< std::uint8_t > & ref()

Kind: function

###### std::vector< std::uint8_t > & ref()

Kind: function

###### std::vector< std::uint8_t > && take()

Kind: function

##### std::uint32_t checksum(const void * buffer, std::size_t size, uint32_t prevChecksum)

Kind: function

Simple hash function - djb2 parameters: buffer: Pointer to buffer of data to hash; size: Size of buffer in bytes; prevChecksum:
Previous checksum - useful for doing hash on blocks of data

##### std::uint32_t checksum(const void * buffer, std::size_t size)

Kind: function

Simple hash function - djb2 parameters: buffer: Pointer to buffer of data to hash; size: Size of buffer in bytes

##### bool serialize(const T & obj, std::vector< std::uint8_t > & data)

Kind: function

##### bool deserialize(const std::uint8_t * data, std::size_t size, T & obj)

Kind: function

##### bool serialize(const T & obj, std::vector< std::uint8_t > & data, SerializationType type)

Kind: function

##### std::vector< std::uint8_t > serialize(const T & obj, SerializationType type)

Kind: function

##### bool deserialize(const std::uint8_t * data, std::size_t size, T & obj, SerializationType type)

Kind: function

##### bool deserialize(const std::vector< std::uint8_t > & data, T & obj, SerializationType type)

Kind: function

##### std::vector< std::uint8_t > serialize(const T & obj)

Kind: function

##### bool deserialize(const std::vector< std::uint8_t > & data, T & obj)

Kind: function

##### bool serialize(const T & obj, std::vector< std::uint8_t > & data)

Kind: function

##### std::vector< std::uint8_t > serialize(const T & obj)

Kind: function

##### bool deserialize(const std::uint8_t * data, std::size_t size, T & obj)

Kind: function

##### bool deserialize(const std::vector< std::uint8_t > & data, T & obj)

Kind: function

#### dai::CalibrationHandler

Kind: class

CalibrationHandler is an interface to read/load/write structured calibration and device data. The following fields are protected
and aren't allowed to be overridden by default: boardName; boardRev; boardConf; hardwareConf; batchName; batchTime; boardOptions;
productName

##### CalibrationHandler()

Kind: function

##### CalibrationHandler(dai::Path eepromDataPath)

Kind: function

Construct a new Calibration Handler object using the eeprom json file created from calibration procedure. parameters:
eepromDataPath: takes the full path to the json file containing the calibration and device info.

##### CalibrationHandler(dai::Path calibrationDataPath, dai::Path boardConfigPath)

Kind: function

Construct a new Calibration Handler object using the board config json file and .calib binary files created using gen1
calibration. parameters: calibrationDataPath: Full Path to the .calib binary file from the gen1 calibration. (Supports only
Version 5); boardConfigPath: Full Path to the board config json file containing device information.

##### CalibrationHandler(EepromData eepromData)

Kind: function

Construct a new Calibration Handler object from EepromData object. parameters: eepromData: EepromData data structure containing
the calibration data.

##### dai::EepromData getEepromData()

Kind: function

Get the Eeprom Data object return: EepromData object which contains the raw calibration data

##### std::vector< std::vector< float > > getCameraIntrinsics(CameraBoardSocket cameraId, int resizeWidth, int resizeHeight,
Point2f topLeftPixelId, Point2f bottomRightPixelId, bool keepAspectRatio)

Kind: function

Get the Camera Intrinsics object parameters: cameraId: Uses the cameraId to identify which camera intrinsics to return;
resizewidth: resized width of the image for which intrinsics is requested. resizewidth = -1 represents width is same as default
intrinsics; resizeHeight: resized height of the image for which intrinsics is requested. resizeHeight = -1 represents height is
same as default intrinsics; topLeftPixelId: (x, y) point represents the top left corner coordinates of the cropped image which is
used to modify the intrinsics for the respective cropped image; bottomRightPixelId: (x, y) point represents the bottom right
corner coordinates of the cropped image which is used to modify the intrinsics for the respective cropped image; keepAspectRatio:
Enabling this will scale on width or height depending on which provides the max resolution and crops the remaining part of the
other side return: Represents the 3x3 intrinsics matrix of the respective camera at the requested size and crop dimensions.

##### std::vector< std::vector< float > > getCameraIntrinsics(CameraBoardSocket cameraId, Size2f destShape, Point2f
topLeftPixelId, Point2f bottomRightPixelId, bool keepAspectRatio)

Kind: function

Get the Camera Intrinsics object parameters: cameraId: Uses the cameraId to identify which camera intrinsics to return; destShape:
resized width and height of the image for which intrinsics is requested.; topLeftPixelId: (x, y) point represents the top left
corner coordinates of the cropped image which is used to modify the intrinsics for the respective cropped image;
bottomRightPixelId: (x, y) point represents the bottom right corner coordinates of the cropped image which is used to modify the
intrinsics for the respective cropped image; keepAspectRatio: Enabling this will scale on width or height depending on which
provides the max resolution and crops the remaining part of the other side return: Represents the 3x3 intrinsics matrix of the
respective camera at the requested size and crop dimensions.

##### std::vector< std::vector< float > > getCameraIntrinsics(CameraBoardSocket cameraId, std::tuple< int, int > destShape,
Point2f topLeftPixelId, Point2f bottomRightPixelId, bool keepAspectRatio)

Kind: function

Get the Camera Intrinsics object parameters: cameraId: Uses the cameraId to identify which camera intrinsics to return; destShape:
resized width and height of the image for which intrinsics is requested.; topLeftPixelId: (x, y) point represents the top left
corner coordinates of the cropped image which is used to modify the intrinsics for the respective cropped image;
bottomRightPixelId: (x, y) point represents the bottom right corner coordinates of the cropped image which is used to modify the
intrinsics for the respective cropped image; keepAspectRatio: Enabling this will scale on width or height depending on which
provides the max resolution and crops the remaining part of the other side return: Represents the 3x3 intrinsics matrix of the
respective camera at the requested size and crop dimensions.

##### std::tuple< std::vector< std::vector< float > >, int, int > getDefaultIntrinsics(CameraBoardSocket cameraId)

Kind: function

Get the Default Intrinsics object parameters: cameraId: Uses the cameraId to identify which camera intrinsics to return return:
Represents the 3x3 intrinsics matrix of the respective camera along with width and height at which it was calibrated.

##### std::vector< float > getDistortionCoefficients(CameraBoardSocket cameraId)

Kind: function

Get the Distortion Coefficients object parameters: cameraId: Uses the cameraId to identify which distortion Coefficients to
return. return: the distortion coefficients of the requested camera in this order: [k1,k2,p1,p2,k3,k4,k5,k6,s1,s2,s3,s4,tx,ty] for
CameraModel::Perspective or [k1, k2, k3, k4] for CameraModel::Fisheye see

##### float getFov(CameraBoardSocket cameraId, bool useSpec)

Kind: function

Get the Fov of the camera parameters: cameraId: of the camera of which we are fetching fov.; useSpec: Disabling this bool will
calculate the fov based on intrinsics (focal length, image width), instead of getting it from the camera specs return: field of
view of the camera with given cameraId.

##### uint8_t getLensPosition(CameraBoardSocket cameraId)

Kind: function

Get the lens position of the given camera parameters: cameraId: of the camera with lens position is requested. return: lens
position of the camera with given cameraId at which it was calibrated.

##### CameraModel getDistortionModel(CameraBoardSocket cameraId)

Kind: function

Get the distortion model of the given camera parameters: cameraId: of the camera with lens position is requested. return: lens
position of the camera with given cameraId at which it was calibrated.

##### std::vector< std::vector< float > > getCameraExtrinsics(CameraBoardSocket srcCamera, CameraBoardSocket dstCamera, bool
useSpecTranslation)

Kind: function

Get the Camera Extrinsics object between two cameras from the calibration data if there is a linked connection between any two
cameras then the relative rotation and translation (in centimeters) is returned by this function. parameters: srcCamera: Camera Id
of the camera which will be considered as origin.; dstCamera: Camera Id of the destination camera to which we are fetching the
rotation and translation from the SrcCamera; useSpecTranslation: Enabling this bool uses the translation information from the
board design data return: a transformationMatrix which is 4x4 in homogeneous coordinate system

##### std::vector< float > getCameraTranslationVector(CameraBoardSocket srcCamera, CameraBoardSocket dstCamera, bool
useSpecTranslation)

Kind: function

Get the Camera translation vector between two cameras from the calibration data. parameters: srcCamera: Camera Id of the camera
which will be considered as origin.; dstCamera: Camera Id of the destination camera to which we are fetching the translation
vector from the SrcCamera; useSpecTranslation: Disabling this bool uses the translation information from the calibration data (not
the board design data) return: a translation vector like [x, y, z] in centimeters

##### float getBaselineDistance(CameraBoardSocket cam1, CameraBoardSocket cam2, bool useSpecTranslation)

Kind: function

Get the baseline distance between two specified cameras. By default it will get the baseline between CameraBoardSocket.CAM_C and
CameraBoardSocket.CAM_B. parameters: cam1: First camera; cam2: Second camera; useSpecTranslation: Enabling this bool uses the
translation information from the board design data (not the calibration data) return: baseline distance in centimeters

##### std::vector< std::vector< float > > getCameraToImuExtrinsics(CameraBoardSocket cameraId, bool useSpecTranslation)

Kind: function

Get the Camera To Imu Extrinsics object From the data loaded if there is a linked connection between IMU and the given camera then
there relative rotation and translation from the camera to IMU is returned. parameters: cameraId: Camera Id of the camera which
will be considered as origin. from which Transformation matrix to the IMU will be found; useSpecTranslation: Enabling this bool
uses the translation information from the board design data return: Returns a transformationMatrix which is 4x4 in homogeneous
coordinate system

##### std::vector< std::vector< float > > getImuToCameraExtrinsics(CameraBoardSocket cameraId, bool useSpecTranslation)

Kind: function

Get the Imu To Camera Extrinsics object from the data loaded if there is a linked connection between IMU and the given camera then
there relative rotation and translation from the IMU to Camera is returned. parameters: cameraId: Camera Id of the camera which
will be considered as destination. To which Transformation matrix from the IMU will be found.; useSpecTranslation: Enabling this
bool uses the translation information from the board design data return: Returns a transformationMatrix which is 4x4 in
homogeneous coordinate system

##### std::vector< std::vector< float > > getStereoRightRectificationRotation()

Kind: function

Get the Stereo Right Rectification Rotation object return: returns a 3x3 rectification rotation matrix

##### std::vector< std::vector< float > > getStereoLeftRectificationRotation()

Kind: function

Get the Stereo Left Rectification Rotation object return: returns a 3x3 rectification rotation matrix

##### dai::CameraBoardSocket getStereoLeftCameraId()

Kind: function

Get the camera id of the camera which is used as left camera of the stereo setup return: cameraID of the camera used as left
camera

##### dai::CameraBoardSocket getStereoRightCameraId()

Kind: function

Get the camera id of the camera which is used as right camera of the stereo setup return: cameraID of the camera used as right
camera

##### bool eepromToJsonFile(dai::Path destPath)

Kind: function

Write raw calibration/board data to json file. parameters: destPath: Full path to the json file in which raw calibration data will
be stored return: True on success, false otherwise

##### nlohmann::json eepromToJson()

Kind: function

Get JSON representation of calibration data return: JSON structure

##### void setBoardInfo(std::string boardName, std::string boardRev)

Kind: function

Set the Board Info object parameters: version: Sets the version of the Calibration data(Current version is 6); boardName: Sets
your board name.; boardRev: set your board revision id.

##### void setBoardInfo(std::string productName, std::string boardName, std::string boardRev, std::string boardConf, std::string
hardwareConf, std::string batchName, uint64_t batchTime, uint32_t boardOptions, std::string boardCustom)

Kind: function

Set the Board Info object. Creates version 7 EEPROM data parameters: productName: Sets product name (alias).; boardName: Sets
board name.; boardRev: Sets board revision id.; boardConf: Sets board configuration id.; hardwareConf: Sets hardware configuration
id.; batchName: Sets batch name.; batchTime: Sets batch time (unix timestamp).; boardCustom: Sets a custom board (Default empty
string).

##### void setBoardInfo(std::string deviceName, std::string productName, std::string boardName, std::string boardRev, std::string
boardConf, std::string hardwareConf, std::string batchName, uint64_t batchTime, uint32_t boardOptions, std::string boardCustom)

Kind: function

Set the Board Info object. Creates version 7 EEPROM data parameters: deviceName: Sets device name.; productName: Sets product name
(alias).; boardName: Sets board name.; boardRev: Sets board revision id.; boardConf: Sets board configuration id.; hardwareConf:
Sets hardware configuration id.; batchName: Sets batch name. Not supported anymore; batchTime: Sets batch time (unix timestamp).;
boardCustom: Sets a custom board (Default empty string).

##### void setDeviceName(std::string deviceName)

Kind: function

Set the deviceName which responses to getDeviceName of Device parameters: deviceName: Sets device name.

##### void setProductName(std::string productName)

Kind: function

Set the productName which acts as alisas for users to identify the device parameters: productName: Sets product name (alias).

##### void setCameraIntrinsics(CameraBoardSocket cameraId, std::vector< std::vector< float >> intrinsics, Size2f frameSize)

Kind: function

Set the Camera Intrinsics object parameters: cameraId: CameraId of the camera for which Camera intrinsics are being loaded;
intrinsics: 3x3 intrinsics matrix; frameSize: Represents the width and height of the image at which intrinsics are calculated.

##### void setCameraIntrinsics(CameraBoardSocket cameraId, std::vector< std::vector< float >> intrinsics, int width, int height)

Kind: function

Set the Camera Intrinsics object parameters: cameraId: CameraId of the camera for which Camera intrinsics are being loaded;
intrinsics: 3x3 intrinsics matrix; width: Represents the width of the image at which intrinsics are calculated.; height:
Represents the height of the image at which intrinsics are calculated.

##### void setCameraIntrinsics(CameraBoardSocket cameraId, std::vector< std::vector< float >> intrinsics, std::tuple< int, int >
frameSize)

Kind: function

Set the Camera Intrinsics object parameters: cameraId: CameraId of the camera for which Camera intrinsics are being loaded;
intrinsics: 3x3 intrinsics matrix; frameSize: Represents the width and height of the image at which intrinsics are calculated.

##### void setDistortionCoefficients(CameraBoardSocket cameraId, std::vector< float > distortionCoefficients)

Kind: function

Sets the distortion Coefficients obtained from camera calibration parameters: cameraId: Camera Id of the camera for which
distortion coefficients are computed; distortionCoefficients: Distortion Coefficients of the respective Camera.

##### void setFov(CameraBoardSocket cameraId, float hfov)

Kind: function

Set the Fov of the Camera parameters: cameraId: Camera Id of the camera; hfov: Horizontal fov of the camera from Camera Datasheet

##### void setLensPosition(CameraBoardSocket cameraId, uint8_t lensPosition)

Kind: function

Sets the distortion Coefficients obtained from camera calibration parameters: cameraId: Camera Id of the camera; lensPosition:
lens posiotion value of the camera at the time of calibration

##### void setCameraType(CameraBoardSocket cameraId, CameraModel cameraModel)

Kind: function

Set the Camera Type object parameters: cameraId: CameraId of the camera for which cameraModel Type is being updated.; cameraModel:
Type of the model the camera represents

##### void setCameraExtrinsics(CameraBoardSocket srcCameraId, CameraBoardSocket destCameraId, std::vector< std::vector< float >>
rotationMatrix, std::vector< float > translation, std::vector< float > specTranslation)

Kind: function

Set the Camera Extrinsics object parameters: srcCameraId: Camera Id of the camera which will be considered as relative origin.;
destCameraId: Camera Id of the camera which will be considered as destination from srcCameraId.; rotationMatrix: Rotation between
srcCameraId and destCameraId origins.; translation: Translation between srcCameraId and destCameraId origins.; specTranslation:
Translation between srcCameraId and destCameraId origins from the design.

##### void setImuExtrinsics(CameraBoardSocket destCameraId, std::vector< std::vector< float >> rotationMatrix, std::vector< float
> translation, std::vector< float > specTranslation)

Kind: function

Set the Imu to Camera Extrinsics object parameters: destCameraId: Camera Id of the camera which will be considered as destination
from IMU.; rotationMatrix: Rotation between srcCameraId and destCameraId origins.; translation: Translation between IMU and
destCameraId origins.; specTranslation: Translation between IMU and destCameraId origins from the design.

##### void setStereoLeft(CameraBoardSocket cameraId, std::vector< std::vector< float >> rectifiedRotation)

Kind: function

Set the Stereo Left Rectification object parameters: cameraId: CameraId of the camera which will be used as left Camera of stereo
Setup; rectifiedRotation: Rectification rotation of the left camera required for feature matching

##### void setStereoRight(CameraBoardSocket cameraId, std::vector< std::vector< float >> rectifiedRotation)

Kind: function

Set the Stereo Right Rectification object parameters: cameraId: CameraId of the camera which will be used as left Camera of stereo
Setup; rectifiedRotation: Rectification rotation of the left camera required for feature matching

##### bool validateCameraArray()

Kind: function

Using left camera as the head it iterates over the camera extrinsics connection to check if all the camera extrinsics are
connected and no loop exists. return: true on proper connection with no loops.

#### dai::CallbackHandler

Kind: class

##### void setCallback(std::function< std::shared_ptr< RawBuffer >(std::shared_ptr< RawBuffer >)> cb)

Kind: function

##### CallbackHandler(std::shared_ptr< XLinkConnection > conn, const std::string & streamName, std::function< std::shared_ptr<
RawBuffer >(std::shared_ptr< RawBuffer >)> cb)

Kind: function

##### ~CallbackHandler()

Kind: function

#### dai::DataOutputQueue

Kind: class

Access to receive messages coming from XLink stream

##### int CallbackId

Kind: enum

Alias for callback id.

##### DataOutputQueue(const std::shared_ptr< XLinkConnection > conn, const std::string & streamName, unsigned int maxSize, bool
blocking)

Kind: function

##### ~DataOutputQueue()

Kind: function

##### bool isClosed()

Kind: function

Check whether queue is closed warning: This function is thread-unsafe and may return outdated incorrect values. It is only meant
for use in simple single-threaded code. Well written code should handle exceptions when calling any DepthAI apis to handle
hardware events and multithreaded use.

##### void close()

Kind: function

Closes the queue and the underlying thread

##### void setBlocking(bool blocking)

Kind: function

Sets queue behavior when full (maxSize) parameters: blocking: Specifies if block or overwrite the oldest message in the queue

##### bool getBlocking()

Kind: function

Gets current queue behavior when full (maxSize) return: True if blocking, false otherwise

##### void setMaxSize(unsigned int maxSize)

Kind: function

Sets queue maximum size parameters: maxSize: Specifies maximum number of messages in the queue

##### unsigned int getMaxSize()

Kind: function

Gets queue maximum size return: Maximum queue size

##### std::string getName()

Kind: function

Gets queues name return: Queue name

##### CallbackId addCallback(std::function< void(std::string, std::shared_ptr< ADatatype >)>)

Kind: function

Adds a callback on message received parameters: callback: Callback function with queue name and message pointer return: Callback
id

##### CallbackId addCallback(std::function< void(std::shared_ptr< ADatatype >)>)

Kind: function

Adds a callback on message received parameters: callback: Callback function with message pointer return: Callback id

##### CallbackId addCallback(std::function< void()> callback)

Kind: function

Adds a callback on message received parameters: callback: Callback function without any parameters return: Callback id

##### bool removeCallback(CallbackId callbackId)

Kind: function

Removes a callback parameters: callbackId: Id of callback to be removed return: True if callback was removed, false otherwise

##### bool has()

Kind: function

Check whether front of the queue has message of type T return: True if queue isn't empty and the first element is of type T, false
otherwise

##### bool has()

Kind: function

Check whether front of the queue has a message (isn't empty) return: True if queue isn't empty, false otherwise

##### std::shared_ptr< T > tryGet()

Kind: function

Try to retrieve message T from queue. If message isn't of type T it returns nullptr return: Message of type T or nullptr if no
message available

##### std::shared_ptr< ADatatype > tryGet()

Kind: function

Try to retrieve message from queue. If no message available, return immediately with nullptr return: Message or nullptr if no
message available

##### std::shared_ptr< T > get()

Kind: function

Block until a message is available. return: Message of type T or nullptr if no message available

##### std::shared_ptr< ADatatype > get()

Kind: function

Block until a message is available. return: Message or nullptr if no message available

##### std::shared_ptr< T > front()

Kind: function

Gets first message in the queue. return: Message of type T or nullptr if no message available

##### std::shared_ptr< ADatatype > front()

Kind: function

Gets first message in the queue. return: Message or nullptr if no message available

##### std::shared_ptr< T > get(std::chrono::duration< Rep, Period > timeout, bool & hasTimedout)

Kind: function

Block until a message is available with a timeout. parameters: timeout: Duration for which the function should block; hasTimedout:
Outputs true if timeout occurred, false otherwise return: Message of type T otherwise nullptr if message isn't type T or timeout
occurred

##### std::shared_ptr< ADatatype > get(std::chrono::duration< Rep, Period > timeout, bool & hasTimedout)

Kind: function

Block until a message is available with a timeout. parameters: timeout: Duration for which the function should block; hasTimedout:
Outputs true if timeout occurred, false otherwise return: Message of type T otherwise nullptr if message isn't type T or timeout
occurred

##### std::vector< std::shared_ptr< T > > tryGetAll()

Kind: function

Try to retrieve all messages in the queue. return: Vector of messages which can either be of type T or nullptr

##### std::vector< std::shared_ptr< ADatatype > > tryGetAll()

Kind: function

Try to retrieve all messages in the queue. return: Vector of messages

##### std::vector< std::shared_ptr< T > > getAll()

Kind: function

Block until at least one message in the queue. Then return all messages from the queue. return: Vector of messages which can
either be of type T or nullptr

##### std::vector< std::shared_ptr< ADatatype > > getAll()

Kind: function

Block until at least one message in the queue. Then return all messages from the queue. return: Vector of messages

##### std::vector< std::shared_ptr< T > > getAll(std::chrono::duration< Rep, Period > timeout, bool & hasTimedout)

Kind: function

Block for maximum timeout duration. Then return all messages from the queue. parameters: timeout: Maximum duration to block;
hasTimedout: Outputs true if timeout occurred, false otherwise return: Vector of messages which can either be of type T or nullptr

##### std::vector< std::shared_ptr< ADatatype > > getAll(std::chrono::duration< Rep, Period > timeout, bool & hasTimedout)

Kind: function

Block for maximum timeout duration. Then return all messages from the queue. parameters: timeout: Maximum duration to block;
hasTimedout: Outputs true if timeout occurred, false otherwise return: Vector of messages

#### dai::DataInputQueue

Kind: class

Access to send messages through XLink stream

##### DataInputQueue(const std::shared_ptr< XLinkConnection > conn, const std::string & streamName, unsigned int maxSize, bool
blocking, std::size_t maxDataSize)

Kind: function

##### ~DataInputQueue()

Kind: function

##### bool isClosed()

Kind: function

Check whether queue is closed warning: This function is thread-unsafe and may return outdated incorrect values. It is only meant
for use in simple single-threaded code. Well written code should handle exceptions when calling any DepthAI apis to handle
hardware events and multithreaded use.

##### void close()

Kind: function

Closes the queue and the underlying thread

##### void setMaxDataSize(std::size_t maxSize)

Kind: function

Sets maximum message size. If message is larger than specified, then an exception is issued. parameters: maxSize: Maximum message
size to add to queue

##### std::size_t getMaxDataSize()

Kind: function

Gets maximum queue size. return: Maximum message size

##### void setBlocking(bool blocking)

Kind: function

Sets queue behavior when full (maxSize) parameters: blocking: Specifies if block or overwrite the oldest message in the queue

##### bool getBlocking()

Kind: function

Gets current queue behavior when full (maxSize) return: True if blocking, false otherwise

##### void setMaxSize(unsigned int maxSize)

Kind: function

Sets queue maximum size parameters: maxSize: Specifies maximum number of messages in the queue

##### unsigned int getMaxSize()

Kind: function

Gets queue maximum size return: Maximum queue size

##### std::string getName()

Kind: function

Gets queues name return: Queue name

##### void send(const std::shared_ptr< RawBuffer > & rawMsg)

Kind: function

Adds a raw message to the queue, which will be picked up and sent to the device. Can either block if 'blocking' behavior is true
or overwrite oldest parameters: rawMsg: Message to add to the queue

##### void send(const std::shared_ptr< ADatatype > & msg)

Kind: function

Adds a message to the queue, which will be picked up and sent to the device. Can either block if 'blocking' behavior is true or
overwrite oldest parameters: msg: Message to add to the queue

##### void send(const ADatatype & msg)

Kind: function

Adds a message to the queue, which will be picked up and sent to the device. Can either block if 'blocking' behavior is true or
overwrite oldest parameters: msg: Message to add to the queue

##### bool send(const std::shared_ptr< RawBuffer > & rawMsg, std::chrono::milliseconds timeout)

Kind: function

Adds message to the queue, which will be picked up and sent to the device. Can either block until timeout if 'blocking' behavior
is true or overwrite oldest parameters: rawMsg: Message to add to the queue; timeout: Maximum duration to block in milliseconds

##### bool send(const std::shared_ptr< ADatatype > & msg, std::chrono::milliseconds timeout)

Kind: function

Adds message to the queue, which will be picked up and sent to the device. Can either block until timeout if 'blocking' behavior
is true or overwrite oldest parameters: msg: Message to add to the queue; timeout: Maximum duration to block in milliseconds

##### bool send(const ADatatype & msg, std::chrono::milliseconds timeout)

Kind: function

Adds message to the queue, which will be picked up and sent to the device. Can either block until timeout if 'blocking' behavior
is true or overwrite oldest parameters: msg: Message to add to the queue; timeout: Maximum duration to block in milliseconds

#### dai::Device

Kind: class

Represents the DepthAI device with the methods to interact with it. Implements the host-side queues to connect with XLinkIn and
XLinkOut nodes

##### Device(const Pipeline & pipeline)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: pipeline: Pipeline to be executed on the device

##### Device(const Pipeline & pipeline, T usb2Mode)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: pipeline: Pipeline to be executed on the device;
usb2Mode: (bool) Boot device using USB2 mode firmware

##### Device(const Pipeline & pipeline, UsbSpeed maxUsbSpeed)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: pipeline: Pipeline to be executed on the device;
maxUsbSpeed: Maximum allowed USB speed

##### Device(const Pipeline & pipeline, const dai::Path & pathToCmd)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: pipeline: Pipeline to be executed on the device;
pathToCmd: Path to custom device firmware

##### Device(const Pipeline & pipeline, const DeviceInfo & devInfo)

Kind: function

Connects to device specified by devInfo. parameters: pipeline: Pipeline to be executed on the device; devInfo: DeviceInfo which
specifies which device to connect to

##### Device(const Pipeline & pipeline, const DeviceInfo & devInfo, T usb2Mode)

Kind: function

Connects to device specified by devInfo. parameters: pipeline: Pipeline to be executed on the device; devInfo: DeviceInfo which
specifies which device to connect to; usb2Mode: (bool) Boot device using USB2 mode firmware

##### Device(const Pipeline & pipeline, const DeviceInfo & devInfo, UsbSpeed maxUsbSpeed)

Kind: function

Connects to device specified by devInfo. parameters: pipeline: Pipeline to be executed on the device; devInfo: DeviceInfo which
specifies which device to connect to; maxUsbSpeed: Maximum allowed USB speed

##### Device(const Pipeline & pipeline, const DeviceInfo & devInfo, const dai::Path & pathToCmd)

Kind: function

Connects to device specified by devInfo. parameters: pipeline: Pipeline to be executed on the device; devInfo: DeviceInfo which
specifies which device to connect to; pathToCmd: Path to custom device firmware

##### Device()

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. Uses OpenVINO version OpenVINO::VERSION_UNIVERSAL

##### ~Device()

Kind: function

dtor to close the device

##### std::shared_ptr< DataOutputQueue > getOutputQueue(const std::string & name)

Kind: function

Gets an output queue corresponding to stream name. If it doesn't exist it throws parameters: name: Queue/stream name, created by
XLinkOut node return: Smart pointer to DataOutputQueue

##### std::shared_ptr< DataOutputQueue > getOutputQueue(const std::string & name, unsigned int maxSize, bool blocking)

Kind: function

Gets a queue corresponding to stream name, if it exists, otherwise it throws. Also sets queue options parameters: name:
Queue/stream name, set in XLinkOut node; maxSize: Maximum number of messages in queue; blocking: Queue behavior once full. True
specifies blocking and false overwriting of oldest messages. Default: true return: Smart pointer to DataOutputQueue

##### std::vector< std::string > getOutputQueueNames()

Kind: function

Get all available output queue names return: Vector of output queue names

##### std::shared_ptr< DataInputQueue > getInputQueue(const std::string & name)

Kind: function

Gets an input queue corresponding to stream name. If it doesn't exist it throws parameters: name: Queue/stream name, set in
XLinkIn node return: Smart pointer to DataInputQueue

##### std::shared_ptr< DataInputQueue > getInputQueue(const std::string & name, unsigned int maxSize, bool blocking)

Kind: function

Gets an input queue corresponding to stream name. If it doesn't exist it throws. Also sets queue options parameters: name:
Queue/stream name, set in XLinkIn node; maxSize: Maximum number of messages in queue; blocking: Queue behavior once full. True:
blocking, false: overwriting of oldest messages. Default: true return: Smart pointer to DataInputQueue

##### std::vector< std::string > getInputQueueNames()

Kind: function

Get all available input queue names return: Vector of input queue names

##### std::vector< std::string > getQueueEvents(const std::vector< std::string > & queueNames, std::size_t maxNumEvents,
std::chrono::microseconds timeout)

Kind: function

Gets or waits until any of specified queues has received a message parameters: queueNames: Names of queues for which to block;
maxNumEvents: Maximum number of events to remove from queue - Default is unlimited; timeout: Timeout after which return
regardless. If negative then wait is indefinite - Default is -1 return: Names of queues which received messages first

##### std::vector< std::string > getQueueEvents(const std::initializer_list< std::string > & queueNames, std::size_t maxNumEvents,
std::chrono::microseconds timeout)

Kind: function

##### std::vector< std::string > getQueueEvents(std::string queueName, std::size_t maxNumEvents, std::chrono::microseconds
timeout)

Kind: function

Gets or waits until specified queue has received a message parameters: queueName: Name of queues for which to wait for;
maxNumEvents: Maximum number of events to remove from queue. Default is unlimited; timeout: Timeout after which return regardless.
If negative then wait is indefinite. Default is -1 return: Names of queues which received messages first

##### std::vector< std::string > getQueueEvents(std::size_t maxNumEvents, std::chrono::microseconds timeout)

Kind: function

Gets or waits until any queue has received a message parameters: maxNumEvents: Maximum number of events to remove from queue.
Default is unlimited; timeout: Timeout after which return regardless. If negative then wait is indefinite. Default is -1 return:
Names of queues which received messages first

##### std::string getQueueEvent(const std::vector< std::string > & queueNames, std::chrono::microseconds timeout)

Kind: function

Gets or waits until any of specified queues has received a message parameters: queueNames: Names of queues for which to wait for;
timeout: Timeout after which return regardless. If negative then wait is indefinite. Default is -1 return: Queue name which
received a message first

##### std::string getQueueEvent(const std::initializer_list< std::string > & queueNames, std::chrono::microseconds timeout)

Kind: function

##### std::string getQueueEvent(std::string queueName, std::chrono::microseconds timeout)

Kind: function

Gets or waits until specified queue has received a message parameters: queueNames: Name of queues for which to wait for; timeout:
Timeout after which return regardless. If negative then wait is indefinite. Default is -1 return: Queue name which received a
message

##### std::string getQueueEvent(std::chrono::microseconds timeout)

Kind: function

Gets or waits until any queue has received a message parameters: timeout: Timeout after which return regardless. If negative then
wait is indefinite. Default is -1 return: Queue name which received a message

##### DeviceBase(const Pipeline & pipeline)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: pipeline: Pipeline to be executed on the device

##### DeviceBase(const Pipeline & pipeline, T usb2Mode)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: pipeline: Pipeline to be executed on the device;
usb2Mode: Boot device using USB2 mode firmware

##### DeviceBase(const Pipeline & pipeline, UsbSpeed maxUsbSpeed)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: pipeline: Pipeline to be executed on the device;
maxUsbSpeed: Maximum allowed USB speed

##### DeviceBase(const Pipeline & pipeline, const dai::Path & pathToCmd)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: pipeline: Pipeline to be executed on the device;
pathToCmd: Path to custom device firmware

##### DeviceBase(const Pipeline & pipeline, const DeviceInfo & devInfo)

Kind: function

Connects to device specified by devInfo. parameters: pipeline: Pipeline to be executed on the device; devInfo: DeviceInfo which
specifies which device to connect to

##### DeviceBase(const Pipeline & pipeline, const DeviceInfo & devInfo, T usb2Mode)

Kind: function

Connects to device specified by devInfo. parameters: pipeline: Pipeline to be executed on the device; devInfo: DeviceInfo which
specifies which device to connect to; usb2Mode: Boot device using USB2 mode firmware

##### DeviceBase(const Pipeline & pipeline, const DeviceInfo & devInfo, UsbSpeed maxUsbSpeed)

Kind: function

Connects to device specified by devInfo. parameters: pipeline: Pipeline to be executed on the device; devInfo: DeviceInfo which
specifies which device to connect to; maxUsbSpeed: Maximum allowed USB speed

##### DeviceBase(const Pipeline & pipeline, const DeviceInfo & devInfo, const dai::Path & pathToCmd)

Kind: function

Connects to device specified by devInfo. parameters: pipeline: Pipeline to be executed on the device; devInfo: DeviceInfo which
specifies which device to connect to; pathToCmd: Path to custom device firmware

##### DeviceBase()

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. Uses OpenVINO version OpenVINO::VERSION_UNIVERSAL

##### DeviceBase(OpenVINO::Version version)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: version: OpenVINO version which the device will
be booted with.

##### DeviceBase(OpenVINO::Version version, T usb2Mode)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: version: OpenVINO version which the device will
be booted with; usb2Mode: Boot device using USB2 mode firmware

##### DeviceBase(OpenVINO::Version version, UsbSpeed maxUsbSpeed)

Kind: function

Connects to device specified by devInfo. parameters: version: OpenVINO version which the device will be booted with; maxUsbSpeed:
Maximum allowed USB speed

##### DeviceBase(OpenVINO::Version version, const dai::Path & pathToCmd)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: version: OpenVINO version which the device will
be booted with; pathToCmd: Path to custom device firmware

##### DeviceBase(OpenVINO::Version version, const DeviceInfo & devInfo)

Kind: function

Connects to device specified by devInfo. parameters: version: OpenVINO version which the device will be booted with; devInfo:
DeviceInfo which specifies which device to connect to

##### DeviceBase(OpenVINO::Version version, const DeviceInfo & devInfo, T usb2Mode)

Kind: function

Connects to device specified by devInfo. parameters: version: OpenVINO version which the device will be booted with; devInfo:
DeviceInfo which specifies which device to connect to; usb2Mode: Boot device using USB2 mode firmware

##### DeviceBase(OpenVINO::Version version, const DeviceInfo & devInfo, UsbSpeed maxUsbSpeed)

Kind: function

Connects to device specified by devInfo. parameters: version: OpenVINO version which the device will be booted with; devInfo:
DeviceInfo which specifies which device to connect to; maxUsbSpeed: Maximum allowed USB speed

##### DeviceBase(OpenVINO::Version version, const DeviceInfo & devInfo, const dai::Path & pathToCmd)

Kind: function

Connects to device specified by devInfo. parameters: version: OpenVINO version which the device will be booted with; devInfo:
DeviceInfo which specifies which device to connect to; pathToCmd: Path to custom device firmware

##### DeviceBase(Config config)

Kind: function

Connects to any available device with custom config. parameters: config: Device custom configuration to boot with

##### DeviceBase(Config config, const DeviceInfo & devInfo)

Kind: function

Connects to device 'devInfo' with custom config. parameters: config: Device custom configuration to boot with; devInfo: DeviceInfo
which specifies which device to connect to

##### DeviceBase(const DeviceInfo & devInfo)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. Uses OpenVINO version OpenVINO::VERSION_UNIVERSAL parameters:
devInfo: DeviceInfo which specifies which device to connect to

##### DeviceBase(const DeviceInfo & devInfo, UsbSpeed maxUsbSpeed)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. Uses OpenVINO version OpenVINO::VERSION_UNIVERSAL parameters:
devInfo: DeviceInfo which specifies which device to connect to; maxUsbSpeed: Maximum allowed USB speed

##### DeviceBase(std::string nameOrDeviceId)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. Uses OpenVINO version OpenVINO::VERSION_UNIVERSAL parameters:
nameOrDeviceId: Creates DeviceInfo with nameOrDeviceId to connect to

##### DeviceBase(std::string nameOrDeviceId, UsbSpeed maxUsbSpeed)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. Uses OpenVINO version OpenVINO::VERSION_UNIVERSAL parameters:
nameOrDeviceId: Creates DeviceInfo with nameOrDeviceId to connect to; maxUsbSpeed: Maximum allowed USB speed

##### DeviceBase(Config config, T usb2Mode)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: config: Config with which the device will be
booted with; usb2Mode: Boot device using USB2 mode firmware

##### DeviceBase(Config config, UsbSpeed maxUsbSpeed)

Kind: function

Connects to device specified by devInfo. parameters: config: Config with which the device will be booted with; maxUsbSpeed:
Maximum allowed USB speed

##### DeviceBase(Config config, const dai::Path & pathToCmd)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: config: Config with which the device will be
booted with; pathToCmd: Path to custom device firmware

##### DeviceBase(Config config, const DeviceInfo & devInfo, T usb2Mode)

Kind: function

Connects to device specified by devInfo. parameters: config: Config with which the device will be booted with; devInfo: DeviceInfo
which specifies which device to connect to; usb2Mode: Boot device using USB2 mode firmware

##### DeviceBase(Config config, const DeviceInfo & devInfo, UsbSpeed maxUsbSpeed)

Kind: function

Connects to device specified by devInfo. parameters: config: Config with which the device will be booted with; devInfo: DeviceInfo
which specifies which device to connect to; maxUsbSpeed: Maximum allowed USB speed

##### DeviceBase(Config config, const DeviceInfo & devInfo, const dai::Path & pathToCmd, bool dumpOnly)

Kind: function

Connects to device specified by devInfo. parameters: config: Config with which the device will be booted with; devInfo: DeviceInfo
which specifies which device to connect to; pathToCmd: Path to custom device firmware; dumpOnly: If true only the minimal
connection is established to retrieve the crash dump

#### dai::DeviceBase

Kind: class

The core of depthai device for RAII, connects to device and maintains watchdog, timesync, ...

##### dai::DeviceBase::Config

Kind: struct

Device specific configuration

###### OpenVINO::Version version

Kind: variable

###### BoardConfig board

Kind: variable

###### bool nonExclusiveMode

Kind: variable

###### tl::optional< LogLevel > outputLogLevel

Kind: variable

###### tl::optional< LogLevel > logLevel

Kind: variable

##### DeviceBase(const Pipeline & pipeline)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: pipeline: Pipeline to be executed on the device

##### DeviceBase(const Pipeline & pipeline, T usb2Mode)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: pipeline: Pipeline to be executed on the device;
usb2Mode: Boot device using USB2 mode firmware

##### DeviceBase(const Pipeline & pipeline, UsbSpeed maxUsbSpeed)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: pipeline: Pipeline to be executed on the device;
maxUsbSpeed: Maximum allowed USB speed

##### DeviceBase(const Pipeline & pipeline, const dai::Path & pathToCmd)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: pipeline: Pipeline to be executed on the device;
pathToCmd: Path to custom device firmware

##### DeviceBase(const Pipeline & pipeline, const DeviceInfo & devInfo)

Kind: function

Connects to device specified by devInfo. parameters: pipeline: Pipeline to be executed on the device; devInfo: DeviceInfo which
specifies which device to connect to

##### DeviceBase(const Pipeline & pipeline, const DeviceInfo & devInfo, T usb2Mode)

Kind: function

Connects to device specified by devInfo. parameters: pipeline: Pipeline to be executed on the device; devInfo: DeviceInfo which
specifies which device to connect to; usb2Mode: Boot device using USB2 mode firmware

##### DeviceBase(const Pipeline & pipeline, const DeviceInfo & devInfo, UsbSpeed maxUsbSpeed)

Kind: function

Connects to device specified by devInfo. parameters: pipeline: Pipeline to be executed on the device; devInfo: DeviceInfo which
specifies which device to connect to; maxUsbSpeed: Maximum allowed USB speed

##### DeviceBase(const Pipeline & pipeline, const DeviceInfo & devInfo, const dai::Path & pathToCmd)

Kind: function

Connects to device specified by devInfo. parameters: pipeline: Pipeline to be executed on the device; devInfo: DeviceInfo which
specifies which device to connect to; pathToCmd: Path to custom device firmware

##### DeviceBase()

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. Uses OpenVINO version OpenVINO::VERSION_UNIVERSAL

##### DeviceBase(OpenVINO::Version version)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: version: OpenVINO version which the device will
be booted with.

##### DeviceBase(OpenVINO::Version version, T usb2Mode)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: version: OpenVINO version which the device will
be booted with; usb2Mode: Boot device using USB2 mode firmware

##### DeviceBase(OpenVINO::Version version, UsbSpeed maxUsbSpeed)

Kind: function

Connects to device specified by devInfo. parameters: version: OpenVINO version which the device will be booted with; maxUsbSpeed:
Maximum allowed USB speed

##### DeviceBase(OpenVINO::Version version, const dai::Path & pathToCmd)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: version: OpenVINO version which the device will
be booted with; pathToCmd: Path to custom device firmware

##### DeviceBase(OpenVINO::Version version, const DeviceInfo & devInfo)

Kind: function

Connects to device specified by devInfo. parameters: version: OpenVINO version which the device will be booted with; devInfo:
DeviceInfo which specifies which device to connect to

##### DeviceBase(OpenVINO::Version version, const DeviceInfo & devInfo, T usb2Mode)

Kind: function

Connects to device specified by devInfo. parameters: version: OpenVINO version which the device will be booted with; devInfo:
DeviceInfo which specifies which device to connect to; usb2Mode: Boot device using USB2 mode firmware

##### DeviceBase(OpenVINO::Version version, const DeviceInfo & devInfo, UsbSpeed maxUsbSpeed)

Kind: function

Connects to device specified by devInfo. parameters: version: OpenVINO version which the device will be booted with; devInfo:
DeviceInfo which specifies which device to connect to; maxUsbSpeed: Maximum allowed USB speed

##### DeviceBase(OpenVINO::Version version, const DeviceInfo & devInfo, const dai::Path & pathToCmd)

Kind: function

Connects to device specified by devInfo. parameters: version: OpenVINO version which the device will be booted with; devInfo:
DeviceInfo which specifies which device to connect to; pathToCmd: Path to custom device firmware

##### DeviceBase(Config config)

Kind: function

Connects to any available device with custom config. parameters: config: Device custom configuration to boot with

##### DeviceBase(Config config, const DeviceInfo & devInfo)

Kind: function

Connects to device 'devInfo' with custom config. parameters: config: Device custom configuration to boot with; devInfo: DeviceInfo
which specifies which device to connect to

##### DeviceBase(const DeviceInfo & devInfo)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. Uses OpenVINO version OpenVINO::VERSION_UNIVERSAL parameters:
devInfo: DeviceInfo which specifies which device to connect to

##### DeviceBase(const DeviceInfo & devInfo, UsbSpeed maxUsbSpeed)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. Uses OpenVINO version OpenVINO::VERSION_UNIVERSAL parameters:
devInfo: DeviceInfo which specifies which device to connect to; maxUsbSpeed: Maximum allowed USB speed

##### DeviceBase(std::string nameOrDeviceId)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. Uses OpenVINO version OpenVINO::VERSION_UNIVERSAL parameters:
nameOrDeviceId: Creates DeviceInfo with nameOrDeviceId to connect to

##### DeviceBase(std::string nameOrDeviceId, UsbSpeed maxUsbSpeed)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. Uses OpenVINO version OpenVINO::VERSION_UNIVERSAL parameters:
nameOrDeviceId: Creates DeviceInfo with nameOrDeviceId to connect to; maxUsbSpeed: Maximum allowed USB speed

##### DeviceBase(Config config, T usb2Mode)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: config: Config with which the device will be
booted with; usb2Mode: Boot device using USB2 mode firmware

##### DeviceBase(Config config, UsbSpeed maxUsbSpeed)

Kind: function

Connects to device specified by devInfo. parameters: config: Config with which the device will be booted with; maxUsbSpeed:
Maximum allowed USB speed

##### DeviceBase(Config config, const dai::Path & pathToCmd)

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. parameters: config: Config with which the device will be
booted with; pathToCmd: Path to custom device firmware

##### DeviceBase(Config config, const DeviceInfo & devInfo, T usb2Mode)

Kind: function

Connects to device specified by devInfo. parameters: config: Config with which the device will be booted with; devInfo: DeviceInfo
which specifies which device to connect to; usb2Mode: Boot device using USB2 mode firmware

##### DeviceBase(Config config, const DeviceInfo & devInfo, UsbSpeed maxUsbSpeed)

Kind: function

Connects to device specified by devInfo. parameters: config: Config with which the device will be booted with; devInfo: DeviceInfo
which specifies which device to connect to; maxUsbSpeed: Maximum allowed USB speed

##### DeviceBase(Config config, const DeviceInfo & devInfo, const dai::Path & pathToCmd, bool dumpOnly)

Kind: function

Connects to device specified by devInfo. parameters: config: Config with which the device will be booted with; devInfo: DeviceInfo
which specifies which device to connect to; pathToCmd: Path to custom device firmware; dumpOnly: If true only the minimal
connection is established to retrieve the crash dump

##### ~DeviceBase()

Kind: function

Device destructor note: In the destructor of the derived class, remember to call close()

##### tl::optional< Version > getBootloaderVersion()

Kind: function

Gets Bootloader version if it was booted through Bootloader return: DeviceBootloader::Version if booted through Bootloader or none
otherwise

##### bool isPipelineRunning()

Kind: function

Checks if devices pipeline is already running return: True if running, false otherwise

##### bool startPipeline()

Kind: function

Starts the execution of the devices pipeline return: True if pipeline started, false otherwise

##### bool startPipeline(const Pipeline & pipeline)

Kind: function

Starts the execution of a given pipeline parameters: pipeline: OpenVINO version of the pipeline must match the one which the
device was booted with. return: True if pipeline started, false otherwise

##### void setLogLevel(LogLevel level)

Kind: function

Sets the devices logging severity level. This level affects which logs are transferred from device to host. parameters: level:
Logging severity

##### LogLevel getLogLevel()

Kind: function

Gets current logging severity level of the device. return: Logging severity level

##### void setXLinkChunkSize(int sizeBytes)

Kind: function

Sets the chunk size for splitting device-sent XLink packets. A larger value could increase performance, and 0 disables chunking. A
negative value is ignored. Device defaults are configured per protocol, currently 64*1024 for both USB and Ethernet. parameters:
sizeBytes: XLink chunk size in bytes

##### int getXLinkChunkSize()

Kind: function

Gets current XLink chunk size. return: XLink chunk size in bytes

##### void setXLinkRateLimit(int maxRateBytesPerSecond, int burstSize, int waitUs)

Kind: function

Sets the maximum transmission rate for the XLink connection on device side, using a simple token bucket algorithm. Useful for
bandwidth throttling parameters: maxRateBytesPerSecond: Rate limit in Bytes/second; burstSize: Size in Bytes for how much to
attempt to send once, 0 = auto; waitUs: Time in microseconds to wait for replenishing tokens, 0 = auto

##### DeviceInfo getDeviceInfo()

Kind: function

Get the Device Info object o the device which is currently running return: DeviceInfo of the current device in execution

##### std::string getDeviceName()

Kind: function

Get device name if available return: device name or empty string if not available

##### std::string getProductName()

Kind: function

Get product name if available return: product name or empty string if not available

##### std::string getMxId()

Kind: function

Get MxId of device return: MxId of connected device

##### void setLogOutputLevel(LogLevel level)

Kind: function

Sets logging level which decides printing level to standard output. If lower than setLogLevel, no messages will be printed
parameters: level: Standard output printing severity

##### LogLevel getLogOutputLevel()

Kind: function

Gets logging level which decides printing level to standard output. return: Standard output printing severity

##### bool setIrLaserDotProjectorBrightness(float mA, int mask)

Kind: function

Sets the brightness of the IR Laser Dot Projector. Limits: up to 765mA at 30% duty cycle, up to 1200mA at 6% duty cycle. The duty
cycle is controlled by parameters: mA: Current in mA that will determine brightness, 0 or negative to turn off; mask: Optional
mask to modify only Left (0x1) or Right (0x2) sides on OAK-D-Pro-W-DEV return: True on success, false if not found or other
failure

##### bool setIrFloodLightBrightness(float mA, int mask)

Kind: function

Sets the brightness of the IR Flood Light. Limits: up to 1500mA at 30% duty cycle. The duty cycle is controlled by the parameters:
mA: Current in mA that will determine brightness, 0 or negative to turn off; mask: Optional mask to modify only Left (0x1) or
Right (0x2) sides on OAK-D-Pro-W-DEV return: True on success, false if not found or other failure

##### bool setIrLaserDotProjectorIntensity(float intensity, int mask)

Kind: function

Sets the intensity of the IR Laser Dot Projector. Limits: up to 765mA at 30% frame time duty cycle when exposure time is longer
than 30% frame time. Otherwise, duty cycle is 100% of exposure time, with current increased up to max 1200mA to make up for
shorter duty cycle. The duty cycle is controlled by parameters: intensity: Intensity on range 0 to 1, that will determine
brightness. 0 or negative to turn off; mask: Optional mask to modify only Left (0x1) or Right (0x2) sides on OAK-D-Pro-W-DEV
return: True on success, false if not found or other failure

##### bool setIrFloodLightIntensity(float intensity, int mask)

Kind: function

Sets the intensity of the IR Flood Light. Limits: Intensity is directly normalized to 0 - 1500mA current. The duty cycle is 30%
when exposure time is longer than 30% frame time. Otherwise, duty cycle is 100% of exposure time. The duty cycle is controlled by
the parameters: intensity: Intensity on range 0 to 1, that will determine brightness, 0 or negative to turn off; mask: Optional
mask to modify only Left (0x1) or Right (0x2) sides on OAK-D-Pro-W-DEV return: True on success, false if not found or other
failure

##### std::vector< std::tuple< std::string, int, int > > getIrDrivers()

Kind: function

Retrieves detected IR laser/LED drivers. return: Vector of tuples containing: driver name, I2C bus, I2C address. For OAK-D-Pro it
should be

##### dai::CrashDump getState()

Kind: function

Retrieves current device state in a crash dump format. It halts the device temporarily and might affect the running pipeline, it's
best to close the device after this operation

##### dai::CrashDump getCrashDump(bool clearCrashDump)

Kind: function

Retrieves crash dump for debugging.

##### bool hasCrashDump()

Kind: function

Retrieves whether the is crash dump stored on device or not.

##### ProfilingData getProfilingData()

Kind: function

Get current accumulated profiling data return: ProfilingData from the specific device

##### int addLogCallback(std::function< void( LogMessage )> callback)

Kind: function

Add a callback for device logging. The callback will be called from a separate thread with the LogMessage being passed.
parameters: callback: Callback to call whenever a log message arrives return: Id which can be used to later remove the callback

##### bool removeLogCallback(int callbackId)

Kind: function

Removes a callback parameters: callbackId: Id of callback to be removed return: True if callback was removed, false otherwise

##### void setSystemInformationLoggingRate(float rateHz)

Kind: function

Sets rate of system information logging ("info" severity). Default 1Hz If parameter is less or equal to zero, then system
information logging will be disabled parameters: rateHz: Logging rate in Hz

##### float getSystemInformationLoggingRate()

Kind: function

Gets current rate of system information logging ("info" severity) in Hz. return: Logging rate in Hz

##### std::vector< CameraBoardSocket > getConnectedCameras()

Kind: function

Get cameras that are connected to the device return: Vector of connected cameras

##### std::vector< ConnectionInterface > getConnectionInterfaces()

Kind: function

Get connection interfaces for device return: Vector of connection type

##### std::vector< CameraFeatures > getConnectedCameraFeatures()

Kind: function

Get cameras that are connected to the device with their features/properties return: Vector of connected camera features

##### std::vector< StereoPair > getStereoPairs()

Kind: function

Get stereo pairs based on the device type. return: Vector of stereo pairs

##### std::vector< StereoPair > getAvailableStereoPairs()

Kind: function

Get stereo pairs taking into account the calibration and connected cameras. note: This method will always return a subset of
return: Vector of stereo pairs

##### std::unordered_map< CameraBoardSocket, std::string > getCameraSensorNames()

Kind: function

Get sensor names for cameras that are connected to the device return: Map/dictionary with camera sensor names, indexed by socket

##### std::string getConnectedIMU()

Kind: function

Get connected IMU type return: IMU type

##### dai::Version getIMUFirmwareVersion()

Kind: function

Get connected IMU firmware version return: IMU firmware version

##### dai::Version getEmbeddedIMUFirmwareVersion()

Kind: function

Get embedded IMU firmware version to which IMU can be upgraded return: Get embedded IMU firmware version to which IMU can be
upgraded.

##### bool startIMUFirmwareUpdate(bool forceUpdate)

Kind: function

Starts IMU firmware update asynchronously only if IMU node is not running. If current firmware version is the same as embedded
firmware version then it's no-op. Can be overridden by forceUpdate parameter. State of firmware update can be monitored using
getIMUFirmwareUpdateStatus API. parameters: forceUpdate: Force firmware update or not. Will perform FW update regardless of
current version and embedded firmware version. return: Returns whether firmware update can be started. Returns false if IMU node
is started.

##### std::tuple< bool, unsigned int > getIMUFirmwareUpdateStatus()

Kind: function

Get IMU firmware update status return: Whether IMU firmware update is done and last firmware update progress as percentage. return
value true and 100 means that the update was successful return value true and other than 100 means that the update failed

##### MemoryInfo getDdrMemoryUsage()

Kind: function

Retrieves current DDR memory information from device return: Used, remaining and total ddr memory

##### MemoryInfo getCmxMemoryUsage()

Kind: function

Retrieves current CMX memory information from device return: Used, remaining and total cmx memory

##### MemoryInfo getLeonCssHeapUsage()

Kind: function

Retrieves current CSS Leon CPU heap information from device return: Used, remaining and total heap memory

##### MemoryInfo getLeonMssHeapUsage()

Kind: function

Retrieves current MSS Leon CPU heap information from device return: Used, remaining and total heap memory

##### ChipTemperature getChipTemperature()

Kind: function

Retrieves current chip temperature as measured by device return: Temperature of various onboard sensors

##### CpuUsage getLeonCssCpuUsage()

Kind: function

Retrieves average CSS Leon CPU usage return: Average CPU usage and sampling duration

##### CpuUsage getLeonMssCpuUsage()

Kind: function

Retrieves average MSS Leon CPU usage return: Average CPU usage and sampling duration

##### bool isEepromAvailable()

Kind: function

Check if EEPROM is available return: True if EEPROM is present on board, false otherwise

##### bool flashCalibration(CalibrationHandler calibrationDataHandler)

Kind: function

Stores the Calibration and Device information to the Device EEPROM parameters: calibrationObj: CalibrationHandler object which is
loaded with calibration information. return: true on successful flash, false on failure

##### void flashCalibration2(CalibrationHandler calibrationDataHandler)

Kind: function

Stores the Calibration and Device information to the Device EEPROM parameters: std::runtime_exception: if failed to flash the
calibration parameters: calibrationObj: CalibrationHandler object which is loaded with calibration information.

##### void setCalibration(CalibrationHandler calibrationDataHandler)

Kind: function

Sets the Calibration at runtime. This is not persistent and will be lost after device reset. parameters: std::runtime_exception:
if failed to set the calibration parameters: calibrationObj: CalibrationHandler object which is loaded with calibration
information.

##### CalibrationHandler getCalibration()

Kind: function

Retrieves the CalibrationHandler object containing the non-persistent calibration parameters: std::runtime_exception: if failed to
get the calibration return: The CalibrationHandler object containing the non-persistent calibration

##### CalibrationHandler readCalibration()

Kind: function

Fetches the EEPROM data from the device and loads it into CalibrationHandler object If no calibration is flashed, it returns
default return: The CalibrationHandler object containing the calibration currently flashed on device EEPROM

##### CalibrationHandler readCalibration2()

Kind: function

Fetches the EEPROM data from the device and loads it into CalibrationHandler object parameters: std::runtime_exception: if no
calibration is flashed return: The CalibrationHandler object containing the calibration currently flashed on device EEPROM

##### CalibrationHandler readCalibrationOrDefault()

Kind: function

Fetches the EEPROM data from the device and loads it into CalibrationHandler object If no calibration is flashed, it returns
default return: The CalibrationHandler object containing the calibration currently flashed on device EEPROM

##### void factoryResetCalibration()

Kind: function

Factory reset EEPROM data if factory backup is available. parameters: std::runtime_exception: If factory reset was unsuccessful

##### void flashFactoryCalibration(CalibrationHandler calibrationHandler)

Kind: function

Stores the Calibration and Device information to the Device EEPROM in Factory area To perform this action, correct env variable
must be set parameters: std::runtime_exception: if failed to flash the calibration return: True on successful flash, false on
failure

##### void flashEepromClear()

Kind: function

Destructive action, deletes User area EEPROM contents Requires PROTECTED permissions parameters: std::runtime_exception: if failed
to flash the calibration return: True on successful flash, false on failure

##### void flashFactoryEepromClear()

Kind: function

Destructive action, deletes Factory area EEPROM contents Requires FACTORY PROTECTED permissions parameters:
std::runtime_exception: if failed to flash the calibration return: True on successful flash, false on failure

##### CalibrationHandler readFactoryCalibration()

Kind: function

Fetches the EEPROM data from Factory area and loads it into CalibrationHandler object parameters: std::runtime_exception: if no
calibration is flashed return: The CalibrationHandler object containing the calibration currently flashed on device EEPROM in
Factory Area

##### CalibrationHandler readFactoryCalibrationOrDefault()

Kind: function

Fetches the EEPROM data from Factory area and loads it into CalibrationHandler object If no calibration is flashed, it returns
default return: The CalibrationHandler object containing the calibration currently flashed on device EEPROM in Factory Area

##### std::vector< std::uint8_t > readCalibrationRaw()

Kind: function

Fetches the raw EEPROM data from User area parameters: std::runtime_exception: if any error occurred return: Binary dump of User
area EEPROM data

##### std::vector< std::uint8_t > readFactoryCalibrationRaw()

Kind: function

Fetches the raw EEPROM data from Factory area parameters: std::runtime_exception: if any error occurred return: Binary dump of
Factory area EEPROM data

##### UsbSpeed getUsbSpeed()

Kind: function

Retrieves USB connection speed return: USB connection speed of connected device if applicable. Unknown otherwise.

##### void setTimesync(std::chrono::milliseconds period, int numSamples, bool random)

Kind: function

Configures Timesync service on device. It keeps host and device clocks in sync First time timesync is started it waits until the
initial sync is completed Afterwards the function changes the following parameters parameters: period: Interval between timesync
runs; numSamples: Number of timesync samples per run which are used to compute a better value. Set to zero to disable timesync;
random: If true partial timesync requests will be performed at random intervals, otherwise at fixed intervals

##### void setTimesync(bool enable)

Kind: function

Enables or disables Timesync service on device. It keeps host and device clocks in sync. parameters: enable: Enables or disables
consistent timesyncing

##### void close()

Kind: function

Explicitly closes connection to device. note: This function does not need to be explicitly called as destructor closes the device
automatically

##### bool isClosed()

Kind: function

Is the device already closed (or disconnected) warning: This function is thread-unsafe and may return outdated incorrect values.
It is only meant for use in simple single-threaded code. Well written code should handle exceptions when calling any DepthAI apis
to handle hardware events and multithreaded use.

##### void crashDevice()

Kind: function

Crashes the device warning: ONLY FOR TESTING PURPOSES, it causes an unrecoverable crash on the device

##### std::shared_ptr< XLinkConnection > getConnection()

Kind: function

Returns underlying XLinkConnection

##### std::shared_ptr< const XLinkConnection > getConnection()

Kind: function

Returns underlying XLinkConnection

#### dai::DeviceBootloader

Kind: class

Represents the DepthAI bootloader with the methods to interact with it.

##### dai::DeviceBootloader::ApplicationInfo

Kind: struct

###### Memory memory

Kind: variable

###### bool hasApplication

Kind: variable

###### std::string firmwareVersion

Kind: variable

###### std::string applicationName

Kind: variable

##### dai::DeviceBootloader::Config

Kind: struct

###### void setStaticIPv4(std::string ip, std::string mask, std::string gateway)

Kind: function

Setting a static IPv4 won't start DHCP client.

###### void setDynamicIPv4(std::string ip, std::string mask, std::string gateway)

Kind: function

Setting a dynamic IPv4 will set that IP as well as start DHCP client.

###### bool isStaticIPV4()

Kind: function

Get if static IPv4 configuration is set.

###### std::string getIPv4()

Kind: function

Get IPv4.

###### std::string getIPv4Mask()

Kind: function

Get IPv4 mask.

###### std::string getIPv4Gateway()

Kind: function

Get IPv4 gateway.

###### void setDnsIPv4(std::string dns, std::string dnsAlt)

Kind: function

Set IPv4 DNS options.

###### std::string getDnsIPv4()

Kind: function

Get primary IPv4 DNS server.

###### std::string getDnsAltIPv4()

Kind: function

Get alternate IPv4 DNS server.

###### void setUsbTimeout(std::chrono::milliseconds ms)

Kind: function

Set USB timeout.

###### std::chrono::milliseconds getUsbTimeout()

Kind: function

Get USB timeout.

###### void setNetworkTimeout(std::chrono::milliseconds ms)

Kind: function

Set NETWOR timeout.

###### std::chrono::milliseconds getNetworkTimeout()

Kind: function

Get NETWORK timeout.

###### void setMacAddress(std::string mac)

Kind: function

Set MAC address if not flashed on controller.

###### std::string getMacAddress()

Kind: function

Get MAC address if not flashed on controller.

###### void setUsbMaxSpeed(UsbSpeed speed)

Kind: function

Set maxUsbSpeed.

###### UsbSpeed getUsbMaxSpeed()

Kind: function

Get maxUsbSpeed.

###### nlohmann::json toJson()

Kind: function

To JSON.

##### dai::DeviceBootloader::MemoryInfo

Kind: struct

###### bool available

Kind: variable

###### std::int64_t size

Kind: variable

###### std::string info

Kind: variable

##### dai::bootloader::Type Type

Kind: enum

##### dai::bootloader::Memory Memory

Kind: enum

##### dai::bootloader::Section Section

Kind: enum

##### dai::bootloader::UsbConfig UsbConfig

Kind: enum

##### dai::bootloader::NetworkConfig NetworkConfig

Kind: enum

##### dai::Version Version

Kind: enum

##### DeviceBootloader()

Kind: function

##### DeviceBootloader(const DeviceInfo & devInfo)

Kind: function

Connects to or boots device in bootloader mode depending on devInfo state; flashing not allowed parameters: devInfo: DeviceInfo of
which to boot or connect to

##### DeviceBootloader(const DeviceInfo & devInfo, T allowFlashingBootloader)

Kind: function

Connects to or boots device in bootloader mode depending on devInfo state. parameters: devInfo: DeviceInfo of which to boot or
connect to; allowFlashingBootloader: (bool) Set to true to allow flashing the devices bootloader

##### DeviceBootloader(const DeviceInfo & devInfo, Type type, bool allowFlashingBootloader)

Kind: function

Connects to device in bootloader of specified type. Throws if it wasn't possible. This constructor will automatically boot into
specified bootloader type if not already running parameters: devInfo: DeviceInfo of which to boot or connect to; type: Type of
bootloader to boot/connect to.; allowFlashingBootloader: Set to true to allow flashing the devices bootloader. Defaults to false

##### DeviceBootloader(const DeviceInfo & devInfo, const dai::Path & pathToBootloader, bool allowFlashingBootloader)

Kind: function

Connects to or boots device in bootloader mode depending on devInfo state with a custom bootloader firmware. parameters: devInfo:
DeviceInfo of which to boot or connect to; pathToBootloader: Custom bootloader firmware to boot; allowFlashingBootloader: Set to
true to allow flashing the devices bootloader. Defaults to false

##### DeviceBootloader(std::string nameOrDeviceId, bool allowFlashingBootloader)

Kind: function

Connects to device with specified name/device id parameters: nameOrDeviceId: Creates DeviceInfo with nameOrDeviceId to connect to;
allowFlashingBootloader: Set to true to allow flashing the devices bootloader. Defaults to false

##### ~DeviceBootloader()

Kind: function

Destroy the Device Bootloader object.

##### std::tuple< bool, std::string > flash(std::function< void(float)> progressCallback, const Pipeline & pipeline, bool
compress, std::string applicationName, Memory memory, bool checkChecksum)

Kind: function

Flashes a given pipeline to the device. parameters: progressCallback: Callback that sends back a value between 0..1 which
signifies current flashing progress; pipeline: Pipeline to flash to the board; compress: Compresses application to reduce needed
memory size; applicationName: Name the application that is flashed

##### std::tuple< bool, std::string > flash(const Pipeline & pipeline, bool compress, std::string applicationName, Memory memory,
bool checkChecksum)

Kind: function

Flashes a given pipeline to the device. parameters: pipeline: Pipeline to flash to the board; compress: Compresses application to
reduce needed memory size; applicationName: Optional name the application that is flashed

##### ApplicationInfo readApplicationInfo(Memory memory)

Kind: function

Reads information about flashed application in specified memory from device parameters: memory: Specifies which memory to query

##### std::tuple< bool, std::string > flashDepthaiApplicationPackage(std::function< void(float)> progressCallback, std::vector<
uint8_t > package, Memory memory)

Kind: function

Flashes a specific depthai application package that was generated using createDepthaiApplicationPackage or
saveDepthaiApplicationPackage parameters: progressCallback: Callback that sends back a value between 0..1 which signifies current
flashing progress; package: Depthai application package to flash to the board

##### std::tuple< bool, std::string > flashDepthaiApplicationPackage(std::vector< uint8_t > package, Memory memory)

Kind: function

Flashes a specific depthai application package that was generated using createDepthaiApplicationPackage or
saveDepthaiApplicationPackage parameters: package: Depthai application package to flash to the board

##### std::tuple< bool, std::string > flashClear(Memory memory)

Kind: function

Clears flashed application on the device, by removing SBR boot structure Doesn't remove fast boot header capability to still boot
the application

##### std::tuple< bool, std::string > flashBootloader(std::function< void(float)> progressCallback, const dai::Path & path)

Kind: function

Flashes bootloader to the current board parameters: progressCallback: Callback that sends back a value between 0..1 which
signifies current flashing progress; path: Optional parameter to custom bootloader to flash

##### std::tuple< bool, std::string > flashBootloader(Memory memory, Type type, std::function< void(float)> progressCallback,
const dai::Path & path)

Kind: function

Flash selected bootloader to the current board parameters: memory: Memory to flash; type: Bootloader type to flash;
progressCallback: Callback that sends back a value between 0..1 which signifies current flashing progress; path: Optional
parameter to custom bootloader to flash

##### std::tuple< bool, std::string > flashUserBootloader(std::function< void(float)> progressCallback, const dai::Path & path)

Kind: function

Flashes user bootloader to the current board. Available for NETWORK bootloader type parameters: progressCallback: Callback that
sends back a value between 0..1 which signifies current flashing progress; path: Optional parameter to custom bootloader to flash

##### std::tuple< bool, std::string > flashGpioModeBootHeader(Memory memory, int gpioMode)

Kind: function

Flash boot header which boots same as equivalent GPIO mode would parameters: gpioMode: GPIO mode equivalent

##### std::tuple< bool, std::string > flashUsbRecoveryBootHeader(Memory memory)

Kind: function

Flash USB recovery boot header. Switches to USB ROM Bootloader parameters: memory: Which memory to flash the header to

##### std::tuple< bool, std::string > flashBootHeader(Memory memory, int32_t frequency, int64_t location, int32_t dummyCycles,
int64_t offset)

Kind: function

Flash optimized boot header parameters: memory: Which memory to flasht the header to; frequency: SPI specific parameter, frequency
in MHz; location: Target location the header should boot to. Default to location of bootloader; dummyCycles: SPI specific
parameter; offset: Offset in memory to flash the header to. Defaults to offset of boot header return: status as std::tuple<bool,
std::string>

##### std::tuple< bool, std::string > flashFastBootHeader(Memory memory, int32_t frequency, int64_t location, int32_t dummyCycles,
int64_t offset)

Kind: function

Flash fast boot header. Application must already be present in flash, or location must be specified manually. Note - Can soft
brick your device if firmware location changes. parameters: memory: Which memory to flash the header to; frequency: SPI specific
parameter, frequency in MHz; location: Target location the header should boot to. Default to location of bootloader; dummyCycles:
SPI specific parameter; offset: Offset in memory to flash the header to. Defaults to offset of boot header return: status as
std::tuple<bool, std::string>

##### std::tuple< bool, std::string > flashCustom(Memory memory, size_t offset, const std::vector< uint8_t > & data,
std::function< void(float)> progressCb)

Kind: function

Flash arbitrary data at custom offset in specified memory parameters: memory: Memory to flash; offset: Offset at which to flash
the given data in bytes; progressCallback: Callback that sends back a value between 0..1 which signifies current flashing
progress; data: Data to flash

##### std::tuple< bool, std::string > flashCustom(Memory memory, size_t offset, const uint8_t * data, size_t size, std::function<
void(float)> progressCb)

Kind: function

##### std::tuple< bool, std::string > flashCustom(Memory memory, size_t offset, std::string filename, std::function< void(float)>
progressCb)

Kind: function

##### std::tuple< bool, std::string > readCustom(Memory memory, size_t offset, size_t size, std::vector< uint8_t > & data,
std::function< void(float)> progressCb)

Kind: function

Reads arbitrary data at custom offset in specified memory parameters: memory: Memory to read; offset: Offset at which to read the
specified bytes; size: Number of bytes to read; data: Data to read to. Must be at least 'size' number of bytes big;
progressCallback: Callback that sends back a value between 0..1 which signifies current reading progress

##### std::tuple< bool, std::string > readCustom(Memory memory, size_t offset, size_t size, uint8_t * data, std::function<
void(float)> progressCb)

Kind: function

##### std::tuple< bool, std::string > readCustom(Memory memory, size_t offset, size_t size, std::string filename, std::function<
void(float)> progressCb)

Kind: function

##### std::tuple< bool, std::string, std::vector< uint8_t > > readCustom(Memory memory, size_t offset, size_t size, std::function<
void(float)> progressCb)

Kind: function

##### nlohmann::json readConfigData(Memory memory, Type type)

Kind: function

Reads configuration data from bootloader return: Unstructured configuration data parameters: memory: Optional - from which memory
to read configuration data; type: Optional - from which type of bootloader to read configuration data

##### std::tuple< bool, std::string > flashConfigData(nlohmann::json configData, Memory memory, Type type)

Kind: function

Flashes configuration data to bootloader parameters: configData: Unstructured configuration data; memory: Optional - to which
memory flash configuration; type: Optional - for which type of bootloader to flash configuration

##### std::tuple< bool, std::string > flashConfigFile(const dai::Path & configPath, Memory memory, Type type)

Kind: function

Flashes configuration data to bootloader parameters: configPath: Unstructured configuration data; memory: Optional - to which
memory flash configuration; type: Optional - for which type of bootloader to flash configuration

##### std::tuple< bool, std::string > flashConfigClear(Memory memory, Type type)

Kind: function

Clears configuration data parameters: memory: Optional - on which memory to clear configuration data; type: Optional - for which
type of bootloader to clear configuration data

##### Config readConfig(Memory memory, Type type)

Kind: function

Reads configuration from bootloader parameters: memory: Optional - from which memory to read configuration; type: Optional - from
which type of bootloader to read configuration return: Configuration structure

##### std::tuple< bool, std::string > flashConfig(const Config & config, Memory memory, Type type)

Kind: function

Flashes configuration to bootloader parameters: configData: Configuration structure; memory: Optional - to which memory flash
configuration; type: Optional - for which type of bootloader to flash configuration

##### MemoryInfo getMemoryInfo(Memory memory)

Kind: function

Retrieves information about specified memory parameters: memory: Specifies which memory to query

##### bool isUserBootloaderSupported()

Kind: function

Checks whether User Bootloader is supported with current bootloader return: true of User Bootloader is supported, false otherwise

##### bool isUserBootloader()

Kind: function

Retrieves whether current bootloader is User Bootloader (B out of A/B configuration)

##### void bootMemory(const std::vector< uint8_t > & fw)

Kind: function

Boots a custom FW in memory parameters: fw: parameters: A: runtime exception if there are any communication issues

##### void bootUsbRomBootloader()

Kind: function

Boots into integrated ROM bootloader in USB mode parameters: A: runtime exception if there are any communication issues

##### Version getVersion()

Kind: function

return: Version of current running bootloader

##### tl::optional< Version > getFlashedVersion()

Kind: function

return: Version of the bootloader that is flashed on the device. Nullopt when the version could not be retrieved because the
device was in X_LINK_UNBOOTED state before booting the bootloader.

##### bool isEmbeddedVersion()

Kind: function

return: True when bootloader was booted using latest bootloader integrated in the library. False when bootloader is already
running on the device and just connected to.

##### Type getType()

Kind: function

return: Type of currently connected bootloader

##### bool isAllowedFlashingBootloader()

Kind: function

return: True if allowed to flash bootloader

##### void close()

Kind: function

Explicitly closes connection to device. note: This function does not need to be explicitly called as destructor closes the device
automatically

##### bool isClosed()

Kind: function

Is the device already closed (or disconnected) warning: This function is thread-unsafe and may return outdated incorrect values.
It is only meant for use in simple single-threaded code. Well written code should handle exceptions when calling any DepthAI apis
to handle hardware events and multithreaded use.

#### dai::EepromError

Kind: struct

#### dai::Version

Kind: struct

Version structure.

##### Version(const std::string & v)

Kind: function

Construct Version from string.

##### Version(unsigned major, unsigned minor, unsigned patch)

Kind: function

Construct Version major, minor and patch numbers.

##### Version(unsigned major, unsigned minor, unsigned patch, std::string buildInfo)

Kind: function

Construct Version major, minor and patch numbers with buildInfo.

##### bool operator==(const Version & other)

Kind: function

##### bool operator<(const Version & other)

Kind: function

##### bool operator!=(const Version & rhs)

Kind: function

##### bool operator>(const Version & rhs)

Kind: function

##### bool operator<=(const Version & rhs)

Kind: function

##### bool operator>=(const Version & rhs)

Kind: function

##### std::string toString()

Kind: function

Convert Version to string.

##### std::string toStringSemver()

Kind: function

Convert Version to semver (no build information) string.

##### std::string getBuildInfo()

Kind: function

Get build info.

##### Version getSemver()

Kind: function

Retrieves semver version (no build information)

#### dai::OpenVINO

Kind: class

Support for basic OpenVINO related actions like version identification of neural network blobs,...

##### dai::OpenVINO::Blob

Kind: struct

OpenVINO Blob .

###### Version version

Kind: variable

OpenVINO version.

###### std::unordered_map< std::string, TensorInfo > networkInputs

Kind: variable

Map of input names to additional information.

###### std::unordered_map< std::string, TensorInfo > networkOutputs

Kind: variable

Map of output names to additional information.

###### uint32_t stageCount

Kind: variable

Number of network stages.

###### uint32_t numShaves

Kind: variable

Number of shaves the blob was compiled for.

###### uint32_t numSlices

Kind: variable

Number of CMX slices the blob was compiled for.

###### std::vector< uint8_t > data

Kind: variable

Blob data.

###### Blob(std::vector< uint8_t > data)

Kind: function

Construct a new Blob from data in memory.

parameters: data: In memory blob

###### Blob(const dai::Path & path)

Kind: function

Construct a new Blob by loading from a filesystem path.

parameters: path: Filesystem path to the blob

##### Version

Kind: enum

OpenVINO Version supported version information.

###### VERSION_2020_3

Kind: enum_value

###### VERSION_2020_4

Kind: enum_value

###### VERSION_2021_1

Kind: enum_value

###### VERSION_2021_2

Kind: enum_value

###### VERSION_2021_3

Kind: enum_value

###### VERSION_2021_4

Kind: enum_value

###### VERSION_2022_1

Kind: enum_value

###### VERSION_UNIVERSAL

Kind: enum_value

#### dai::Asset

Kind: struct

Asset is identified with string key and can store arbitrary binary data.

##### const std::string key

Kind: variable

##### std::vector< std::uint8_t > data

Kind: variable

##### std::uint32_t alignment

Kind: variable

##### Asset()

Kind: function

##### Asset(std::string k)

Kind: function

##### std::string getRelativeUri()

Kind: function

#### dai::AssetsMutable

Kind: class

##### void set(std::string, std::uint32_t offset, std::uint32_t size, std::uint32_t alignment)

Kind: function

#### dai::AssetManager

Kind: class

AssetManager can store assets and serialize.

##### void addExisting(std::vector< std::shared_ptr< Asset >> assets)

Kind: function

Adds all assets in an array to the AssetManager parameters: assets: Vector of assets to add

##### std::shared_ptr< dai::Asset > set(Asset asset)

Kind: function

Adds or overwrites an asset object to AssetManager . parameters: asset: Asset to add return: Shared pointer to asset

##### std::shared_ptr< dai::Asset > set(const std::string & key, Asset asset)

Kind: function

Adds or overwrites an asset object to AssetManager with a specified key. Key value will be assigned to an Asset as well
parameters: key: Key under which the asset should be stored; asset: Asset to store return: Shared pointer to asset

##### std::shared_ptr< dai::Asset > set(const std::string & key, const dai::Path & path, int alignment)

Kind: function

Loads file into asset manager under specified key. parameters: key: Key under which the asset should be stored; path: Path to file
which to load as asset; alignment: [Optional] alignment of asset data in asset storage. Default is 64B

##### std::shared_ptr< dai::Asset > set(const std::string & key, const std::vector< std::uint8_t > & data, int alignment)

Kind: function

Loads file into asset manager under specified key. parameters: key: Key under which the asset should be stored; data: Asset data;
alignment: [Optional] alignment of asset data in asset storage. Default is 64B return: Shared pointer to asset

##### std::shared_ptr< dai::Asset > set(const std::string & key, std::vector< std::uint8_t > && data, int alignment)

Kind: function

##### std::shared_ptr< const Asset > get(const std::string & key)

Kind: function

return: Asset assigned to the specified key or a nullptr otherwise

##### std::shared_ptr< Asset > get(const std::string & key)

Kind: function

return: Asset assigned to the specified key or a nullptr otherwise

##### std::vector< std::shared_ptr< const Asset > > getAll()

Kind: function

return: All asset stored in the AssetManager

##### std::vector< std::shared_ptr< Asset > > getAll()

Kind: function

return: All asset stored in the AssetManager

##### std::size_t size()

Kind: function

return: Number of asset stored in the AssetManager

##### void remove(const std::string & key)

Kind: function

Removes asset with key parameters: key: Key of asset to remove

##### void serialize(AssetsMutable & assets, std::vector< std::uint8_t > & assetStorage, std::string prefix)

Kind: function

Serializes.

#### dai::Node

Kind: class

Abstract Node .

##### dai::Node::Connection

Kind: struct

Connection between an Input and Output .

###### Id outputId

Kind: variable

###### std::string outputName

Kind: variable

###### std::string outputGroup

Kind: variable

###### Id inputId

Kind: variable

###### std::string inputName

Kind: variable

###### std::string inputGroup

Kind: variable

###### Connection(Output out, Input in)

Kind: function

###### bool operator==(const Connection & rhs)

Kind: function

##### dai::Node::DatatypeHierarchy

Kind: struct

###### DatatypeEnum datatype

Kind: variable

###### bool descendants

Kind: variable

###### DatatypeHierarchy(DatatypeEnum d, bool c)

Kind: function

##### dai::Node::Input

Kind: class

###### Type

Kind: enum

###### SReceiver

Kind: enum_value

###### MReceiver

Kind: enum_value

###### std::string group

Kind: variable

###### std::string name

Kind: variable

###### Type type

Kind: variable

###### bool defaultBlocking

Kind: variable

###### int defaultQueueSize

Kind: variable

###### tl::optional< bool > blocking

Kind: variable

###### tl::optional< int > queueSize

Kind: variable

###### tl::optional< bool > waitForMessage

Kind: variable

###### bool defaultWaitForMessage

Kind: variable

###### std::vector< DatatypeHierarchy > possibleDatatypes

Kind: variable

###### Input(Node & par, std::string n, Type t, std::vector< DatatypeHierarchy > types)

Kind: function

Constructs Input with default blocking and queueSize options.

###### Input(Node & par, std::string n, Type t, bool blocking, int queueSize, std::vector< DatatypeHierarchy > types)

Kind: function

Constructs Input with specified blocking and queueSize options.

###### Input(Node & par, std::string n, Type t, bool blocking, int queueSize, bool waitForMessage, std::vector< DatatypeHierarchy
> types)

Kind: function

Constructs Input with specified blocking and queueSize as well as additional options.

###### Input(Node & par, std::string group, std::string n, Type t, bool blocking, int queueSize, bool waitForMessage, std::vector<
DatatypeHierarchy > types)

Kind: function

Constructs Input with specified blocking and queueSize as well as additional options.

###### Node & getParent()

Kind: function

###### const Node & getParent()

Kind: function

###### std::string toString()

Kind: function

Input to string representation.

###### void setBlocking(bool blocking)

Kind: function

Overrides default input queue behavior. parameters: blocking: True blocking, false overwriting

###### bool getBlocking()

Kind: function

Get input queue behavior return: True blocking, false overwriting

###### void setQueueSize(int size)

Kind: function

Overrides default input queue size. If queue size fills up, behavior depends on parameters: size: Maximum input queue size

###### int getQueueSize()

Kind: function

Get input queue size. return: Maximum input queue size

###### void setWaitForMessage(bool waitForMessage)

Kind: function

Overrides default wait for message behavior. Applicable for nodes with multiple inputs. Specifies behavior whether to wait for
this input when a Node processes certain data or not. parameters: waitForMessage: Whether to wait for message to arrive to this
input or not

###### bool getWaitForMessage()

Kind: function

Get behavior whether to wait for this input when a Node processes certain data or not return: Whether to wait for message to
arrive to this input or not

###### void setReusePreviousMessage(bool reusePreviousMessage)

Kind: function

Equivalent to setWaitForMessage but with inverted logic.

###### bool getReusePreviousMessage()

Kind: function

Equivalent to getWaitForMessage but with inverted logic.

##### dai::Node::InputMap

Kind: class

Input map which keeps track of inputs assigned to a node Extends std::unordered_map<std::string, dai::Node::Input>

###### std::string name

Kind: variable

###### InputMap(Input defaultInput)

Kind: function

###### InputMap(std::string name, Input defaultInput)

Kind: function

###### Input & operator[](const std::string & key)

Kind: function

Create or modify an input.

##### dai::Node::Output

Kind: class

###### Type

Kind: enum

###### MSender

Kind: enum_value

###### SSender

Kind: enum_value

###### std::string group

Kind: variable

###### std::string name

Kind: variable

###### Type type

Kind: variable

###### std::vector< DatatypeHierarchy > possibleDatatypes

Kind: variable

###### Output(Node & par, std::string n, Type t, std::vector< DatatypeHierarchy > types)

Kind: function

###### Output(Node & par, std::string group, std::string n, Type t, std::vector< DatatypeHierarchy > types)

Kind: function

###### Node & getParent()

Kind: function

###### const Node & getParent()

Kind: function

###### std::string toString()

Kind: function

Output to string representation.

###### bool isSamePipeline(const Input & in)

Kind: function

Check if this output and given input are on the same pipeline. see: canConnect for checking if connection is possible return: True
if output and input are on the same pipeline

###### bool canConnect(const Input & in)

Kind: function

Check if connection is possible parameters: in: Input to connect to return: True if connection is possible, false otherwise

###### std::vector< Connection > getConnections()

Kind: function

Retrieve all connections from this output return: Vector of connections

###### void link(const Input & in)

Kind: function

Link current output to input. Throws an error if this output cannot be linked to given input, or if they are already linked
parameters: in: Input to link to

###### void unlink(const Input & in)

Kind: function

Unlink a previously linked connection Throws an error if not linked. parameters: in: Input from which to unlink from

##### dai::Node::OutputMap

Kind: class

Output map which keeps track of extra outputs assigned to a node Extends std::unordered_map<std::string, dai::Node::Output>

###### std::string name

Kind: variable

###### OutputMap(std::string name, Output defaultOutput)

Kind: function

###### OutputMap(Output defaultOutput)

Kind: function

###### Output & operator[](const std::string & key)

Kind: function

Create or modify an input.

##### std::int64_t Id

Kind: enum

Node identificator. Unique for every node on a single Pipeline .

##### const Id id

Kind: variable

Id of node.

##### Properties & properties

Kind: variable

##### Pipeline getParentPipeline()

Kind: function

##### const Pipeline getParentPipeline()

Kind: function

##### std::unique_ptr< Node > clone()

Kind: function

Deep copy the node.

##### const char * getName()

Kind: function

Retrieves nodes name.

##### std::vector< Output > getOutputs()

Kind: function

Retrieves all nodes outputs.

##### std::vector< Input > getInputs()

Kind: function

Retrieves all nodes inputs.

##### std::vector< Output * > getOutputRefs()

Kind: function

Retrieves reference to node outputs.

##### std::vector< const Output * > getOutputRefs()

Kind: function

Retrieves reference to node outputs.

##### std::vector< Input * > getInputRefs()

Kind: function

Retrieves reference to node inputs.

##### std::vector< const Input * > getInputRefs()

Kind: function

Retrieves reference to node inputs.

##### Node(const std::shared_ptr< PipelineImpl > & p, Id nodeId, std::unique_ptr< Properties > props)

Kind: function

Constructs Node .

##### ~Node()

Kind: function

##### const AssetManager & getAssetManager()

Kind: function

Get node AssetManager as a const reference.

##### AssetManager & getAssetManager()

Kind: function

Get node AssetManager as a reference.

#### dai::NodeCRTP

Kind: class

##### Props Properties

Kind: enum

##### Properties & properties

Kind: variable

Underlying properties.

##### const char * getName()

Kind: function

##### std::unique_ptr< Node > clone()

Kind: function

#### dai::PipelineImpl

Kind: class

##### PipelineImpl()

Kind: function

##### PipelineImpl(const PipelineImpl &)

Kind: function

#### dai::Pipeline

Kind: class

Represents the pipeline, set of nodes and connections between them.

##### PipelineImpl::NodeConnectionMap NodeConnectionMap

Kind: enum

##### PipelineImpl::NodeMap NodeMap

Kind: enum

##### Pipeline()

Kind: function

Constructs a new pipeline

##### Pipeline(const std::shared_ptr< PipelineImpl > & pimpl)

Kind: function

##### Pipeline clone()

Kind: function

Clone the pipeline (Creates a copy)

##### GlobalProperties getGlobalProperties()

Kind: function

return: Global properties of current pipeline

##### PipelineSchema getPipelineSchema(SerializationType type)

Kind: function

return: Pipeline schema

##### void serialize(PipelineSchema & schema, Assets & assets, std::vector< std::uint8_t > & assetStorage)

Kind: function

##### nlohmann::json serializeToJson()

Kind: function

Returns whole pipeline represented as JSON.

##### std::shared_ptr< N > create()

Kind: function

Adds a node to pipeline. Node is specified by template argument N

##### void remove(std::shared_ptr< Node > node)

Kind: function

Removes a node from pipeline.

##### std::vector< std::shared_ptr< const Node > > getAllNodes()

Kind: function

Get a vector of all nodes.

##### std::vector< std::shared_ptr< Node > > getAllNodes()

Kind: function

Get a vector of all nodes.

##### std::shared_ptr< const Node > getNode(Node::Id id)

Kind: function

Get node with id if it exists, nullptr otherwise.

##### std::shared_ptr< Node > getNode(Node::Id id)

Kind: function

Get node with id if it exists, nullptr otherwise.

##### std::vector< Node::Connection > getConnections()

Kind: function

Get all connections.

##### const NodeConnectionMap & getConnectionMap()

Kind: function

Get a reference to internal connection representation.

##### const NodeMap & getNodeMap()

Kind: function

Get a reference to internal node map.

##### void link(const Node::Output & out, const Node::Input & in)

Kind: function

Link output to an input. Both nodes must be on the same pipeline Throws an error if they aren't or cannot be connected parameters:
out: Nodes output to connect from; in: Nodes input to connect to

##### void unlink(const Node::Output & out, const Node::Input & in)

Kind: function

Unlink output from an input. Throws an error if link doesn't exists parameters: out: Nodes output to unlink from; in: Nodes input
to unlink to

##### const AssetManager & getAssetManager()

Kind: function

Get pipelines AssetManager as reference.

##### AssetManager & getAssetManager()

Kind: function

Get pipelines AssetManager as reference.

##### void setOpenVINOVersion(OpenVINO::Version version)

Kind: function

Set a specific OpenVINO version to use with this pipeline.

##### void setCalibrationData(CalibrationHandler calibrationDataHandler)

Kind: function

Sets the calibration in pipeline which overrides the calibration data in eeprom parameters: calibrationDataHandler:
CalibrationHandler object which is loaded with calibration information.

##### CalibrationHandler getCalibrationData()

Kind: function

gets the calibration data which is set through pipeline return: the calibrationHandler with calib data in the pipeline

##### OpenVINO::Version getOpenVINOVersion()

Kind: function

Get possible OpenVINO version to run this pipeline.

##### tl::optional< OpenVINO::Version > getRequiredOpenVINOVersion()

Kind: function

Get required OpenVINO version to run this pipeline. Can be none.

##### void setCameraTuningBlobPath(const dai::Path & path)

Kind: function

Set a camera IQ (Image Quality) tuning blob, used for all cameras.

##### void setXLinkChunkSize(int sizeBytes)

Kind: function

Set chunk size for splitting device-sent XLink packets, in bytes. A larger value could increase performance, with 0 disabling
chunking. A negative value won't modify the device defaults - configured per protocol, currently 64*1024 for both USB and
Ethernet.

##### void setSippBufferSize(int sizeBytes)

Kind: function

SIPP (Signal Image Processing Pipeline ) internal memory pool. SIPP is a framework used to schedule HW filters, e.g. ISP, Warp,
Median filter etc. Changing the size of this pool is meant for advanced use cases, pushing the limits of the HW. By default memory
is allocated in high speed CMX memory. Setting to 0 will allocate in DDR 256 kilobytes. Units are bytes.

##### void setSippDmaBufferSize(int sizeBytes)

Kind: function

SIPP (Signal Image Processing Pipeline ) internal DMA memory pool. SIPP is a framework used to schedule HW filters, e.g. ISP,
Warp, Median filter etc. Changing the size of this pool is meant for advanced use cases, pushing the limits of the HW. Memory is
allocated in high speed CMX memory Units are bytes.

##### bool isOpenVINOVersionCompatible(OpenVINO::Version version)

Kind: function

Checks whether a given OpenVINO version is compatible with the pipeline.

##### void setBoardConfig(BoardConfig board)

Kind: function

Sets board configuration.

##### BoardConfig getBoardConfig()

Kind: function

Gets board configuration.

##### Device::Config getDeviceConfig()

Kind: function

Get device configuration needed for this pipeline.

#### dai::ADatatype

Kind: class

Abstract message.

##### ADatatype(std::shared_ptr< RawBuffer > r)

Kind: function

##### ~ADatatype()

Kind: function

##### std::shared_ptr< dai::RawBuffer > serialize()

Kind: function

##### std::shared_ptr< RawBuffer > getRaw()

Kind: function

#### dai::AprilTagConfig

Kind: class

AprilTagConfig message.

##### RawAprilTagConfig::Family Family

Kind: enum

##### RawAprilTagConfig::QuadThresholds QuadThresholds

Kind: enum

##### AprilTagConfig()

Kind: function

Construct AprilTagConfig message.

##### AprilTagConfig(std::shared_ptr< RawAprilTagConfig > ptr)

Kind: function

##### ~AprilTagConfig()

Kind: function

##### AprilTagConfig & setFamily(Family family)

Kind: function

parameters: family: AprilTag family

##### AprilTagConfig & set(dai::RawAprilTagConfig config)

Kind: function

Set explicit configuration. parameters: config: Explicit configuration

##### dai::RawAprilTagConfig get()

Kind: function

Retrieve configuration data for AprilTag . return: config for stereo depth algorithm

#### dai::AprilTags

Kind: class

AprilTags message.

##### std::vector< AprilTag > & aprilTags

Kind: variable

##### AprilTags()

Kind: function

Construct AprilTags message.

##### AprilTags(std::shared_ptr< RawAprilTags > ptr)

Kind: function

##### ~AprilTags()

Kind: function

##### AprilTags & setTimestamp(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration >
timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### AprilTags & setTimestampDevice(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration >
timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### AprilTags & setSequenceNum(int64_t sequenceNum)

Kind: function

Retrieves image sequence number

#### dai::Buffer

Kind: class

Base message - buffer of binary data.

##### Buffer()

Kind: function

Creates Buffer message.

##### Buffer(std::shared_ptr< dai::RawBuffer > ptr)

Kind: function

##### ~Buffer()

Kind: function

##### std::vector< std::uint8_t > & getData()

Kind: function

Get non-owning reference to internal buffer.

return: Reference to internal buffer

##### void setData(const std::vector< std::uint8_t > & data)

Kind: function

parameters: data: Copies data to internal buffer

##### void setData(std::vector< std::uint8_t > && data)

Kind: function

parameters: data: Moves data to internal buffer

##### std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > getTimestamp()

Kind: function

Retrieves timestamp related to dai::Clock::now()

##### std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > getTimestampDevice()

Kind: function

Retrieves timestamp directly captured from device's monotonic clock, not synchronized to host time. Used mostly for debugging

##### int64_t getSequenceNum()

Kind: function

Retrieves sequence number

##### Buffer & setTimestamp(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > timestamp)

Kind: function

Sets timestamp related to dai::Clock::now()

##### Buffer & setTimestampDevice(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration >
timestamp)

Kind: function

Sets timestamp related to dai::Clock::now()

##### Buffer & setSequenceNum(int64_t sequenceNum)

Kind: function

Retrieves sequence number

#### dai::CameraControl

Kind: class

CameraControl message. Specifies various camera control commands like: Still capture; Auto/manual focus; Auto/manual white
balance; Auto/manual exposure; Anti banding; ... By default the camera enables 3A, with auto-focus in

##### RawCameraControl::AutoFocusMode AutoFocusMode

Kind: enum

##### RawCameraControl::AntiBandingMode AntiBandingMode

Kind: enum

##### RawCameraControl::AutoWhiteBalanceMode AutoWhiteBalanceMode

Kind: enum

##### RawCameraControl::SceneMode SceneMode

Kind: enum

##### RawCameraControl::EffectMode EffectMode

Kind: enum

##### RawCameraControl::ControlMode ControlMode

Kind: enum

##### RawCameraControl::CaptureIntent CaptureIntent

Kind: enum

##### RawCameraControl::FrameSyncMode FrameSyncMode

Kind: enum

##### CameraControl()

Kind: function

Construct CameraControl message.

##### CameraControl(std::shared_ptr< RawCameraControl > ptr)

Kind: function

##### ~CameraControl()

Kind: function

##### CameraControl & setCaptureStill(bool capture)

Kind: function

Set a command to capture a still image

##### CameraControl & setStartStreaming()

Kind: function

Set a command to start streaming

##### CameraControl & setStopStreaming()

Kind: function

Set a command to stop streaming

##### CameraControl & setExternalTrigger(int numFramesBurst, int numFramesDiscard)

Kind: function

Set a command to enable external trigger snapshot mode A rising edge on the sensor FSIN pin will make it capture a sequence of

##### CameraControl & setFrameSyncMode(FrameSyncMode mode)

Kind: function

Set the frame sync mode for continuous streaming operation mode, translating to how the camera pin FSIN/FSYNC is used:
input/output/disabled

##### CameraControl & setStrobeSensor(int activeLevel)

Kind: function

Enable STROBE output on sensor pin, optionally configuring the polarity. Note: for many sensors the polarity is high-active and
not configurable

##### CameraControl & setStrobeExternal(int gpioNumber, int activeLevel)

Kind: function

Enable STROBE output driven by a MyriadX GPIO, optionally configuring the polarity This normally requires a FSIN/FSYNC/trigger
input for MyriadX (usually GPIO 41), to generate timings

##### CameraControl & setStrobeDisable()

Kind: function

Disable STROBE output

##### CameraControl & setAutoFocusMode(AutoFocusMode mode)

Kind: function

Set a command to specify autofocus mode. Default

##### CameraControl & setAutoFocusTrigger()

Kind: function

Set a command to trigger autofocus

##### CameraControl & setAutoFocusLensRange(int infinityPosition, int macroPosition)

Kind: function

Set autofocus lens range,

##### CameraControl & setAutoFocusRegion(uint16_t startX, uint16_t startY, uint16_t width, uint16_t height)

Kind: function

Set a command to specify focus region in pixels. Note: the region should be mapped to the configured sensor resolution, before ISP
scaling parameters: startX: X coordinate of top left corner of region; startY: Y coordinate of top left corner of region; width:
Region width; height: Region height

##### CameraControl & setManualFocus(uint8_t lensPosition)

Kind: function

Set a command to specify manual focus position parameters: lensPosition: specify lens position 0..255

##### CameraControl & setManualFocusRaw(float lensPositionRaw)

Kind: function

Set a command to specify manual focus position (more precise control). parameters: lensPositionRaw: specify lens position 0.0f ..
1.0f return: CameraControl &

##### CameraControl & setAutoExposureEnable()

Kind: function

Set a command to enable auto exposure

##### CameraControl & setAutoExposureLock(bool lock)

Kind: function

Set a command to specify lock auto exposure parameters: lock: Auto exposure lock mode enabled or disabled

##### CameraControl & setAutoExposureRegion(uint16_t startX, uint16_t startY, uint16_t width, uint16_t height)

Kind: function

Set a command to specify auto exposure region in pixels. Note: the region should be mapped to the configured sensor resolution,
before ISP scaling parameters: startX: X coordinate of top left corner of region; startY: Y coordinate of top left corner of
region; width: Region width; height: Region height

##### CameraControl & setAutoExposureCompensation(int compensation)

Kind: function

Set a command to specify auto exposure compensation parameters: compensation: Compensation value between -9..9, default 0

##### CameraControl & setAutoExposureLimit(uint32_t maxExposureTimeUs)

Kind: function

Set a command to specify the maximum exposure time limit for auto-exposure. By default the AE algorithm prioritizes increasing
exposure over ISO, up to around frame-time (subject to further limits imposed by anti-banding) parameters: maxExposureTimeUs:
Maximum exposure time in microseconds

##### CameraControl & setAutoExposureLimit(std::chrono::microseconds maxExposureTime)

Kind: function

Set a command to specify the maximum exposure time limit for auto-exposure. By default the AE algorithm prioritizes increasing
exposure over ISO, up to around frame-time (subject to further limits imposed by anti-banding) parameters: maxExposureTime:
Maximum exposure time

##### CameraControl & setAntiBandingMode(AntiBandingMode mode)

Kind: function

Set a command to specify anti-banding mode. Anti-banding / anti-flicker works in auto-exposure mode, by controlling the exposure
time to be applied in multiples of half the mains period, for example in multiple of 10ms for 50Hz (period 20ms) AC-powered
illumination sources. If the scene would be too bright for the smallest exposure step (10ms in the example, with ISO at a minimum
of 100), anti-banding is not effective. parameters: mode: Anti-banding mode to use. Default:

##### CameraControl & setManualExposure(uint32_t exposureTimeUs, uint32_t sensitivityIso)

Kind: function

Set a command to manually specify exposure parameters: exposureTimeUs: Exposure time in microseconds; sensitivityIso: Sensitivity
as ISO value, usual range 100..1600

##### CameraControl & setManualExposure(std::chrono::microseconds exposureTime, uint32_t sensitivityIso)

Kind: function

Set a command to manually specify exposure parameters: exposureTime: Exposure time; sensitivityIso: Sensitivity as ISO value,
usual range 100..1600

##### CameraControl & setAutoWhiteBalanceMode(AutoWhiteBalanceMode mode)

Kind: function

Set a command to specify auto white balance mode parameters: mode: Auto white balance mode to use. Default

##### CameraControl & setAutoWhiteBalanceLock(bool lock)

Kind: function

Set a command to specify auto white balance lock parameters: lock: Auto white balance lock mode enabled or disabled

##### CameraControl & setManualWhiteBalance(int colorTemperatureK)

Kind: function

Set a command to manually specify white-balance color correction parameters: colorTemperatureK: Light source color temperature in
kelvins, range 1000..12000

##### CameraControl & setBrightness(int value)

Kind: function

Set a command to adjust image brightness parameters: value: Brightness, range -10..10, default 0

##### CameraControl & setContrast(int value)

Kind: function

Set a command to adjust image contrast parameters: value: Contrast, range -10..10, default 0

##### CameraControl & setSaturation(int value)

Kind: function

Set a command to adjust image saturation parameters: value: Saturation, range -10..10, default 0

##### CameraControl & setSharpness(int value)

Kind: function

Set a command to adjust image sharpness parameters: value: Sharpness, range 0..4, default 1

##### CameraControl & setLumaDenoise(int value)

Kind: function

Set a command to adjust luma denoise amount parameters: value: Luma denoise amount, range 0..4, default 1

##### CameraControl & setChromaDenoise(int value)

Kind: function

Set a command to adjust chroma denoise amount parameters: value: Chroma denoise amount, range 0..4, default 1

##### CameraControl & setSceneMode(SceneMode mode)

Kind: function

Set a command to specify scene mode parameters: mode: Scene mode

##### CameraControl & setEffectMode(EffectMode mode)

Kind: function

Set a command to specify effect mode parameters: mode: Effect mode

##### CameraControl & setControlMode(ControlMode mode)

Kind: function

Set a command to specify control mode parameters: mode: Control mode

##### CameraControl & setCaptureIntent(CaptureIntent mode)

Kind: function

Set a command to specify capture intent mode parameters: mode: Capture intent mode

##### CameraControl & setMisc(std::string control, std::string value)

Kind: function

Set a miscellaneous control. The controls set by this function get appended to a list, processed after the standard controls
parameters: control: Control name; value: Value as a string

##### CameraControl & setMisc(std::string control, int value)

Kind: function

Set a miscellaneous control. The controls set by this function get appended to a list, processed after the standard controls
parameters: control: Control name; value: Value as an integer number

##### CameraControl & setMisc(std::string control, float value)

Kind: function

Set a miscellaneous control. The controls set by this function get appended to a list, processed after the standard controls
parameters: control: Control name; value: Value as a floating point number

##### void clearMiscControls()

Kind: function

Clear the list of miscellaneous controls set by

##### std::vector< std::pair< std::string, std::string > > getMiscControls()

Kind: function

Get the list of miscellaneous controls set by return: A list of <key, value> pairs as strings

##### bool getCaptureStill()

Kind: function

Check whether command to capture a still is set return: True if capture still command is set

##### std::chrono::microseconds getExposureTime()

Kind: function

Retrieves exposure time

##### int getSensitivity()

Kind: function

Retrieves sensitivity, as an ISO value

##### int getLensPosition()

Kind: function

Retrieves lens position, range 0..255. Returns -1 if not available

##### float getLensPositionRaw()

Kind: function

Retrieves lens position, range 0.0f..1.0f.

##### CameraControl & set(dai::RawCameraControl config)

Kind: function

Set explicit configuration. parameters: config: Explicit configuration

##### dai::RawCameraControl get()

Kind: function

Retrieve configuration data for CameraControl . return: config for CameraControl

#### dai::EdgeDetectorConfig

Kind: class

EdgeDetectorConfig message. Carries sobel edge filter config.

##### EdgeDetectorConfig()

Kind: function

Construct EdgeDetectorConfig message.

##### EdgeDetectorConfig(std::shared_ptr< RawEdgeDetectorConfig > ptr)

Kind: function

##### ~EdgeDetectorConfig()

Kind: function

##### void setSobelFilterKernels(const std::vector< std::vector< int >> & horizontalKernel, const std::vector< std::vector< int >>
& verticalKernel)

Kind: function

Set sobel filter horizontal and vertical 3x3 kernels parameters: horizontalKernel: Used for horizontal gradient computation in 3x3
Sobel filter; verticalKernel: Used for vertical gradient computation in 3x3 Sobel filter

##### EdgeDetectorConfigData getConfigData()

Kind: function

Retrieve configuration data for EdgeDetector return: EdgeDetectorConfigData : sobel filter horizontal and vertical 3x3 kernels

##### EdgeDetectorConfig & set(dai::RawEdgeDetectorConfig config)

Kind: function

Set explicit configuration. parameters: config: Explicit configuration

##### dai::RawEdgeDetectorConfig get()

Kind: function

Retrieve configuration data for EdgeDetector. return: config for EdgeDetector

#### dai::EncodedFrame

Kind: class

##### RawEncodedFrame::Profile Profile

Kind: enum

##### RawEncodedFrame::FrameType FrameType

Kind: enum

##### EncodedFrame()

Kind: function

Construct EncodedFrame message. Timestamp is set to now

##### EncodedFrame(std::shared_ptr< RawEncodedFrame > ptr)

Kind: function

##### ~EncodedFrame()

Kind: function

##### unsigned int getInstanceNum()

Kind: function

Retrieves instance number

##### unsigned int getWidth()

Kind: function

Retrieves image width in pixels

##### unsigned int getHeight()

Kind: function

Retrieves image height in pixels

##### std::chrono::microseconds getExposureTime()

Kind: function

Retrieves exposure time

##### int getSensitivity()

Kind: function

Retrieves sensitivity, as an ISO value

##### int getColorTemperature()

Kind: function

Retrieves white-balance color temperature of the light source, in kelvins

##### int getLensPosition()

Kind: function

Retrieves lens position, range 0..255. Returns -1 if not available

##### float getLensPositionRaw()

Kind: function

Retrieves lens position, range 0.0f..1.0f. Returns -1 if not available

##### unsigned int getQuality()

Kind: function

Retrieves the encoding quality

##### unsigned int getBitrate()

Kind: function

Retrieves the encoding bitrate

##### bool getLossless()

Kind: function

Returns true if encoding is lossless (JPEG only)

##### FrameType getFrameType()

Kind: function

Retrieves frame type (H26x only)

##### Profile getProfile()

Kind: function

Retrieves the encoding profile (JPEG, AVC or HEVC)

##### EncodedFrame & setTimestamp(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > tp)

Kind: function

Retrieves image timestamp related to dai::Clock::now()

##### EncodedFrame & setTimestampDevice(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration >
tp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### EncodedFrame & setSequenceNum(int64_t seq)

Kind: function

Specifies sequence number parameters: seq: Sequence number

##### EncodedFrame & setInstanceNum(unsigned int instance)

Kind: function

Instance number relates to the origin of the frame (which camera) parameters: instance: Instance number

##### EncodedFrame & setWidth(unsigned int width)

Kind: function

Specifies frame width parameters: width: frame width

##### EncodedFrame & setHeight(unsigned int height)

Kind: function

Specifies frame height parameters: height: frame height

##### EncodedFrame & setQuality(unsigned int quality)

Kind: function

Specifies the encoding quality parameters: quality: Encoding quality

##### EncodedFrame & setBitrate(unsigned int bitrate)

Kind: function

Specifies the encoding quality parameters: quality: Encoding quality

##### EncodedFrame & setLossless(bool lossless)

Kind: function

Specifies if encoding is lossless (JPEG only) parameters: lossless: True if lossless

##### EncodedFrame & setFrameType(FrameType type)

Kind: function

Specifies the frame type (H26x only) parameters: type: Type of h26x frame (I, P, B)

##### EncodedFrame & setProfile(Profile profile)

Kind: function

Specifies the encoding profile parameters: profile: Encoding profile

#### dai::FeatureTrackerConfig

Kind: class

FeatureTrackerConfig message. Carries config for feature tracking algorithm

##### RawFeatureTrackerConfig::CornerDetector CornerDetector

Kind: enum

##### RawFeatureTrackerConfig::MotionEstimator MotionEstimator

Kind: enum

##### RawFeatureTrackerConfig::FeatureMaintainer FeatureMaintainer

Kind: enum

##### FeatureTrackerConfig()

Kind: function

Construct FeatureTrackerConfig message.

##### FeatureTrackerConfig(std::shared_ptr< RawFeatureTrackerConfig > ptr)

Kind: function

##### ~FeatureTrackerConfig()

Kind: function

##### FeatureTrackerConfig & setCornerDetector(dai::FeatureTrackerConfig::CornerDetector::Type cornerDetector)

Kind: function

Set corner detector algorithm type. parameters: cornerDetector: Corner detector type, HARRIS or SHI_THOMASI

##### FeatureTrackerConfig & setCornerDetector(dai::FeatureTrackerConfig::CornerDetector config)

Kind: function

Set corner detector full configuration. parameters: config: Corner detector configuration

##### FeatureTrackerConfig & setOpticalFlow()

Kind: function

Set optical flow as motion estimation algorithm type.

##### FeatureTrackerConfig & setOpticalFlow(dai::FeatureTrackerConfig::MotionEstimator::OpticalFlow config)

Kind: function

Set optical flow full configuration. parameters: config: Optical flow configuration

##### FeatureTrackerConfig & setHwMotionEstimation()

Kind: function

Set hardware accelerated motion estimation using block matching. Faster than optical flow (software implementation) but might not
be as accurate.

##### FeatureTrackerConfig & setNumTargetFeatures(std::int32_t numTargetFeatures)

Kind: function

Set number of target features to detect. parameters: numTargetFeatures: Number of features

##### FeatureTrackerConfig & setMotionEstimator(bool enable)

Kind: function

Enable or disable motion estimator. parameters: enable:

##### FeatureTrackerConfig & setMotionEstimator(dai::FeatureTrackerConfig::MotionEstimator config)

Kind: function

Set motion estimator full configuration. parameters: config: Motion estimator configuration

##### FeatureTrackerConfig & setFeatureMaintainer(bool enable)

Kind: function

Enable or disable feature maintainer. parameters: enable:

##### FeatureTrackerConfig & setFeatureMaintainer(dai::FeatureTrackerConfig::FeatureMaintainer config)

Kind: function

Set feature maintainer full configuration. parameters: config: feature maintainer configuration

##### FeatureTrackerConfig & set(dai::RawFeatureTrackerConfig config)

Kind: function

Set explicit configuration. parameters: config: Explicit configuration

##### dai::RawFeatureTrackerConfig get()

Kind: function

Retrieve configuration data for FeatureTracker. return: config for feature tracking algorithm

#### dai::IMUData

Kind: class

IMUData message. Carries normalized detection results

##### std::vector< IMUPacket > & packets

Kind: variable

Detections.

##### IMUData()

Kind: function

Construct IMUData message.

##### IMUData(std::shared_ptr< RawIMUData > ptr)

Kind: function

##### ~IMUData()

Kind: function

#### dai::ImageAlignConfig

Kind: class

ImageAlignConfig message

##### ImageAlignConfig()

Kind: function

##### ImageAlignConfig(std::shared_ptr< RawImageAlignConfig > ptr)

Kind: function

##### ~ImageAlignConfig()

Kind: function

##### ImageAlignConfig & set(dai::RawImageAlignConfig config)

Kind: function

Set explicit configuration. parameters: config: Explicit configuration

##### dai::RawImageAlignConfig get()

Kind: function

Retrieve configuration data for SpatialLocationCalculator. return: config for SpatialLocationCalculator

#### dai::ImageManipConfig

Kind: class

ImageManipConfig message. Specifies image manipulation options like: Crop; Resize; Warp; ...

##### RawImageManipConfig::CropConfig CropConfig

Kind: enum

##### RawImageManipConfig::ResizeConfig ResizeConfig

Kind: enum

##### RawImageManipConfig::FormatConfig FormatConfig

Kind: enum

##### ImageManipConfig()

Kind: function

Construct ImageManipConfig message.

##### ImageManipConfig(std::shared_ptr< RawImageManipConfig > ptr)

Kind: function

##### ~ImageManipConfig()

Kind: function

##### ImageManipConfig & setCropRect(float xmin, float ymin, float xmax, float ymax)

Kind: function

Specifies crop with rectangle with normalized values (0..1) parameters: xmin: Top left X coordinate of rectangle; ymin: Top left Y
coordinate of rectangle; xmax: Bottom right X coordinate of rectangle; ymax: Bottom right Y coordinate of rectangle

##### ImageManipConfig & setCropRect(std::tuple< float, float, float, float > coordinates)

Kind: function

Specifies crop with rectangle with normalized values (0..1) parameters: coordinates: Coordinate of rectangle

##### ImageManipConfig & setCropRotatedRect(RotatedRect rr, bool normalizedCoords)

Kind: function

Specifies crop with rotated rectangle. Optionally as non normalized coordinates parameters: rr: Rotated rectangle which specifies
crop; normalizedCoords: If true coordinates are in normalized range (0..1) otherwise absolute

##### ImageManipConfig & setCenterCrop(float ratio, float whRatio)

Kind: function

Specifies a centered crop. parameters: ratio: Ratio between input image and crop region (0..1); whRatio: Crop region aspect ratio
- 1 equals to square, 1.7 equals to 16:9, ...

##### ImageManipConfig & setWarpTransformFourPoints(std::vector< Point2f > pt, bool normalizedCoords)

Kind: function

Specifies warp by supplying 4 points in either absolute or normalized coordinates parameters: pt: 4 points specifying warp;
normalizedCoords: If true pt is interpreted as normalized, absolute otherwise

##### ImageManipConfig & setWarpTransformMatrix3x3(std::vector< float > mat)

Kind: function

Specifies warp with a 3x3 matrix parameters: mat: 3x3 matrix

##### ImageManipConfig & setWarpBorderReplicatePixels()

Kind: function

Specifies that warp replicates border pixels

##### ImageManipConfig & setWarpBorderFillColor(int red, int green, int blue)

Kind: function

Specifies fill color for border pixels. Example: setWarpBorderFillColor(255,255,255) -> white; setWarpBorderFillColor(0,0,255) ->
blue parameters: red: Red component; green: Green component; blue: Blue component

##### ImageManipConfig & setRotationDegrees(float deg)

Kind: function

Specifies clockwise rotation in degrees parameters: deg: Rotation in degrees

##### ImageManipConfig & setRotationRadians(float rad)

Kind: function

Specifies clockwise rotation in radians parameters: rad: Rotation in radians

##### ImageManipConfig & setResize(int w, int h)

Kind: function

Specifies output image size. After crop stage the image will be stretched to fit. parameters: w: Width in pixels; h: Height in
pixels

##### ImageManipConfig & setResize(std::tuple< int, int > size)

Kind: function

Specifies output image size. After crop stage the image will be stretched to fit. parameters: size: Size in pixels

##### ImageManipConfig & setResizeThumbnail(int w, int h, int bgRed, int bgGreen, int bgBlue)

Kind: function

Specifies output image size. After crop stage the image will be resized by preserving aspect ration. Optionally background can be
specified. parameters: w: Width in pixels; h: Height in pixels; bgRed: Red component; bgGreen: Green component; bgBlue: Blue
component

##### ImageManipConfig & setResizeThumbnail(std::tuple< int, int > size, int bgRed, int bgGreen, int bgBlue)

Kind: function

Specifies output image size. After crop stage the image will be resized by preserving aspect ration. Optionally background can be
specified. parameters: size: Size in pixels; bgRed: Red component; bgGreen: Green component; bgBlue: Blue component

##### ImageManipConfig & setFrameType(ImgFrame::Type name)

Kind: function

Specify output frame type. parameters: name: Frame type

##### ImageManipConfig & setColormap(Colormap colormap, int min, int max)

Kind: function

Specify gray to color conversion map parameters: colormap: map from Colormap enum or Colormap::NONE to disable

##### ImageManipConfig & setColormap(Colormap colormap, float maxf)

Kind: function

##### ImageManipConfig & setColormap(Colormap colormap, int max)

Kind: function

##### ImageManipConfig & setHorizontalFlip(bool flip)

Kind: function

Specify horizontal flip parameters: flip: True to enable flip, false otherwise

##### void setVerticalFlip(bool flip)

Kind: function

Specify vertical flip parameters: flip: True to enable vertical flip, false otherwise

##### ImageManipConfig & setReusePreviousImage(bool reuse)

Kind: function

Instruct ImageManip to not remove current image from its queue and use the same for next message. parameters: reuse: True to
enable reuse, false otherwise

##### ImageManipConfig & setSkipCurrentImage(bool skip)

Kind: function

Instructs ImageManip to skip current image and wait for next in queue. parameters: skip: True to skip current image, false
otherwise

##### ImageManipConfig & setKeepAspectRatio(bool keep)

Kind: function

Specifies to whether to keep aspect ratio or not

##### ImageManipConfig & setInterpolation(dai::Interpolation interpolation)

Kind: function

Specify which interpolation method to use parameters: interpolation: type of interpolation

##### float getCropXMin()

Kind: function

return: Top left X coordinate of crop region

##### float getCropYMin()

Kind: function

return: Top left Y coordinate of crop region

##### float getCropXMax()

Kind: function

return: Bottom right X coordinate of crop region

##### float getCropYMax()

Kind: function

return: Bottom right Y coordinate of crop region

##### int getResizeWidth()

Kind: function

return: Output image width

##### int getResizeHeight()

Kind: function

return: Output image height

##### CropConfig getCropConfig()

Kind: function

return: Crop configuration

##### ResizeConfig getResizeConfig()

Kind: function

return: Resize configuration

##### FormatConfig getFormatConfig()

Kind: function

return: Format configuration

##### bool isResizeThumbnail()

Kind: function

return: True if resize thumbnail mode is set, false otherwise

##### Colormap getColormap()

Kind: function

return: specified colormap

##### ImageManipConfig & set(dai::RawImageManipConfig config)

Kind: function

Set explicit configuration. parameters: config: Explicit configuration

##### dai::RawImageManipConfig get()

Kind: function

Retrieve configuration data for ImageManip. return: config for ImageManip

##### dai::Interpolation getInterpolation()

Kind: function

Retrieve which interpolation method to use.

#### dai::ImgDetections

Kind: class

ImgDetections message. Carries normalized detection results

##### std::vector< ImgDetection > & detections

Kind: variable

Detections.

##### ImgDetections()

Kind: function

Construct ImgDetections message.

##### ImgDetections(std::shared_ptr< RawImgDetections > ptr)

Kind: function

##### ~ImgDetections()

Kind: function

##### ImgDetections & setTimestamp(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration >
timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### ImgDetections & setTimestampDevice(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration >
timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### ImgDetections & setSequenceNum(int64_t sequenceNum)

Kind: function

Retrieves image sequence number

#### dai::ImgFrame

Kind: class

ImgFrame message. Carries image data and metadata.

##### RawImgFrame::Type Type

Kind: enum

##### RawImgFrame::Specs Specs

Kind: enum

##### RawImgFrame::CameraSettings CameraSettings

Kind: enum

##### ImgFrame()

Kind: function

Construct ImgFrame message. Timestamp is set to now

##### ImgFrame(std::shared_ptr< RawImgFrame > ptr)

Kind: function

##### ~ImgFrame()

Kind: function

##### std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > getTimestamp(CameraExposureOffset
offset)

Kind: function

Retrieves image timestamp (at the specified offset of exposure) related to dai::Clock::now()

##### std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration >
getTimestampDevice(CameraExposureOffset offset)

Kind: function

Retrieves image timestamp (at the specified offset of exposure) directly captured from device's monotonic clock, not synchronized
to host time. Used when monotonicity is required.

##### unsigned int getInstanceNum()

Kind: function

Retrieves instance number

##### unsigned int getCategory()

Kind: function

Retrieves image category

##### unsigned int getWidth()

Kind: function

Retrieves image width in pixels

##### unsigned int getHeight()

Kind: function

Retrieves image height in pixels

##### Type getType()

Kind: function

Retrieves image type

##### std::chrono::microseconds getExposureTime()

Kind: function

Retrieves exposure time

##### int getSensitivity()

Kind: function

Retrieves sensitivity, as an ISO value

##### int getColorTemperature()

Kind: function

Retrieves white-balance color temperature of the light source, in kelvins

##### int getLensPosition()

Kind: function

Retrieves lens position, range 0..255. Returns -1 if not available

##### float getLensPositionRaw()

Kind: function

Retrieves lens position, range 0.0f..1.0f. Returns -1 if not available

##### ImgFrame & setTimestamp(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > timestamp)

Kind: function

Retrieves image timestamp related to dai::Clock::now()

##### ImgFrame & setTimestampDevice(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration >
timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### ImgFrame & setInstanceNum(unsigned int instance)

Kind: function

Instance number relates to the origin of the frame (which camera) parameters: instance: Instance number

##### ImgFrame & setCategory(unsigned int category)

Kind: function

parameters: category: Image category

##### ImgFrame & setSequenceNum(int64_t seq)

Kind: function

Specifies sequence number parameters: seq: Sequence number

##### ImgFrame & setWidth(unsigned int width)

Kind: function

Specifies frame width parameters: width: frame width

##### ImgFrame & setHeight(unsigned int height)

Kind: function

Specifies frame height parameters: height: frame height

##### ImgFrame & setSize(unsigned int width, unsigned int height)

Kind: function

Specifies frame size parameters: height: frame height; width: frame width

##### ImgFrame & setSize(std::tuple< unsigned int, unsigned int > size)

Kind: function

Specifies frame size parameters: size: frame size

##### ImgFrame & setType(Type type)

Kind: function

Specifies frame type, RGB, BGR, ... parameters: type: Type of image

##### ImgFrame & setFrame(cv::Mat frame)

Kind: function

note: This API only available if OpenCV support is enabled ImgFrame buffer parameters: frame: Input cv::Mat frame from which to
copy the data

##### cv::Mat getFrame(bool copy)

Kind: function

note: This API only available if OpenCV support is enabled parameters: copy: If false only a reference to data is made, otherwise
a copy return: cv::Mat with corresponding to ImgFrame parameters

##### cv::Mat getCvFrame()

Kind: function

note: This API only available if OpenCV support is enabled ImgFrame is converted to color BGR interleaved or grayscale depending
on type. A copy is always made return: cv::Mat for use in opencv functions

##### std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > getTimestamp()

Kind: function

Retrieves timestamp related to dai::Clock::now()

##### std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > getTimestampDevice()

Kind: function

Retrieves timestamp directly captured from device's monotonic clock, not synchronized to host time. Used mostly for debugging

#### dai::MessageGroup

Kind: class

MessageGroup message. Carries multiple messages in one.

##### MessageGroup()

Kind: function

Construct MessageGroup message.

##### MessageGroup(std::shared_ptr< RawMessageGroup > ptr)

Kind: function

##### ~MessageGroup()

Kind: function

##### std::shared_ptr< ADatatype > operator[](const std::string & name)

Kind: function

Group.

##### std::shared_ptr< T > get(const std::string & name)

Kind: function

##### void add(const std::string & name, const std::shared_ptr< ADatatype > & value)

Kind: function

##### void add(const std::string & name, const T & value)

Kind: function

##### std::unordered_map< std::string, std::shared_ptr< ADatatype > >::iterator begin()

Kind: function

##### std::unordered_map< std::string, std::shared_ptr< ADatatype > >::iterator end()

Kind: function

##### bool isSynced(int64_t thresholdNs)

Kind: function

True if all messages in the group are in the interval parameters: thresholdNs: Maximal interval between messages

##### int64_t getIntervalNs()

Kind: function

Retrieves interval between the first and the last message in the group.

##### int64_t getNumMessages()

Kind: function

##### std::vector< std::string > getMessageNames()

Kind: function

Gets the names of messages in the group

##### MessageGroup & setTimestamp(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration >
timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### MessageGroup & setTimestampDevice(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration >
timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### MessageGroup & setSequenceNum(int64_t sequenceNum)

Kind: function

Retrieves image sequence number

#### dai::NNData

Kind: class

NNData message. Carries tensors and their metadata

##### NNData()

Kind: function

Construct NNData message.

##### NNData(std::shared_ptr< RawNNData > ptr)

Kind: function

##### ~NNData()

Kind: function

##### NNData & setLayer(const std::string & name, std::vector< std::uint8_t > data)

Kind: function

Set a layer with datatype U8. parameters: name: Name of the layer; data: Data to store

##### NNData & setLayer(const std::string & name, const std::vector< int > & data)

Kind: function

Set a layer with datatype U8. Integers are cast to bytes. parameters: name: Name of the layer; data: Data to store

##### NNData & setLayer(const std::string & name, std::vector< float > data)

Kind: function

Set a layer with datatype FP16. Float values are converted to FP16. parameters: name: Name of the layer; data: Data to store

##### NNData & setLayer(const std::string & name, std::vector< double > data)

Kind: function

Set a layer with datatype FP16. Double values are converted to FP16. parameters: name: Name of the layer; data: Data to store

##### std::vector< std::string > getAllLayerNames()

Kind: function

return: Names of all layers added

##### std::vector< TensorInfo > getAllLayers()

Kind: function

return: All layers and their information

##### bool getLayer(const std::string & name, TensorInfo & tensor)

Kind: function

Retrieve layers tensor information parameters: name: Name of the layer; tensor: Outputs tensor information of that layer return:
True if layer exists, false otherwise

##### bool hasLayer(const std::string & name)

Kind: function

Checks if given layer exists parameters: name: Name of the layer return: True if layer exists, false otherwise

##### bool getLayerDatatype(const std::string & name, TensorInfo::DataType & datatype)

Kind: function

Retrieve datatype of a layers tensor parameters: name: Name of the layer; datatype: Datatype of layers tensor return: True if
layer exists, false otherwise

##### std::vector< std::uint8_t > getLayerUInt8(const std::string & name)

Kind: function

Convenience function to retrieve U8 data from layer parameters: name: Name of the layer return: U8 binary data

##### std::vector< float > getLayerFp16(const std::string & name)

Kind: function

Convenience function to retrieve float values from layers FP16 tensor parameters: name: Name of the layer return: Float data

##### std::vector< std::int32_t > getLayerInt32(const std::string & name)

Kind: function

Convenience function to retrieve INT32 values from layers tensor parameters: name: Name of the layer return: INT32 data

##### std::vector< std::uint8_t > getFirstLayerUInt8()

Kind: function

Convenience function to retrieve U8 data from first layer return: U8 binary data

##### std::vector< float > getFirstLayerFp16()

Kind: function

Convenience function to retrieve float values from first layers FP16 tensor return: Float data

##### std::vector< std::int32_t > getFirstLayerInt32()

Kind: function

Convenience function to retrieve INT32 values from first layers tensor return: INT32 data

##### NNData & setTimestamp(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### NNData & setTimestampDevice(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration >
timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### NNData & setSequenceNum(int64_t sequenceNum)

Kind: function

Retrieves image sequence number

#### dai::ObjectTrackerConfig

Kind: class

ObjectTrackerConfig message. Carries ROI (region of interest) and threshold for depth calculation

##### ObjectTrackerConfig()

Kind: function

Construct ObjectTrackerConfig message.

##### ObjectTrackerConfig(std::shared_ptr< RawObjectTrackerConfig > ptr)

Kind: function

##### ~ObjectTrackerConfig()

Kind: function

##### ObjectTrackerConfig & set(dai::RawObjectTrackerConfig config)

Kind: function

Set explicit configuration. parameters: config: Explicit configuration

##### dai::RawObjectTrackerConfig get()

Kind: function

Retrieve configuration data for SpatialLocationCalculator. return: config for SpatialLocationCalculator

##### ObjectTrackerConfig & forceRemoveID(int32_t id)

Kind: function

##### ObjectTrackerConfig & forceRemoveIDs(std::vector< int32_t > ids)

Kind: function

#### dai::PointCloudConfig

Kind: class

PointCloudConfig message. Carries ROI (region of interest) and threshold for depth calculation

##### PointCloudConfig()

Kind: function

Construct PointCloudConfig message.

##### PointCloudConfig(std::shared_ptr< RawPointCloudConfig > ptr)

Kind: function

##### ~PointCloudConfig()

Kind: function

##### PointCloudConfig & set(dai::RawPointCloudConfig config)

Kind: function

Set explicit configuration. parameters: config: Explicit configuration

##### dai::RawPointCloudConfig get()

Kind: function

Retrieve configuration data for SpatialLocationCalculator. return: config for SpatialLocationCalculator

##### bool getSparse()

Kind: function

Retrieve sparse point cloud calculation status. return: true if sparse point cloud calculation is enabled, false otherwise

##### std::array< std::array< float, 4 >, 4 > getTransformationMatrix()

Kind: function

Retrieve transformation matrix for point cloud calculation. return: 4x4 transformation matrix

##### PointCloudConfig & setSparse(bool enable)

Kind: function

Enable or disable sparse point cloud calculation. parameters: enable:

##### PointCloudConfig & setTransformationMatrix(const std::array< std::array< float, 4 >, 4 > & transformationMatrix)

Kind: function

Set 4x4 transformation matrix for point cloud calculation. Default is an identity matrix. parameters: transformationMatrix:

##### PointCloudConfig & setTransformationMatrix(const std::array< std::array< float, 3 >, 3 > & transformationMatrix)

Kind: function

Set 3x3 transformation matrix for point cloud calculation. Default is an identity matrix. parameters: transformationMatrix:

#### dai::PointCloudData

Kind: class

PointCloudData message. Carries point cloud data.

##### dai::PointCloudData::dependent_false

Kind: struct

##### PointCloudData()

Kind: function

Construct PointCloudData message.

##### PointCloudData(std::shared_ptr< RawPointCloudData > ptr)

Kind: function

##### ~PointCloudData()

Kind: function

##### std::vector< Point3f > & getPoints()

Kind: function

##### unsigned int getInstanceNum()

Kind: function

Retrieves instance number

##### unsigned int getWidth()

Kind: function

Retrieves the height in pixels - in case of a sparse point cloud, this represents the hight of the frame which was used to
generate the point cloud

##### unsigned int getHeight()

Kind: function

Retrieves the height in pixels - in case of a sparse point cloud, this represents the hight of the frame which was used to
generate the point cloud

##### float getMinX()

Kind: function

Retrieves minimal x coordinate in depth units (millimeter by default)

##### float getMinY()

Kind: function

Retrieves minimal y coordinate in depth units (millimeter by default)

##### float getMinZ()

Kind: function

Retrieves minimal z coordinate in depth units (millimeter by default)

##### float getMaxX()

Kind: function

Retrieves maximal x coordinate in depth units (millimeter by default)

##### float getMaxY()

Kind: function

Retrieves maximal y coordinate in depth units (millimeter by default)

##### float getMaxZ()

Kind: function

Retrieves maximal z coordinate in depth units (millimeter by default)

##### bool isSparse()

Kind: function

Retrieves whether point cloud is sparse

##### PointCloudData & setTimestamp(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration >
timestamp)

Kind: function

Retrieves image timestamp related to dai::Clock::now()

##### PointCloudData & setTimestampDevice(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration
> timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### PointCloudData & setInstanceNum(unsigned int instance)

Kind: function

Instance number relates to the origin of the frame (which camera) parameters: instance: Instance number

##### PointCloudData & setSequenceNum(int64_t seq)

Kind: function

Specifies sequence number parameters: seq: Sequence number

##### PointCloudData & setWidth(unsigned int width)

Kind: function

Specifies frame width parameters: width: frame width

##### PointCloudData & setHeight(unsigned int height)

Kind: function

Specifies frame height parameters: height: frame height

##### PointCloudData & setSize(unsigned int width, unsigned int height)

Kind: function

Specifies frame size parameters: height: frame height; width: frame width

##### PointCloudData & setSize(std::tuple< unsigned int, unsigned int > size)

Kind: function

Specifies frame size parameters: size: frame size

##### PointCloudData & setMinX(float val)

Kind: function

Specifies minimal x coordinate in depth units (millimeter by default) parameters: val: minimal x coordinate in depth units
(millimeter by default)

##### PointCloudData & setMinY(float val)

Kind: function

Specifies minimal y coordinate in depth units (millimeter by default) parameters: val: minimal y coordinate in depth units
(millimeter by default)

##### PointCloudData & setMinZ(float val)

Kind: function

Specifies minimal z coordinate in depth units (millimeter by default) parameters: val: minimal z coordinate in depth units
(millimeter by default)

##### PointCloudData & setMaxX(float val)

Kind: function

Specifies maximal x coordinate in depth units (millimeter by default) parameters: val: maximal x coordinate in depth units
(millimeter by default)

##### PointCloudData & setMaxY(float val)

Kind: function

Specifies maximal y coordinate in depth units (millimeter by default) parameters: val: maximal y coordinate in depth units
(millimeter by default)

##### PointCloudData & setMaxZ(float val)

Kind: function

Specifies maximal z coordinate in depth units (millimeter by default) parameters: val: maximal z coordinate in depth units
(millimeter by default)

##### void getPclData()

Kind: function

##### int64_t getSequenceNum()

Kind: function

Retrieves sequence number

##### std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > getTimestamp()

Kind: function

Retrieves timestamp related to dai::Clock::now()

##### std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > getTimestampDevice()

Kind: function

Retrieves timestamp directly captured from device's monotonic clock, not synchronized to host time. Used mostly for debugging

#### dai::SpatialImgDetections

Kind: class

SpatialImgDetections message. Carries detection results together with spatial location data

##### std::vector< SpatialImgDetection > & detections

Kind: variable

Detection results.

##### SpatialImgDetections()

Kind: function

Construct SpatialImgDetections message.

##### SpatialImgDetections(std::shared_ptr< RawSpatialImgDetections > ptr)

Kind: function

##### ~SpatialImgDetections()

Kind: function

##### SpatialImgDetections & setTimestamp(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration
> timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### SpatialImgDetections & setTimestampDevice(std::chrono::time_point< std::chrono::steady_clock,
std::chrono::steady_clock::duration > timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### SpatialImgDetections & setSequenceNum(int64_t sequenceNum)

Kind: function

Retrieves image sequence number

#### dai::SpatialLocationCalculatorConfig

Kind: class

SpatialLocationCalculatorConfig message. Carries ROI (region of interest) and threshold for depth calculation

##### SpatialLocationCalculatorConfig()

Kind: function

Construct SpatialLocationCalculatorConfig message.

##### SpatialLocationCalculatorConfig(std::shared_ptr< RawSpatialLocationCalculatorConfig > ptr)

Kind: function

##### ~SpatialLocationCalculatorConfig()

Kind: function

##### void setROIs(std::vector< SpatialLocationCalculatorConfigData > ROIs)

Kind: function

Set a vector of ROIs as configuration data. parameters: ROIs: Vector of configuration parameters for ROIs (region of interests)

##### void addROI(SpatialLocationCalculatorConfigData & ROI)

Kind: function

Add a new ROI to configuration data. parameters: roi: Configuration parameters for ROI (region of interest)

##### std::vector< SpatialLocationCalculatorConfigData > getConfigData()

Kind: function

Retrieve configuration data for SpatialLocationCalculator return: Vector of configuration parameters for ROIs (region of
interests)

##### SpatialLocationCalculatorConfig & set(dai::RawSpatialLocationCalculatorConfig config)

Kind: function

Set explicit configuration. parameters: config: Explicit configuration

##### dai::RawSpatialLocationCalculatorConfig get()

Kind: function

Retrieve configuration data for SpatialLocationCalculator. return: config for SpatialLocationCalculator

#### dai::SpatialLocationCalculatorData

Kind: class

SpatialLocationCalculatorData message. Carries spatial information (X,Y,Z) and their configuration parameters

##### std::vector< SpatialLocations > & spatialLocations

Kind: variable

##### SpatialLocationCalculatorData()

Kind: function

Construct SpatialLocationCalculatorData message.

##### SpatialLocationCalculatorData(std::shared_ptr< RawSpatialLocations > ptr)

Kind: function

##### ~SpatialLocationCalculatorData()

Kind: function

##### std::vector< SpatialLocations > & getSpatialLocations()

Kind: function

Retrieve configuration data for SpatialLocationCalculatorData . return: Vector of spatial location data, carrying spatial
information (X,Y,Z)

##### SpatialLocationCalculatorData & setTimestamp(std::chrono::time_point< std::chrono::steady_clock,
std::chrono::steady_clock::duration > timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### SpatialLocationCalculatorData & setTimestampDevice(std::chrono::time_point< std::chrono::steady_clock,
std::chrono::steady_clock::duration > timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### SpatialLocationCalculatorData & setSequenceNum(int64_t sequenceNum)

Kind: function

Retrieves image sequence number

#### dai::StereoDepthConfig

Kind: class

StereoDepthConfig message.

##### dai::MedianFilter MedianFilter

Kind: enum

##### RawStereoDepthConfig::AlgorithmControl AlgorithmControl

Kind: enum

##### RawStereoDepthConfig::PostProcessing PostProcessing

Kind: enum

##### RawStereoDepthConfig::CensusTransform CensusTransform

Kind: enum

##### RawStereoDepthConfig::CostMatching CostMatching

Kind: enum

##### RawStereoDepthConfig::CostAggregation CostAggregation

Kind: enum

##### StereoDepthConfig()

Kind: function

Construct StereoDepthConfig message.

##### StereoDepthConfig(std::shared_ptr< RawStereoDepthConfig > ptr)

Kind: function

##### ~StereoDepthConfig()

Kind: function

##### StereoDepthConfig & setDepthAlign(AlgorithmControl::DepthAlign align)

Kind: function

parameters: align: Set the disparity/depth alignment: centered (between the 'left' and 'right' inputs), or from the perspective of
a rectified output stream

##### StereoDepthConfig & setConfidenceThreshold(int confThr)

Kind: function

Confidence threshold for disparity calculation parameters: confThr: Confidence threshold value 0..255

##### int getConfidenceThreshold()

Kind: function

Get confidence threshold for disparity calculation

##### StereoDepthConfig & setMedianFilter(MedianFilter median)

Kind: function

parameters: median: Set kernel size for disparity/depth median filtering, or disable

##### MedianFilter getMedianFilter()

Kind: function

Get median filter setting

##### StereoDepthConfig & setBilateralFilterSigma(uint16_t sigma)

Kind: function

A larger value of the parameter means that farther colors within the pixel neighborhood will be mixed together, resulting in
larger areas of semi-equal color. parameters: sigma: Set sigma value for 5x5 bilateral filter. 0..65535

##### uint16_t getBilateralFilterSigma()

Kind: function

Get sigma value for 5x5 bilateral filter

##### StereoDepthConfig & setLeftRightCheckThreshold(int threshold)

Kind: function

parameters: threshold: Set threshold for left-right, right-left disparity map combine, 0..255

##### int getLeftRightCheckThreshold()

Kind: function

Get threshold for left-right check combine

##### StereoDepthConfig & setLeftRightCheck(bool enable)

Kind: function

Computes and combines disparities in both L-R and R-L directions, and combine them. For better occlusion handling, discarding
invalid disparity values

##### StereoDepthConfig & setExtendedDisparity(bool enable)

Kind: function

Disparity range increased from 95 to 190, combined from full resolution and downscaled images. Suitable for short range objects

##### StereoDepthConfig & setSubpixel(bool enable)

Kind: function

Computes disparity with sub-pixel interpolation (3 fractional bits by default). Suitable for long range. Currently incompatible
with extended disparity

##### StereoDepthConfig & setSubpixelFractionalBits(int subpixelFractionalBits)

Kind: function

Number of fractional bits for subpixel mode. Default value: 3. Valid values: 3,4,5. Defines the number of fractional disparities:
2^x. Median filter postprocessing is supported only for 3 fractional bits.

##### StereoDepthConfig & setDepthUnit(AlgorithmControl::DepthUnit depthUnit)

Kind: function

Set depth unit of depth map. Meter, centimeter, millimeter, inch, foot or custom unit is available.

##### StereoDepthConfig & setDisparityShift(int disparityShift)

Kind: function

Shift input frame by a number of pixels to increase minimum depth. For example shifting by 48 will change effective disparity
search range from (0,95] to [48,143]. An alternative approach to reducing the minZ. We normally only recommend doing this when it
is known that there will be no objects farther away than MaxZ, such as having a depth camera mounted above a table pointing down
at the table surface.

##### StereoDepthConfig & setNumInvalidateEdgePixels(int32_t numInvalidateEdgePixels)

Kind: function

Invalidate X amount of pixels at the edge of disparity frame. For right and center alignment X pixels will be invalidated from the
right edge, for left alignment from the left edge.

##### AlgorithmControl::DepthUnit getDepthUnit()

Kind: function

Get depth unit of depth map.

##### float getMaxDisparity()

Kind: function

Useful for normalization of the disparity map. return: Maximum disparity value that the node can return

##### StereoDepthConfig & set(dai::RawStereoDepthConfig config)

Kind: function

Set explicit configuration. parameters: config: Explicit configuration

##### dai::RawStereoDepthConfig get()

Kind: function

Retrieve configuration data for StereoDepth. return: config for stereo depth algorithm

#### dai::StreamMessageParser

Kind: class

#### dai::SystemInformation

Kind: class

SystemInformation message. Carries memory usage, cpu usage and chip temperatures.

##### MemoryInfo & ddrMemoryUsage

Kind: variable

##### MemoryInfo & cmxMemoryUsage

Kind: variable

##### MemoryInfo & leonCssMemoryUsage

Kind: variable

##### MemoryInfo & leonMssMemoryUsage

Kind: variable

##### CpuUsage & leonCssCpuUsage

Kind: variable

##### CpuUsage & leonMssCpuUsage

Kind: variable

##### ChipTemperature & chipTemperature

Kind: variable

##### SystemInformation()

Kind: function

Construct SystemInformation message.

##### SystemInformation(std::shared_ptr< RawSystemInformation > ptr)

Kind: function

##### ~SystemInformation()

Kind: function

#### dai::ToFConfig

Kind: class

ToFConfig message. Carries config for feature tracking algorithm

##### ToFConfig()

Kind: function

Construct ToFConfig message.

##### ToFConfig(std::shared_ptr< RawToFConfig > ptr)

Kind: function

##### ~ToFConfig()

Kind: function

##### ToFConfig & setMedianFilter(MedianFilter median)

Kind: function

parameters: median: Set kernel size for median filtering, or disable

##### ToFConfig & set(dai::RawToFConfig config)

Kind: function

Set explicit configuration. parameters: config: Explicit configuration

##### dai::RawToFConfig get()

Kind: function

Retrieve configuration data for ToF. return: config for feature tracking algorithm

#### dai::TrackedFeatures

Kind: class

TrackedFeatures message. Carries position (X, Y) of tracked features and their ID.

##### std::vector< TrackedFeature > & trackedFeatures

Kind: variable

##### TrackedFeatures()

Kind: function

Construct TrackedFeatures message.

##### TrackedFeatures(std::shared_ptr< RawTrackedFeatures > ptr)

Kind: function

##### ~TrackedFeatures()

Kind: function

##### TrackedFeatures & setTimestamp(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration >
timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### TrackedFeatures & setTimestampDevice(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration
> timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### TrackedFeatures & setSequenceNum(int64_t sequenceNum)

Kind: function

Retrieves image sequence number

#### dai::Tracklets

Kind: class

Tracklets message. Carries object tracking information.

##### std::vector< Tracklet > & tracklets

Kind: variable

Retrieve data for Tracklets . return: Vector of object tracker data, carrying tracking information.

##### Tracklets()

Kind: function

Construct Tracklets message.

##### Tracklets(std::shared_ptr< RawTracklets > ptr)

Kind: function

##### ~Tracklets()

Kind: function

##### Tracklets & setTimestamp(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration >
timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### Tracklets & setTimestampDevice(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration >
timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

##### Tracklets & setSequenceNum(int64_t sequenceNum)

Kind: function

Retrieves image sequence number

#### dai::LockingQueue

Kind: class

##### LockingQueue()

Kind: function

##### LockingQueue(unsigned maxSize, bool blocking)

Kind: function

##### void setMaxSize(unsigned sz)

Kind: function

##### void setBlocking(bool bl)

Kind: function

##### unsigned getMaxSize()

Kind: function

##### bool getBlocking()

Kind: function

##### void destruct()

Kind: function

##### ~LockingQueue()

Kind: function

##### bool waitAndConsumeAll(std::function< void(T &)> callback, std::chrono::duration< Rep, Period > timeout)

Kind: function

##### bool waitAndConsumeAll(std::function< void(T &)> callback)

Kind: function

##### bool consumeAll(std::function< void(T &)> callback)

Kind: function

##### bool push(T const & data)

Kind: function

##### bool tryWaitAndPush(T const & data, std::chrono::duration< Rep, Period > timeout)

Kind: function

##### bool empty()

Kind: function

##### bool front(T & value)

Kind: function

##### bool tryPop(T & value)

Kind: function

##### bool waitAndPop(T & value)

Kind: function

##### bool tryWaitAndPop(T & value, std::chrono::duration< Rep, Period > timeout)

Kind: function

##### void waitEmpty()

Kind: function

#### dai::Path

Kind: class

Represents paths on a filesystem; accepts utf-8, Windows utf-16 wchar_t, or std::filesystem::path.

It is suitable for direct use with OS APIs. Features are limited to character-set conversion of paths. It is not intended as a
full replacement for std::filesystem::path

##### char value_type

Kind: enum

character used by native-encoding of filesystem

##### std::basic_string< value_type > string_type

Kind: enum

##### Path()

Kind: function

##### ~Path()

Kind: function

##### Path(const Path &)

Kind: function

##### Path(Path &&)

Kind: function

##### Path & operator=(const Path &)

Kind: function

##### Path & operator=(Path &&)

Kind: function

##### Path(string_type && source)

Kind: function

Construct Path object from source.

parameters: source: native-encoding character sequence; no conversion

##### Path(const string_type & source)

Kind: function

Construct Path object from source.

parameters: source: native-encoding character sequence; no conversion

##### Path(const value_type * source)

Kind: function

Construct Path object from source.

parameters: source: pointer to null-terminated native-encoding character sequence; no conversion

##### std::string string()

Kind: function

Get path in native-encoding string; no conversion.

return: std::string

##### std::string u8string()

Kind: function

Get path in utf-8.

return: std::string in utf-8

##### operator string_type()

Kind: function

Implicitly convert to native-encoding string, suitable for use with OS APIs.

return: std::string of utf-8 on most OSs, std::wstring of utf-16 on Windows

##### const string_type & native()

Kind: function

Returns native-encoding string by const reference, suitable for use with OS APIs.

return: const std::string& of utf-8 on most OSs, const std::wstring& of utf-16 on Windows

##### bool empty()

Kind: function

Observes if path is empty (contains no string/folders/filename)

return: bool true if the path is empty, false otherwise

#### dai::Pimpl

Kind: class

##### Pimpl()

Kind: function

##### Pimpl(Args && ...)

Kind: function

##### ~Pimpl()

Kind: function

##### T * operator->()

Kind: function

##### T & operator*()

Kind: function

#### dai::ProfilingData

Kind: struct

##### long long numBytesWritten

Kind: variable

##### long long numBytesRead

Kind: variable

#### dai::copyable_unique_ptr

Kind: class

A smart pointer with deep copy semantics. This is Generally, the API is modeled as closely as possible on the C++ standard This
class is entirely inline and has no computational or space overhead except when copying is required; it contains just a single
pointer and does no reference counting. In the simplest use case, the instantiation type will match the type of object it
references, e.g.: copyable_unique_ptr can also be used with polymorphic classes This works for well-designed polymorphic classes.
warning: Ill-formed polymorphic classes can lead to fatal type slicing of the referenced object, such that the new copy contains
an instance of The parameters: T: The type of the contained object, which

#### dai::DeviceInfo

Kind: struct

Describes a connected device

##### std::string name

Kind: variable

##### std::string mxid

Kind: variable

##### XLinkDeviceState_t state

Kind: variable

##### XLinkProtocol_t protocol

Kind: variable

##### XLinkPlatform_t platform

Kind: variable

##### XLinkError_t status

Kind: variable

##### DeviceInfo()

Kind: function

##### DeviceInfo(std::string name, std::string mxid, XLinkDeviceState_t state, XLinkProtocol_t protocol, XLinkPlatform_t platform,
XLinkError_t status)

Kind: function

##### DeviceInfo(std::string mxidOrName)

Kind: function

Creates a DeviceInfo by checking whether supplied parameter is a MXID or IP/USB name parameters: mxidOrName: Either MXID, IP
Address or USB port name

##### DeviceInfo(const deviceDesc_t & desc)

Kind: function

##### deviceDesc_t getXLinkDeviceDesc()

Kind: function

##### std::string getMxId()

Kind: function

##### std::string toString()

Kind: function

#### dai::XLinkConnection

Kind: class

Represents connection between host and device over XLink protocol

##### XLinkConnection(const DeviceInfo & deviceDesc, std::vector< std::uint8_t > mvcmdBinary, XLinkDeviceState_t expectedState)

Kind: function

##### XLinkConnection(const DeviceInfo & deviceDesc, dai::Path pathToMvcmd, XLinkDeviceState_t expectedState)

Kind: function

##### XLinkConnection(const DeviceInfo & deviceDesc, XLinkDeviceState_t expectedState)

Kind: function

##### ~XLinkConnection()

Kind: function

##### void setRebootOnDestruction(bool reboot)

Kind: function

##### bool getRebootOnDestruction()

Kind: function

##### int getLinkId()

Kind: function

##### void close()

Kind: function

Explicitly closes xlink connection. note: This function does not need to be explicitly called as destructor closes the connection
automatically

##### bool isClosed()

Kind: function

Is the connection already closed (or disconnected) warning: This function is thread-unsafe and may return outdated incorrect
values. It is only meant for use in simple single-threaded code. Well written code should handle exceptions when calling any
DepthAI apis to handle hardware events and multithreaded use.

##### ProfilingData getProfilingData()

Kind: function

Get current accumulated profiling data return: ProfilingData from the specific connection

#### dai::StreamPacketDesc

Kind: class

##### StreamPacketDesc()

Kind: function

##### StreamPacketDesc(const StreamPacketDesc &)

Kind: function

##### StreamPacketDesc(StreamPacketDesc && other)

Kind: function

##### StreamPacketDesc & operator=(const StreamPacketDesc &)

Kind: function

##### StreamPacketDesc & operator=(StreamPacketDesc && other)

Kind: function

##### ~StreamPacketDesc()

Kind: function

#### dai::XLinkStream

Kind: class

##### XLinkStream(const std::shared_ptr< XLinkConnection > conn, const std::string & name, std::size_t maxWriteSize)

Kind: function

##### XLinkStream(const XLinkStream &)

Kind: function

##### XLinkStream(XLinkStream && stream)

Kind: function

##### XLinkStream & operator=(const XLinkStream &)

Kind: function

##### XLinkStream & operator=(XLinkStream && stream)

Kind: function

##### ~XLinkStream()

Kind: function

##### void write(const void * data, std::size_t size)

Kind: function

##### void write(const std::uint8_t * data, std::size_t size)

Kind: function

##### void write(const std::vector< std::uint8_t > & data)

Kind: function

##### std::vector< std::uint8_t > read()

Kind: function

##### std::vector< std::uint8_t > read(std::chrono::milliseconds timeout)

Kind: function

##### std::vector< std::uint8_t > read(XLinkTimespec & timestampReceived)

Kind: function

##### void read(std::vector< std::uint8_t > & data)

Kind: function

##### void read(std::vector< std::uint8_t > & data, XLinkTimespec & timestampReceived)

Kind: function

##### void writeSplit(const void * data, std::size_t size, std::size_t split)

Kind: function

##### void writeSplit(const std::vector< uint8_t > & data, std::size_t split)

Kind: function

##### StreamPacketDesc readMove()

Kind: function

##### bool write(const void * data, std::size_t size, std::chrono::milliseconds timeout)

Kind: function

##### bool write(const std::uint8_t * data, std::size_t size, std::chrono::milliseconds timeout)

Kind: function

##### bool write(const std::vector< std::uint8_t > & data, std::chrono::milliseconds timeout)

Kind: function

##### bool read(std::vector< std::uint8_t > & data, std::chrono::milliseconds timeout)

Kind: function

##### bool readMove(StreamPacketDesc & packet, const std::chrono::milliseconds timeout)

Kind: function

##### streamPacketDesc_t * readRaw()

Kind: function

##### bool readRaw(streamPacketDesc_t *& pPacket, std::chrono::milliseconds timeout)

Kind: function

##### void readRawRelease()

Kind: function

##### streamId_t getStreamId()

Kind: function

#### dai::XLinkError

Kind: struct

##### const XLinkError_t status

Kind: variable

##### const std::string streamName

Kind: variable

##### XLinkError(XLinkError_t statusID, std::string stream, const std::string & message)

Kind: function

#### dai::XLinkReadError

Kind: struct

##### XLinkError XLinkError

Kind: enum

##### XLinkReadError(XLinkError_t status, const std::string & stream)

Kind: function

#### dai::XLinkWriteError

Kind: struct

##### XLinkError XLinkError

Kind: enum

##### XLinkWriteError(XLinkError_t status, const std::string & stream)

Kind: function

#### dai::CameraSensorConfig

Kind: struct

Sensor config

##### std::int32_t width

Kind: variable

Width and height in number of output pixels.

##### std::int32_t height

Kind: variable

##### float minFps

Kind: variable

##### float maxFps

Kind: variable

##### Rect fov

Kind: variable

Sensor active view area in physical area [pixels].

##### CameraSensorType type

Kind: variable

#### dai::CameraFeatures

Kind: struct

CameraFeatures structure Characterizes detected cameras on board

##### CameraBoardSocket socket

Kind: variable

Board socket where the camera was detected

##### std::string sensorName

Kind: variable

Camera sensor name, e.g: "IMX378", "OV9282"

##### std::int32_t width

Kind: variable

Maximum sensor resolution

##### std::int32_t height

Kind: variable

##### CameraImageOrientation orientation

Kind: variable

Default camera orientation, board dependent

##### std::vector< CameraSensorType > supportedTypes

Kind: variable

List of supported types of processing for the given camera. For some sensors it's not possible to determine if they are color or
mono (e.g. OV9782 and OV9282), so this could return more than one entry

##### bool hasAutofocusIC

Kind: variable

Whether an autofocus VCM IC was detected

##### bool hasAutofocus

Kind: variable

Whether camera has auto focus capabilities, or is a fixed focus lens

##### std::string name

Kind: variable

Camera name or alias

##### std::vector< std::string > additionalNames

Kind: variable

Additional camera names or aliases

##### std::vector< CameraSensorConfig > configs

Kind: variable

Available sensor configs

##### tl::optional< CameraSensorConfig > calibrationResolution

Kind: variable

The resolution which should be used for calibration.

##### DEPTHAI_SERIALIZE(CameraFeatures, socket, sensorName, width, height, orientation, supportedTypes, hasAutofocusIC,
hasAutofocus, name, additionalNames, configs, calibrationResolution)

Kind: function

#### dai::CameraInfo

Kind: struct

CameraInfo structure.

##### uint16_t width

Kind: variable

##### uint16_t height

Kind: variable

##### uint8_t lensPosition

Kind: variable

##### std::vector< std::vector< float > > intrinsicMatrix

Kind: variable

##### std::vector< float > distortionCoeff

Kind: variable

##### Extrinsics extrinsics

Kind: variable

##### float specHfovDeg

Kind: variable

##### CameraModel cameraType

Kind: variable

##### DEPTHAI_SERIALIZE(CameraInfo, cameraType, width, height, specHfovDeg, lensPosition, intrinsicMatrix, distortionCoeff,
extrinsics)

Kind: function

#### dai::ChipTemperature

Kind: struct

Chip temperature information. Multiple temperature measurement points and their average

##### float css

Kind: variable

CPU Subsystem

##### float mss

Kind: variable

Media Subsystem

##### float upa

Kind: variable

Shave Array

##### float dss

Kind: variable

DRAM Subsystem

##### float average

Kind: variable

Average of measurements

#### dai::CpuUsage

Kind: struct

CpuUsage structure Average usage in percent and time span of the average (since last query)

##### float average

Kind: variable

Average CPU usage, expressed with a normalized value (0-1)

##### int32_t msTime

Kind: variable

Time span in which the average was calculated in milliseconds

#### dai::DetectionParserOptions

Kind: struct

DetectionParserOptions Specifies how to parse output of detection networks

##### DetectionNetworkType nnFamily

Kind: variable

Generic Neural Network properties.

##### float confidenceThreshold

Kind: variable

##### int classes

Kind: variable

YOLO specific network properties.

##### int coordinates

Kind: variable

##### std::vector< float > anchors

Kind: variable

##### std::map< std::string, std::vector< int > > anchorMasks

Kind: variable

##### float iouThreshold

Kind: variable

#### dai::EepromData

Kind: struct

EepromData structure Contains the Calibration and Board data stored on device

##### uint32_t version

Kind: variable

##### std::string productName

Kind: variable

##### std::string boardCustom

Kind: variable

##### std::string boardName

Kind: variable

##### std::string boardRev

Kind: variable

##### std::string boardConf

Kind: variable

##### std::string hardwareConf

Kind: variable

##### std::string deviceName

Kind: variable

##### std::string batchName

Kind: variable

##### uint64_t batchTime

Kind: variable

Deprecated, not used or stored.

##### uint32_t boardOptions

Kind: variable

##### std::unordered_map< CameraBoardSocket, CameraInfo > cameraData

Kind: variable

##### StereoRectification stereoRectificationData

Kind: variable

##### Extrinsics imuExtrinsics

Kind: variable

##### Extrinsics housingExtrinsics

Kind: variable

##### std::vector< uint8_t > miscellaneousData

Kind: variable

##### bool stereoUseSpecTranslation

Kind: variable

##### bool stereoEnableDistortionCorrection

Kind: variable

##### CameraBoardSocket verticalCameraSocket

Kind: variable

#### dai::Extrinsics

Kind: struct

Extrinsics structure.

##### std::vector< std::vector< float > > rotationMatrix

Kind: variable

##### Point3f translation

Kind: variable

(x, y, z) pose of destCameraSocket w.r.t currentCameraSocket obtained through calibration

##### Point3f specTranslation

Kind: variable

(x, y, z) pose of destCameraSocket w.r.t currentCameraSocket measured through CAD design

##### CameraBoardSocket toCameraSocket

Kind: variable

##### DEPTHAI_SERIALIZE(Extrinsics, rotationMatrix, translation, specTranslation, toCameraSocket)

Kind: function

#### dai::MemoryInfo

Kind: struct

MemoryInfo structure Free, remaining and total memory stats

##### int64_t remaining

Kind: variable

##### int64_t used

Kind: variable

##### int64_t total

Kind: variable

#### dai::Point2f

Kind: struct

Point2f structure x and y coordinates that define a 2D point.

##### float x

Kind: variable

##### float y

Kind: variable

##### Point2f()

Kind: function

##### Point2f(float x, float y)

Kind: function

#### dai::Point3f

Kind: struct

Point3f structure x,y,z coordinates that define a 3D point.

##### float x

Kind: variable

##### float y

Kind: variable

##### float z

Kind: variable

##### Point3f()

Kind: function

##### Point3f(float x, float y, float z)

Kind: function

#### dai::Rect

Kind: struct

Rect structure x,y coordinates together with width and height that define a rectangle. Can be either normalized [0,1] or absolute
representation.

##### float x

Kind: variable

##### float y

Kind: variable

##### float width

Kind: variable

##### float height

Kind: variable

##### Rect()

Kind: function

##### Rect(float x, float y, float width, float height)

Kind: function

##### Rect(const Rect & r)

Kind: function

##### Rect(const Point2f & org, const Size2f & sz)

Kind: function

##### Rect(const Point2f & pt1, const Point2f & pt2)

Kind: function

##### Rect & operator=(const Rect & r)

Kind: function

##### Rect & operator=(Rect && r)

Kind: function

##### Point2f topLeft()

Kind: function

The top-left corner.

##### Point2f bottomRight()

Kind: function

The bottom-right corner

##### Size2f size()

Kind: function

Size (width, height) of the rectangle

##### float area()

Kind: function

Area (width*height) of the rectangle

##### bool empty()

Kind: function

True if rectangle is empty.

##### bool contains(const Point2f & pt)

Kind: function

Checks whether the rectangle contains the point.

##### bool isNormalized()

Kind: function

Whether rectangle is normalized (coordinates in [0,1] range) or not.

##### Rect denormalize(int destWidth, int destHeight)

Kind: function

Denormalize rectangle. parameters: destWidth: Destination frame width.; destHeight: Destination frame height.

##### Rect normalize(int srcWidth, int srcHeight)

Kind: function

Normalize rectangle. parameters: srcWidth: Source frame width.; srcHeight: Source frame height.

#### dai::RotatedRect

Kind: struct

RotatedRect structure.

##### Point2f center

Kind: variable

##### Size2f size

Kind: variable

##### float angle

Kind: variable

degrees, increasing clockwise

#### dai::Size2f

Kind: struct

Size2f structure width, height values define the size of the shape/frame

##### float width

Kind: variable

##### float height

Kind: variable

##### Size2f()

Kind: function

##### Size2f(float width, float height)

Kind: function

#### dai::StereoPair

Kind: struct

Describes which camera sockets can be used for stereo and their baseline.

##### CameraBoardSocket left

Kind: variable

##### CameraBoardSocket right

Kind: variable

##### float baseline

Kind: variable

Baseline in centimeters.

##### bool isVertical

Kind: variable

##### DEPTHAI_SERIALIZE(StereoPair, left, right, baseline, isVertical)

Kind: function

#### dai::StereoRectification

Kind: struct

StereoRectification structure.

##### std::vector< std::vector< float > > rectifiedRotationLeft

Kind: variable

##### std::vector< std::vector< float > > rectifiedRotationRight

Kind: variable

##### CameraBoardSocket leftCameraSocket

Kind: variable

##### CameraBoardSocket rightCameraSocket

Kind: variable

#### dai::TensorInfo

Kind: struct

TensorInfo structure.

##### int StorageOrder

Kind: enum

###### NHWC

Kind: enum_value

###### NHCW

Kind: enum_value

###### NCHW

Kind: enum_value

###### HWC

Kind: enum_value

###### CHW

Kind: enum_value

###### WHC

Kind: enum_value

###### HCW

Kind: enum_value

###### WCH

Kind: enum_value

###### CWH

Kind: enum_value

###### NC

Kind: enum_value

###### CN

Kind: enum_value

###### C

Kind: enum_value

###### H

Kind: enum_value

###### W

Kind: enum_value

##### int DataType

Kind: enum

###### FP16

Kind: enum_value

###### U8F

Kind: enum_value

###### INT

Kind: enum_value

###### FP32

Kind: enum_value

###### I8

Kind: enum_value

##### StorageOrder order

Kind: variable

##### DataType dataType

Kind: variable

##### unsigned int numDimensions

Kind: variable

##### std::vector< unsigned > dims

Kind: variable

##### std::vector< unsigned > strides

Kind: variable

##### std::string name

Kind: variable

##### unsigned int offset

Kind: variable

#### dai::Timestamp

Kind: struct

Timestamp structure.

##### int64_t sec

Kind: variable

##### int64_t nsec

Kind: variable

##### std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > get()

Kind: function

#### dai::RawAprilTagConfig

Kind: struct

RawAprilTags configuration structure.

##### dai::RawAprilTagConfig::QuadThresholds

Kind: struct

AprilTag quad threshold parameters.

###### std::int32_t minClusterPixels

Kind: variable

Reject quads containing too few pixels.

###### std::int32_t maxNmaxima

Kind: variable

How many corner candidates to consider when segmenting a group of pixels into a quad.

###### float criticalDegree

Kind: variable

Reject quads where pairs of edges have angles that are close to straight or close to 180 degrees. Zero means that no quads are
rejected. (In degrees).

###### float maxLineFitMse

Kind: variable

When fitting lines to the contours, what is the maximum mean squared error allowed? This is useful in rejecting contours that are
far from being quad shaped; rejecting these quads "early" saves expensive decoding processing.

###### std::int32_t minWhiteBlackDiff

Kind: variable

When we build our model of black & white pixels, we add an extra check that the white model must be (overall) brighter than the
black model. How much brighter? (in pixel values: [0,255]).

###### bool deglitch

Kind: variable

Should the thresholded image be deglitched? Only useful for very noisy images

###### DEPTHAI_SERIALIZE(QuadThresholds, minClusterPixels, maxNmaxima, criticalDegree, maxLineFitMse, minWhiteBlackDiff, deglitch)

Kind: function

##### std::int32_t Family

Kind: enum

Supported AprilTag families.

###### TAG_36H11

Kind: enum_value

###### TAG_36H10

Kind: enum_value

###### TAG_25H9

Kind: enum_value

###### TAG_16H5

Kind: enum_value

###### TAG_CIR21H7

Kind: enum_value

###### TAG_STAND41H12

Kind: enum_value

##### Family family

Kind: variable

AprilTag family.

##### std::int32_t quadDecimate

Kind: variable

Detection of quads can be done on a lower-resolution image, improving speed at a cost of pose accuracy and a slight decrease in
detection rate. Decoding the binary payload is still done at full resolution.

##### float quadSigma

Kind: variable

What Gaussian blur should be applied to the segmented image. Parameter is the standard deviation in pixels. Very noisy images
benefit from non-zero values (e.g. 0.8).

##### bool refineEdges

Kind: variable

When non-zero, the edges of the each quad are adjusted to "snap to" strong gradients nearby. This is useful when decimation is
employed, as it can increase the quality of the initial quad estimate substantially. Generally recommended to be on. Very
computationally inexpensive. Option is ignored if quadDecimate = 1.

##### float decodeSharpening

Kind: variable

How much sharpening should be done to decoded images? This can help decode small tags but may or may not help in odd lighting
conditions or low light conditions. The default value is 0.25.

##### std::int32_t maxHammingDistance

Kind: variable

Max number of error bits that should be corrected. Accepting large numbers of corrected errors leads to greatly increased false
positive rates. As of this implementation, the detector cannot detect tags with a hamming distance greater than 2.

##### QuadThresholds quadThresholds

Kind: variable

AprilTag quad threshold parameters.

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawAprilTagConfig, family, quadDecimate, quadSigma, refineEdges, decodeSharpening, maxHammingDistance,
quadThresholds)

Kind: function

#### dai::AprilTag

Kind: struct

AprilTag structure.

##### int id

Kind: variable

The decoded ID of the tag

##### int hamming

Kind: variable

How many error bits were corrected? Note: accepting large numbers of corrected errors leads to greatly increased false positive
rates. As of this implementation, the detector cannot detect tags with a hamming distance greater than 2.

##### float decisionMargin

Kind: variable

A measure of the quality of the binary decoding process; the average difference between the intensity of a data bit versus the
decision threshold. Higher numbers roughly indicate better decodes. This is a reasonable measure of detection accuracy only for
very small tags

##### Point2f topLeft

Kind: variable

The detected top left coordinates.

##### Point2f topRight

Kind: variable

The detected top right coordinates.

##### Point2f bottomRight

Kind: variable

The detected bottom right coordinates.

##### Point2f bottomLeft

Kind: variable

The detected bottom left coordinates.

#### dai::RawAprilTags

Kind: struct

RawAprilTags structure.

##### std::vector< AprilTag > aprilTags

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawAprilTags, aprilTags, RawBuffer::sequenceNum, RawBuffer::ts, RawBuffer::tsDevice)

Kind: function

#### dai::RawBuffer

Kind: struct

RawBuffer structure.

##### std::vector< std::uint8_t > data

Kind: variable

##### int64_t sequenceNum

Kind: variable

##### Timestamp ts

Kind: variable

##### Timestamp tsDevice

Kind: variable

##### ~RawBuffer()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawBuffer, sequenceNum, ts, tsDevice)

Kind: function

#### dai::RawCameraControl

Kind: struct

RawCameraControl structure.

##### dai::RawCameraControl::ManualExposureParams

Kind: struct

###### uint32_t exposureTimeUs

Kind: variable

###### uint32_t sensitivityIso

Kind: variable

###### uint32_t frameDurationUs

Kind: variable

###### DEPTHAI_SERIALIZE(ManualExposureParams, exposureTimeUs, sensitivityIso, frameDurationUs)

Kind: function

##### dai::RawCameraControl::RegionParams

Kind: struct

###### uint16_t x

Kind: variable

###### uint16_t y

Kind: variable

###### uint16_t width

Kind: variable

###### uint16_t height

Kind: variable

###### uint32_t priority

Kind: variable

###### DEPTHAI_SERIALIZE(RegionParams, x, y, width, height, priority)

Kind: function

##### dai::RawCameraControl::StrobeConfig

Kind: struct

###### uint8_t enable

Kind: variable

Enable strobe output.

###### uint8_t activeLevel

Kind: variable

1 for normal polarity (high-active), 0 otherwise

###### int8_t gpioNumber

Kind: variable

GPIO number to drive, or -1 if sensor driven.

###### DEPTHAI_SERIALIZE(StrobeConfig, enable, activeLevel, gpioNumber)

Kind: function

##### dai::RawCameraControl::StrobeTimings

Kind: struct

###### int32_t exposureBeginOffsetUs

Kind: variable

Start offset in microseconds, relative to exposure window.

###### int32_t exposureEndOffsetUs

Kind: variable

End offset in microseconds, relative to exposure window.

###### uint32_t durationUs

Kind: variable

Fixed duration in microseconds. If set (non-zero), overrides

###### DEPTHAI_SERIALIZE(StrobeTimings, exposureBeginOffsetUs, exposureEndOffsetUs, durationUs)

Kind: function

##### uint8_t Command

Kind: enum

###### START_STREAM

Kind: enum_value

###### STOP_STREAM

Kind: enum_value

###### STILL_CAPTURE

Kind: enum_value

###### MOVE_LENS

Kind: enum_value

###### AF_TRIGGER

Kind: enum_value

###### AE_MANUAL

Kind: enum_value

###### AE_AUTO

Kind: enum_value

###### AWB_MODE

Kind: enum_value

###### SCENE_MODE

Kind: enum_value

###### ANTIBANDING_MODE

Kind: enum_value

###### EXPOSURE_COMPENSATION

Kind: enum_value

###### AE_LOCK

Kind: enum_value

###### AE_TARGET_FPS_RANGE

Kind: enum_value

###### AWB_LOCK

Kind: enum_value

###### CAPTURE_INTENT

Kind: enum_value

###### CONTROL_MODE

Kind: enum_value

###### FRAME_DURATION

Kind: enum_value

###### SENSITIVITY

Kind: enum_value

###### EFFECT_MODE

Kind: enum_value

###### AF_MODE

Kind: enum_value

###### NOISE_REDUCTION_STRENGTH

Kind: enum_value

###### SATURATION

Kind: enum_value

###### BRIGHTNESS

Kind: enum_value

###### STREAM_FORMAT

Kind: enum_value

###### RESOLUTION

Kind: enum_value

###### SHARPNESS

Kind: enum_value

###### CUSTOM_USECASE

Kind: enum_value

###### CUSTOM_CAPT_MODE

Kind: enum_value

###### CUSTOM_EXP_BRACKETS

Kind: enum_value

###### CUSTOM_CAPTURE

Kind: enum_value

###### CONTRAST

Kind: enum_value

###### AE_REGION

Kind: enum_value

###### AF_REGION

Kind: enum_value

###### LUMA_DENOISE

Kind: enum_value

###### CHROMA_DENOISE

Kind: enum_value

###### WB_COLOR_TEMP

Kind: enum_value

###### EXTERNAL_TRIGGER

Kind: enum_value

###### AF_LENS_RANGE

Kind: enum_value

###### FRAME_SYNC

Kind: enum_value

###### STROBE_CONFIG

Kind: enum_value

###### STROBE_TIMINGS

Kind: enum_value

###### MOVE_LENS_RAW

Kind: enum_value

##### uint8_t AutoFocusMode

Kind: enum

###### OFF

Kind: enum_value

Autofocus disabled. Suitable for manual focus

###### AUTO

Kind: enum_value

Basic automatic focus mode. In this mode, the lens does not move unless the autofocus trigger action is called.

###### MACRO

Kind: enum_value

Close-up focusing mode - this mode is optimized for focusing on objects very close to the camera.

###### CONTINUOUS_VIDEO

Kind: enum_value

In this mode, the AF algorithm modifies the lens position continually to attempt to provide a constantly-in-focus image stream.
The focusing behavior should be suitable for good quality video recording; typically this means slower focus movement and no
overshoots.

###### CONTINUOUS_PICTURE

Kind: enum_value

In this mode, the AF algorithm modifies the lens position continually to attempt to provide a constantly-in-focus image stream.
The focusing behavior should be suitable for still image capture; typically this means focusing as fast as possible

###### EDOF

Kind: enum_value

Extended depth of field (digital focus) mode. The camera device will produce images with an extended depth of field automatically.
AF triggers are ignored.

##### uint8_t AutoWhiteBalanceMode

Kind: enum

###### OFF

Kind: enum_value

The camera device's auto-white balance routine is disabled.

###### AUTO

Kind: enum_value

The camera device's auto-white balance routine is active.

###### INCANDESCENT

Kind: enum_value

The camera device's auto-white balance routine is disabled; the camera device uses incandescent light as the assumed scene
illumination for white balance.

###### FLUORESCENT

Kind: enum_value

The camera device's auto-white balance routine is disabled; the camera device uses fluorescent light as the assumed scene
illumination for white balance.

###### WARM_FLUORESCENT

Kind: enum_value

The camera device's auto-white balance routine is disabled; the camera device uses warm fluorescent light as the assumed scene
illumination for white balance.

###### DAYLIGHT

Kind: enum_value

The camera device's auto-white balance routine is disabled; the camera device uses daylight light as the assumed scene
illumination for white balance.

###### CLOUDY_DAYLIGHT

Kind: enum_value

The camera device's auto-white balance routine is disabled; the camera device uses cloudy daylight light as the assumed scene
illumination for white balance.

###### TWILIGHT

Kind: enum_value

The camera device's auto-white balance routine is disabled; the camera device uses twilight light as the assumed scene
illumination for white balance.

###### SHADE

Kind: enum_value

The camera device's auto-white balance routine is disabled; the camera device uses shade light as the assumed scene illumination
for white balance.

##### uint8_t SceneMode

Kind: enum

###### UNSUPPORTED

Kind: enum_value

Indicates that no scene modes are set for a given capture request.

###### FACE_PRIORITY

Kind: enum_value

If face detection support exists, use face detection data for auto-focus, auto-white balance, and auto-exposure routines.

###### ACTION

Kind: enum_value

Optimized for photos of quickly moving objects. Similar to SPORTS scene mode.

###### PORTRAIT

Kind: enum_value

Optimized for still photos of people.

###### LANDSCAPE

Kind: enum_value

Optimized for photos of distant macroscopic objects.

###### NIGHT

Kind: enum_value

Optimized for low-light settings.

###### NIGHT_PORTRAIT

Kind: enum_value

Optimized for still photos of people in low-light settings.

###### THEATRE

Kind: enum_value

Optimized for dim, indoor settings where flash must remain off.

###### BEACH

Kind: enum_value

Optimized for bright, outdoor beach settings.

###### SNOW

Kind: enum_value

Optimized for bright, outdoor settings containing snow.

###### SUNSET

Kind: enum_value

Optimized for scenes of the setting sun.

###### STEADYPHOTO

Kind: enum_value

Optimized to avoid blurry photos due to small amounts of device motion (for example: due to hand shake).

###### FIREWORKS

Kind: enum_value

Optimized for nighttime photos of fireworks.

###### SPORTS

Kind: enum_value

Optimized for photos of quickly moving people.

###### PARTY

Kind: enum_value

Optimized for dim, indoor settings with multiple moving people.

###### CANDLELIGHT

Kind: enum_value

Optimized for dim settings where the main light source is a candle.

###### BARCODE

Kind: enum_value

Optimized for accurately capturing a photo of barcode for use by camera applications that wish to read the barcode value.

##### uint8_t AntiBandingMode

Kind: enum

###### OFF

Kind: enum_value

The camera device will not adjust exposure duration to avoid banding problems.

###### MAINS_50_HZ

Kind: enum_value

The camera device will adjust exposure duration to avoid banding problems with 50Hz illumination sources.

###### MAINS_60_HZ

Kind: enum_value

The camera device will adjust exposure duration to avoid banding problems with 60Hz illumination sources.

###### AUTO

Kind: enum_value

The camera device will automatically adapt its antibanding routine to the current illumination condition. This is the default mode
if AUTO is available on given camera device.

##### uint8_t CaptureIntent

Kind: enum

###### CUSTOM

Kind: enum_value

The goal of this request doesn't fall into the other categories. The camera device will default to preview-like behavior.

###### PREVIEW

Kind: enum_value

This request is for a preview-like use case.

###### STILL_CAPTURE

Kind: enum_value

This request is for a still capture-type use case.

###### VIDEO_RECORD

Kind: enum_value

This request is for a video recording use case.

###### VIDEO_SNAPSHOT

Kind: enum_value

This request is for a video snapshot (still image while recording video) use case. The camera device should take the
highest-quality image possible (given the other settings) without disrupting the frame rate of video recording.

###### ZERO_SHUTTER_LAG

Kind: enum_value

This request is for a ZSL usecase; the application will stream full-resolution images and reprocess one or several later for a
final capture.

##### uint8_t ControlMode

Kind: enum

###### OFF

Kind: enum_value

Full application control of pipeline. All control by the device's metering and focusing (3A) routines is disabled.

###### AUTO

Kind: enum_value

Use settings for each individual 3A routine. Manual control of capture parameters is disabled.

###### USE_SCENE_MODE

Kind: enum_value

Use a specific scene mode. Enabling this disables Auto-Exposure, AWB and AF controls;

##### uint8_t EffectMode

Kind: enum

###### OFF

Kind: enum_value

No color effect will be applied.

###### MONO

Kind: enum_value

A "monocolor" effect where the image is mapped into a single color. This will typically be grayscale.

###### NEGATIVE

Kind: enum_value

A "photo-negative" effect where the image's colors are inverted.

###### SOLARIZE

Kind: enum_value

A "solarisation" effect (Sabattier effect) where the image is wholly or partially reversed in tone.

###### SEPIA

Kind: enum_value

A "sepia" effect where the image is mapped into warm gray, red, and brown tones.

###### POSTERIZE

Kind: enum_value

A "posterization" effect where the image uses discrete regions of tone rather than a continuous gradient of tones.

###### WHITEBOARD

Kind: enum_value

A "whiteboard" effect where the image is typically displayed as regions of white, with black or grey details.

###### BLACKBOARD

Kind: enum_value

A "blackboard" effect where the image is typically displayed as regions of black, with white or grey details.

###### AQUA

Kind: enum_value

An "aqua" effect where a blue hue is added to the image.

##### uint8_t FrameSyncMode

Kind: enum

###### OFF

Kind: enum_value

###### OUTPUT

Kind: enum_value

###### INPUT

Kind: enum_value

##### uint64_t cmdMask

Kind: variable

##### AutoFocusMode autoFocusMode

Kind: variable

##### uint8_t lensPosition

Kind: variable

Lens/VCM position, range: 0..255. Used with max 255: macro focus, at 8cm distance; infinite focus at about 120..130 (may vary from
module to module); lower values lead to out-of-focus (lens too close to the sensor array)

##### float lensPositionRaw

Kind: variable

##### uint8_t lensPosAutoInfinity

Kind: variable

##### uint8_t lensPosAutoMacro

Kind: variable

##### ManualExposureParams expManual

Kind: variable

##### RegionParams aeRegion

Kind: variable

##### RegionParams afRegion

Kind: variable

##### AutoWhiteBalanceMode awbMode

Kind: variable

##### SceneMode sceneMode

Kind: variable

##### AntiBandingMode antiBandingMode

Kind: variable

##### CaptureIntent captureIntent

Kind: variable

##### ControlMode controlMode

Kind: variable

##### EffectMode effectMode

Kind: variable

##### FrameSyncMode frameSyncMode

Kind: variable

##### StrobeConfig strobeConfig

Kind: variable

##### StrobeTimings strobeTimings

Kind: variable

##### uint32_t aeMaxExposureTimeUs

Kind: variable

##### bool aeLockMode

Kind: variable

##### bool awbLockMode

Kind: variable

##### int8_t expCompensation

Kind: variable

##### int8_t brightness

Kind: variable

##### int8_t contrast

Kind: variable

##### int8_t saturation

Kind: variable

##### uint8_t sharpness

Kind: variable

##### uint8_t lumaDenoise

Kind: variable

##### uint8_t chromaDenoise

Kind: variable

##### uint16_t wbColorTemp

Kind: variable

##### uint8_t lowPowerNumFramesBurst

Kind: variable

##### uint8_t lowPowerNumFramesDiscard

Kind: variable

##### std::vector< std::pair< std::string, std::string > > miscControls

Kind: variable

##### void setCommand(Command cmd, bool value)

Kind: function

##### void clearCommand(Command cmd)

Kind: function

##### bool getCommand(Command cmd)

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawCameraControl, cmdMask, autoFocusMode, lensPosition, lensPositionRaw, lensPosAutoInfinity,
lensPosAutoMacro, expManual, aeRegion, afRegion, awbMode, sceneMode, antiBandingMode, aeLockMode, awbLockMode, captureIntent,
controlMode, effectMode, frameSyncMode, strobeConfig, strobeTimings, aeMaxExposureTimeUs, expCompensation, brightness, contrast,
saturation, sharpness, lumaDenoise, chromaDenoise, wbColorTemp, lowPowerNumFramesBurst, lowPowerNumFramesDiscard, miscControls)

Kind: function

#### dai::EdgeDetectorConfigData

Kind: struct

EdgeDetectorConfigData configuration data structure.

##### std::vector< std::vector< int > > sobelFilterHorizontalKernel

Kind: variable

Used for horizontal gradient computation in 3x3 Sobel filter Format - 3x3 matrix, 2nd column must be 0 Default - +1 0 -1; +2 0 -2;
+1 0 -1

##### std::vector< std::vector< int > > sobelFilterVerticalKernel

Kind: variable

Used for vertical gradient computation in 3x3 Sobel filter Format - 3x3 matrix, 2nd row must be 0 Default - +1 +2 +1; 0 0 0; -1 -2
-1

#### dai::RawEdgeDetectorConfig

Kind: struct

RawEdgeDetectorConfig configuration structure.

##### EdgeDetectorConfigData config

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawEdgeDetectorConfig, config)

Kind: function

#### dai::RawEncodedFrame

Kind: struct

##### dai::RawEncodedFrame::CameraSettings

Kind: struct

###### int32_t exposureTimeUs

Kind: variable

###### int32_t sensitivityIso

Kind: variable

###### int32_t lensPosition

Kind: variable

###### int32_t wbColorTemp

Kind: variable

###### float lensPositionRaw

Kind: variable

###### DEPTHAI_SERIALIZE(CameraSettings, exposureTimeUs, sensitivityIso, lensPosition, wbColorTemp, lensPositionRaw)

Kind: function

##### std::uint8_t Profile

Kind: enum

###### JPEG

Kind: enum_value

###### AVC

Kind: enum_value

###### HEVC

Kind: enum_value

##### std::uint8_t FrameType

Kind: enum

###### I

Kind: enum_value

###### P

Kind: enum_value

###### B

Kind: enum_value

###### Unknown

Kind: enum_value

##### CameraSettings cam

Kind: variable

##### uint32_t instanceNum

Kind: variable

##### unsigned int width

Kind: variable

##### unsigned int height

Kind: variable

##### uint32_t quality

Kind: variable

##### uint32_t bitrate

Kind: variable

##### Profile profile

Kind: variable

##### bool lossless

Kind: variable

##### FrameType type

Kind: variable

##### uint32_t frameOffset

Kind: variable

##### uint32_t frameSize

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawEncodedFrame, cam, instanceNum, quality, bitrate, profile, lossless, type, frameOffset, frameSize,
RawBuffer::sequenceNum, RawBuffer::ts, RawBuffer::tsDevice)

Kind: function

#### dai::RawFeatureTrackerConfig

Kind: struct

RawFeatureTrackerConfig configuration structure.

##### dai::RawFeatureTrackerConfig::CornerDetector

Kind: struct

Corner detector configuration structure.

###### dai::RawFeatureTrackerConfig::CornerDetector::Thresholds

Kind: struct

Threshold settings structure for corner detector.

###### float initialValue

Kind: variable

Minimum strength of a feature which will be detected. 0 means automatic threshold update. Recommended so the tracker can adapt to
different scenes/textures. Each cell has its own threshold. Empirical value.

###### float min

Kind: variable

Minimum limit for threshold. Applicable when automatic threshold update is enabled. 0 means auto, 6000000 for HARRIS, 1200 for
SHI_THOMASI. Empirical value.

###### float max

Kind: variable

Maximum limit for threshold. Applicable when automatic threshold update is enabled. 0 means auto. Empirical value.

###### float decreaseFactor

Kind: variable

When detected number of features exceeds the maximum in a cell threshold is lowered by multiplying its value with this factor.

###### float increaseFactor

Kind: variable

When detected number of features doesn't exceed the maximum in a cell, threshold is increased by multiplying its value with this
factor.

###### DEPTHAI_SERIALIZE(Thresholds, initialValue, min, max, decreaseFactor, increaseFactor)

Kind: function

###### std::int32_t Type

Kind: enum

###### HARRIS

Kind: enum_value

Harris corner detector.

###### SHI_THOMASI

Kind: enum_value

Shi-Thomasi corner detector.

###### Type type

Kind: variable

Corner detector algorithm type.

###### std::int32_t cellGridDimension

Kind: variable

Ensures distributed feature detection across the image. Image is divided into horizontal and vertical cells, each cell has a
target feature count = numTargetFeatures / cellGridDimension. Each cell has its own feature threshold. A value of 4 means that the
image is divided into 4x4 cells of equal width/height. Maximum 4, minimum 1.

###### std::int32_t numTargetFeatures

Kind: variable

Target number of features to detect. Maximum number of features is determined at runtime based on algorithm type.

###### std::int32_t numMaxFeatures

Kind: variable

Hard limit for the maximum number of features that can be detected. 0 means auto, will be set to the maximum value based on memory
constraints.

###### bool enableSobel

Kind: variable

Enable 3x3 Sobel operator to smoothen the image whose gradient is to be computed. If disabled, a simple 1D row/column
differentiator is used for gradient.

###### bool enableSorting

Kind: variable

Enable sorting detected features based on their score or not.

###### Thresholds thresholds

Kind: variable

Threshold settings. These are advanced settings, suitable for debugging/special cases.

###### DEPTHAI_SERIALIZE(CornerDetector, type, cellGridDimension, numTargetFeatures, numMaxFeatures, thresholds, enableSobel,
enableSorting)

Kind: function

##### dai::RawFeatureTrackerConfig::FeatureMaintainer

Kind: struct

FeatureMaintainer configuration structure.

###### bool enable

Kind: variable

Enable feature maintaining or not.

###### float minimumDistanceBetweenFeatures

Kind: variable

Used to filter out detected feature points that are too close. Requires sorting enabled in detector. Unit of measurement is
squared euclidean distance in pixels.

###### float lostFeatureErrorThreshold

Kind: variable

Optical flow measures the tracking error for every feature. If the point can’t be tracked or it’s out of the image it will set
this error to a maximum value. This threshold defines the level where the tracking accuracy is considered too bad to keep the
point.

###### float trackedFeatureThreshold

Kind: variable

Once a feature was detected and we started tracking it, we need to update its Harris score on each image. This is needed because a
feature point can disappear, or it can become too weak to be tracked. This threshold defines the point where such a feature must
be dropped. As the goal of the algorithm is to provide longer tracks, we try to add strong points and track them until they are
absolutely untrackable. This is why, this value is usually smaller than the detection threshold.

###### DEPTHAI_SERIALIZE(FeatureMaintainer, enable, minimumDistanceBetweenFeatures, lostFeatureErrorThreshold,
trackedFeatureThreshold)

Kind: function

##### dai::RawFeatureTrackerConfig::MotionEstimator

Kind: struct

Used for feature reidentification between current and previous features.

###### dai::RawFeatureTrackerConfig::MotionEstimator::OpticalFlow

Kind: struct

Optical flow configuration structure.

###### std::int32_t pyramidLevels

Kind: variable

Number of pyramid levels, only for optical flow. AUTO means it's decided based on input resolution: 3 if image width <= 640, else
4. Valid values are either 3/4 for VGA, 4 for 720p and above.

###### std::int32_t searchWindowWidth

Kind: variable

Image patch width used to track features. Must be an odd number, maximum 9. N means the algorithm will be able to track motion at
most (N-1)/2 pixels in a direction per pyramid level. Increasing this number increases runtime

###### std::int32_t searchWindowHeight

Kind: variable

Image patch height used to track features. Must be an odd number, maximum 9. N means the algorithm will be able to track motion at
most (N-1)/2 pixels in a direction per pyramid level. Increasing this number increases runtime

###### float epsilon

Kind: variable

Feature tracking termination criteria. Optical flow will refine the feature position on each pyramid level until the displacement
between two refinements is smaller than this value. Decreasing this number increases runtime.

###### std::int32_t maxIterations

Kind: variable

Feature tracking termination criteria. Optical flow will refine the feature position maximum this many times on each pyramid
level. If the Epsilon criteria described in the previous chapter is not met after this number of iterations, the algorithm will
continue with the current calculated value. Increasing this number increases runtime.

###### DEPTHAI_SERIALIZE(OpticalFlow, pyramidLevels, searchWindowWidth, searchWindowHeight, epsilon, maxIterations)

Kind: function

###### std::int32_t Type

Kind: enum

###### LUCAS_KANADE_OPTICAL_FLOW

Kind: enum_value

Using the pyramidal Lucas-Kanade optical flow method.

###### HW_MOTION_ESTIMATION

Kind: enum_value

Using a dense motion estimation hardware block (Block matcher).

###### bool enable

Kind: variable

Enable motion estimation or not.

###### Type type

Kind: variable

Motion estimator algorithm type.

###### OpticalFlow opticalFlow

Kind: variable

Optical flow configuration. Takes effect only if MotionEstimator algorithm type set to LUCAS_KANADE_OPTICAL_FLOW.

###### DEPTHAI_SERIALIZE(MotionEstimator, enable, type, opticalFlow)

Kind: function

##### CornerDetector cornerDetector

Kind: variable

Corner detector configuration. Used for feature detection.

##### MotionEstimator motionEstimator

Kind: variable

Motion estimator configuration. Used for feature reidentification between current and previous features.

##### FeatureMaintainer featureMaintainer

Kind: variable

FeatureMaintainer configuration. Used for feature maintaining.

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawFeatureTrackerConfig, cornerDetector, motionEstimator, featureMaintainer)

Kind: function

#### dai::IMUReport

Kind: struct

##### std::uint8_t Accuracy

Kind: enum

###### UNRELIABLE

Kind: enum_value

###### LOW

Kind: enum_value

###### MEDIUM

Kind: enum_value

###### HIGH

Kind: enum_value

##### int32_t sequence

Kind: variable

The sequence number increments once for each report sent. Gaps in the sequence numbers indicate missing or dropped reports. Max
value 2^32 after which resets to 0.

##### Accuracy accuracy

Kind: variable

Accuracy of sensor

##### Timestamp timestamp

Kind: variable

Generation timestamp, synced to host time

##### Timestamp tsDevice

Kind: variable

Generation timestamp, direct device monotonic clock

##### std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > getTimestamp()

Kind: function

Retrieves timestamp related to dai::Clock::now()

##### std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > getTimestampDevice()

Kind: function

Retrieves timestamp directly captured from device's monotonic clock, not synchronized to host time. Used mostly for debugging

##### int32_t getSequenceNum()

Kind: function

Retrieves IMU report sequence number

#### dai::IMUReportAccelerometer

Kind: struct

Accelerometer.

Units are [m/s^2]

##### float x

Kind: variable

##### float y

Kind: variable

##### float z

Kind: variable

#### dai::IMUReportGyroscope

Kind: struct

Gyroscope.

Units are [rad/s]

##### float x

Kind: variable

##### float y

Kind: variable

##### float z

Kind: variable

#### dai::IMUReportMagneticField

Kind: struct

Magnetic field.

Units are [uTesla]

##### float x

Kind: variable

##### float y

Kind: variable

##### float z

Kind: variable

#### dai::IMUReportRotationVectorWAcc

Kind: struct

Rotation Vector with Accuracy.

Contains quaternion components: i,j,k,real

##### float i

Kind: variable

Quaternion component i.

##### float j

Kind: variable

Quaternion component j.

##### float k

Kind: variable

Quaternion component k.

##### float real

Kind: variable

Quaternion component, real.

##### float rotationVectorAccuracy

Kind: variable

Accuracy estimate [radians], 0 means no estimate.

#### dai::IMUPacket

Kind: struct

IMU output Contains combined output for all possible modes. Only the enabled outputs are populated.

##### IMUReportAccelerometer acceleroMeter

Kind: variable

##### IMUReportGyroscope gyroscope

Kind: variable

##### IMUReportMagneticField magneticField

Kind: variable

##### IMUReportRotationVectorWAcc rotationVector

Kind: variable

#### dai::RawIMUData

Kind: struct

##### std::vector< IMUPacket > packets

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawIMUData, packets, RawBuffer::sequenceNum, RawBuffer::ts, RawBuffer::tsDevice)

Kind: function

#### dai::RawImageAlignConfig

Kind: struct

RawImageAlignConfig configuration structure.

##### uint16_t staticDepthPlane

Kind: variable

Optional static depth plane to align to, in depth units, by default millimeters

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DEPTHAI_SERIALIZE(RawImageAlignConfig, staticDepthPlane)

Kind: function

#### dai::RawImageManipConfig

Kind: struct

RawImageManipConfig structure.

##### dai::RawImageManipConfig::CropConfig

Kind: struct

###### CropRect cropRect

Kind: variable

###### RotatedRect cropRotatedRect

Kind: variable

###### bool enableCenterCropRectangle

Kind: variable

###### float cropRatio

Kind: variable

###### float widthHeightAspectRatio

Kind: variable

###### bool enableRotatedRect

Kind: variable

###### bool normalizedCoords

Kind: variable

###### DEPTHAI_SERIALIZE(CropConfig, cropRect, cropRotatedRect, enableCenterCropRectangle, cropRatio, widthHeightAspectRatio,
enableRotatedRect, normalizedCoords)

Kind: function

##### dai::RawImageManipConfig::CropRect

Kind: struct

###### float xmin

Kind: variable

###### float ymin

Kind: variable

###### float xmax

Kind: variable

###### float ymax

Kind: variable

###### DEPTHAI_SERIALIZE(CropRect, xmin, ymin, xmax, ymax)

Kind: function

##### dai::RawImageManipConfig::FormatConfig

Kind: struct

###### RawImgFrame::Type type

Kind: variable

###### bool flipHorizontal

Kind: variable

###### bool flipVertical

Kind: variable

###### Colormap colormap

Kind: variable

###### int colormapMin

Kind: variable

###### int colormapMax

Kind: variable

###### DEPTHAI_SERIALIZE(FormatConfig, type, flipHorizontal, flipVertical, colormap, colormapMin, colormapMax)

Kind: function

##### dai::RawImageManipConfig::ResizeConfig

Kind: struct

###### int width

Kind: variable

###### int height

Kind: variable

###### bool lockAspectRatioFill

Kind: variable

###### char bgRed

Kind: variable

###### char bgGreen

Kind: variable

###### char bgBlue

Kind: variable

###### std::vector< Point2f > warpFourPoints

Kind: variable

###### bool normalizedCoords

Kind: variable

###### bool enableWarp4pt

Kind: variable

###### std::vector< float > warpMatrix3x3

Kind: variable

###### bool enableWarpMatrix

Kind: variable

###### bool warpBorderReplicate

Kind: variable

###### float rotationAngleDeg

Kind: variable

###### bool enableRotation

Kind: variable

###### bool keepAspectRatio

Kind: variable

Whether to keep aspect ratio of input or not

###### DEPTHAI_SERIALIZE(ResizeConfig, width, height, lockAspectRatioFill, bgRed, bgGreen, bgBlue, warpFourPoints,
normalizedCoords, enableWarp4pt, warpMatrix3x3, enableWarpMatrix, warpBorderReplicate, rotationAngleDeg, enableRotation,
keepAspectRatio)

Kind: function

##### CropConfig cropConfig

Kind: variable

##### ResizeConfig resizeConfig

Kind: variable

##### FormatConfig formatConfig

Kind: variable

##### bool enableCrop

Kind: variable

##### bool enableResize

Kind: variable

##### bool enableFormat

Kind: variable

##### bool reusePreviousImage

Kind: variable

##### bool skipCurrentImage

Kind: variable

##### Interpolation interpolation

Kind: variable

Interpolation type to use.

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawImageManipConfig, cropConfig, resizeConfig, formatConfig, enableCrop, enableResize, enableFormat,
reusePreviousImage, skipCurrentImage, interpolation)

Kind: function

#### dai::ImgDetection

Kind: struct

ImgDetection structure.

##### uint32_t label

Kind: variable

##### float confidence

Kind: variable

##### float xmin

Kind: variable

##### float ymin

Kind: variable

##### float xmax

Kind: variable

##### float ymax

Kind: variable

#### dai::RawImgDetections

Kind: struct

RawImgDetections structure.

##### std::vector< ImgDetection > detections

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawImgDetections, detections, RawBuffer::sequenceNum, RawBuffer::ts, RawBuffer::tsDevice)

Kind: function

#### dai::RawImgFrame

Kind: struct

RawImgFrame structure.

##### dai::RawImgFrame::CameraSettings

Kind: struct

###### int32_t exposureTimeUs

Kind: variable

###### int32_t sensitivityIso

Kind: variable

###### int32_t lensPosition

Kind: variable

###### int32_t wbColorTemp

Kind: variable

###### float lensPositionRaw

Kind: variable

###### DEPTHAI_SERIALIZE(CameraSettings, exposureTimeUs, sensitivityIso, lensPosition, wbColorTemp, lensPositionRaw)

Kind: function

##### dai::RawImgFrame::Specs

Kind: struct

###### Type type

Kind: variable

###### unsigned int width

Kind: variable

###### unsigned int height

Kind: variable

###### unsigned int stride

Kind: variable

###### unsigned int bytesPP

Kind: variable

###### unsigned int p1Offset

Kind: variable

###### unsigned int p2Offset

Kind: variable

###### unsigned int p3Offset

Kind: variable

###### DEPTHAI_SERIALIZE(Specs, type, width, height, stride, bytesPP, p1Offset, p2Offset, p3Offset)

Kind: function

##### Type

Kind: enum

###### YUV422i

Kind: enum_value

###### YUV444p

Kind: enum_value

###### YUV420p

Kind: enum_value

###### YUV422p

Kind: enum_value

###### YUV400p

Kind: enum_value

###### RGBA8888

Kind: enum_value

###### RGB161616

Kind: enum_value

###### RGB888p

Kind: enum_value

###### BGR888p

Kind: enum_value

###### RGB888i

Kind: enum_value

###### BGR888i

Kind: enum_value

###### LUT2

Kind: enum_value

###### LUT4

Kind: enum_value

###### LUT16

Kind: enum_value

###### RAW16

Kind: enum_value

###### RAW14

Kind: enum_value

###### RAW12

Kind: enum_value

###### RAW10

Kind: enum_value

###### RAW8

Kind: enum_value

###### PACK10

Kind: enum_value

###### PACK12

Kind: enum_value

###### YUV444i

Kind: enum_value

###### NV12

Kind: enum_value

###### NV21

Kind: enum_value

###### BITSTREAM

Kind: enum_value

###### HDR

Kind: enum_value

###### RGBF16F16F16p

Kind: enum_value

###### BGRF16F16F16p

Kind: enum_value

###### RGBF16F16F16i

Kind: enum_value

###### BGRF16F16F16i

Kind: enum_value

###### GRAY8

Kind: enum_value

###### GRAYF16

Kind: enum_value

###### NONE

Kind: enum_value

##### Specs fb

Kind: variable

##### CameraSettings cam

Kind: variable

##### uint32_t category

Kind: variable

##### uint32_t instanceNum

Kind: variable

##### dai::FrameEvent event

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawImgFrame, fb, cam, category, instanceNum, RawBuffer::sequenceNum, RawBuffer::ts, RawBuffer::tsDevice)

Kind: function

#### dai::RawGroupMessage

Kind: struct

##### std::shared_ptr< RawBuffer > buffer

Kind: variable

##### uint32_t index

Kind: variable

##### DEPTHAI_SERIALIZE(RawGroupMessage, index)

Kind: function

#### dai::RawMessageGroup

Kind: struct

##### std::unordered_map< std::string, RawGroupMessage > group

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawMessageGroup, group, RawBuffer::ts, RawBuffer::tsDevice, RawBuffer::sequenceNum)

Kind: function

#### dai::RawNNData

Kind: struct

RawNNData structure.

##### std::vector< TensorInfo > tensors

Kind: variable

##### unsigned int batchSize

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawNNData, tensors, batchSize, RawBuffer::sequenceNum, RawBuffer::ts, RawBuffer::tsDevice)

Kind: function

#### dai::RawObjectTrackerConfig

Kind: struct

RawObjectTrackerConfig configuration structure.

##### std::vector< int32_t > trackletIdsToRemove

Kind: variable

Tracklet IDs to remove from tracking. Tracklet will transition to REMOVED state.

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawObjectTrackerConfig, trackletIdsToRemove)

Kind: function

#### dai::RawPointCloudConfig

Kind: struct

RawPointCloudConfig configuration structure.

##### bool sparse

Kind: variable

##### std::array< std::array< float, 4 >, 4 > transformationMatrix

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawPointCloudConfig, sparse, transformationMatrix)

Kind: function

#### dai::RawPointCloudData

Kind: struct

##### unsigned int width

Kind: variable

##### unsigned int height

Kind: variable

##### uint32_t instanceNum

Kind: variable

##### float minx

Kind: variable

##### float miny

Kind: variable

##### float minz

Kind: variable

##### float maxx

Kind: variable

##### float maxy

Kind: variable

##### float maxz

Kind: variable

##### bool sparse

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawPointCloudData, width, height, minx, miny, minz, maxx, maxy, maxz, sparse, instanceNum, RawBuffer::ts,
RawBuffer::tsDevice, RawBuffer::sequenceNum)

Kind: function

#### dai::SpatialImgDetection

Kind: struct

SpatialImgDetection structure Contains image detection results together with spatial location data.

##### Point3f spatialCoordinates

Kind: variable

##### SpatialLocationCalculatorConfigData boundingBoxMapping

Kind: variable

#### dai::RawSpatialImgDetections

Kind: struct

RawSpatialImgDetections structure.

##### std::vector< SpatialImgDetection > detections

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawSpatialImgDetections, detections, RawBuffer::sequenceNum, RawBuffer::ts, RawBuffer::tsDevice)

Kind: function

#### dai::SpatialLocationCalculatorConfigThresholds

Kind: struct

SpatialLocation configuration thresholds structure Contains configuration data for lower and upper threshold in depth units
(millimeter by default) for ROI. Values outside of threshold range will be ignored when calculating spatial coordinates from depth
map.

##### uint32_t lowerThreshold

Kind: variable

Values less or equal than this threshold are not taken into calculation.

##### uint32_t upperThreshold

Kind: variable

Values greater or equal than this threshold are not taken into calculation.

#### dai::SpatialLocationCalculatorConfigData

Kind: struct

SpatialLocation configuration data structure.

##### Rect roi

Kind: variable

Region of interest for spatial location calculation.

##### SpatialLocationCalculatorConfigThresholds depthThresholds

Kind: variable

Upper and lower thresholds for depth values to take into consideration.

##### SpatialLocationCalculatorAlgorithm calculationAlgorithm

Kind: variable

Calculation method used to obtain spatial locations Average/mean: the average of ROI is used for calculation. Min: the minimum
value inside ROI is used for calculation. Max: the maximum value inside ROI is used for calculation. Mode: the most frequent value
inside ROI is used for calculation. Median: the median value inside ROI is used for calculation. Default: median.

##### std::int32_t stepSize

Kind: variable

Step size for calculation. Step size 1 means that every pixel is taken into calculation, size 2 means every second etc. Default
value AUTO: for AVERAGE, MIN, MAX step size is 1; for MODE/MEDIAN it's 2.

#### dai::RawSpatialLocationCalculatorConfig

Kind: struct

RawSpatialLocation configuration structure.

##### std::vector< SpatialLocationCalculatorConfigData > config

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawSpatialLocationCalculatorConfig, config)

Kind: function

#### dai::SpatialLocations

Kind: struct

SpatialLocations structure Contains configuration data, average depth for the calculated ROI on depth map. Together with spatial
coordinates: x,y,z relative to the center of depth map. Units are in depth units (millimeter by default).

##### SpatialLocationCalculatorConfigData config

Kind: variable

Configuration for selected ROI

##### float depthAverage

Kind: variable

Average of depth values inside the ROI between the specified thresholds in config. Calculated only if calculation method is set to
AVERAGE or MIN oR MAX.

##### float depthMode

Kind: variable

Most frequent of depth values inside the ROI between the specified thresholds in config. Calculated only if calculation method is
set to MODE.

##### float depthMedian

Kind: variable

Median of depth values inside the ROI between the specified thresholds in config. Calculated only if calculation method is set to
MEDIAN.

##### std::uint16_t depthMin

Kind: variable

Minimum of depth values inside the ROI between the specified thresholds in config. Calculated only if calculation method is set to
AVERAGE or MIN oR MAX.

##### std::uint16_t depthMax

Kind: variable

Maximum of depth values inside the ROI between the specified thresholds in config. Calculated only if calculation method is set to
AVERAGE or MIN oR MAX.

##### std::uint32_t depthAveragePixelCount

Kind: variable

Number of depth values used in calculations.

##### Point3f spatialCoordinates

Kind: variable

Spatial coordinates - x,y,z; x,y are the relative positions of the center of ROI to the center of depth map

#### dai::RawSpatialLocations

Kind: struct

RawSpatialLocations structure.

##### std::vector< SpatialLocations > spatialLocations

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawSpatialLocations, spatialLocations, RawBuffer::sequenceNum, RawBuffer::ts, RawBuffer::tsDevice)

Kind: function

#### dai::RawStereoDepthConfig

Kind: struct

RawStereoDepthConfig configuration structure.

##### dai::RawStereoDepthConfig::AlgorithmControl

Kind: struct

###### int32_t DepthAlign

Kind: enum

Align the disparity/depth to the perspective of a rectified output, or center it

###### RECTIFIED_RIGHT

Kind: enum_value

###### RECTIFIED_LEFT

Kind: enum_value

###### CENTER

Kind: enum_value

###### int32_t DepthUnit

Kind: enum

Measurement unit for depth data

###### METER

Kind: enum_value

###### CENTIMETER

Kind: enum_value

###### MILLIMETER

Kind: enum_value

###### INCH

Kind: enum_value

###### FOOT

Kind: enum_value

###### CUSTOM

Kind: enum_value

###### DepthAlign depthAlign

Kind: variable

Set the disparity/depth alignment to the perspective of a rectified output, or center it

###### DepthUnit depthUnit

Kind: variable

Measurement unit for depth data. Depth data is integer value, multiple of depth unit.

###### float customDepthUnitMultiplier

Kind: variable

Custom depth unit multiplier, if custom depth unit is enabled, relative to 1 meter. A multiplier of 1000 effectively means depth
unit in millimeter.

###### bool enableLeftRightCheck

Kind: variable

Computes and combines disparities in both L-R and R-L directions, and combine them. For better occlusion handling

###### bool enableExtended

Kind: variable

Disparity range increased from 95 to 190, combined from full resolution and downscaled images. Suitable for short range objects

###### bool enableSubpixel

Kind: variable

Computes disparity with sub-pixel interpolation (5 fractional bits), suitable for long range

###### std::int32_t leftRightCheckThreshold

Kind: variable

Left-right check threshold for left-right, right-left disparity map combine, 0..128 Used only when left-right check mode is
enabled. Defines the maximum difference between the confidence of pixels from left-right and right-left confidence maps

###### std::int32_t subpixelFractionalBits

Kind: variable

Number of fractional bits for subpixel mode Valid values: 3,4,5 Defines the number of fractional disparities: 2^x Median filter
postprocessing is supported only for 3 fractional bits

###### std::int32_t disparityShift

Kind: variable

Shift input frame by a number of pixels to increase minimum depth. For example shifting by 48 will change effective disparity
search range from (0,95] to [48,143]. An alternative approach to reducing the minZ. We normally only recommend doing this when it
is known that there will be no objects farther away than MaxZ, such as having a depth camera mounted above a table pointing down
at the table surface.

###### tl::optional< float > centerAlignmentShiftFactor

Kind: variable

Used only for debug purposes. centerAlignmentShiftFactor is set automatically in firmware, from camera extrinsics when depth
alignment to camera is enabled. Center alignment is achieved by shifting the obtained disparity map by a scale factor. It's used
to align to a different camera that is on the same horizontal baseline as the two stereo cameras. E.g. if we have a device with 10
cm stereo baseline, and we have another camera inbetween, 9cm from the LEFT camera and 1 cm from the RIGHT camera we can align the
obtained disparity map using a scale factor of 0.9. Note that aligning disparity map to a different camera involves 2 steps:

###### std::int32_t numInvalidateEdgePixels

Kind: variable

Invalidate X amount of pixels at the edge of disparity frame. For right and center alignment X pixels will be invalidated from the
right edge, for left alignment from the left edge.

###### DEPTHAI_SERIALIZE(AlgorithmControl, depthAlign, depthUnit, customDepthUnitMultiplier, enableLeftRightCheck, enableExtended,
enableSubpixel, leftRightCheckThreshold, subpixelFractionalBits, disparityShift, centerAlignmentShiftFactor,
numInvalidateEdgePixels)

Kind: function

##### dai::RawStereoDepthConfig::CensusTransform

Kind: struct

The basic cost function used by the Stereo Accelerator for matching the left and right images is the Census Transform. It works on
a block of pixels and computes a bit vector which represents the structure of the image in that block. There are two types of
Census Transform based on how the middle pixel is used: Classic Approach and Modified Census. The comparisons that are made
between pixels can be or not thresholded. In some cases a mask can be applied to filter out only specific bits from the entire bit
stream. All these approaches are: Classic Approach: Uses middle pixel to compare against all its neighbors over a defined window.
Each comparison results in a new bit, that is 0 if central pixel is smaller, or 1 if is it bigger than its neighbor. Modified
Census Transform: same as classic Census Transform, but instead of comparing central pixel with its neighbors, the window mean
will be compared with each pixel over the window. Thresholding Census Transform: same as classic Census Transform, but it is not
enough that a neighbor pixel to be bigger than the central pixel, it must be significant bigger (based on a threshold). Census
Transform with Mask: same as classic Census Transform, but in this case not all of the pixel from the support window are part of
the binary descriptor. We use a ma sk “M” to define which pixels are part of the binary descriptor (1), and which pixels should be
skipped (0).

###### std::int32_t KernelSize

Kind: enum

Census transform kernel size possible values.

###### AUTO

Kind: enum_value

###### KERNEL_5x5

Kind: enum_value

###### KERNEL_7x7

Kind: enum_value

###### KERNEL_7x9

Kind: enum_value

###### KernelSize kernelSize

Kind: variable

Census transform kernel size.

###### uint64_t kernelMask

Kind: variable

Census transform mask, default - auto, mask is set based on resolution and kernel size. Disabled for 400p input resolution.
Enabled for 720p. 0XA82415 for 5x5 census transform kernel. 0XAA02A8154055 for 7x7 census transform kernel. 0X2AA00AA805540155 for
7x9 census transform kernel. Empirical values.

###### bool enableMeanMode

Kind: variable

If enabled, each pixel in the window is compared with the mean window value instead of the central pixel.

###### uint32_t threshold

Kind: variable

Census transform comparison threshold value.

###### DEPTHAI_SERIALIZE(CensusTransform, kernelSize, kernelMask, enableMeanMode, threshold)

Kind: function

##### dai::RawStereoDepthConfig::CostAggregation

Kind: struct

Cost Aggregation is based on Semi Global Block Matching (SGBM). This algorithm uses a semi global technique to aggregate the cost
map. Ultimately the idea is to build inertia into the stereo algorithm. If a pixel has very little texture information, then odds
are the correct disparity for this pixel is close to that of the previous pixel considered. This means that we get improved
results in areas with low texture.

###### uint8_t divisionFactor

Kind: variable

Cost calculation linear equation parameters.

###### uint16_t horizontalPenaltyCostP1

Kind: variable

Horizontal P1 penalty cost parameter.

###### uint16_t horizontalPenaltyCostP2

Kind: variable

Horizontal P2 penalty cost parameter.

###### uint16_t verticalPenaltyCostP1

Kind: variable

Vertical P1 penalty cost parameter.

###### uint16_t verticalPenaltyCostP2

Kind: variable

Vertical P2 penalty cost parameter.

###### DEPTHAI_SERIALIZE(CostAggregation, divisionFactor, horizontalPenaltyCostP1, horizontalPenaltyCostP2, verticalPenaltyCostP1,
verticalPenaltyCostP2)

Kind: function

##### dai::RawStereoDepthConfig::CostMatching

Kind: struct

The matching cost is way of measuring the similarity of image locations in stereo correspondence algorithm. Based on the
configuration parameters and based on the descriptor type, a linear equation is applied to computing the cost for each candidate
disparity at each pixel.

###### dai::RawStereoDepthConfig::CostMatching::LinearEquationParameters

Kind: struct

The linear equation applied for computing the cost is: COMB_COST = α*AD + β*(CTC<<3). CLAMP(COMB_COST >> 5, threshold). Where AD
is the Absolute Difference between 2 pixels values. CTC is the Census Transform Cost between 2 pixels, based on Hamming distance
(xor). The α and β parameters are subject to fine tuning by the user.

###### uint8_t alpha

Kind: variable

###### uint8_t beta

Kind: variable

###### uint8_t threshold

Kind: variable

###### DEPTHAI_SERIALIZE(LinearEquationParameters, alpha, beta, threshold)

Kind: function

###### std::uint32_t DisparityWidth

Kind: enum

Disparity search range: 64 or 96 pixels are supported by the HW.

###### DISPARITY_64

Kind: enum_value

###### DISPARITY_96

Kind: enum_value

###### DisparityWidth disparityWidth

Kind: variable

Disparity search range, default 96 pixels.

###### bool enableCompanding

Kind: variable

Disparity companding using sparse matching. Matching pixel by pixel for N disparities. Matching every 2nd pixel for M
disparitites. Matching every 4th pixel for T disparities. In case of 96 disparities: N=48, M=32, T=16. This way the search range
is extended to 176 disparities, by sparse matching. Note: when enabling this flag only depth map will be affected, disparity map
is not.

###### uint8_t invalidDisparityValue

Kind: variable

Used only for debug purposes, SW postprocessing handled only invalid value of 0 properly.

###### uint8_t confidenceThreshold

Kind: variable

Disparities with confidence value under this threshold are accepted. Higher confidence threshold means disparities with less
confidence are accepted too.

###### LinearEquationParameters linearEquationParameters

Kind: variable

Cost calculation linear equation parameters.

###### DEPTHAI_SERIALIZE(CostMatching, disparityWidth, enableCompanding, invalidDisparityValue, confidenceThreshold,
linearEquationParameters)

Kind: function

##### dai::RawStereoDepthConfig::PostProcessing

Kind: struct

Post-processing filters, all the filters are applied in disparity domain.

###### dai::RawStereoDepthConfig::PostProcessing::BrightnessFilter

Kind: struct

Brightness filtering. If input frame pixel is too dark or too bright, disparity will be invalidated. The idea is that for too
dark/too bright pixels we have low confidence, since that area was under/over exposed and details were lost.

###### std::int32_t minBrightness

Kind: variable

Minimum pixel brightness. If input pixel is less or equal than this value the depth value is invalidated.

###### std::int32_t maxBrightness

Kind: variable

Maximum range in depth units. If input pixel is less or equal than this value the depth value is invalidated.

###### DEPTHAI_SERIALIZE(BrightnessFilter, minBrightness, maxBrightness)

Kind: function

###### dai::RawStereoDepthConfig::PostProcessing::DecimationFilter

Kind: struct

Decimation filter. Reduces the depth scene complexity. The filter runs on kernel sizes [2x2] to [8x8] pixels.

###### int32_t DecimationMode

Kind: enum

Decimation algorithm type.

###### PIXEL_SKIPPING

Kind: enum_value

###### NON_ZERO_MEDIAN

Kind: enum_value

###### NON_ZERO_MEAN

Kind: enum_value

###### std::uint32_t decimationFactor

Kind: variable

Decimation factor. Valid values are 1,2,3,4. Disparity/depth map x/y resolution will be decimated with this value.

###### DecimationMode decimationMode

Kind: variable

Decimation algorithm type.

###### DEPTHAI_SERIALIZE(DecimationFilter, decimationFactor, decimationMode)

Kind: function

###### dai::RawStereoDepthConfig::PostProcessing::SpatialFilter

Kind: struct

1D edge-preserving spatial filter using high-order domain transform.

###### bool enable

Kind: variable

Whether to enable or disable the filter.

###### std::uint8_t holeFillingRadius

Kind: variable

An in-place heuristic symmetric hole-filling mode applied horizontally during the filter passes. Intended to rectify minor
artefacts with minimal performance impact. Search radius for hole filling.

###### float alpha

Kind: variable

The Alpha factor in an exponential moving average with Alpha=1 - no filter. Alpha = 0 - infinite filter. Determines the amount of
smoothing.

###### std::int32_t delta

Kind: variable

Step-size boundary. Establishes the threshold used to preserve "edges". If the disparity value between neighboring pixels exceed
the disparity threshold set by this delta parameter, then filtering will be temporarily disabled. Default value 0 means auto: 3
disparity integer levels. In case of subpixel mode it's 3*number of subpixel levels.

###### std::int32_t numIterations

Kind: variable

Number of iterations over the image in both horizontal and vertical direction.

###### DEPTHAI_SERIALIZE(SpatialFilter, enable, holeFillingRadius, alpha, delta, numIterations)

Kind: function

###### dai::RawStereoDepthConfig::PostProcessing::SpeckleFilter

Kind: struct

Speckle filtering. Removes speckle noise.

###### bool enable

Kind: variable

Whether to enable or disable the filter.

###### std::uint32_t speckleRange

Kind: variable

Speckle search range.

###### std::uint32_t differenceThreshold

Kind: variable

Maximum difference between neighbor disparity pixels to put them into the same blob. Units in disparity integer levels.

###### DEPTHAI_SERIALIZE(SpeckleFilter, enable, speckleRange, differenceThreshold)

Kind: function

###### dai::RawStereoDepthConfig::PostProcessing::TemporalFilter

Kind: struct

Temporal filtering with optional persistence.

###### int32_t PersistencyMode

Kind: enum

Persistency algorithm type.

###### PERSISTENCY_OFF

Kind: enum_value

###### VALID_8_OUT_OF_8

Kind: enum_value

###### VALID_2_IN_LAST_3

Kind: enum_value

###### VALID_2_IN_LAST_4

Kind: enum_value

###### VALID_2_OUT_OF_8

Kind: enum_value

###### VALID_1_IN_LAST_2

Kind: enum_value

###### VALID_1_IN_LAST_5

Kind: enum_value

###### VALID_1_IN_LAST_8

Kind: enum_value

###### PERSISTENCY_INDEFINITELY

Kind: enum_value

###### bool enable

Kind: variable

Whether to enable or disable the filter.

###### PersistencyMode persistencyMode

Kind: variable

Persistency mode. If the current disparity/depth value is invalid, it will be replaced by an older value, based on persistency
mode.

###### float alpha

Kind: variable

The Alpha factor in an exponential moving average with Alpha=1 - no filter. Alpha = 0 - infinite filter. Determines the extent of
the temporal history that should be averaged.

###### std::int32_t delta

Kind: variable

Step-size boundary. Establishes the threshold used to preserve surfaces (edges). If the disparity value between neighboring pixels
exceed the disparity threshold set by this delta parameter, then filtering will be temporarily disabled. Default value 0 means
auto: 3 disparity integer levels. In case of subpixel mode it's 3*number of subpixel levels.

###### DEPTHAI_SERIALIZE(TemporalFilter, enable, persistencyMode, alpha, delta)

Kind: function

###### dai::RawStereoDepthConfig::PostProcessing::ThresholdFilter

Kind: struct

Threshold filtering. Filters out distances outside of a given interval.

###### std::int32_t minRange

Kind: variable

Minimum range in depth units. Depth values under this value are invalidated.

###### std::int32_t maxRange

Kind: variable

Maximum range in depth units. Depth values over this value are invalidated.

###### DEPTHAI_SERIALIZE(ThresholdFilter, minRange, maxRange)

Kind: function

###### int32_t Filter

Kind: enum

###### NONE

Kind: enum_value

###### DECIMATION

Kind: enum_value

###### SPECKLE

Kind: enum_value

###### MEDIAN

Kind: enum_value

###### SPATIAL

Kind: enum_value

###### TEMPORAL

Kind: enum_value

###### FILTER_COUNT

Kind: enum_value

###### std::array< Filter, 5 > filteringOrder

Kind: variable

Order of filters to be applied if filtering is enabled.

###### MedianFilter median

Kind: variable

Set kernel size for disparity/depth median filtering, or disable

###### std::int16_t bilateralSigmaValue

Kind: variable

Sigma value for bilateral filter. 0 means disabled. A larger value of the parameter means that farther colors within the pixel
neighborhood will be mixed together.

###### SpatialFilter spatialFilter

Kind: variable

Edge-preserving filtering: This type of filter will smooth the depth noise while attempting to preserve edges.

###### TemporalFilter temporalFilter

Kind: variable

Temporal filtering with optional persistence.

###### ThresholdFilter thresholdFilter

Kind: variable

Threshold filtering. Filters out distances outside of a given interval.

###### BrightnessFilter brightnessFilter

Kind: variable

Brightness filtering. If input frame pixel is too dark or too bright, disparity will be invalidated. The idea is that for too
dark/too bright pixels we have low confidence, since that area was under/over exposed and details were lost.

###### SpeckleFilter speckleFilter

Kind: variable

Speckle filtering. Removes speckle noise.

###### DecimationFilter decimationFilter

Kind: variable

Decimation filter. Reduces disparity/depth map x/y complexity, reducing runtime complexity for other filters.

###### DEPTHAI_SERIALIZE(PostProcessing, filteringOrder, median, bilateralSigmaValue, spatialFilter, temporalFilter,
thresholdFilter, brightnessFilter, speckleFilter, decimationFilter)

Kind: function

##### dai::MedianFilter MedianFilter

Kind: enum

##### AlgorithmControl algorithmControl

Kind: variable

Controls the flow of stereo algorithm - left-right check, subpixel etc.

##### PostProcessing postProcessing

Kind: variable

Controls the postprocessing of disparity and/or depth map.

##### CensusTransform censusTransform

Kind: variable

Census transform settings.

##### CostMatching costMatching

Kind: variable

Cost matching settings.

##### CostAggregation costAggregation

Kind: variable

Cost aggregation settings.

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawStereoDepthConfig, algorithmControl, postProcessing, censusTransform, costMatching, costAggregation)

Kind: function

#### dai::RawSystemInformation

Kind: struct

System information of device Memory usage, cpu usage and chip temperature

##### MemoryInfo ddrMemoryUsage

Kind: variable

DDR memory usage.

##### MemoryInfo cmxMemoryUsage

Kind: variable

CMX memory usage.

##### MemoryInfo leonCssMemoryUsage

Kind: variable

LeonCss heap usage.

##### MemoryInfo leonMssMemoryUsage

Kind: variable

LeonMss heap usage.

##### CpuUsage leonCssCpuUsage

Kind: variable

LeonCss cpu usage.

##### CpuUsage leonMssCpuUsage

Kind: variable

LeonMss cpu usage.

##### ChipTemperature chipTemperature

Kind: variable

Chip temperatures.

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawSystemInformation, ddrMemoryUsage, cmxMemoryUsage, leonCssMemoryUsage, leonMssMemoryUsage,
leonCssCpuUsage, leonMssCpuUsage, chipTemperature)

Kind: function

#### dai::RawToFConfig

Kind: struct

RawToFConfig configuration structure.

##### MedianFilter median

Kind: variable

Set kernel size for depth median filtering, or disable

##### int phaseUnwrappingLevel

Kind: variable

##### uint16_t phaseUnwrapErrorThreshold

Kind: variable

##### bool enablePhaseShuffleTemporalFilter

Kind: variable

##### bool enableBurstMode

Kind: variable

##### bool enableDistortionCorrection

Kind: variable

##### tl::optional< bool > enableFPPNCorrection

Kind: variable

##### tl::optional< bool > enableOpticalCorrection

Kind: variable

##### tl::optional< bool > enableTemperatureCorrection

Kind: variable

##### tl::optional< bool > enableWiggleCorrection

Kind: variable

##### tl::optional< bool > enablePhaseUnwrapping

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawToFConfig, median, enablePhaseShuffleTemporalFilter, enableBurstMode, enableDistortionCorrection,
enableFPPNCorrection, enableOpticalCorrection, enableTemperatureCorrection, enableWiggleCorrection, enablePhaseUnwrapping,
phaseUnwrappingLevel, phaseUnwrapErrorThreshold)

Kind: function

#### dai::TrackedFeature

Kind: struct

TrackedFeature structure

##### Point2f position

Kind: variable

x, y position of the detected feature

##### uint32_t id

Kind: variable

Feature ID. Persistent between frames if motion estimation is enabled.

##### uint32_t age

Kind: variable

Feature age in frames

##### float harrisScore

Kind: variable

Feature harris score

##### float trackingError

Kind: variable

Feature tracking error

#### dai::RawTrackedFeatures

Kind: struct

RawTrackedFeatures structure.

##### std::vector< TrackedFeature > trackedFeatures

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawTrackedFeatures, trackedFeatures, RawBuffer::sequenceNum, RawBuffer::ts, RawBuffer::tsDevice)

Kind: function

#### dai::Tracklet

Kind: struct

Tracklet structure Contains tracklets from object tracker output.

##### std::int32_t TrackingStatus

Kind: enum

###### NEW

Kind: enum_value

The object is newly added.

###### TRACKED

Kind: enum_value

The object is being tracked.

###### LOST

Kind: enum_value

The object gets lost now. The object can be tracked again automatically(long term tracking) or by specifying detected object
manually(short term and zero term tracking).

###### REMOVED

Kind: enum_value

The object is removed.

##### Rect roi

Kind: variable

Tracked region of interest.

##### std::int32_t id

Kind: variable

Tracklet 's ID.

##### std::int32_t label

Kind: variable

Tracklet 's label ID.

##### std::int32_t age

Kind: variable

Number of frames it is being tracked for.

##### TrackingStatus status

Kind: variable

Status of tracklet.

##### ImgDetection srcImgDetection

Kind: variable

Image detection that is tracked.

##### Point3f spatialCoordinates

Kind: variable

Spatial coordinates of tracklet.

##### DEPTHAI_SERIALIZE(Tracklet, roi, id, label, age, status, srcImgDetection, spatialCoordinates)

Kind: function

#### dai::RawTracklets

Kind: struct

RawTracklets structure.

##### std::vector< Tracklet > tracklets

Kind: variable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getType()

Kind: function

##### DEPTHAI_SERIALIZE(RawTracklets, tracklets, RawBuffer::sequenceNum, RawBuffer::ts, RawBuffer::tsDevice)

Kind: function

#### dai::BoardConfig

Kind: struct

##### dai::BoardConfig::Camera

Kind: struct

Camera description.

###### std::string name

Kind: variable

###### tl::optional< CameraSensorType > sensorType

Kind: variable

###### tl::optional< CameraImageOrientation > orientation

Kind: variable

##### dai::BoardConfig::GPIO

Kind: struct

GPIO config.

###### std::int8_t Mode

Kind: enum

###### ALT_MODE_0

Kind: enum_value

###### ALT_MODE_1

Kind: enum_value

###### ALT_MODE_2

Kind: enum_value

###### ALT_MODE_3

Kind: enum_value

###### ALT_MODE_4

Kind: enum_value

###### ALT_MODE_5

Kind: enum_value

###### ALT_MODE_6

Kind: enum_value

###### DIRECT

Kind: enum_value

###### std::int8_t Direction

Kind: enum

###### INPUT

Kind: enum_value

###### OUTPUT

Kind: enum_value

###### std::int8_t Level

Kind: enum

###### LOW

Kind: enum_value

###### HIGH

Kind: enum_value

###### std::int8_t Pull

Kind: enum

###### NO_PULL

Kind: enum_value

###### PULL_UP

Kind: enum_value

###### PULL_DOWN

Kind: enum_value

###### BUS_KEEPER

Kind: enum_value

###### std::int8_t Drive

Kind: enum

Drive strength in mA (2, 4, 8 and 12mA)

###### MA_2

Kind: enum_value

###### MA_4

Kind: enum_value

###### MA_8

Kind: enum_value

###### MA_12

Kind: enum_value

###### Mode mode

Kind: variable

###### Direction direction

Kind: variable

###### Level level

Kind: variable

###### Pull pull

Kind: variable

###### Drive drive

Kind: variable

###### bool schmitt

Kind: variable

###### bool slewFast

Kind: variable

###### GPIO()

Kind: function

###### GPIO(Direction direction)

Kind: function

###### GPIO(Direction direction, Level level)

Kind: function

###### GPIO(Direction direction, Level level, Pull pull)

Kind: function

###### GPIO(Direction direction, Mode mode)

Kind: function

###### GPIO(Direction direction, Mode mode, Pull pull)

Kind: function

##### dai::BoardConfig::IMU

Kind: struct

###### int8_t bus

Kind: variable

###### int8_t interrupt

Kind: variable

###### int8_t wake

Kind: variable

###### int8_t csGpio

Kind: variable

###### int8_t boot

Kind: variable

###### int8_t reset

Kind: variable

###### IMU()

Kind: function

##### dai::BoardConfig::Network

Kind: struct

Network configuration.

###### uint16_t mtu

Kind: variable

Network MTU, 0 is auto (usually 1500 for Ethernet) or forwarded from bootloader (not yet implemented there). Note: not advised to
increase past 1500 for now

###### bool xlinkTcpNoDelay

Kind: variable

Sets the

##### dai::BoardConfig::UART

Kind: struct

UART instance config.

###### std::int8_t tmp

Kind: variable

##### dai::BoardConfig::USB

Kind: struct

USB related config.

###### uint16_t vid

Kind: variable

###### uint16_t pid

Kind: variable

###### uint16_t flashBootedVid

Kind: variable

###### uint16_t flashBootedPid

Kind: variable

###### UsbSpeed maxSpeed

Kind: variable

###### std::string productName

Kind: variable

###### std::string manufacturer

Kind: variable

##### dai::BoardConfig::UVC

Kind: struct

UVC configuration for USB descriptor.

###### std::string cameraName

Kind: variable

###### uint16_t width

Kind: variable

###### uint16_t height

Kind: variable

###### RawImgFrame::Type frameType

Kind: variable

###### bool enable

Kind: variable

###### UVC(uint16_t width, uint16_t height)

Kind: function

###### UVC()

Kind: function

##### USB usb

Kind: variable

##### Network network

Kind: variable

##### std::vector< std::string > sysctl

Kind: variable

Optional list of FreeBSD sysctl parameters to be set (system, network, etc.). For example: "net.inet.tcp.delayed_ack=0" (this one
is also set by default)

##### tl::optional< uint32_t > watchdogTimeoutMs

Kind: variable

Watchdog config.

##### tl::optional< uint32_t > watchdogInitialDelayMs

Kind: variable

##### std::unordered_map< std::int8_t, GPIO > gpio

Kind: variable

##### std::unordered_map< std::int8_t, UART > uart

Kind: variable

UART instance map.

##### tl::optional< bool > pcieInternalClock

Kind: variable

PCIe config.

##### tl::optional< bool > usb3PhyInternalClock

Kind: variable

USB3 phy config.

##### tl::optional< bool > mipi4LaneRgb

Kind: variable

MIPI 4Lane RGB config.

##### tl::optional< bool > emmc

Kind: variable

eMMC config

##### tl::optional< std::string > logPath

Kind: variable

log path

##### tl::optional< size_t > logSizeMax

Kind: variable

Max log size.

##### tl::optional< LogLevel > logVerbosity

Kind: variable

log verbosity

##### tl::optional< bool > logDevicePrints

Kind: variable

log device prints

##### bool nonExclusiveMode

Kind: variable

##### std::unordered_map< CameraBoardSocket, Camera > camera

Kind: variable

##### tl::optional< IMU > imu

Kind: variable

##### tl::optional< UVC > uvc

Kind: variable

#### dai::CrashDump

Kind: struct

##### dai::CrashDump::CrashReport

Kind: struct

###### dai::CrashDump::CrashReport::ErrorSourceInfo

Kind: struct

###### dai::CrashDump::CrashReport::ErrorSourceInfo::AssertContext

Kind: struct

###### std::string fileName

Kind: variable

###### std::string functionName

Kind: variable

###### uint32_t line

Kind: variable

###### DEPTHAI_SERIALIZE(AssertContext, fileName, functionName, line)

Kind: function

###### dai::CrashDump::CrashReport::ErrorSourceInfo::TrapContext

Kind: struct

###### uint32_t trapNumber

Kind: variable

###### uint32_t trapAddress

Kind: variable

###### std::string trapName

Kind: variable

###### DEPTHAI_SERIALIZE(TrapContext, trapNumber, trapAddress, trapName)

Kind: function

###### AssertContext assertContext

Kind: variable

###### TrapContext trapContext

Kind: variable

###### uint32_t errorId

Kind: variable

###### DEPTHAI_SERIALIZE(ErrorSourceInfo, assertContext, trapContext, errorId)

Kind: function

###### dai::CrashDump::CrashReport::ThreadCallstack

Kind: struct

###### dai::CrashDump::CrashReport::ThreadCallstack::CallstackContext

Kind: struct

###### uint32_t callSite

Kind: variable

###### uint32_t calledTarget

Kind: variable

###### uint32_t framePointer

Kind: variable

###### std::string context

Kind: variable

###### DEPTHAI_SERIALIZE(CallstackContext, callSite, calledTarget, framePointer, context)

Kind: function

###### uint32_t threadId

Kind: variable

###### std::string threadName

Kind: variable

###### std::string threadStatus

Kind: variable

###### uint32_t stackBottom

Kind: variable

###### uint32_t stackTop

Kind: variable

###### uint32_t stackPointer

Kind: variable

###### uint32_t instructionPointer

Kind: variable

###### std::vector< CallstackContext > callStack

Kind: variable

###### DEPTHAI_SERIALIZE(ThreadCallstack, threadId, threadName, threadStatus, stackBottom, stackTop, stackPointer,
instructionPointer, callStack)

Kind: function

###### ProcessorType processor

Kind: variable

###### std::string errorSource

Kind: variable

###### uint32_t crashedThreadId

Kind: variable

###### ErrorSourceInfo errorSourceInfo

Kind: variable

###### std::vector< ThreadCallstack > threadCallstack

Kind: variable

###### std::vector< std::string > prints

Kind: variable

###### uint64_t uptimeNs

Kind: variable

###### uint64_t timerRaw

Kind: variable

###### uint64_t statusFlags

Kind: variable

###### DEPTHAI_SERIALIZE(CrashReport, processor, errorSource, crashedThreadId, errorSourceInfo, threadCallstack, prints, uptimeNs,
timerRaw, statusFlags)

Kind: function

##### std::vector< CrashReport > crashReports

Kind: variable

##### std::string depthaiCommitHash

Kind: variable

##### std::string deviceId

Kind: variable

##### nlohmann::json serializeToJson()

Kind: function

#### dai::LogMessage

Kind: struct

##### std::string nodeIdName

Kind: variable

##### LogLevel level

Kind: variable

##### Timestamp time

Kind: variable

##### size_t colorRangeStart

Kind: variable

##### size_t colorRangeEnd

Kind: variable

##### std::string payload

Kind: variable

#### dai::AssetView

Kind: struct

##### std::uint8_t * data

Kind: variable

##### std::uint32_t size

Kind: variable

##### std::uint32_t alignment

Kind: variable

##### AssetView(std::uint8_t * d, std::uint32_t s, std::uint32_t a)

Kind: function

#### dai::Assets

Kind: class

##### void setStorage(std::uint8_t * ps)

Kind: function

##### bool has(const std::string & key)

Kind: function

##### AssetView get(const std::string & key)

Kind: function

##### std::vector< std::pair< std::string, AssetView > > getAll()

Kind: function

##### DEPTHAI_SERIALIZE(Assets, map)

Kind: function

#### dai::NodeConnectionSchema

Kind: struct

Specifies a connection between nodes IOs

##### int64_t node1Id

Kind: variable

##### std::string node1OutputGroup

Kind: variable

##### std::string node1Output

Kind: variable

##### int64_t node2Id

Kind: variable

##### std::string node2InputGroup

Kind: variable

##### std::string node2Input

Kind: variable

##### bool operator==(const NodeConnectionSchema & rhs)

Kind: function

#### dai::NodeIoInfo

Kind: struct

NodeIo informations such as name, type, ...

##### Type

Kind: enum

###### MSender

Kind: enum_value

###### SSender

Kind: enum_value

###### MReceiver

Kind: enum_value

###### SReceiver

Kind: enum_value

##### std::string group

Kind: variable

##### std::string name

Kind: variable

##### Type type

Kind: variable

##### bool blocking

Kind: variable

##### int queueSize

Kind: variable

##### bool waitForMessage

Kind: variable

##### uint32_t id

Kind: variable

#### dai::NodeObjInfo

Kind: struct

NodeObj information structure.

##### dai::NodeObjInfo::IoInfoKey

Kind: struct

###### std::size_t operator()(const std::tuple< std::string, std::string > & k)

Kind: function

##### int64_t id

Kind: variable

##### std::string name

Kind: variable

##### std::vector< std::uint8_t > properties

Kind: variable

##### std::unordered_map< std::tuple< std::string, std::string >, NodeIoInfo , IoInfoKey > ioInfo

Kind: variable

#### dai::PipelineSchema

Kind: struct

Specifies whole pipeline, nodes, properties and connections between nodes IOs

##### std::vector< NodeConnectionSchema > connections

Kind: variable

##### GlobalProperties globalProperties

Kind: variable

##### std::unordered_map< int64_t, NodeObjInfo > nodes

Kind: variable

#### dai::TraceEvent

Kind: struct

##### std::uint8_t Event

Kind: enum

###### SEND

Kind: enum_value

###### RECEIVE

Kind: enum_value

##### std::uint8_t Status

Kind: enum

###### START

Kind: enum_value

###### END

Kind: enum_value

###### TIMEOUT

Kind: enum_value

##### Event event

Kind: variable

##### Status status

Kind: variable

##### uint32_t srcId

Kind: variable

##### uint32_t dstId

Kind: variable

##### Timestamp timestamp

Kind: variable

#### dai::AprilTagProperties

Kind: struct

Specify properties for AprilTag

##### RawAprilTagConfig initialConfig

Kind: variable

##### bool inputConfigSync

Kind: variable

Whether to wait for config at 'inputConfig' IO.

#### dai::CameraProperties

Kind: struct

Specify properties for ColorCamera such as camera ID, ...

##### dai::CameraProperties::IspScale

Kind: struct

###### int32_t horizNumerator

Kind: variable

###### int32_t horizDenominator

Kind: variable

###### int32_t vertNumerator

Kind: variable

###### int32_t vertDenominator

Kind: variable

###### DEPTHAI_SERIALIZE(IspScale, horizNumerator, horizDenominator, vertNumerator, vertDenominator)

Kind: function

##### int32_t ColorOrder

Kind: enum

For 24 bit color these can be either RGB or BGR

###### BGR

Kind: enum_value

###### RGB

Kind: enum_value

##### WarpMeshSource

Kind: enum

Warp mesh source

###### AUTO

Kind: enum_value

###### NONE

Kind: enum_value

###### CALIBRATION

Kind: enum_value

###### URI

Kind: enum_value

##### RawCameraControl initialControl

Kind: variable

Initial controls applied to ColorCamera node

##### CameraBoardSocket boardSocket

Kind: variable

Which socket will color camera use

##### std::string cameraName

Kind: variable

Which camera name will color camera use

##### CameraImageOrientation imageOrientation

Kind: variable

Camera sensor image orientation / pixel readout

##### ColorOrder colorOrder

Kind: variable

For 24 bit color these can be either RGB or BGR

##### bool interleaved

Kind: variable

Are colors interleaved (R1G1B1, R2G2B2, ...) or planar (R1R2..., G1G2..., B1B2)

##### bool fp16

Kind: variable

Are values FP16 type (0.0 - 255.0)

##### uint32_t previewHeight

Kind: variable

Preview frame output height

##### uint32_t previewWidth

Kind: variable

Preview frame output width

##### int32_t videoWidth

Kind: variable

Preview frame output width

##### int32_t videoHeight

Kind: variable

Preview frame output height

##### int32_t stillWidth

Kind: variable

Preview frame output width

##### int32_t stillHeight

Kind: variable

Preview frame output height

##### int32_t resolutionWidth

Kind: variable

Select the camera sensor width

##### int32_t resolutionHeight

Kind: variable

Select the camera sensor height

##### float fps

Kind: variable

Camera sensor FPS

##### int isp3aFps

Kind: variable

Isp 3A rate (auto focus, auto exposure, auto white balance, camera controls etc.). Default (0) matches the camera FPS, meaning
that 3A is running on each frame. Reducing the rate of 3A reduces the CPU usage on CSS, but also increases the convergence rate of
3A. Note that camera controls will be processed at this rate. E.g. if camera is running at 30 fps, and camera control is sent at
every frame, but 3A fps is set to 15, the camera control messages will be processed at 15 fps rate, which will lead to queueing.

##### float sensorCropX

Kind: variable

Initial sensor crop, -1 signifies center crop

##### float sensorCropY

Kind: variable

##### bool previewKeepAspectRatio

Kind: variable

Whether to keep aspect ratio of input (video/preview size) or not

##### IspScale ispScale

Kind: variable

Configure scaling for

##### CameraSensorType sensorType

Kind: variable

Type of sensor, specifies what kind of postprocessing is performed.

##### int numFramesPoolRaw

Kind: variable

Pool sizes

##### int numFramesPoolIsp

Kind: variable

##### int numFramesPoolVideo

Kind: variable

##### int numFramesPoolPreview

Kind: variable

##### int numFramesPoolStill

Kind: variable

##### WarpMeshSource warpMeshSource

Kind: variable

##### std::string warpMeshUri

Kind: variable

##### int warpMeshWidth

Kind: variable

##### int warpMeshHeight

Kind: variable

##### tl::optional< float > calibAlpha

Kind: variable

Free scaling parameter between 0 (when all the pixels in the undistorted image are valid) and 1 (when all the source image pixels
are retained in the undistorted image). On some high distortion lenses, and/or due to rectification (image rotated) invalid areas
may appear even with alpha=0, in these cases alpha < 0.0 helps removing invalid areas. See getOptimalNewCameraMatrix from opencv
for more details.

##### int warpMeshStepWidth

Kind: variable

##### int warpMeshStepHeight

Kind: variable

##### tl::optional< bool > rawPacked

Kind: variable

Configures whether the camera

#### dai::CastProperties

Kind: struct

Specify properties for Cast

##### dai::RawImgFrame::Type outputType

Kind: variable

##### tl::optional< float > scale

Kind: variable

##### tl::optional< float > offset

Kind: variable

##### int numFramesPool

Kind: variable

#### dai::ColorCameraProperties

Kind: struct

Specify properties for ColorCamera such as camera ID, ...

##### dai::ColorCameraProperties::IspScale

Kind: struct

###### int32_t horizNumerator

Kind: variable

###### int32_t horizDenominator

Kind: variable

###### int32_t vertNumerator

Kind: variable

###### int32_t vertDenominator

Kind: variable

###### DEPTHAI_SERIALIZE(IspScale, horizNumerator, horizDenominator, vertNumerator, vertDenominator)

Kind: function

##### int32_t SensorResolution

Kind: enum

Select the camera sensor resolution

###### THE_1080_P

Kind: enum_value

1920 × 1080

###### THE_4_K

Kind: enum_value

3840 × 2160

###### THE_12_MP

Kind: enum_value

4056 × 3040

###### THE_13_MP

Kind: enum_value

4208 × 3120

###### THE_720_P

Kind: enum_value

1280 × 720

###### THE_800_P

Kind: enum_value

1280 × 800

###### THE_1200_P

Kind: enum_value

1920 × 1200

###### THE_5_MP

Kind: enum_value

2592 × 1944

###### THE_4000X3000

Kind: enum_value

4000 × 3000

###### THE_5312X6000

Kind: enum_value

5312 × 6000

###### THE_48_MP

Kind: enum_value

8000 × 6000

###### THE_1440X1080

Kind: enum_value

1440 × 1080

###### THE_1352X1012

Kind: enum_value

1352 × 1012

###### THE_2024X1520

Kind: enum_value

2024 × 1520

##### int32_t ColorOrder

Kind: enum

For 24 bit color these can be either RGB or BGR

###### BGR

Kind: enum_value

###### RGB

Kind: enum_value

##### RawCameraControl initialControl

Kind: variable

##### CameraBoardSocket boardSocket

Kind: variable

Which socket will color camera use

##### std::string cameraName

Kind: variable

Which camera name will color camera use

##### CameraImageOrientation imageOrientation

Kind: variable

Camera sensor image orientation / pixel readout

##### ColorOrder colorOrder

Kind: variable

For 24 bit color these can be either RGB or BGR

##### bool interleaved

Kind: variable

Are colors interleaved (R1G1B1, R2G2B2, ...) or planar (R1R2..., G1G2..., B1B2)

##### bool fp16

Kind: variable

Are values FP16 type (0.0 - 255.0)

##### uint32_t previewHeight

Kind: variable

Preview frame output height

##### uint32_t previewWidth

Kind: variable

Preview frame output width

##### int32_t videoWidth

Kind: variable

Preview frame output width

##### int32_t videoHeight

Kind: variable

Preview frame output height

##### int32_t stillWidth

Kind: variable

Preview frame output width

##### int32_t stillHeight

Kind: variable

Preview frame output height

##### SensorResolution resolution

Kind: variable

Select the camera sensor resolution

##### float fps

Kind: variable

Camera sensor FPS

##### int isp3aFps

Kind: variable

Isp 3A rate (auto focus, auto exposure, auto white balance, camera controls etc.). Default (0) matches the camera FPS, meaning
that 3A is running on each frame. Reducing the rate of 3A reduces the CPU usage on CSS, but also increases the convergence rate of
3A. Note that camera controls will be processed at this rate. E.g. if camera is running at 30 fps, and camera control is sent at
every frame, but 3A fps is set to 15, the camera control messages will be processed at 15 fps rate, which will lead to queueing.

##### float sensorCropX

Kind: variable

Initial sensor crop, -1 signifies center crop

##### float sensorCropY

Kind: variable

##### bool previewKeepAspectRatio

Kind: variable

Whether to keep aspect ratio of input (video size) or not

##### IspScale ispScale

Kind: variable

Configure scaling for

##### int numFramesPoolRaw

Kind: variable

Pool sizes

##### int numFramesPoolIsp

Kind: variable

##### int numFramesPoolVideo

Kind: variable

##### int numFramesPoolPreview

Kind: variable

##### int numFramesPoolStill

Kind: variable

##### std::vector< dai::FrameEvent > eventFilter

Kind: variable

List of events to receive, the rest will be ignored

##### tl::optional< bool > rawPacked

Kind: variable

Configures whether the camera

#### dai::DetectionNetworkProperties

Kind: struct

Specify properties for DetectionNetwork

##### DetectionParserOptions parser

Kind: variable

#### dai::DetectionParserProperties

Kind: struct

Specify properties for DetectionParser

##### int numFramesPool

Kind: variable

Num frames in output pool.

##### std::unordered_map< std::string, TensorInfo > networkInputs

Kind: variable

Network inputs.

##### DetectionParserOptions parser

Kind: variable

Options for parser.

#### dai::EdgeDetectorProperties

Kind: struct

Specify properties for EdgeDetector

##### RawEdgeDetectorConfig initialConfig

Kind: variable

Initial edge detector config.

##### int outputFrameSize

Kind: variable

Maximum output frame size in bytes (eg: 300x300 BGR image -> 300*300*3 bytes)

##### int numFramesPool

Kind: variable

Num frames in output pool.

#### dai::FeatureTrackerProperties

Kind: struct

Specify properties for FeatureTracker

##### RawFeatureTrackerConfig initialConfig

Kind: variable

Initial feature tracker config

##### std::int32_t numShaves

Kind: variable

Number of shaves reserved for feature tracking. Optical flow can use 1 or 2 shaves, while for corner detection only 1 is enough.
Hardware motion estimation doesn't require shaves. Maximum 2, minimum 1.

##### std::int32_t numMemorySlices

Kind: variable

Number of memory slices reserved for feature tracking. Optical flow can use 1 or 2 memory slices, while for corner detection only
1 is enough. Maximum number of features depends on the number of allocated memory slices. Hardware motion estimation doesn't
require memory slices. Maximum 2, minimum 1.

#### dai::GlobalProperties

Kind: struct

Specify properties which apply for whole pipeline

##### double leonCssFrequencyHz

Kind: variable

Set frequency of Leon OS - Increasing can improve performance, at the cost of higher power draw

##### double leonMssFrequencyHz

Kind: variable

Set frequency of Leon RT - Increasing can improve performance, at the cost of higher power draw

##### tl::optional< std::string > pipelineName

Kind: variable

##### tl::optional< std::string > pipelineVersion

Kind: variable

##### tl::optional< dai::EepromData > calibData

Kind: variable

Calibration data sent through pipeline

##### tl::optional< std::uint32_t > cameraTuningBlobSize

Kind: variable

Camera tuning blob size in bytes

##### std::string cameraTuningBlobUri

Kind: variable

Uri which points to camera tuning blob

##### int32_t xlinkChunkSize

Kind: variable

Chunk size for splitting device-sent XLink packets, in bytes. A larger value could increase performance, with 0 disabling
chunking. A negative value won't modify the device defaults - configured per protocol, currently 64*1024 for both USB and
Ethernet.

##### uint32_t sippBufferSize

Kind: variable

SIPP (Signal Image Processing Pipeline ) internal memory pool. SIPP is a framework used to schedule HW filters, e.g. ISP, Warp,
Median filter etc. Changing the size of this pool is meant for advanced use cases, pushing the limits of the HW. By default memory
is allocated in high speed CMX memory. Setting to 0 will allocate in DDR 256 kilobytes. Units are bytes.

##### uint32_t sippDmaBufferSize

Kind: variable

SIPP (Signal Image Processing Pipeline ) internal DMA memory pool. SIPP is a framework used to schedule HW filters, e.g. ISP,
Warp, Median filter etc. Changing the size of this pool is meant for advanced use cases, pushing the limits of the HW. Memory is
allocated in high speed CMX memory Units are bytes.

#### dai::IMUSensorConfig

Kind: struct

##### bool sensitivityEnabled

Kind: variable

##### bool sensitivityRelative

Kind: variable

Change reports relative (vs absolute)

##### uint16_t changeSensitivity

Kind: variable

Report-on-change threshold.

##### uint32_t reportRate

Kind: variable

##### IMUSensor sensorId

Kind: variable

#### dai::IMUProperties

Kind: struct

##### std::vector< IMUSensorConfig > imuSensors

Kind: variable

##### std::int32_t batchReportThreshold

Kind: variable

##### std::int32_t maxBatchReports

Kind: variable

##### tl::optional< bool > enableFirmwareUpdate

Kind: variable

#### dai::ImageAlignProperties

Kind: struct

Specify properties for ImageAlign

##### dai::Interpolation Interpolation

Kind: enum

##### RawImageAlignConfig initialConfig

Kind: variable

##### int numFramesPool

Kind: variable

Num frames in output pool.

##### int alignWidth

Kind: variable

Optional output width

##### int alignHeight

Kind: variable

Optional output height

##### std::vector< int > warpHwIds

Kind: variable

Warp HW IDs to use, if empty, use auto/default.

##### Interpolation interpolation

Kind: variable

Interpolation type to use.

##### bool outKeepAspectRatio

Kind: variable

Whether to keep aspect ratio of the input or not

##### std::int32_t numShaves

Kind: variable

Number of shaves reserved.

#### dai::ImageManipProperties

Kind: struct

Specify properties for ImageManip

##### RawImageManipConfig initialConfig

Kind: variable

Initial configuration for ImageManip node.

##### int outputFrameSize

Kind: variable

Maximum output frame size in bytes (eg: 300x300 BGR image -> 300*300*3 bytes)

##### int numFramesPool

Kind: variable

Num frames in output pool.

##### int meshWidth

Kind: variable

Custom warp mesh width. Set to zero to disable.

##### int meshHeight

Kind: variable

Custom warp mesh height. Set to zero to disable.

##### std::string meshUri

Kind: variable

Custom warp mesh uri. Set to empty string to disable.

#### dai::MessageDemuxProperties

Kind: struct

##### ProcessorType processor

Kind: variable

Which processor should execute the node.

#### dai::MonoCameraProperties

Kind: struct

Specify properties for MonoCamera such as camera ID, ...

##### int32_t SensorResolution

Kind: enum

Select the camera sensor resolution: 1280×720, 1280×800, 640×400, 640×480, 1920×1200

###### THE_720_P

Kind: enum_value

###### THE_800_P

Kind: enum_value

###### THE_400_P

Kind: enum_value

###### THE_480_P

Kind: enum_value

###### THE_1200_P

Kind: enum_value

##### RawCameraControl initialControl

Kind: variable

##### CameraBoardSocket boardSocket

Kind: variable

Which socket will mono camera use

##### std::string cameraName

Kind: variable

Which camera name will mono camera use

##### CameraImageOrientation imageOrientation

Kind: variable

Camera sensor image orientation / pixel readout

##### SensorResolution resolution

Kind: variable

Select the camera sensor resolution

##### float fps

Kind: variable

Camera sensor FPS

##### int isp3aFps

Kind: variable

Isp 3A rate (auto focus, auto exposure, auto white balance, camera controls etc.). Default (0) matches the camera FPS, meaning
that 3A is running on each frame. Reducing the rate of 3A reduces the CPU usage on CSS, but also increases the convergence rate of
3A. Note that camera controls will be processed at this rate. E.g. if camera is running at 30 fps, and camera control is sent at
every frame, but 3A fps is set to 15, the camera control messages will be processed at 15 fps rate, which will lead to queueing.

##### int numFramesPool

Kind: variable

Frame pool size for the main output, ISP processed

##### int numFramesPoolRaw

Kind: variable

Frame pool size for the

##### std::vector< dai::FrameEvent > eventFilter

Kind: variable

List of events to receive, the rest will be ignored

##### tl::optional< bool > rawPacked

Kind: variable

Configures whether the camera

#### dai::NeuralNetworkProperties

Kind: struct

Specify properties for NeuralNetwork such as blob path, ...

##### tl::optional< std::uint32_t > blobSize

Kind: variable

Blob binary size in bytes

##### std::string blobUri

Kind: variable

Uri which points to blob

##### std::uint32_t numFrames

Kind: variable

Number of available output tensors in pool

##### std::uint32_t numThreads

Kind: variable

Number of threads to create for running inference. 0 = auto

##### std::uint32_t numNCEPerThread

Kind: variable

Number of NCE (Neural Compute Engine) per inference thread. 0 = auto

#### dai::ObjectTrackerProperties

Kind: struct

Specify properties for ObjectTracker

##### float trackerThreshold

Kind: variable

Confidence threshold for tracklets. Above this threshold detections will be tracked. Default 0, all detections are tracked.

##### std::int32_t maxObjectsToTrack

Kind: variable

Maximum number of objects to track. Maximum 60 for SHORT_TERM_KCF, maximum 1000 for other tracking methods. Default 60.

##### std::vector< std::uint32_t > detectionLabelsToTrack

Kind: variable

Which detections labels to track. Default all labels are tracked.

##### TrackerType trackerType

Kind: variable

Tracking method.

##### TrackerIdAssignmentPolicy trackerIdAssignmentPolicy

Kind: variable

New ID assignment policy.

##### bool trackingPerClass

Kind: variable

Whether tracker should take into consideration class label for tracking.

##### float occlusionRatioThreshold

Kind: variable

Occlusion ratio threshold. Used to filter out overlapping tracklets.

##### uint32_t trackletMaxLifespan

Kind: variable

Tracklet lifespan in number of frames. Number of frames after which a LOST tracklet is removed.

##### uint32_t trackletBirthThreshold

Kind: variable

Tracklet birth threshold. Minimum consecutive tracked frames required to consider a tracklet as a new instance.

#### dai::PointCloudProperties

Kind: struct

Specify properties for PointCloud

##### RawPointCloudConfig initialConfig

Kind: variable

##### int numFramesPool

Kind: variable

#### dai::Properties

Kind: struct

Base Properties structure.

##### void serialize(std::vector< std::uint8_t > & data, SerializationType type)

Kind: function

##### std::unique_ptr< Properties > clone()

Kind: function

##### ~Properties()

Kind: function

#### dai::PropertiesSerializable

Kind: struct

Serializable properties.

##### void serialize(std::vector< std::uint8_t > & data, SerializationType type)

Kind: function

##### std::unique_ptr< Properties > clone()

Kind: function

#### dai::SPIInProperties

Kind: struct

Properties for SPIIn node

##### std::string streamName

Kind: variable

Name of stream

##### int busId

Kind: variable

SPI bus to use

##### std::uint32_t maxDataSize

Kind: variable

Maximum input data size

##### std::uint32_t numFrames

Kind: variable

Number of frames in pool

#### dai::SPIOutProperties

Kind: struct

Specify properties for SPIOut node

##### std::string streamName

Kind: variable

Name of stream

##### int busId

Kind: variable

SPI bus to use

#### dai::ScriptProperties

Kind: struct

Specify ScriptProperties options such as script uri, script name, ...

##### std::string scriptUri

Kind: variable

Uri which points to actual script

##### std::string scriptName

Kind: variable

Name of script

##### ProcessorType processor

Kind: variable

Which processor should execute the script

#### dai::SpatialDetectionNetworkProperties

Kind: struct

Specify properties for SpatialDetectionNetwork

##### float detectedBBScaleFactor

Kind: variable

##### SpatialLocationCalculatorConfigThresholds depthThresholds

Kind: variable

##### SpatialLocationCalculatorAlgorithm calculationAlgorithm

Kind: variable

##### std::int32_t stepSize

Kind: variable

#### dai::SpatialLocationCalculatorProperties

Kind: struct

Specify properties for SpatialLocationCalculator

##### RawSpatialLocationCalculatorConfig roiConfig

Kind: variable

#### dai::StereoDepthProperties

Kind: struct

Specify properties for StereoDepth

##### dai::StereoDepthProperties::RectificationMesh

Kind: struct

###### std::string meshLeftUri

Kind: variable

Uri which points to the mesh array for 'left' input rectification

###### std::string meshRightUri

Kind: variable

Uri which points to the mesh array for 'right' input rectification

###### tl::optional< std::uint32_t > meshSize

Kind: variable

Mesh array size in bytes, for each of 'left' and 'right' (need to match)

###### uint16_t stepWidth

Kind: variable

Distance between mesh points, in the horizontal direction

###### uint16_t stepHeight

Kind: variable

Distance between mesh points, in the vertical direction

###### DEPTHAI_SERIALIZE(RectificationMesh, meshLeftUri, meshRightUri, meshSize, stepWidth, stepHeight)

Kind: function

##### dai::MedianFilter MedianFilter

Kind: enum

##### dai::RawStereoDepthConfig::AlgorithmControl::DepthAlign DepthAlign

Kind: enum

##### RawStereoDepthConfig initialConfig

Kind: variable

Initial stereo config.

##### CameraBoardSocket depthAlignCamera

Kind: variable

Which camera to align disparity/depth to. When configured (not AUTO), takes precedence over 'depthAlign'

##### bool enableRectification

Kind: variable

Enable stereo rectification/dewarp or not. Useful to disable when replaying pre-recorded rectified frames.

##### std::int32_t rectifyEdgeFillColor

Kind: variable

Fill color for missing data at frame edges - grayscale 0..255, or -1 to replicate pixels

##### tl::optional< std::int32_t > width

Kind: variable

Input frame width. Optional (taken from MonoCamera nodes if they exist)

##### tl::optional< std::int32_t > height

Kind: variable

Input frame height. Optional (taken from MonoCamera nodes if they exist)

##### tl::optional< std::int32_t > outWidth

Kind: variable

Output disparity/depth width. Currently only used when aligning to RGB

##### tl::optional< std::int32_t > outHeight

Kind: variable

Output disparity/depth height. Currently only used when aligning to RGB

##### bool outKeepAspectRatio

Kind: variable

Whether to keep aspect ratio of the input (rectified) or not

##### RectificationMesh mesh

Kind: variable

Specify a direct warp mesh to be used for rectification, instead of intrinsics + extrinsic matrices

##### bool enableRuntimeStereoModeSwitch

Kind: variable

Whether to enable switching stereo modes at runtime or not. E.g. standard to subpixel, standard+LR-check to subpixel + LR-check.
Note: It will allocate resources for worst cases scenario, should be enabled only if dynamic mode switch is required. Default
value: false.

##### int numFramesPool

Kind: variable

Num frames in output pool.

##### std::int32_t numPostProcessingShaves

Kind: variable

Number of shaves reserved for stereo depth post processing. Post processing can use multiple shaves to increase performance. -1
means auto, resources will be allocated based on enabled filters. 0 means that it will reuse the shave assigned for main stereo
algorithm. For optimal performance it's recommended to allocate more than 0, so post processing will run in parallel with main
stereo algorithm. Minimum 1, maximum 10.

##### std::int32_t numPostProcessingMemorySlices

Kind: variable

Number of memory slices reserved for stereo depth post processing. -1 means auto, memory will be allocated based on initial stereo
settings and number of shaves. 0 means that it will reuse the memory slices assigned for main stereo algorithm. For optimal
performance it's recommended to allocate more than 0, so post processing will run in parallel with main stereo algorithm. Minimum
1, maximum 6.

##### bool focalLengthFromCalibration

Kind: variable

Whether to use horizontal focal length from calibration intrinsics (fx) or calculate based on calibration FOV. Default value is
true. If set to false it's calculated from FOV and image resolution: focalLength = calib.width / (2.f * tan(calib.fov / 2 / 180.f
* pi));

##### tl::optional< bool > useHomographyRectification

Kind: variable

Use 3x3 homography matrix for stereo rectification instead of sparse mesh generated on device. Default behaviour is AUTO, for
lenses with FOV over 85 degrees sparse mesh is used, otherwise 3x3 homography. If custom mesh data is provided through
loadMeshData or loadMeshFiles this option is ignored. true: 3x3 homography matrix generated from calibration data is used for
stereo rectification, can't correct lens distortion. false: sparse mesh is generated on-device from calibration data with mesh
step specified with setMeshStep (Default: (16, 16)), can correct lens distortion. Implementation for generating the mesh is same
as opencv's initUndistortRectifyMap function. Only the first 8 distortion coefficients are used from calibration data.

##### tl::optional< float > baseline

Kind: variable

Override baseline from calibration. Used only in disparity to depth conversion. Units are centimeters.

##### tl::optional< float > focalLength

Kind: variable

Override focal length from calibration. Used only in disparity to depth conversion. Units are pixels.

##### tl::optional< bool > disparityToDepthUseSpecTranslation

Kind: variable

Use baseline information for disparity to depth conversion from specs (design data) or from calibration. Suitable for debugging.
Utilizes calibrated value as default

##### tl::optional< bool > rectificationUseSpecTranslation

Kind: variable

Obtain rectification matrices using spec translation (design data) or from calibration in calculations. Suitable for debugging.
Default: false

##### tl::optional< bool > depthAlignmentUseSpecTranslation

Kind: variable

Use baseline information for depth alignment from specs (design data) or from calibration. Suitable for debugging. Utilizes
calibrated value as default

##### tl::optional< float > alphaScaling

Kind: variable

Free scaling parameter between 0 (when all the pixels in the undistorted image are valid) and 1 (when all the source image pixels
are retained in the undistorted image). On some high distortion lenses, and/or due to rectification (image rotated) invalid areas
may appear even with alpha=0, in these cases alpha < 0.0 helps removing invalid areas. See getOptimalNewCameraMatrix from opencv
for more details.

#### dai::SyncProperties

Kind: struct

Specify properties for Sync.

##### uint64_t syncThresholdNs

Kind: variable

The maximal interval the messages can be apart in nanoseconds.

##### int32_t syncAttempts

Kind: variable

The number of syncing attempts before fail (num of replaced messages).

##### ProcessorType processor

Kind: variable

Which processor should execute the node.

#### dai::SystemLoggerProperties

Kind: struct

SystemLoggerProperties structure

##### float rateHz

Kind: variable

Rate at which the messages are going to be sent in hertz

#### dai::ToFProperties

Kind: struct

Specify properties for ToF

##### RawToFConfig initialConfig

Kind: variable

Initial ToF config

##### int numFramesPool

Kind: variable

Num frames in output pool

##### std::int32_t numShaves

Kind: variable

Number of shaves reserved for ToF decoding.

##### std::vector< int > warpHwIds

Kind: variable

Warp HW IDs to use for undistortion, if empty, use auto/default.

#### dai::UVCProperties

Kind: struct

Properties for UVC node

##### std::unordered_map< int, int > gpioInit

Kind: variable

<gpio_number, value> list for GPIOs to set at init

##### std::unordered_map< int, int > gpioStreamOn

Kind: variable

<gpio_number, value> list for GPIOs to set when streaming is enabled

##### std::unordered_map< int, int > gpioStreamOff

Kind: variable

<gpio_number, value> list for GPIOs to set when streaming is disabled

#### dai::VideoEncoderProperties

Kind: struct

Specify properties for VideoEncoder such as profile, bitrate, ...

##### int RateControlMode

Kind: enum

Rate control mode specifies if constant or variable bitrate should be used (H264 / H265)

###### CBR

Kind: enum_value

###### VBR

Kind: enum_value

##### int Profile

Kind: enum

Encoding profile, H264 (AVC), H265 (HEVC) or MJPEG

###### H264_BASELINE

Kind: enum_value

###### H264_HIGH

Kind: enum_value

###### H264_MAIN

Kind: enum_value

###### H265_MAIN

Kind: enum_value

###### MJPEG

Kind: enum_value

##### std::int32_t bitrate

Kind: variable

Specifies preferred bitrate (in bit/s) of compressed output bitstream in CBR mode "0" for automatic computation, based on input
resolution and FPS: 720p30: 4Mbps, 1080p30: 8.5Mbps, 1440p30: 14Mbps, 2160p30: 20Mbps

##### std::int32_t keyframeFrequency

Kind: variable

Every x number of frames a keyframe will be inserted

##### std::int32_t maxBitrate

Kind: variable

Specifies maximum bitrate (in bit/s) of compressed output bitstream in CBR mode "0" to follow

##### std::int32_t numBFrames

Kind: variable

Specifies number of B frames to be inserted

##### std::uint32_t numFramesPool

Kind: variable

This options specifies how many frames are available in this node's pool. Helps when receiver is slow at consuming. Value "0"
indicates automatic number of frames assignment

##### std::int32_t outputFrameSize

Kind: variable

Specifies max output frame size in pool. Value "0" indicates auto

##### Profile profile

Kind: variable

Encoding profile, H264, H265 or MJPEG

##### std::int32_t quality

Kind: variable

Value between 0-100% (approximates quality)

##### bool lossless

Kind: variable

Lossless mode ([M]JPEG only)

##### RateControlMode rateCtrlMode

Kind: variable

Rate control mode specifies if constant or variable bitrate should be used (H264 / H265)

##### float frameRate

Kind: variable

Frame rate

#### dai::WarpProperties

Kind: struct

Specify properties for Warp

##### dai::Interpolation Interpolation

Kind: enum

##### int outputWidth

Kind: variable

Output width.

##### int outputHeight

Kind: variable

Output height.

##### int outputFrameSize

Kind: variable

Maximum output frame size in bytes (eg: 300x300 BGR image -> 300*300*3 bytes)

##### int numFramesPool

Kind: variable

Num frames in output pool.

##### int meshWidth

Kind: variable

Custom warp mesh width. Set to zero to disable.

##### int meshHeight

Kind: variable

Custom warp mesh height. Set to zero to disable.

##### std::string meshUri

Kind: variable

Custom warp mesh uri. Set to empty string to disable.

##### std::vector< int > warpHwIds

Kind: variable

Warp HW IDs to use, if empty, use auto/default.

##### Interpolation interpolation

Kind: variable

Interpolation type to use.

#### dai::XLinkInProperties

Kind: struct

Specify properties for XLinkIn such as stream name, ...

##### std::string streamName

Kind: variable

Name of stream

##### std::uint32_t maxDataSize

Kind: variable

Maximum input data size

##### std::uint32_t numFrames

Kind: variable

Number of frames in pool

#### dai::XLinkOutProperties

Kind: struct

Specify properties for XLinkOut such as stream name, ...

##### float maxFpsLimit

Kind: variable

Set a limit to how many packets will be sent further to host

##### std::string streamName

Kind: variable

Name of stream

##### bool metadataOnly

Kind: variable

Whether to transfer data or only object attributes

#### int32_t CameraExposureOffset

Kind: enum

Describe possible exposure offsets

##### START

Kind: enum_value

##### MIDDLE

Kind: enum_value

##### END

Kind: enum_value

#### int32_t CameraBoardSocket

Kind: enum

Which Camera socket to use. AUTO denotes that the decision will be made by device

##### AUTO

Kind: enum_value

##### CAM_A

Kind: enum_value

##### CAM_B

Kind: enum_value

##### CAM_C

Kind: enum_value

##### CAM_D

Kind: enum_value

##### CAM_E

Kind: enum_value

##### CAM_F

Kind: enum_value

##### CAM_G

Kind: enum_value

##### CAM_H

Kind: enum_value

##### CAM_I

Kind: enum_value

##### CAM_J

Kind: enum_value

##### RGB

Kind: enum_value

##### CENTER

Kind: enum_value

##### LEFT

Kind: enum_value

##### RIGHT

Kind: enum_value

#### int32_t CameraImageOrientation

Kind: enum

Camera sensor image orientation / pixel readout. This exposes direct sensor settings. 90 or 270 degrees rotation is not available.
AUTO denotes that the decision will be made by device (e.g. on OAK-1/megaAI: ROTATE_180_DEG).

##### AUTO

Kind: enum_value

##### NORMAL

Kind: enum_value

##### HORIZONTAL_MIRROR

Kind: enum_value

##### VERTICAL_FLIP

Kind: enum_value

##### ROTATE_180_DEG

Kind: enum_value

#### int8_t CameraModel

Kind: enum

Which CameraModel to initialize the calibration with.

##### Perspective

Kind: enum_value

##### Fisheye

Kind: enum_value

##### Equirectangular

Kind: enum_value

##### RadialDivision

Kind: enum_value

#### int32_t CameraSensorType

Kind: enum

Camera sensor type.

##### AUTO

Kind: enum_value

##### COLOR

Kind: enum_value

##### MONO

Kind: enum_value

##### TOF

Kind: enum_value

##### THERMAL

Kind: enum_value

#### int32_t Colormap

Kind: enum

Camera sensor type.

##### NONE

Kind: enum_value

##### TURBO

Kind: enum_value

##### JET

Kind: enum_value

##### STEREO_TURBO

Kind: enum_value

##### STEREO_JET

Kind: enum_value

#### int32_t ConnectionInterface

Kind: enum

##### USB

Kind: enum_value

##### ETHERNET

Kind: enum_value

##### WIFI

Kind: enum_value

#### int32_t FrameEvent

Kind: enum

##### NONE

Kind: enum_value

##### READOUT_START

Kind: enum_value

##### READOUT_END

Kind: enum_value

#### std::int32_t Interpolation

Kind: enum

Interpolation type

##### AUTO

Kind: enum_value

##### BILINEAR

Kind: enum_value

##### BICUBIC

Kind: enum_value

##### NEAREST_NEIGHBOR

Kind: enum_value

##### BYPASS

Kind: enum_value

##### DEFAULT

Kind: enum_value

##### DEFAULT_DISPARITY_DEPTH

Kind: enum_value

#### int32_t MedianFilter

Kind: enum

Median filter config

##### MEDIAN_OFF

Kind: enum_value

##### KERNEL_3x3

Kind: enum_value

##### KERNEL_5x5

Kind: enum_value

##### KERNEL_7x7

Kind: enum_value

#### int32_t ProcessorType

Kind: enum

On which processor the node will be placed Enum specifying processor

##### LEON_CSS

Kind: enum_value

##### LEON_MSS

Kind: enum_value

#### int32_t UsbSpeed

Kind: enum

Get USB Speed

##### UNKNOWN

Kind: enum_value

##### LOW

Kind: enum_value

##### FULL

Kind: enum_value

##### HIGH

Kind: enum_value

##### SUPER

Kind: enum_value

##### SUPER_PLUS

Kind: enum_value

#### std::int32_t DatatypeEnum

Kind: enum

##### Buffer

Kind: enum_value

##### ImgFrame

Kind: enum_value

##### EncodedFrame

Kind: enum_value

##### NNData

Kind: enum_value

##### ImageManipConfig

Kind: enum_value

##### CameraControl

Kind: enum_value

##### ImgDetections

Kind: enum_value

##### SpatialImgDetections

Kind: enum_value

##### SystemInformation

Kind: enum_value

##### SpatialLocationCalculatorConfig

Kind: enum_value

##### SpatialLocationCalculatorData

Kind: enum_value

##### EdgeDetectorConfig

Kind: enum_value

##### AprilTagConfig

Kind: enum_value

##### AprilTags

Kind: enum_value

##### Tracklets

Kind: enum_value

##### IMUData

Kind: enum_value

##### StereoDepthConfig

Kind: enum_value

##### FeatureTrackerConfig

Kind: enum_value

##### ImageAlignConfig

Kind: enum_value

##### ToFConfig

Kind: enum_value

##### PointCloudConfig

Kind: enum_value

##### PointCloudData

Kind: enum_value

##### TrackedFeatures

Kind: enum_value

##### MessageGroup

Kind: enum_value

##### ObjectTrackerConfig

Kind: enum_value

#### uint32_t SpatialLocationCalculatorAlgorithm

Kind: enum

SpatialLocationCalculatorAlgorithm configuration modes Contains calculation method used to obtain spatial locations.

##### AVERAGE

Kind: enum_value

##### MEAN

Kind: enum_value

##### MIN

Kind: enum_value

##### MAX

Kind: enum_value

##### MODE

Kind: enum_value

##### MEDIAN

Kind: enum_value

#### std::int32_t LogLevel

Kind: enum

##### TRACE

Kind: enum_value

##### DEBUG

Kind: enum_value

##### INFO

Kind: enum_value

##### WARN

Kind: enum_value

##### ERR

Kind: enum_value

##### CRITICAL

Kind: enum_value

##### OFF

Kind: enum_value

#### std::int32_t IMUSensor

Kind: enum

Available IMU sensors. More details about each sensor can be found in the datasheet:

##### ACCELEROMETER_RAW

Kind: enum_value

Section 2.1.1 Acceleration of the device without any postprocessing, straight from the sensor. Units are [m/s^2]

##### ACCELEROMETER

Kind: enum_value

Section 2.1.1 Acceleration of the device including gravity. Units are [m/s^2]

##### LINEAR_ACCELERATION

Kind: enum_value

Section 2.1.1 Acceleration of the device with gravity removed. Units are [m/s^2]

##### GRAVITY

Kind: enum_value

Section 2.1.1 Gravity. Units are [m/s^2]

##### GYROSCOPE_RAW

Kind: enum_value

Section 2.1.2 The angular velocity of the device without any postprocessing, straight from the sensor. Units are [rad/s]

##### GYROSCOPE_CALIBRATED

Kind: enum_value

Section 2.1.2 The angular velocity of the device. Units are [rad/s]

##### GYROSCOPE_UNCALIBRATED

Kind: enum_value

Section 2.1.2 Angular velocity without bias compensation. Units are [rad/s]

##### MAGNETOMETER_RAW

Kind: enum_value

Section 2.1.3 Magnetic field measurement without any postprocessing, straight from the sensor. Units are [uTesla]

##### MAGNETOMETER_CALIBRATED

Kind: enum_value

Section 2.1.3 The fully calibrated magnetic field measurement. Units are [uTesla]

##### MAGNETOMETER_UNCALIBRATED

Kind: enum_value

Section 2.1.3 The magnetic field measurement without hard-iron offset applied. Units are [uTesla]

##### ROTATION_VECTOR

Kind: enum_value

Section 2.2 The rotation vector provides an orientation output that is expressed as a quaternion referenced to magnetic north and
gravity. It is produced by fusing the outputs of the accelerometer, gyroscope and magnetometer. The rotation vector is the most
accurate orientation estimate available. The magnetometer provides correction in yaw to reduce drift and the gyroscope enables the
most responsive performance.

##### GAME_ROTATION_VECTOR

Kind: enum_value

Section 2.2 The game rotation vector is an orientation output that is expressed as a quaternion with no specific reference for
heading, while roll and pitch are referenced against gravity. It is produced by fusing the outputs of the accelerometer and the
gyroscope (i.e. no magnetometer). The game rotation vector does not use the magnetometer to correct the gyroscopes drift in yaw.
This is a deliberate omission (as specified by Google) to allow gaming applications to use a smoother representation of the
orientation without the jumps that an instantaneous correction provided by a magnetic field update could provide. Long term the
output will likely drift in yaw due to the characteristics of gyroscopes, but this is seen as preferable for this output versus a
corrected output.

##### GEOMAGNETIC_ROTATION_VECTOR

Kind: enum_value

Section 2.2 The geomagnetic rotation vector is an orientation output that is expressed as a quaternion referenced to magnetic
north and gravity. It is produced by fusing the outputs of the accelerometer and magnetometer. The gyroscope is specifically
excluded in order to produce a rotation vector output using less power than is required to produce the rotation vector of section
2.2.4. The consequences of removing the gyroscope are: Less responsive output since the highly dynamic outputs of the gyroscope
are not used More errors in the presence of varying magnetic fields.

##### ARVR_STABILIZED_ROTATION_VECTOR

Kind: enum_value

Section 2.2 Estimates of the magnetic field and the roll/pitch of the device can create a potential correction in the rotation
vector produced. For applications (typically augmented or virtual reality applications) where a sudden jump can be disturbing, the
output is adjusted to prevent these jumps in a manner that takes account of the velocity of the sensor system.

##### ARVR_STABILIZED_GAME_ROTATION_VECTOR

Kind: enum_value

Section 2.2 While the magnetometer is removed from the calculation of the game rotation vector, the accelerometer itself can
create a potential correction in the rotation vector produced (i.e. the estimate of gravity changes). For applications (typically
augmented or virtual reality applications) where a sudden jump can be disturbing, the output is adjusted to prevent these jumps in
a manner that takes account of the velocity of the sensor system. This process is called AR/VR stabilization.

#### std::int32_t TrackerType

Kind: enum

##### SHORT_TERM_KCF

Kind: enum_value

Kernelized Correlation Filter tracking.

##### SHORT_TERM_IMAGELESS

Kind: enum_value

Short term tracking without using image data.

##### ZERO_TERM_IMAGELESS

Kind: enum_value

Ability to track the objects without accessing image data.

##### ZERO_TERM_COLOR_HISTOGRAM

Kind: enum_value

Tracking using image data too.

#### std::int32_t TrackerIdAssignmentPolicy

Kind: enum

##### UNIQUE_ID

Kind: enum_value

Always take a new, unique ID.

##### SMALLEST_ID

Kind: enum_value

Take the smallest available ID.

#### SerializationType

Kind: enum

##### LIBNOP

Kind: enum_value

##### JSON

Kind: enum_value

##### JSON_MSGPACK

Kind: enum_value

#### std::chrono::steady_clock Clock

Kind: typedef

#### constexpr static uint32_t BOARD_CONFIG_MAGIC1

Kind: variable

#### constexpr static uint32_t BOARD_CONFIG_MAGIC2

Kind: variable

#### constexpr const char * LOG_DEFAULT_PATTERN

Kind: variable

#### constexpr static auto DEFAULT_SERIALIZATION_TYPE

Kind: variable

#### bool initialize()

Kind: function

#### bool initialize(std::string additionalInfo, bool installSignalHandler, void * javavm)

Kind: function

#### bool initialize(const char * additionalInfo, bool installSignalHandler, void * javavm)

Kind: function

#### bool initialize(void * javavm)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(CameraSensorConfig, width, height, minFps, maxFps, fov, type)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ChipTemperature, css, mss, upa, dss, average)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(CpuUsage, average, msTime)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(DetectionParserOptions, nnFamily, confidenceThreshold, classes, coordinates, anchors, anchorMasks,
iouThreshold)

Kind: function

#### DEPTHAI_SERIALIZE_OPTIONAL_EXT(EepromData, version, boardCustom, boardName, boardRev, boardConf, hardwareConf, productName,
deviceName, batchName, batchTime, boardOptions, cameraData, stereoRectificationData, imuExtrinsics, housingExtrinsics,
miscellaneousData, stereoUseSpecTranslation, stereoEnableDistortionCorrection, verticalCameraSocket)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(MemoryInfo, remaining, used, total)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(Point2f, x, y)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(Point3f, x, y, z)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(Rect, x, y, width, height)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(RotatedRect, center, size, angle)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(Size2f, width, height)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(StereoRectification, rectifiedRotationLeft, rectifiedRotationRight, leftCameraSocket,
rightCameraSocket)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(TensorInfo, order, dataType, numDimensions, dims, strides, name, offset)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(Timestamp, sec, nsec)

Kind: function

#### bool isDatatypeSubclassOf(DatatypeEnum parent, DatatypeEnum children)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(AprilTag, id, hamming, decisionMargin, topLeft, topRight, bottomRight, bottomLeft)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(EdgeDetectorConfigData, sobelFilterHorizontalKernel, sobelFilterVerticalKernel)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(IMUReport, sequence, accuracy, timestamp, tsDevice)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(IMUReportAccelerometer, x, y, z, sequence, accuracy, timestamp, tsDevice)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(IMUReportGyroscope, x, y, z, sequence, accuracy, timestamp, tsDevice)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(IMUReportMagneticField, x, y, z, sequence, accuracy, timestamp, tsDevice)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(IMUReportRotationVectorWAcc, i, j, k, real, rotationVectorAccuracy, sequence, accuracy, timestamp,
tsDevice)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(IMUPacket, acceleroMeter, gyroscope, magneticField, rotationVector)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ImgDetection, label, confidence, xmin, ymin, xmax, ymax)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(SpatialImgDetection, label, confidence, xmin, ymin, xmax, ymax, spatialCoordinates, boundingBoxMapping)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(SpatialLocationCalculatorConfigThresholds, lowerThreshold, upperThreshold)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(SpatialLocationCalculatorConfigData, roi, depthThresholds, calculationAlgorithm, stepSize)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(SpatialLocations, config, depthAverage, depthMode, depthMedian, depthMin, depthMax,
depthAveragePixelCount, spatialCoordinates)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(TrackedFeature, position, id, age, harrisScore, trackingError)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed, productName, manufacturer)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(BoardConfig::Network, mtu, xlinkTcpNoDelay)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(BoardConfig::Camera, name, sensorType, orientation)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(BoardConfig::IMU, bus, interrupt, wake, csGpio, boot, reset)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(BoardConfig::UVC, cameraName, width, height, frameType, enable)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, network, sysctl, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart,
pcieInternalClock, usb3PhyInternalClock, emmc, logPath, logSizeMax, logVerbosity, logDevicePrints, nonExclusiveMode, camera, imu,
uvc)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(CrashDump, crashReports, depthaiCommitHash, deviceId)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(LogMessage, nodeIdName, level, time, colorRangeStart, colorRangeEnd, payload)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(NodeConnectionSchema, node1Id, node1OutputGroup, node1Output, node2Id, node2InputGroup, node2Input)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(NodeIoInfo, group, name, type, blocking, queueSize, waitForMessage, id)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(NodeObjInfo, id, name, properties, ioInfo)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(PipelineSchema, connections, globalProperties, nodes)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(AprilTagProperties, initialConfig, inputConfigSync)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(CameraProperties, initialControl, boardSocket, cameraName, imageOrientation, colorOrder, interleaved,
fp16, previewHeight, previewWidth, videoWidth, videoHeight, stillWidth, stillHeight, resolutionWidth, resolutionHeight, fps,
isp3aFps, sensorCropX, sensorCropY, previewKeepAspectRatio, ispScale, sensorType, numFramesPoolRaw, numFramesPoolIsp,
numFramesPoolVideo, numFramesPoolPreview, numFramesPoolStill, warpMeshSource, warpMeshUri, warpMeshWidth, warpMeshHeight,
calibAlpha, warpMeshStepWidth, warpMeshStepHeight, rawPacked)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(CastProperties, numFramesPool, outputType, scale, offset)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ColorCameraProperties, initialControl, boardSocket, cameraName, imageOrientation, colorOrder,
interleaved, fp16, previewHeight, previewWidth, videoWidth, videoHeight, stillWidth, stillHeight, resolution, fps, isp3aFps,
sensorCropX, sensorCropY, previewKeepAspectRatio, ispScale, numFramesPoolRaw, numFramesPoolIsp, numFramesPoolVideo,
numFramesPoolPreview, numFramesPoolStill, rawPacked)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(DetectionNetworkProperties, blobSize, blobUri, numFrames, numThreads, numNCEPerThread, parser)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(DetectionParserProperties, numFramesPool, networkInputs, parser)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(EdgeDetectorProperties, initialConfig, outputFrameSize, numFramesPool)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(FeatureTrackerProperties, initialConfig, numShaves, numMemorySlices)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(GlobalProperties, leonCssFrequencyHz, leonMssFrequencyHz, pipelineName, pipelineVersion,
cameraTuningBlobSize, cameraTuningBlobUri, calibData, xlinkChunkSize, sippBufferSize, sippDmaBufferSize)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(IMUSensorConfig, sensitivityEnabled, sensitivityRelative, changeSensitivity, reportRate, sensorId)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(IMUProperties, imuSensors, batchReportThreshold, maxBatchReports, enableFirmwareUpdate)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ImageAlignProperties, initialConfig, numFramesPool, alignWidth, alignHeight, warpHwIds, interpolation,
outKeepAspectRatio, numShaves)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ImageManipProperties, initialConfig, outputFrameSize, numFramesPool, meshWidth, meshHeight, meshUri)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(MessageDemuxProperties, processor)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(MonoCameraProperties, initialControl, boardSocket, cameraName, imageOrientation, resolution, fps,
isp3aFps, numFramesPool, numFramesPoolRaw, rawPacked)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(NeuralNetworkProperties, blobSize, blobUri, numFrames, numThreads, numNCEPerThread)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ObjectTrackerProperties, trackerThreshold, maxObjectsToTrack, detectionLabelsToTrack, trackerType,
trackerIdAssignmentPolicy, trackingPerClass, occlusionRatioThreshold, trackletMaxLifespan, trackletBirthThreshold)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(PointCloudProperties, initialConfig, numFramesPool)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(SPIInProperties, streamName, busId, maxDataSize, numFrames)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(SPIOutProperties, streamName, busId)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ScriptProperties, scriptUri, scriptName, processor)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(SpatialDetectionNetworkProperties, blobSize, blobUri, numFrames, numThreads, numNCEPerThread, parser,
detectedBBScaleFactor, depthThresholds, calculationAlgorithm, stepSize)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(SpatialLocationCalculatorProperties, roiConfig)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(StereoDepthProperties, initialConfig, depthAlignCamera, enableRectification, rectifyEdgeFillColor,
width, height, outWidth, outHeight, outKeepAspectRatio, mesh, enableRuntimeStereoModeSwitch, numFramesPool,
numPostProcessingShaves, numPostProcessingMemorySlices, focalLengthFromCalibration, useHomographyRectification, baseline,
focalLength, disparityToDepthUseSpecTranslation, rectificationUseSpecTranslation, depthAlignmentUseSpecTranslation, alphaScaling)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(SyncProperties, syncThresholdNs, syncAttempts, processor)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(SystemLoggerProperties, rateHz)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ToFProperties, initialConfig, numFramesPool, numShaves, warpHwIds)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(UVCProperties, gpioInit, gpioStreamOn, gpioStreamOff)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(VideoEncoderProperties, bitrate, keyframeFrequency, maxBitrate, numBFrames, numFramesPool,
outputFrameSize, profile, quality, lossless, rateCtrlMode, frameRate)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(WarpProperties, outputWidth, outputHeight, outputFrameSize, numFramesPool, meshWidth, meshHeight,
meshUri, warpHwIds, interpolation)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(XLinkInProperties, streamName, maxDataSize, numFrames)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(XLinkOutProperties, maxFpsLimit, streamName, metadataOnly)

Kind: function
