# 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::build

Kind: namespace

##### constexpr static bool HAVE_OPENCV_SUPPORT

Kind: variable

##### constexpr static bool HAVE_LIBUSB_SUPPORT

Kind: variable

#### 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::filters

Kind: namespace

##### dai::filters::params

Kind: namespace

###### dai::filters::params::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::filters::params::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::filters::params::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

###### int32_t MedianFilter

Kind: enum

###### MEDIAN_OFF

Kind: enum_value

###### KERNEL_3x3

Kind: enum_value

###### KERNEL_5x5

Kind: enum_value

###### KERNEL_7x7

Kind: enum_value

#### dai::impl

Kind: namespace

##### dai::impl::_ImageManipMemory

Kind: class

###### _ImageManipMemory()

Kind: function

###### _ImageManipMemory(size_t size)

Kind: function

###### _ImageManipMemory(span< uint8_t > data)

Kind: function

###### uint8_t * data()

Kind: function

###### const uint8_t * data()

Kind: function

###### size_t size()

Kind: function

###### span< uint8_t > getData()

Kind: function

###### span< const uint8_t > getData()

Kind: function

###### size_t getMaxSize()

Kind: function

###### size_t getOffset()

Kind: function

###### void setSize(size_t size)

Kind: function

###### void setOffset(size_t offset)

Kind: function

###### void shallowCopyFrom(_ImageManipMemory & other)

Kind: function

###### std::shared_ptr< _ImageManipMemory > offset(size_t offset)

Kind: function

##### dai::impl::_ImageManipBuffer

Kind: class

###### _ImageManipBuffer()

Kind: function

###### _ImageManipBuffer(size_t size)

Kind: function

###### T * data()

Kind: function

###### const T * data()

Kind: function

###### size_t size()

Kind: function

###### span< T > getData()

Kind: function

###### span< const T > getData()

Kind: function

##### dai::impl::FrameSpecs

Kind: struct

###### uint32_t width

Kind: variable

###### uint32_t height

Kind: variable

###### uint32_t p1Offset

Kind: variable

###### uint32_t p2Offset

Kind: variable

###### uint32_t p3Offset

Kind: variable

###### uint32_t p1Stride

Kind: variable

###### uint32_t p2Stride

Kind: variable

###### uint32_t p3Stride

Kind: variable

##### dai::impl::UndistortOpenCvImpl

Kind: class

###### BuildStatus

Kind: enum

###### ONE_SHOT

Kind: enum_value

###### TWO_SHOT

Kind: enum_value

###### NOT_USED

Kind: enum_value

###### NOT_BUILT

Kind: enum_value

###### ERROR

Kind: enum_value

###### UndistortOpenCvImpl(std::shared_ptr< spdlog::async_logger > logger)

Kind: function

###### BuildStatus build(std::array< float, 9 > cameraMatrix, std::array< float, 9 > newCameraMatrix, std::vector< float >
distCoeffs, dai::ImgFrame::Type type, uint32_t srcWidth, uint32_t srcHeight, uint32_t dstWidth, uint32_t dstHeight)

Kind: function

###### void undistort(cv::Mat & src, cv::Mat & dst)

Kind: function

##### dai::impl::Warp

Kind: class

###### std::array< std::array< float, 3 >, 3 > matrix

Kind: variable

###### ImageManipOpsBase < Container >::Background background

Kind: variable

###### uint32_t backgroundColor

Kind: variable

###### bool enableUndistort

Kind: variable

###### bool undistortOneShot

Kind: variable

###### ImgFrame::Type type

Kind: variable

###### FrameSpecs srcSpecs

Kind: variable

###### FrameSpecs dstSpecs

Kind: variable

###### size_t sourceMinX

Kind: variable

###### size_t sourceMinY

Kind: variable

###### size_t sourceMaxX

Kind: variable

###### size_t sourceMaxY

Kind: variable

###### Warp()

Kind: function

###### Warp(std::shared_ptr< spdlog::async_logger > logger)

Kind: function

###### ~Warp()

Kind: function

###### void init(ImageManipProperties &)

Kind: function

###### void build(const FrameSpecs srcFrameSpecs, const FrameSpecs dstFrameSpecs, const ImgFrame::Type type, const std::array<
std::array< float, 3 >, 3 > matrix, std::vector< std::array< std::array< float, 2 >, 4 >> srcCorners)

Kind: function

###### void buildUndistort(bool enable, const std::array< float, 9 > & cameraMatrix, const std::array< float, 9 > &
newCameraMatrix, const std::vector< float > & distCoeffs, const ImgFrame::Type type, const uint32_t srcWidth, const uint32_t
srcHeight, const uint32_t dstWidth, const uint32_t dstHeight)

Kind: function

###### void apply(const std::shared_ptr< ImageManipData > src, std::shared_ptr< ImageManipData > dst)

Kind: function

###### void setLogger(std::shared_ptr< spdlog::async_logger > logger)

Kind: function

###### Warp & setBackgroundColor(uint32_t r, uint32_t g, uint32_t b)

Kind: function

##### dai::impl::WarpH

Kind: class

###### void build(const FrameSpecs srcFrameSpecs, const FrameSpecs dstFrameSpecs, const ImgFrame::Type type, const std::array<
std::array< float, 3 >, 3 > matrix, std::vector< std::array< std::array< float, 2 >, 4 >> srcCorners)

Kind: function

###### void buildUndistort(bool enable, const std::array< float, 9 > & cameraMatrix, const std::array< float, 9 > &
newCameraMatrix, const std::vector< float > & distCoeffs, const ImgFrame::Type type, const uint32_t srcWidth, const uint32_t
srcHeight, const uint32_t dstWidth, const uint32_t dstHeight)

Kind: function

###### void apply(const std::shared_ptr< ImageManipData > src, std::shared_ptr< ImageManipData > dst)

Kind: function

##### dai::impl::ColorChange

Kind: class

###### ColorChange()

Kind: function

###### ColorChange(std::shared_ptr< spdlog::async_logger > logger)

Kind: function

###### void setLogger(std::shared_ptr< spdlog::async_logger > logger)

Kind: function

###### void build(const FrameSpecs srcFrameSpecs, const FrameSpecs dstFrameSpecs, const ImgFrame::Type typeFrom, const
ImgFrame::Type typeTo)

Kind: function

###### void apply(const std::shared_ptr< ImageManipData > src, std::shared_ptr< ImageManipData > dst)

Kind: function

##### dai::impl::ImageManipOperations

Kind: class

###### ImageManipOperations(ImageManipProperties props, std::shared_ptr< spdlog::async_logger > logger)

Kind: function

###### ImageManipOperations & build(const ImageManipOpsBase < Container > & base, ImgFrame::Type outputFrameType, FrameSpecs
srcFrameSpecs, ImgFrame::Type type)

Kind: function

###### ImageManipOperations & buildUndistort(bool enable, const std::array< float, 9 > & cameraMatrix, const std::array< float, 9
> & newCameraMatrix, const std::vector< float > & distCoeffs, const ImgFrame::Type type, const uint32_t srcWidth, const uint32_t
srcHeight, const uint32_t dstWidth, const uint32_t dstHeight)

Kind: function

###### bool apply(const std::shared_ptr< ImageManipData > src, std::shared_ptr< ImageManipData > dst)

Kind: function

###### size_t getOutputPlaneSize(uint8_t plane)

Kind: function

###### size_t getOutputSize()

Kind: function

###### size_t getOutputWidth()

Kind: function

###### size_t getOutputHeight()

Kind: function

###### size_t getOutputStride(uint8_t plane)

Kind: function

###### FrameSpecs getOutputFrameSpecs(ImgFrame::Type type)

Kind: function

###### ImgFrame::Type getOutputFrameType()

Kind: function

###### std::vector< RotatedRect > getSrcCrops()

Kind: function

###### std::array< std::array< float, 3 >, 3 > getMatrix()

Kind: function

###### bool undistortEnabled()

Kind: function

###### std::string toString()

Kind: function

##### dai::impl::overloaded

Kind: struct

##### constexpr ImgFrame::Type VALID_TYPE_COLOR

Kind: variable

##### constexpr ImgFrame::Type VALID_TYPE_GRAY

Kind: variable

##### void loop(N & node, const ImageManipConfig & initialConfig, std::shared_ptr< spdlog::async_logger > logger, std::function<
size_t(const ImageManipConfig &, const ImgFrame &)> build, std::function< bool(std::shared_ptr< Memory > &, std::shared_ptr<
ImageManipData >)> apply, std::function< void(const ImgFrame &, ImgFrame &)> getFrame)

Kind: function

##### FrameSpecs getSrcFrameSpecs(dai::ImgFrame::Specs srcSpecs)

Kind: function

##### size_t getAlignedOutputFrameSize(ImgFrame::Type type, size_t width, size_t height)

Kind: function

##### constexpr T ALIGN_UP(T value, std::size_t alignment)

Kind: function

##### FrameSpecs getCcDstFrameSpecs(FrameSpecs srcSpecs, dai::ImgFrame::Type from, dai::ImgFrame::Type to)

Kind: function

##### FrameSpecs getDstFrameSpecs(size_t width, size_t height, dai::ImgFrame::Type type)

Kind: function

##### void transformOpenCV(const uint8_t * src, uint8_t * dst, const size_t srcWidth, const size_t srcHeight, const size_t
srcStride, const size_t dstWidth, const size_t dstHeight, const size_t dstStride, const uint16_t numChannels, const uint16_t bpp,
const std::array< std::array< float, 3 >, 3 > matrix, const std::vector< uint32_t > & background, const FrameSpecs & srcImgSpecs,
const size_t sourceMinX, const size_t sourceMinY, const size_t sourceMaxX, const size_t sourceMaxY)

Kind: function

##### void transformFastCV(const uint8_t * src, uint8_t * dst, const size_t srcWidth, const size_t srcHeight, const size_t
srcStride, const size_t dstWidth, const size_t dstHeight, const size_t dstStride, const uint16_t numChannels, const uint16_t bpp,
const std::array< std::array< float, 3 >, 3 > matrix, const std::vector< uint32_t > & background, const FrameSpecs & srcImgSpecs,
const size_t sourceMinX, const size_t sourceMinY, const size_t sourceMaxX, const size_t sourceMaxY, uint32_t * fastCvBorder)

Kind: function

##### int clampi(int val, int minv, int maxv)

Kind: function

##### float clampf(float val, float minv, float maxv)

Kind: function

##### bool isTypeSupported(dai::ImgFrame::Type type)

Kind: function

##### bool getFrameTypeInfo(dai::ImgFrame::Type outFrameType, int & outNumPlanes, float & outBpp)

Kind: function

##### void YUVfromRGB(float & Y, float & U, float & V, const float R, const float G, const float B)

Kind: function

##### void RGBfromYUV(float & R, float & G, float & B, float Y, float U, float V)

Kind: function

##### overloaded(Ts...)

Kind: function

##### bool floatEq(float a, float b)

Kind: function

##### bool isSingleChannelu8(const std::shared_ptr< dai::ImgFrame > img)

Kind: function

##### bool isSingleChannelu8(const dai::ImgFrame::Type type)

Kind: function

##### bool isSingleChannel(const dai::ImgFrame::Type type)

Kind: function

##### std::string getOpStr(const T & op)

Kind: function

##### std::string getConfigString(const dai::ImageManipOpsBase < C > & ops)

Kind: function

##### std::array< std::array< float, 3 >, 3 > matmul(std::array< std::array< float, 3 >, 3 > A, std::array< std::array< float, 3
>, 3 > B)

Kind: function

##### std::array< float, 2 > matvecmul(std::array< std::array< float, 3 >, 3 > M, std::array< float, 2 > vec)

Kind: function

##### std::array< float, 2 > matvecmul(std::array< std::array< float, 2 >, 2 > M, std::array< float, 2 > vec)

Kind: function

##### std::tuple< float, float, float, float > getOuterRect(const std::vector< std::array< float, 2 >> points)

Kind: function

##### std::vector< std::array< float, 2 > > getHull(const std::vector< std::array< float, 2 >> points)

Kind: function

##### dai::RotatedRect getOuterRotatedRect(const std::vector< std::array< float, 2 >> & points)

Kind: function

##### std::array< std::array< float, 3 >, 3 > getResizeMat(Resize o, float width, float height, uint32_t outputWidth, uint32_t
outputHeight)

Kind: function

##### void getTransformImpl(const ManipOp & op, std::array< std::array< float, 3 >, 3 > & transform, std::array< std::array<
float, 2 >, 4 > & imageCorners, std::vector< std::array< std::array< float, 2 >, 4 >> & srcCorners, uint32_t & outputWidth,
uint32_t & outputHeight)

Kind: function

##### std::tuple< std::array< std::array< float, 3 >, 3 >, std::array< std::array< float, 2 >, 4 >, std::vector< std::array<
std::array< float, 2 >, 4 > > > getTransform(const C & ops, uint32_t inputWidth, uint32_t inputHeight, uint32_t outputWidth,
uint32_t outputHeight)

Kind: function

##### void getOutputSizeFromCorners(const std::array< std::array< float, 2 >, 4 > & corners, const bool center, const std::array<
std::array< float, 3 >, 3 > transformInv, const uint32_t srcWidth, const uint32_t srcHeight, uint32_t & outputWidth, uint32_t &
outputHeight)

Kind: function

##### std::tuple< std::array< std::array< float, 3 >, 3 >, std::array< std::array< float, 2 >, 4 >, std::vector< std::array<
std::array< float, 2 >, 4 > > > getFullTransform(dai::ImageManipOpsBase < C > & base, size_t inputWidth, size_t inputHeight,
dai::ImgFrame::Type type, dai::ImgFrame::Type outputFrameType, C & outputOps)

Kind: function

##### dai::ImgFrame::Type getValidType(dai::ImgFrame::Type type)

Kind: function

##### size_t getFrameSize(const ImgFrame::Type type, const FrameSpecs & specs)

Kind: function

##### void printSpecs(spdlog::async_logger & logger, FrameSpecs specs)

Kind: function

#### dai::internal

Kind: namespace

##### dai::internal::VariantSwitch

Kind: struct

###### void operator()(int index, json const & value, Variant & v)

Kind: function

##### dai::internal::VariantSwitch< 0 >

Kind: struct

###### void operator()(int index, json const & value, Variant & v)

Kind: function

##### dai::internal::VariantReadNop

Kind: struct

###### void operator()(int index, Reader * reader, Variant & v)

Kind: function

##### dai::internal::VariantReadNop< 0 >

Kind: struct

###### void operator()(int index, Reader * reader, Variant & v)

Kind: function

##### dai::internal::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: NV12 --> 1.5 = (3/2) bytes per pixel, roughly 17.6MB for a 4032x3056 frame

###### std::uint32_t numFrames

Kind: variable

Number of frames in pool

###### ~XLinkInProperties()

Kind: function

##### dai::internal::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

###### int packetSize

Kind: variable

Max bytes per packet (-1 = unlimited)

###### int bytesPerSecondLimit

Kind: variable

Maximal bytes per second (-1 = unlimited)

###### ~XLinkOutProperties()

Kind: function

##### DEPTHAI_SERIALIZE_EXT(XLinkInProperties, streamName, maxDataSize, numFrames)

Kind: function

##### DEPTHAI_SERIALIZE_EXT(XLinkOutProperties, maxFpsLimit, streamName, metadataOnly, packetSize, bytesPerSecondLimit)

Kind: function

#### dai::matrix

Kind: namespace

##### constexpr float MATRIX_EQ_EPSILON

Kind: variable

##### std::array< std::array< float, 3 >, 3 > matMul(const std::array< std::array< float, 3 >, 3 > & A, const std::array<
std::array< float, 3 >, 3 > & B)

Kind: function

##### std::vector< std::vector< float > > matMul(const std::vector< std::vector< float >> & A, const std::vector< std::vector<
float >> & B)

Kind: function

##### std::array< std::array< float, 4 >, 4 > matMul(const std::array< std::array< float, 4 >, 4 > & A, const std::array<
std::array< float, 4 >, 4 > & B)

Kind: function

##### std::vector< float > matVecMul(const std::vector< std::vector< float >> & matrix, const std::vector< float > & vec)

Kind: function

##### std::array< float, 3 > matVecMul(const std::array< std::array< float, 3 >, 3 > & matrix, const std::array< float, 3 > & vec)

Kind: function

##### bool mateq(const std::vector< std::vector< float >> & A, const std::vector< std::vector< float >> & B, float epsilon)

Kind: function

##### bool mateq(const std::array< std::array< float, 3 >, 3 > & A, const std::array< std::array< float, 3 >, 3 > & B, float
epsilon)

Kind: function

##### bool matInv(std::vector< std::vector< float >> & A, std::vector< std::vector< float >> & inverse)

Kind: function

##### std::array< std::array< float, 2 >, 2 > getMatrixInverse(const std::array< std::array< float, 2 >, 2 > & matrix)

Kind: function

##### std::array< std::array< float, 3 >, 3 > getMatrixInverse(const std::array< std::array< float, 3 >, 3 > & matrix)

Kind: function

##### std::array< std::array< float, 3 >, 3 > getHomographyMatrix(const std::array< dai::Point2f , 4 > & srcPoints, const
std::array< dai::Point2f , 4 > & dstPoints)

Kind: function

##### std::vector< std::vector< float > > createRotationMatrix(float theta)

Kind: function

##### std::vector< std::vector< float > > createScalingMatrix(float scaleX, float scaleY)

Kind: function

##### std::vector< std::vector< float > > createTranslationMatrix(float dx, float dy)

Kind: function

##### std::array< std::array< float, 4 >, 4 > createTransformationMatrix(const std::vector< std::vector< float >> & rotation,
const dai::Point3f & translation)

Kind: function

##### std::array< std::array< float, 4 >, 4 > createTransformationMatrix(const std::array< std::array< float, 3 >, 3 > & rotation,
const dai::Point3f & translation)

Kind: function

##### dai::Point3f transformPoint3f(const std::array< std::array< float, 4 >, 4 > & matrix, const dai::Point3f & point)

Kind: function

##### std::array< float, 4 > dehomogenizePoint4(const std::array< float, 4 > & point)

Kind: function

##### std::array< float, 3 > dehomogenizePoint3(const std::array< float, 3 > & point)

Kind: function

##### std::vector< float > matrixToVector(const std::vector< std::vector< float >> & R)

Kind: function

##### std::vector< float > matrix3x3ToVector(const std::array< std::array< float, 3 >, 3 > & R)

Kind: function

##### std::vector< float > rotationMatrixToVector(const std::vector< std::vector< float >> & R)

Kind: function

##### std::vector< std::vector< float > > matrix3x3ToVectorMatrix(const std::array< std::array< float, 3 >, 3 > & R)

Kind: function

##### std::array< std::array< float, 3 >, 3 > vectorMatrixToMatrix3x3(const std::vector< std::vector< float >> & R)

Kind: function

##### std::array< std::array< float, 3 >, 3 > getRotationMatrixFromProjection4x4(const std::array< std::array< float, 4 >, 4 > &
projection)

Kind: function

##### std::vector< std::vector< float > > rvecToRotationMatrix(const double rvec)

Kind: function

##### void invertSe3Matrix4x4InPlace(std::vector< std::vector< float >> & mat)

Kind: function

##### std::array< std::array< float, 4 >, 4 > invertSe3Matrix4x4(const std::array< std::array< float, 4 >, 4 > & matrix)

Kind: function

##### void printMatrix(std::vector< std::vector< float >> & matrix)

Kind: function

##### std::vector< std::vector< float > > toVecMatrix4x4(const std::array< std::array< float, 4 >, 4 > & m)

Kind: function

##### bool isIdentity4x4(const std::vector< std::vector< float >> & m, float epsilon)

Kind: function

##### std::array< std::array< float, 3 >, 3 > cvMatToMatrix3x3(const cv::Mat & cvMat)

Kind: function

##### std::array< std::array< float, 4 >, 4 > cvMatToMatrix4x4(const cv::Mat & cvMat)

Kind: function

##### cv::Mat matrix3x3ToCvMat(const std::array< std::array< float, 3 >, 3 > & matrix)

Kind: function

##### cv::Mat matrix4x4ToCvMat(const std::array< std::array< float, 4 >, 4 > & matrix)

Kind: function

#### dai::model

Kind: namespace

##### ModelType

Kind: enum

Neural network model type.

###### BLOB

Kind: enum_value

###### SUPERBLOB

Kind: enum_value

###### DLC

Kind: enum_value

###### NNARCHIVE

Kind: enum_value

###### OTHER

Kind: enum_value

##### ModelType readModelType(const std::filesystem::path & modelPath)

Kind: function

Read model type from model path.

parameters: modelPath: Path to model return: ModelType

#### dai::modelzoo

Kind: namespace

##### void setHealthEndpoint(const std::string & endpoint)

Kind: function

Set the health endpoint (for internet check)

parameters: endpoint:

##### void setDownloadEndpoint(const std::string & endpoint)

Kind: function

Set the download endpoint (for model querying)

parameters: endpoint:

##### void setDefaultCachePath(const fs::path & path)

Kind: function

Set the default cache path (where models are cached)

parameters: path:

##### void setDefaultModelsPath(const fs::path & path)

Kind: function

Set the default models path (where yaml files are stored)

parameters: path:

##### std::string getHealthEndpoint()

Kind: function

Get the health endpoint (for internet check)

##### std::string getDownloadEndpoint()

Kind: function

Get the download endpoint (for model querying)

##### fs::path getDefaultCachePath()

Kind: function

Get the default cache path (where models are cached)

##### fs::path getDefaultModelsPath()

Kind: function

Get the default models path (where yaml files are stored)

#### dai::nn_archive

Kind: namespace

##### dai::nn_archive::v1

Kind: namespace

###### dai::nn_archive::v1::Config

Kind: struct

The main class of the multi/single-stage model config scheme (multi- stage models consists of interconnected single-stage models).
@type config_version: str @ivar config_version: String representing config schema version in format 'x.y' where x is major version
and y is minor version @type model: Model @ivar model: A Model object representing the neural network used in the archive. The
main class of the multi/single-stage model config scheme (multi- stage models consists of interconnected single-stage models).
@type config_version: str @ivar config_version: String representing config schema version in format 'x.y' where x is major version
and y is minor version @type model: Model @ivar model: A Model object representing the neural network used in the archive.

###### std::optional< std::string > configVersion

Kind: variable

String representing config schema version in format 'x.y' where x is major version and y is minor version.

###### Model model

Kind: variable

A Model object representing the neural network used in the archive.

###### dai::nn_archive::v1::Head

Kind: struct

Represents head of a model. @type name: str | None @ivar name: Optional name of the head. @type parser: str @ivar parser: Name of
the parser responsible for processing the models output. @type outputs: List[str] | None @ivar outputs: Specify which outputs are
fed into the parser. If None, all outputs are fed. @type metadata: C{HeadMetadata} | C{HeadObjectDetectionMetadata} |
C{HeadClassificationMetadata} | C{HeadObjectDetectionSSDMetadata} | C{HeadSegmentationMetadata} | C{HeadYOLOMetadata} @ivar
metadata: Metadata of the parser. Represents head of a model. @type name: str | None @ivar name: Optional name of the head. @type
parser: str @ivar parser: Name of the parser responsible for processing the models output. @type outputs: List[str] | None @ivar
outputs: Specify which outputs are fed into the parser. If None, all outputs are fed. @type metadata: C{HeadMetadata} |
C{HeadObjectDetectionMetadata} | C{HeadClassificationMetadata} | C{HeadObjectDetectionSSDMetadata} | C{HeadSegmentationMetadata} |
C{HeadYOLOMetadata} @ivar metadata: Metadata of the parser.

###### Metadata metadata

Kind: variable

Metadata of the parser.

###### std::optional< std::string > name

Kind: variable

Optional name of the head.

###### std::optional< std::vector< std::string > > outputs

Kind: variable

Specify which outputs are fed into the parser. If None, all outputs are fed.

###### std::string parser

Kind: variable

Name of the parser responsible for processing the models output.

###### dai::nn_archive::v1::Input

Kind: struct

Represents input stream of a model. @type name: str @ivar name: Name of the input layer. @type dtype: DataType @ivar dtype: Data
type of the input data (e.g., 'float32'). @type input_type: InputType @ivar input_type: Type of input data (e.g., 'image'). @type
shape: list @ivar shape: Shape of the input data as a list of integers (e.g. [H,W], [H,W,C], [N,H,W,C], ...). @type layout: str
@ivar layout: Lettercode interpretation of the input data dimensions (e.g., 'NCHW'). @type preprocessing: PreprocessingBlock @ivar
preprocessing: Preprocessing steps applied to the input data. Represents input stream of a model. @type name: str @ivar name: Name
of the input layer. @type dtype: DataType @ivar dtype: Data type of the input data (e.g., 'float32'). @type input_type: InputType
@ivar input_type: Type of input data (e.g., 'image'). @type shape: list @ivar shape: Shape of the input data as a list of integers
(e.g. [H,W], [H,W,C], [N,H,W,C], ...). @type layout: str @ivar layout: Lettercode interpretation of the input data dimensions
(e.g., 'NCHW'). @type preprocessing: PreprocessingBlock @ivar preprocessing: Preprocessing steps applied to the input data.

###### DataType dtype

Kind: variable

Data type of the input data (e.g., 'float32').

###### InputType inputType

Kind: variable

Type of input data (e.g., 'image').

###### std::optional< std::string > layout

Kind: variable

Lettercode interpretation of the input data dimensions (e.g., 'NCHW')

###### std::string name

Kind: variable

Name of the input layer.

###### PreprocessingBlock preprocessing

Kind: variable

Preprocessing steps applied to the input data.

###### std::vector< int64_t > shape

Kind: variable

Shape of the input data as a list of integers (e.g. [H,W], [H,W,C], [N,H,W,C], ...).

###### dai::nn_archive::v1::Metadata

Kind: struct

Metadata of the parser. Metadata for the object detection head. @type classes: list @ivar classes: Names of object classes
detected by the model. @type n_classes: int @ivar n_classes: Number of object classes detected by the model. @type iou_threshold:
float @ivar iou_threshold: Non-max supression threshold limiting boxes intersection. @type conf_threshold: float @ivar
conf_threshold: Confidence score threshold above which a detected object is considered valid. @type max_det: int @ivar max_det:
Maximum detections per image. @type anchors: list @ivar anchors: Predefined bounding boxes of different sizes and aspect ratios.
The innermost lists are length 2 tuples of box sizes. The middle lists are anchors for each output. The outmost lists go from
smallest to largest output. Metadata for the classification head. @type classes: list @ivar classes: Names of object classes
classified by the model. @type n_classes: int @ivar n_classes: Number of object classes classified by the model. @type is_softmax:
bool @ivar is_softmax: True, if output is already softmaxed Metadata for the SSD object detection head. @type boxes_outputs: str
@ivar boxes_outputs: Output name corresponding to predicted bounding box coordinates. @type scores_outputs: str @ivar
scores_outputs: Output name corresponding to predicted bounding box confidence scores. Metadata for the segmentation head. @type
classes: list @ivar classes: Names of object classes segmented by the model. @type n_classes: int @ivar n_classes: Number of
object classes segmented by the model. @type is_softmax: bool @ivar is_softmax: True, if output is already softmaxed Metadata for
the YOLO head. @type yolo_outputs: list @ivar yolo_outputs: A list of output names for each of the different YOLO grid sizes.
@type mask_outputs: list | None @ivar mask_outputs: A list of output names for each mask output. @type protos_outputs: str | None
@ivar protos_outputs: Output name for the protos. @type keypoints_outputs: list | None @ivar keypoints_outputs: A list of output
names for the keypoints. @type angles_outputs: list | None @ivar angles_outputs: A list of output names for the angles. @type
subtype: str @ivar subtype: YOLO family decoding subtype (e.g. yolov5, yolov6, yolov7 etc.) @type n_prototypes: int | None @ivar
n_prototypes: Number of prototypes per bbox in YOLO instance segmnetation. @type n_keypoints: int | None @ivar n_keypoints: Number
of keypoints per bbox in YOLO keypoint detection. @type is_softmax: bool | None @ivar is_softmax: True, if output is already
softmaxed in YOLO instance segmentation Metadata for the basic head. It allows you to specify additional fields. @type
postprocessor_path: str | None @ivar postprocessor_path: Path to the postprocessor. Metadata of the parser. Metadata for the
object detection head. @type classes: list @ivar classes: Names of object classes detected by the model. @type n_classes: int
@ivar n_classes: Number of object classes detected by the model. @type iou_threshold: float @ivar iou_threshold: Non-max
supression threshold limiting boxes intersection. @type conf_threshold: float @ivar conf_threshold: Confidence score threshold
above which a detected object is considered valid. @type max_det: int @ivar max_det: Maximum detections per image. @type anchors:
list @ivar anchors: Predefined bounding boxes of different sizes and aspect ratios. The innermost lists are length 2 tuples of box
sizes. The middle lists are anchors for each output. The outmost lists go from smallest to largest output. Metadata for the
classification head. @type classes: list @ivar classes: Names of object classes classified by the model. @type n_classes: int
@ivar n_classes: Number of object classes classified by the model. @type is_softmax: bool @ivar is_softmax: True, if output is
already softmaxed Metadata for the SSD object detection head. @type boxes_outputs: str @ivar boxes_outputs: Output name
corresponding to predicted bounding box coordinates. @type scores_outputs: str @ivar scores_outputs: Output name corresponding to
predicted bounding box confidence scores. Metadata for the segmentation head. @type classes: list @ivar classes: Names of object
classes segmented by the model. @type n_classes: int @ivar n_classes: Number of object classes segmented by the model. @type
is_softmax: bool @ivar is_softmax: True, if output is already softmaxed Metadata for the YOLO head. @type yolo_outputs: list @ivar
yolo_outputs: A list of output names for each of the different YOLO grid sizes. @type mask_outputs: list | None @ivar
mask_outputs: A list of output names for each mask output. @type protos_outputs: str | None @ivar protos_outputs: Output name for
the protos. @type keypoints_outputs: list | None @ivar keypoints_outputs: A list of output names for the keypoints. @type
angles_outputs: list | None @ivar angles_outputs: A list of output names for the angles. @type subtype: str @ivar subtype: YOLO
family decoding subtype (e.g. yolov5, yolov6, yolov7 etc.) @type n_prototypes: int | None @ivar n_prototypes: Number of prototypes
per bbox in YOLO instance segmnetation. @type n_keypoints: int | None @ivar n_keypoints: Number of keypoints per bbox in YOLO
keypoint detection. @type is_softmax: bool | None @ivar is_softmax: True, if output is already softmaxed in YOLO instance
segmentation Metadata for the basic head. It allows you to specify additional fields. @type postprocessor_path: str | None @ivar
postprocessor_path: Path to the postprocessor.

###### std::optional< std::vector< std::vector< std::vector< double > > > > anchors

Kind: variable

Predefined bounding boxes of different sizes and aspect ratios. The innermost lists are length 2 tuples of box sizes. The middle
lists are anchors for each output. The outmost lists go from smallest to largest output.

###### std::optional< std::vector< std::string > > classes

Kind: variable

Names of object classes recognized by the model.

###### std::optional< double > confThreshold

Kind: variable

Confidence score threshold above which a detected object is considered valid.

###### std::optional< double > iouThreshold

Kind: variable

Non-max supression threshold limiting boxes intersection.

###### std::optional< int64_t > maxDet

Kind: variable

Maximum detections per image.

###### std::optional< int64_t > nClasses

Kind: variable

Number of object classes recognized by the model.

###### std::optional< std::string > postprocessorPath

Kind: variable

Path to the postprocessor.

###### std::optional< bool > isSoftmax

Kind: variable

True, if output is already softmaxed. True, if output is already softmaxed in YOLO instance segmentation.

###### std::optional< std::string > boxesOutputs

Kind: variable

Output name corresponding to predicted bounding box coordinates.

###### std::optional< std::string > scoresOutputs

Kind: variable

Output name corresponding to predicted bounding box confidence scores.

###### std::optional< std::vector< std::string > > anglesOutputs

Kind: variable

A list of output names for the angles.

###### std::optional< std::vector< std::string > > keypointsOutputs

Kind: variable

A list of output names for the keypoints.

###### std::optional< std::vector< std::string > > maskOutputs

Kind: variable

A list of output names for each mask output.

###### std::optional< int64_t > nKeypoints

Kind: variable

Number of keypoints per bbox in YOLO keypoint detection.

###### std::optional< int64_t > nPrototypes

Kind: variable

Number of prototypes per bbox in YOLO instance segmnetation.

###### std::optional< std::string > protosOutputs

Kind: variable

Output name for the protos.

###### std::optional< std::string > subtype

Kind: variable

YOLO family decoding subtype (e.g. yolov5, yolov6, yolov7 etc.).

###### std::optional< std::vector< std::string > > yoloOutputs

Kind: variable

A list of output names for each of the different YOLO grid sizes.

###### nlohmann::json extraParams

Kind: variable

Additional parameters

###### dai::nn_archive::v1::MetadataClass

Kind: struct

Metadata object defining the model metadata. Represents metadata of a model. @type name: str @ivar name: Name of the model. @type
path: str @ivar path: Relative path to the model executable. Metadata object defining the model metadata. Represents metadata of a
model. @type name: str @ivar name: Name of the model. @type path: str @ivar path: Relative path to the model executable.

###### std::string name

Kind: variable

Name of the model.

###### std::string path

Kind: variable

Relative path to the model executable.

###### std::optional< DataType > precision

Kind: variable

Precision of the model weights.

###### dai::nn_archive::v1::Model

Kind: struct

A Model object representing the neural network used in the archive. Class defining a single-stage model config scheme. @type
metadata: Metadata @ivar metadata: Metadata object defining the model metadata. @type inputs: list @ivar inputs: List of Input
objects defining the model inputs. @type outputs: list @ivar outputs: List of Output objects defining the model outputs. @type
heads: list @ivar heads: List of Head objects defining the model heads. If not defined, we assume a raw output. A Model object
representing the neural network used in the archive. Class defining a single-stage model config scheme. @type metadata: Metadata
@ivar metadata: Metadata object defining the model metadata. @type inputs: list @ivar inputs: List of Input objects defining the
model inputs. @type outputs: list @ivar outputs: List of Output objects defining the model outputs. @type heads: list @ivar heads:
List of Head objects defining the model heads. If not defined, we assume a raw output.

###### std::optional< std::vector< Head > > heads

Kind: variable

List of Head objects defining the model heads. If not defined, we assume a raw output.

###### std::vector< Input > inputs

Kind: variable

List of Input objects defining the model inputs.

###### MetadataClass metadata

Kind: variable

Metadata object defining the model metadata.

###### std::vector< Output > outputs

Kind: variable

List of Output objects defining the model outputs.

###### dai::nn_archive::v1::Output

Kind: struct

Represents output stream of a model. @type name: str @ivar name: Name of the output layer. @type dtype: DataType @ivar dtype: Data
type of the output data (e.g., 'float32'). Represents output stream of a model. @type name: str @ivar name: Name of the output
layer. @type dtype: DataType @ivar dtype: Data type of the output data (e.g., 'float32').

###### DataType dtype

Kind: variable

Data type of the output data (e.g., 'float32').

###### std::optional< std::string > layout

Kind: variable

List of letters describing the output layout (e.g. 'NC').

###### std::string name

Kind: variable

Name of the output layer.

###### std::optional< std::vector< int64_t > > shape

Kind: variable

Shape of the output as a list of integers (e.g. [1, 1000]).

###### dai::nn_archive::v1::PreprocessingBlock

Kind: struct

Preprocessing steps applied to the input data. Represents preprocessing operations applied to the input data. @type mean: list |
None @ivar mean: Mean values in channel order. Order depends on the order in which the model was trained on. @type scale: list |
None @ivar scale: Standardization values in channel order. Order depends on the order in which the model was trained on. @type
reverse_channels: bool | None @ivar reverse_channels: If True input to the model is RGB else BGR. @type interleaved_to_planar:
bool | None @ivar interleaved_to_planar: If True input to the model is interleaved (NHWC) else planar (NCHW). @type dai_type: str
| None @ivar dai_type: DepthAI input type which is read by DepthAI to automatically setup the pipeline. Preprocessing steps
applied to the input data. Represents preprocessing operations applied to the input data. @type mean: list | None @ivar mean: Mean
values in channel order. Order depends on the order in which the model was trained on. @type scale: list | None @ivar scale:
Standardization values in channel order. Order depends on the order in which the model was trained on. @type reverse_channels:
bool | None @ivar reverse_channels: If True input to the model is RGB else BGR. @type interleaved_to_planar: bool | None @ivar
interleaved_to_planar: If True input to the model is interleaved (NHWC) else planar (NCHW). @type dai_type: str | None @ivar
dai_type: DepthAI input type which is read by DepthAI to automatically setup the pipeline.

###### std::optional< std::string > daiType

Kind: variable

DepthAI input type which is read by DepthAI to automatically setup the pipeline.

###### std::optional< bool > interleavedToPlanar

Kind: variable

If True input to the model is interleaved (NHWC) else planar (NCHW).

###### std::optional< std::vector< double > > mean

Kind: variable

Mean values in channel order. Order depends on the order in which the model was trained on.

###### std::optional< bool > reverseChannels

Kind: variable

If True input to the model is RGB else BGR.

###### std::optional< std::vector< double > > scale

Kind: variable

Standardization values in channel order. Order depends on the order in which the model was trained on.

###### int DataType

Kind: enum

Data type of the input data (e.g., 'float32'). Represents all existing data types used in i/o streams of the model. Precision of
the model weights. Data type of the output data (e.g., 'float32'). Data type of the input data (e.g., 'float32'). Represents all
existing data types used in i/o streams of the model. Precision of the model weights. Data type of the output data (e.g.,
'float32').

###### BOOLEAN

Kind: enum_value

###### FLOAT16

Kind: enum_value

###### FLOAT32

Kind: enum_value

###### FLOAT64

Kind: enum_value

###### INT16

Kind: enum_value

###### INT32

Kind: enum_value

###### INT4

Kind: enum_value

###### INT64

Kind: enum_value

###### INT8

Kind: enum_value

###### STRING

Kind: enum_value

###### UINT16

Kind: enum_value

###### UINT32

Kind: enum_value

###### UINT4

Kind: enum_value

###### UINT64

Kind: enum_value

###### UINT8

Kind: enum_value

###### int InputType

Kind: enum

Type of input data (e.g., 'image'). Represents a type of input the model is expecting. Type of input data (e.g., 'image').
Represents a type of input the model is expecting.

###### IMAGE

Kind: enum_value

###### RAW

Kind: enum_value

#### dai::node

Kind: namespace

##### dai::node::internal

Kind: namespace

###### dai::node::internal::XLinkInBridge

Kind: struct

XLink bridge structure for host-to-device communication Contains pointers to XLinkOutHost and XLinkIn nodes.

###### std::shared_ptr< dai::node::internal::XLinkOutHost > xLinkOutHost

Kind: variable

###### std::shared_ptr< dai::node::internal::XLinkIn > xLinkIn

Kind: variable

###### dai::node::internal::XLinkOutBridge

Kind: struct

XLink bridge structure for device-to-host communication Contains pointers to XLinkOut and XLinkInHost nodes.

###### std::shared_ptr< dai::node::internal::XLinkOut > xLinkOut

Kind: variable

###### std::shared_ptr< dai::node::internal::XLinkInHost > xLinkInHost

Kind: variable

###### dai::node::internal::PipelineEventAggregation

Kind: class

Sync node. Performs syncing between image frames.

###### InputMap inputs

Kind: variable

A map of inputs

###### Input request

Kind: variable

Input PipelineEventAggregationConfig message with state request parameters

###### Output out

Kind: variable

Output message of type PipelineState

###### Output outTrace

Kind: variable

Continuous output message of type PipelineState

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on device.

###### bool runOnHost()

Kind: function

Check if the node is set to run on host

###### void run()

Kind: function

###### PipelineEventAggregation & setTraceOutput(bool enable)

Kind: function

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

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

Kind: class

XLinkIn node. Receives messages over XLink.

###### Output out

Kind: variable

Outputs message of same type as send from host.

###### ~XLinkIn()

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.

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### dai::node::internal::XLinkInHost

Kind: class

###### Output out

Kind: variable

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

Kind: function

###### void setConnection(std::shared_ptr< XLinkConnection > conn)

Kind: function

###### void disconnect()

Kind: function

###### void run()

Kind: function

###### dai::node::internal::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

###### 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

###### void setPacketSize(int packetSize)

Kind: function

###### void setBytesPerSecondLimit(int bytesPerSecondLimit)

Kind: function

###### 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.

###### int getPacketSize()

Kind: function

###### int getBytesPerSecondLimit()

Kind: function

###### void buildInternal()

Kind: function

Function called from within the

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### dai::node::internal::XLinkOutHost

Kind: class

###### Input in

Kind: variable

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

Kind: function

###### void setConnection(std::shared_ptr< XLinkConnection > conn)

Kind: function

###### void allowStreamResize(bool allow)

Kind: function

###### void disconnect()

Kind: function

###### void run()

Kind: function

###### :: dai::internal::XLinkInProperties XLinkInProperties

Kind: typedef

###### :: dai::internal::XLinkOutProperties XLinkOutProperties

Kind: typedef

##### dai::node::test

Kind: namespace

###### dai::node::test::MyConsumer

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

###### void run()

Kind: function

###### dai::node::test::MyProducer

Kind: class

XLinkOut node. Sends messages over XLink.

###### Output out

Kind: variable

Outputs message of same type as sent from host.

###### void run()

Kind: function

##### dai::node::BasaltVIO

Kind: class

Basalt Visual Inertial Odometry node. Performs VIO on stereo images and IMU data.

###### dai::node::BasaltVIO::VioConfig

Kind: struct

###### std::string optical_flow_type

Kind: variable

###### int optical_flow_detection_grid_size

Kind: variable

###### int optical_flow_detection_num_points_cell

Kind: variable

###### int optical_flow_detection_min_threshold

Kind: variable

###### int optical_flow_detection_max_threshold

Kind: variable

###### bool optical_flow_detection_nonoverlap

Kind: variable

###### float optical_flow_max_recovered_dist2

Kind: variable

###### int optical_flow_pattern

Kind: variable

###### int optical_flow_max_iterations

Kind: variable

###### int optical_flow_levels

Kind: variable

###### float optical_flow_epipolar_error

Kind: variable

###### int optical_flow_skip_frames

Kind: variable

###### MatchingGuessType optical_flow_matching_guess_type

Kind: variable

###### float optical_flow_matching_default_depth

Kind: variable

###### float optical_flow_image_safe_radius

Kind: variable

###### bool optical_flow_recall_enable

Kind: variable

###### bool optical_flow_recall_all_cams

Kind: variable

###### bool optical_flow_recall_num_points_cell

Kind: variable

###### bool optical_flow_recall_over_tracking

Kind: variable

###### bool optical_flow_recall_update_patch_viewpoint

Kind: variable

###### float optical_flow_recall_max_patch_dist

Kind: variable

###### std::vector< float > optical_flow_recall_max_patch_norms

Kind: variable

###### LinearizationType vio_linearization_type

Kind: variable

###### bool vio_sqrt_marg

Kind: variable

###### int vio_max_states

Kind: variable

###### int vio_max_kfs

Kind: variable

###### int vio_min_frames_after_kf

Kind: variable

###### float vio_new_kf_keypoints_thresh

Kind: variable

###### bool vio_debug

Kind: variable

###### bool vio_extended_logging

Kind: variable

###### int vio_max_iterations

Kind: variable

###### double vio_obs_std_dev

Kind: variable

###### double vio_obs_huber_thresh

Kind: variable

###### double vio_min_triangulation_dist

Kind: variable

###### bool vio_enforce_realtime

Kind: variable

###### bool vio_use_lm

Kind: variable

###### double vio_lm_lambda_initial

Kind: variable

###### double vio_lm_lambda_min

Kind: variable

###### double vio_lm_lambda_max

Kind: variable

###### bool vio_scale_jacobian

Kind: variable

###### double vio_init_pose_weight

Kind: variable

###### double vio_init_ba_weight

Kind: variable

###### double vio_init_bg_weight

Kind: variable

###### bool vio_marg_lost_landmarks

Kind: variable

###### bool vio_fix_long_term_keyframes

Kind: variable

###### double vio_kf_marg_feature_ratio

Kind: variable

###### KeyframeMargCriteria vio_kf_marg_criteria

Kind: variable

###### double mapper_obs_std_dev

Kind: variable

###### double mapper_obs_huber_thresh

Kind: variable

###### int mapper_detection_num_points

Kind: variable

###### double mapper_num_frames_to_match

Kind: variable

###### double mapper_frames_to_match_threshold

Kind: variable

###### double mapper_min_matches

Kind: variable

###### double mapper_ransac_threshold

Kind: variable

###### double mapper_min_track_length

Kind: variable

###### double mapper_max_hamming_distance

Kind: variable

###### double mapper_second_best_test_ratio

Kind: variable

###### int mapper_bow_num_bits

Kind: variable

###### double mapper_min_triangulation_dist

Kind: variable

###### bool mapper_no_factor_weights

Kind: variable

###### bool mapper_use_factors

Kind: variable

###### bool mapper_use_lm

Kind: variable

###### double mapper_lm_lambda_min

Kind: variable

###### double mapper_lm_lambda_max

Kind: variable

###### LinearizationType

Kind: enum

###### ABS_QR

Kind: enum_value

###### ABS_SC

Kind: enum_value

###### REL_SC

Kind: enum_value

###### MatchingGuessType

Kind: enum

###### SAME_PIXEL

Kind: enum_value

###### REPROJ_FIX_DEPTH

Kind: enum_value

###### REPROJ_AVG_DEPTH

Kind: enum_value

###### KeyframeMargCriteria

Kind: enum

###### KF_MARG_DEFAULT

Kind: enum_value

###### KF_MARG_FORWARD_VECTOR

Kind: enum_value

###### Subnode < node::Sync > sync

Kind: variable

###### InputMap & inputs

Kind: variable

###### std::string leftInputName

Kind: variable

###### std::string rightInputName

Kind: variable

###### Input & left

Kind: variable

Input left image on which VIO is performed.

###### Input & right

Kind: variable

Input right image on which VIO is performed.

###### Input imu

Kind: variable

Input IMU data.

###### Output transform

Kind: variable

Output transform data.

###### Output passthrough

Kind: variable

Output passthrough of left image.

###### BasaltVIO()

Kind: function

###### ~BasaltVIO()

Kind: function

###### void buildInternal()

Kind: function

###### void setImuUpdateRate(int rate)

Kind: function

###### void setConfigPath(const std::string & path)

Kind: function

###### void setConfig(const VioConfig & config)

Kind: function

###### void setUseSpecTranslation(bool use)

Kind: function

###### void setLocalTransform(const std::shared_ptr< TransformData > & transform)

Kind: function

###### void setImuExtrinsics(const std::shared_ptr< TransformData > & imuExtr)

Kind: function

###### void setAccelBias(const std::vector< double > & accelBias)

Kind: function

###### void setAccelNoiseStd(const std::vector< double > & accelNoiseStd)

Kind: function

###### void setGyroBias(const std::vector< double > & gyroBias)

Kind: function

###### void setGyroNoiseStd(const std::vector< double > & gyroNoiseStd)

Kind: function

###### void setDefaultVIOConfig()

Kind: function

###### void runSyncOnHost(bool runOnHost)

Kind: function

##### dai::node::ThreadedHostNode

Kind: class

###### ~ThreadedHostNode()

Kind: function

###### bool runOnHost()

Kind: function

Returns true or false whether the node should be run on host or not.

###### ThreadedNode()

Kind: function

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

Kind: class

AprilTag node.

###### std::shared_ptr< 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()

Kind: function

###### AprilTag(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

Get whether or not wait until configuration message arrives to inputConfig Input.

###### void setNumThreads(int numThreads)

Kind: function

Set number of threads to use for AprilTag detection. parameters: numThreads: Number of threads to use.

###### int getNumThreads()

Kind: function

Get number of threads to use for AprilTag detection. return: Number of threads to use.

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on device.

###### bool runOnHost()

Kind: function

Check if the node is set to run on host

###### void run()

Kind: function

###### void buildInternal()

Kind: function

Function called from within the

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### dai::node::AutoCalibration

Kind: class

###### dai::DynamicCalibrationControl DCC

Kind: enum

###### std::shared_ptr< AutoCalibrationConfig > initialConfig

Kind: variable

###### Output output

Kind: variable

###### std::shared_ptr< AutoCalibration > build(const std::shared_ptr< Camera > & cameraLeft, const std::shared_ptr< Camera > &
cameraRight)

Kind: function

###### ~AutoCalibration()

Kind: function

###### void run()

Kind: function

###### void setRunOnHost(bool runOnHost)

Kind: function

###### bool runOnHost()

Kind: function

Returns true or false whether the node should be run on host or not.

###### void buildInternal()

Kind: function

Function called from within the

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### dai::node::BenchmarkIn

Kind: class

###### Input input

Kind: variable

Receive messages as fast as possible

###### Output passthrough

Kind: variable

Passthrough for input messages (so the node can be placed between other nodes)

###### Output report

Kind: variable

Send a benchmark report when the set number of messages are received

###### void sendReportEveryNMessages(uint32_t n)

Kind: function

Specify how many messages to measure for each report

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on device.

###### bool runOnHost()

Kind: function

Check if the node is set to run on host

###### void logReportsAsWarnings(bool logReportsAsWarnings)

Kind: function

Log the reports as warnings

###### void measureIndividualLatencies(bool attachLatencies)

Kind: function

Attach latencies to the report

###### void run()

Kind: function

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### dai::node::BenchmarkOut

Kind: class

###### Output out

Kind: variable

Send messages out as fast as possible

###### Input input

Kind: variable

Message that will be sent repeatedly

###### void setNumMessagesToSend(int num)

Kind: function

Sets number of messages to send, by default send messages indefinitely parameters: num: number of messages to send

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

Kind: function

Set FPS at which the node is sending out messages. 0 means as fast as possible

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on device.

###### bool runOnHost()

Kind: function

Check if the node is set to run on host

###### void run()

Kind: function

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

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

Kind: class

###### 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

###### Input mockIsp

Kind: variable

Input for mocking 'isp' functionality on RVC2. Default queue is blocking with size 8

###### 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.

###### OutputMap dynamicOutputs

Kind: variable

###### Node::Output * requestOutput(std::pair< uint32_t, uint32_t > size, std::optional< ImgFrame::Type > type, ImgResizeMode
resizeMode, std::optional< float > fps, std::optional< bool > enableUndistortion)

Kind: function

Get video output with specified size.

###### Node::Output * requestOutput(const Capability & capability, bool onHost)

Kind: function

Request output with advanced controls. Mainly to be used by custom node writers.

###### Node::Output * requestFullResolutionOutput(std::optional< ImgFrame::Type > type, std::optional< float > fps, bool
useHighestResolution)

Kind: function

Get a high resolution output with full FOV on the sensor. By default the function will not use the resolutions higher than
5000x4000, as those often need a lot of resources, making them hard to use in combination with other nodes. parameters: type: Type
of the output (NV12, BGR, ...) - by default it's auto-selected for best performance; fps: FPS of the output - by default it's
auto-selected to highest possible that a sensor config support or 30, whichever is lower; useHighestResolution: If true, the
function will use the highest resolution available on the sensor, even if it's higher than 5000x4000

###### Node::Output * requestIspOutput(std::optional< float > fps)

Kind: function

Request output with isp resolution. The fps does not vote.

###### std::shared_ptr< Camera > build(dai::CameraBoardSocket boardSocket, std::optional< std::pair< uint32_t, uint32_t >>
sensorResolution, std::optional< float > sensorFps)

Kind: function

Build with a specific board socket parameters: boardSocket: Board socket to use; sensorResolution: Sensor resolution to use - by
default it's auto-detected from the requested outputs; sensorFps: Sensor FPS to use - by default it's auto-detected from the
requested outputs (maximum is used)

###### std::shared_ptr< Camera > setSensorType(CameraSensorType sensorType)

Kind: function

Set the sensor type to use parameters: sensorType: Sensor type to use

###### CameraSensorType getSensorType()

Kind: function

Get the sensor type return: Sensor type

###### std::shared_ptr< Camera > setImageOrientation(CameraImageOrientation imageOrientation)

Kind: function

Set camera image orientation parameters: imageOrientation: Image orientation to set return: Shared pointer to the camera node

###### CameraImageOrientation getImageOrientation()

Kind: function

Get camera image orientation return: Image orientation

###### std::shared_ptr< Camera > build(dai::CameraBoardSocket boardSocket, ReplayVideo & replay)

Kind: function

Build with a specific board socket and mock input

###### std::shared_ptr< Camera > build(ReplayVideo & replay)

Kind: function

Build with mock input

###### uint32_t getMaxWidth()

Kind: function

Get max width of the camera (can only be called after build)

###### uint32_t getMaxHeight()

Kind: function

Get max height of the camera (can only be called after build)

###### CameraBoardSocket getBoardSocket()

Kind: function

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

###### std::shared_ptr< Camera > setRawNumFramesPool(int num)

Kind: function

Set number of frames in raw pool (will be automatically reduced if the maximum pool memory size is exceeded) parameters: num:
Number of frames return: Shared pointer to the camera node

###### std::shared_ptr< Camera > setMaxSizePoolRaw(int size)

Kind: function

Set maximum size of raw pool parameters: size: Maximum size in bytes of raw pool return: Shared pointer to the camera node

###### std::shared_ptr< Camera > setIspNumFramesPool(int num)

Kind: function

Set number of frames in isp pool (will be automatically reduced if the maximum pool memory size is exceeded) parameters: num:
Number of frames return: Shared pointer to the camera node

###### std::shared_ptr< Camera > setMaxSizePoolIsp(int size)

Kind: function

Set maximum size of isp pool parameters: size: Maximum size in bytes of isp pool return: Shared pointer to the camera node

###### std::shared_ptr< Camera > setNumFramesPools(int raw, int isp, int outputs)

Kind: function

Set number of frames in all pools (will be automatically reduced if the maximum pool memory size is exceeded) parameters: raw:
Number of frames in raw pool; isp: Number of frames in isp pool; outputs: Number of frames in outputs pools return: Shared pointer
to the camera node

###### std::shared_ptr< Camera > setMaxSizePools(int raw, int isp, int outputs)

Kind: function

Set maximum memory size of all pools parameters: raw: Maximum size in bytes of raw pool; isp: Maximum size in bytes of isp pool;
outputs: Maximum size in bytes of outputs pools return: Shared pointer to the camera node

###### std::shared_ptr< Camera > setOutputsNumFramesPool(int num)

Kind: function

Set number of frames in pools for all outputs parameters: num: Number of frames in pools for all outputs return: Shared pointer to
the camera node

###### std::shared_ptr< Camera > setOutputsMaxSizePool(int size)

Kind: function

Set maximum size of pools for all outputs parameters: size: Maximum size in bytes of pools for all outputs return: Shared pointer
to the camera node

###### int getRawNumFramesPool()

Kind: function

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

###### int getMaxSizePoolRaw()

Kind: function

Get maximum size of raw pool return: Maximum size in bytes of raw pool

###### int getIspNumFramesPool()

Kind: function

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

###### int getMaxSizePoolIsp()

Kind: function

Get maximum size of isp pool return: Maximum size in bytes of isp pool

###### std::optional< int > getOutputsNumFramesPool()

Kind: function

Get number of frames in outputs pool for all outputs return: Number of frames

###### std::optional< size_t > getOutputsMaxSizePool()

Kind: function

Get maximum size of outputs pool for all outputs return: Maximum size in bytes of image manip pool

###### Camera & setMockIsp(ReplayVideo & replay)

Kind: function

Set mock ISP for Camera node. Automatically sets mockIsp size. parameters: replay: ReplayVideo node to use as mock ISP

###### Camera()

Kind: function

###### Camera(std::shared_ptr< Device > & defaultDevice)

Kind: function

###### Camera(std::unique_ptr< Properties > props)

Kind: function

###### void buildStage1()

Kind: function

Build stages;.

###### float getMaxRequestedFps()

Kind: function

###### uint32_t getMaxRequestedWidth()

Kind: function

###### uint32_t getMaxRequestedHeight()

Kind: function

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

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

Kind: class

ColorCamera node. For use with color 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

###### Input mockIsp

Kind: variable

Input for mocking 'isp' functionality. 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()

Kind: function

###### ColorCamera(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 setPreviewType(ImgFrame::Type type)

Kind: function

Set type of preview output images.

###### ImgFrame::Type getPreviewType()

Kind: function

Get the preview type.

###### 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 setMockIspSize(int width, int height)

Kind: function

###### 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 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 .

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

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

Kind: class

DetectionNetwork , base for different network specializations.

###### NeuralNetwork::Model Model

Kind: enum

###### Subnode < NeuralNetwork > neuralNetwork

Kind: variable

###### Subnode < DetectionParser > detectionParser

Kind: variable

###### 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.

###### Input & input

Kind: variable

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

###### Output & passthrough

Kind: variable

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

###### DetectionNetwork(const std::shared_ptr< Device > & device)

Kind: function

###### std::shared_ptr< DetectionNetwork > build(Node::Output & input, const NNArchive & nnArchive)

Kind: function

Build DetectionNetwork node. Connect output to this node's input. Also call setNNArchive() with provided NNArchive .

parameters: output: Output to link; nnArchive: Neural network archive return: Shared pointer to DetectionNetwork node

###### std::shared_ptr< DetectionNetwork > build(const std::shared_ptr< Camera > & input, const Model & model, std::optional<
float > fps, std::optional< dai::ImgResizeMode > resizeMode)

Kind: function

Build DetectionNetwork node. Connect Camera output to this node's input and configure the inference model.

parameters: input: Camera node; model: Neural network model description, NNArchive or HubAI model id string; fps: Desired frames
per second; resizeMode: Resize mode for input frames return: Shared pointer to DetectionNetwork node

###### std::shared_ptr< DetectionNetwork > build(const std::shared_ptr< Camera > & input, const Model & model, const
ImgFrameCapability & capability)

Kind: function

Build DetectionNetwork node. Connect Camera output to this node's input and configure the inference model.

parameters: input: Camera node; model: Neural network model description, NNArchive or HubAI model id string; capability: Camera
capabilities return: Shared pointer to DetectionNetwork node

###### std::shared_ptr< DetectionNetwork > build(const std::shared_ptr< ReplayVideo > & input, const Model & model, std::optional<
float > fps)

Kind: function

###### void setNNArchive(const NNArchive & nnArchive)

Kind: function

Set NNArchive for this Node . If the archive's type is SUPERBLOB, use default number of shaves.

parameters: nnArchive: NNArchive to set

###### void setNNArchive(const NNArchive & nnArchive, int numShaves)

Kind: function

Set NNArchive for this Node , throws if the archive's type is not SUPERBLOB.

parameters: nnArchive: NNArchive to set; numShaves: Number of shaves to use

###### void setFromModelZoo(NNModelDescription description, bool useCached)

Kind: function

Download model from zoo and set it for this Node .

parameters: description: Model description to download; useCached: Use cached model if available

###### void setFromModelZoo(NNModelDescription description, int numShaves, bool useCached)

Kind: function

Download model from zoo and set it for this node.

parameters: description: Model description to download; numShaves: Number of shaves to use; useCached: Use cached model if
available

###### void setBlobPath(const std::filesystem::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 std::filesystem::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 setModelPath(const std::filesystem::path & modelPath)

Kind: function

Load network model into assets. parameters: modelPath: Path to the model file.

###### 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

###### void setNumShavesPerInferenceThread(int numShavesPerThread)

Kind: function

How many Shaves should a single thread use for inference parameters: numShavesPerThread: Number of shaves per thread

###### void setBackend(std::string backend)

Kind: function

Specifies backend to use parameters: backend: String specifying backend to use

###### void setBackendProperties(std::map< std::string, std::string > properties)

Kind: function

Set backend properties parameters: backendProperties: backend properties map

###### 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

###### 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

###### std::vector< std::pair< Input &, std::shared_ptr< Capability > > > getRequiredInputs()

Kind: function

###### std::optional< std::vector< std::string > > getClasses()

Kind: function

###### void buildInternal()

Kind: function

Function called from within the

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

Kind: class

DetectionParser node. Parses detection results from Mobilenet-SSD or YOLO neural networks.

note: If multiple detection heads are present in the NNArchive , only one type is supported (either YOLO or Mobilenet-SSD) and the
last one will be used.

###### 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()

Kind: function

###### std::shared_ptr< DetectionParser > build(Node::Output & nnInput, const NNArchive & nnArchive)

Kind: function

Build DetectionParser node. Connect output to this node's input. Also call setNNArchive() with provided NNArchive .

parameters: nnInput: Output to link; nnArchive: Neural network archive

###### 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 setNNArchive(const NNArchive & nnArchive)

Kind: function

Set NNArchive for this Node . If the archive's type is SUPERBLOB, use default number of shaves.

parameters: nnArchive: NNArchive to set

###### void setModelPath(const std::filesystem::path & modelPath)

Kind: function

Load network xml and bin files into assets. parameters: xmlModelPath: Path to the neural network model file.

###### void setBlobPath(const std::filesystem::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

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

###### void setBlob(const std::filesystem::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 setInputImageSize(int width, int height)

Kind: function

Set input image size This should only be used instead of setBlob, not besides it

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

Kind: function

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

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

Kind: function

Sets NN Family to parse. Possible values are: DetectionNetworkType::YOLO - 0 DetectionNetworkType::MOBILENET - 1 warning: If NN
Family is set manually, user must ensure that it matches the actual model being used.

###### 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 number of classes. This will clear any previously set class names. parameters: numClasses: Number of classes

###### void setClasses(const std::vector< std::string > & classes)

Kind: function

Set class names. This will clear any previously set number of classes. parameters: classes: Vector of class names

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

Kind: function

Sets the number of coordinates per bounding box. parameters: coordinates: Number of coordinates. Default is 4

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

Kind: function

Set anchors for anchor-based yolo models parameters: anchors: Flattened vector of anchors warning: This method is deprecated, use
setAnchorsV2 instead.

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

Kind: function

Set anchor masks for anchor-based yolo models parameters: anchorMasks: Map of anchor masks

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

Kind: function

Set anchors for anchor-based yolo models (v2) parameters: anchors: 3D vector of anchors [layer][anchor][dim]

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

Kind: function

Set IOU threshold for non-maxima suppression parameters: thresh: IOU threshold

###### void setSubtype(const std::string & subtype)

Kind: function

Set subtype for the parser. parameters: subtype: Subtype string, currently supported subtypes are: yolov6r1, yolov6r2 yolov8n,
yolov6, yolov8, yolov10, yolov11, yolov3, yolov3-tiny, yolov5, yolov7, yolo-p, yolov5-u

###### void setDecodeKeypoints(bool decode)

Kind: function

Enable/disable keypoints decoding. If enabled, number of keypoints must also be set.

###### void setDecodeSegmentation(bool decode)

Kind: function

Enable/disable segmentation mask decoding.

###### void setNumKeypoints(int numKeypoints)

Kind: function

Set number of keypoints to decode. Automatically enables keypoints decoding.

###### void setStrides(const std::vector< int > & strides)

Kind: function

Set strides for yolo models

###### void setKeypointEdges(const std::vector< dai::Edge > & edges)

Kind: function

Set edges connections between keypoints. parameters: edges: Vector edges connections represented as pairs of keypoint indices.
note: This is only applicable if keypoints decoding is enabled.

###### int getNumClasses()

Kind: function

Get number of classes to decode.

###### std::optional< std::vector< std::string > > getClasses()

Kind: function

Get class names to decode.

###### int getCoordinateSize()

Kind: function

Get number of coordinates per bounding box.

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

Kind: function

Get anchors for anchor-based yolo models

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

Kind: function

Get anchor masks for anchor-based yolo models

###### float getIouThreshold()

Kind: function

Get IOU threshold for non-maxima suppression

###### std::string getSubtype()

Kind: function

Get subtype for the parser.

###### bool getDecodeKeypoints()

Kind: function

Get whether keypoints decoding is enabled.

###### bool getDecodeSegmentation()

Kind: function

Get whether segmentation mask decoding is enabled.

###### int getNKeypoints()

Kind: function

Get number of keypoints to decode.

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

Kind: function

Get strides for yolo models

###### const NNArchiveVersionedConfig & getNNArchiveVersionedConfig()

Kind: function

Get NNArchive set for this node

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on device.

###### bool runOnHost()

Kind: function

Check if the node is set to run on host

###### void run()

Kind: function

###### void decodeMobilenet(dai::NNData & nnData, dai::ImgDetections & outDetections, float confidenceThr)

Kind: function

Decode Mobilenet-SSD detections from NNData .

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### dai::node::DynamicCalibration

Kind: class

###### Input inputControl

Kind: variable

Input DynamicCalibrationControl message with ability to modify parameters in runtime.

###### Output calibrationOutput

Kind: variable

Output calibration quality result

###### Output qualityOutput

Kind: variable

###### Output metricsOutput

Kind: variable

###### Output coverageOutput

Kind: variable

###### Input syncInput

Kind: variable

###### Subnode < node::Sync > sync

Kind: variable

###### InputMap & inputs

Kind: variable

###### std::string leftInputName

Kind: variable

###### std::string rightInputName

Kind: variable

###### Input & left

Kind: variable

Input left image

###### Input & right

Kind: variable

Input right image

###### ~DynamicCalibration()

Kind: function

###### void buildInternal()

Kind: function

Function called from within the

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on host on RVC2 and on device on RVC4.

###### bool runOnHost()

Kind: function

Returns true or false whether the node should be run on host or not.

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

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

Kind: class

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

###### std::shared_ptr< 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()

Kind: function

###### EdgeDetector(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

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

Kind: function

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

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

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

Kind: class

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

###### std::shared_ptr< 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()

Kind: function

###### FeatureTracker(std::unique_ptr< Properties > props)

Kind: function

###### 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.

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### dai::node::Gate

Kind: class

Gate Node .

This node acts as a valve for data pipelines. It controls the flow of messages from the 'input' to the 'output' based on the state
configured via 'inputControl'. It can be configured to stay open indefinitely, stay closed, or open for a specific number of
messages.

###### std::shared_ptr< GateControl > initialConfig

Kind: variable

###### Input input

Kind: variable

Main data input.

Accepts arbitrary Buffer messages (e.g., ImgFrame , NNData ). If the Gate is Open, messages received here are forwarded to
'output'. If the Gate is Closed, messages received here are discarded/dropped.; Default queue size: 1 Blocking: False

###### Output output

Kind: variable

Main data output.

Forwards messages that were allowed through the Gate . The data type matches the input message.

###### Input inputControl

Kind: variable

Control input.

Accepts ' GateControl ' messages to dynamically change the Gate 's state. Use this to Open/Close the gate or set it to pass a
specific number of frames at runtime.; Default queue size: 4

###### Gate(std::unique_ptr< Properties > props)

Kind: function

###### Gate()

Kind: function

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on device.

###### bool runOnHost()

Kind: function

Check if the node is configured to run on the host.

return: true if running on host, false otherwise.

###### void run()

Kind: function

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

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

Kind: class

IMU node for BNO08X.

###### Output out

Kind: variable

Outputs IMUData message that carries IMU packets.

###### Input mockIn

Kind: variable

Mock IMU data for replaying recorded data

###### 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

Whether to perform firmware update or not. Default value: false.

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

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

Kind: class

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

###### std::shared_ptr< 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 & 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

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on device.

###### bool runOnHost()

Kind: function

Check if the node is set to run on host

###### void run()

Kind: function

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### dai::node::ImageFilters

Kind: class

###### std::shared_ptr< ImageFiltersConfig > initialConfig

Kind: variable

Initial config for image filters.

###### Node::Input input

Kind: variable

Input for image frames to be filtered

###### Node::Output output

Kind: variable

Filtered frame

###### Node::Input inputConfig

Kind: variable

Config to be set for a specific filter

###### std::shared_ptr< ImageFilters > build(Node::Output & input, ImageFiltersPresetMode presetMode)

Kind: function

Build the node. parameters: input: Input for image frames to be filtered; presetMode: Preset mode for image filters return: Shared
pointer to the node

###### std::shared_ptr< ImageFilters > build(ImageFiltersPresetMode presetMode)

Kind: function

Build the node. parameters: presetMode: Preset mode for image filters return: Shared pointer to the node

###### void run()

Kind: function

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on device.

###### bool runOnHost()

Kind: function

Check if the node is set to run on host

###### void setDefaultProfilePreset(ImageFiltersPresetMode mode)

Kind: function

Set default profile preset for ImageFilters . parameters: mode: Preset mode for ImageFilters .

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### dai::node::ToFDepthConfidenceFilter

Kind: class

Node for depth confidence filter, designed to be used with the

###### std::shared_ptr< ToFDepthConfidenceFilterConfig > initialConfig

Kind: variable

Initial config for ToF depth confidence filter.

###### Node::Input depth

Kind: variable

Depth frame image, expected ImgFrame type is RAW8 or RAW16.

###### Node::Input amplitude

Kind: variable

Amplitude frame image, expected ImgFrame type is RAW8 or RAW16.

###### Node::Output filteredDepth

Kind: variable

RAW16 encoded filtered depth frame

###### Node::Output confidence

Kind: variable

RAW16 encoded confidence frame

###### Node::Input inputConfig

Kind: variable

Config message for runtime filter configuration

###### std::shared_ptr< ToFDepthConfidenceFilter > build(Node::Output & depth, Node::Output & amplitude, ImageFiltersPresetMode
presetMode)

Kind: function

Build the node. parameters: depth: Depth frame image, expected ImgFrame type is RAW8 or RAW16.; amplitude: Amplitude frame image,
expected ImgFrame type is RAW8 or RAW16.; presetMode: Preset mode for ToF depth confidence filter return: Shared pointer to the
node

###### std::shared_ptr< ToFDepthConfidenceFilter > build(ImageFiltersPresetMode presetMode)

Kind: function

Build the node. parameters: presetMode: Preset mode for ToF depth confidence filter return: Shared pointer to the node

###### void run()

Kind: function

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on device.

###### bool runOnHost()

Kind: function

Check if the node is set to run on host

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

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

Kind: class

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

###### ImageManipProperties::Backend Backend

Kind: enum

###### ImageManipProperties::PerformanceMode PerformanceMode

Kind: enum

###### std::shared_ptr< 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

###### Input inputImage

Kind: variable

Input image to be modified

###### Output out

Kind: variable

Outputs ImgFrame message that carries modified image.

###### ImageManip()

Kind: function

###### ImageManip(std::unique_ptr< Properties > props)

Kind: function

###### std::shared_ptr< ImageManip > build()

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

###### ImageManip & setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device parameters: runOnHost: Run node on host

###### ImageManip & setBackend(Backend backend)

Kind: function

Set CPU as backend preference parameters: backend: Backend preference

###### ImageManip & setPerformanceMode(PerformanceMode performanceMode)

Kind: function

Set performance mode parameters: performanceMode: Performance mode

###### bool runOnHost()

Kind: function

Check if the node is set to run on host

###### void run()

Kind: function

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

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

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on device.

###### bool runOnHost()

Kind: function

Check if the node is set to run on host

###### void run()

Kind: function

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

Kind: function

Specify on which processor the node should run. RVC2 only. 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

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### 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

###### Input mockIsp

Kind: variable

Input for mocking 'isp' functionality. 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()

Kind: function

###### MonoCamera(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 setMockIspSize(int width, int height)

Kind: function

###### 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 .

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### dai::node::NeuralAssistedStereo

Kind: class

NeuralAssistedStereo node. Combines Neural Depth with VPP and traditional Stereo Depth.

This composite node internally creates and connects: Rectification node (full resolution); NeuralDepth node (low resolution depth
estimation); VPP node (applies virtual projection pattern); StereoDepth node (final depth computation on VPP-enhanced images)
Pipeline structure: Left/Right Cameras → Rectification → [Full res to VPP] ↓ NeuralDepth (low res) → [disparity + confidence to
VPP] ↓ VPP (combines neural depth with full res images) ↓ StereoDepth → Final Depth Output

###### Node::Input Input

Kind: enum

###### Node::Output Output

Kind: enum

###### Subnode < node::Rectification > rectification

Kind: variable

###### Subnode < node::NeuralDepth > neuralDepth

Kind: variable

###### Subnode < node::Vpp > vpp

Kind: variable

###### Subnode < node::StereoDepth > stereoDepth

Kind: variable

###### Input & left

Kind: variable

###### Input & right

Kind: variable

###### Output & rectifiedLeft

Kind: variable

###### Output & rectifiedRight

Kind: variable

###### Output & vppLeft

Kind: variable

###### Output & vppRight

Kind: variable

###### Output & neuralDisparity

Kind: variable

###### Output & neuralConfidence

Kind: variable

###### Input & inputVppConfig

Kind: variable

###### Input & inputStereoConfig

Kind: variable

###### Input & inputNeuralConfig

Kind: variable

###### Output & depth

Kind: variable

###### Output & disparity

Kind: variable

###### ~NeuralAssistedStereo()

Kind: function

###### NeuralAssistedStereo(const std::shared_ptr< Device > & device)

Kind: function

###### std::shared_ptr< NeuralAssistedStereo > build(Output & leftInput, Output & rightInput, DeviceModelZoo neuralModel, bool
rectifyImages)

Kind: function

##### dai::node::NeuralDepth

Kind: class

NeuralDepth node. Compute depth from left-right image pair using neural network.

###### std::shared_ptr< NeuralDepthConfig > initialConfig

Kind: variable

Initial config to use for NeuralDepth .

###### Subnode < Sync > sync

Kind: variable

###### Subnode < MessageDemux > messageDemux

Kind: variable

###### Subnode < Rectification > rectification

Kind: variable

###### Subnode < NeuralNetwork > neuralNetwork

Kind: variable

###### Input & left

Kind: variable

Input for left ImgFrame of left-right pair

###### Input & right

Kind: variable

Input for right ImgFrame of left-right pair

###### Output & rectifiedLeft

Kind: variable

Output for rectified left ImgFrame

###### Output & rectifiedRight

Kind: variable

Output for rectified right ImgFrame

###### Input inputConfig

Kind: variable

Input config to modify parameters in runtime.

###### Input nnDataInput

Kind: variable

Input NNData to parse

###### Input leftInternal

Kind: variable

Input left frame internal, used to extract frame info

###### Input rightInternal

Kind: variable

Input right frame internal, used to extract frame info

###### Output disparity

Kind: variable

Output disparity ImgFrame

###### Output depth

Kind: variable

Output depth ImgFrame

###### Output edge

Kind: variable

Output edge ImgFrame

###### Output confidence

Kind: variable

Output confidence ImgFrame

###### NeuralDepth()

Kind: function

###### NeuralDepth & setRectification(bool enable)

Kind: function

Enable or disable rectification (useful for prerectified inputs)

###### std::shared_ptr< NeuralDepth > build(Output & left, Output & right, DeviceModelZoo model)

Kind: function

###### void buildInternal()

Kind: function

Function called from within the

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

Kind: class

NeuralNetwork node. Runs a neural inference on input data.

###### std::variant< NNModelDescription , NNArchive , std::string > Model

Kind: enum

###### Input input

Kind: variable

Input message with data to be inferred upon

###### 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()

Kind: function

###### std::shared_ptr< NeuralNetwork > build(Node::Output & input, const NNArchive & nnArchive)

Kind: function

Build NeuralNetwork node. Connect output to this node's input and sets up the NNArchive .

parameters: output: Output to link; nnArchive: Neural network archive return: Shared pointer to NeuralNetwork node

###### std::shared_ptr< NeuralNetwork > build(const std::shared_ptr< Camera > & input, const Model & model, std::optional< float >
fps, std::optional< dai::ImgResizeMode > resizeMode)

Kind: function

Build NeuralNetwork node. Connect Camera output to this node's input and configure the inference model.

parameters: input: Camera node; model: Neural network model description, NNArchive or HubAI model id string; fps: Desired frames
per second; resizeMode: Resize mode for input frames return: Shared pointer to NeuralNetwork node

###### std::shared_ptr< NeuralNetwork > build(const std::shared_ptr< Camera > & input, const Model & model, const
ImgFrameCapability & capability)

Kind: function

Build NeuralNetwork node. Connect Camera output to this node's input and configure the inference model.

parameters: input: Camera node; model: Neural network model description, NNArchive or HubAI model id string; capability: Camera
capabilities return: Shared pointer to NeuralNetwork node

###### std::shared_ptr< NeuralNetwork > build(const std::shared_ptr< ReplayVideo > & input, const Model & model, std::optional<
float > fps)

Kind: function

Build NeuralNetwork node. Connect ReplayVideo output to this node's input and configure the inference model.

parameters: input: ReplayVideo node; model: Neural network model description, NNArchive or HubAI model id string; fps: Desired
frames per second return: Shared pointer to NeuralNetwork node

###### std::optional< std::reference_wrapper< const NNArchive > > getNNArchive()

Kind: function

Get the archive owned by this Node .

return: constant reference to this Nodes archive

###### void setNNArchive(const NNArchive & nnArchive)

Kind: function

Set NNArchive for this Node . If the archive's type is SUPERBLOB, use default number of shaves.

parameters: nnArchive: NNArchive to set

###### void setNNArchive(const NNArchive & nnArchive, int numShaves)

Kind: function

Set NNArchive for this Node , throws if the archive's type is not SUPERBLOB.

parameters: nnArchive: NNArchive to set; numShaves: Number of shaves to use

###### void setFromModelZoo(NNModelDescription description, bool useCached)

Kind: function

Download model from zoo and set it for this Node .

parameters: description: Model description to download; useCached: Use cached model if available

###### void setBlobPath(const std::filesystem::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 std::filesystem::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 setOtherModelFormat(std::vector< uint8_t > model)

Kind: function

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

###### void setOtherModelFormat(const std::filesystem::path & path)

Kind: function

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

###### void setModelPath(const std::filesystem::path & modelPath)

Kind: function

Load network xml and bin files into assets. parameters: xmlModelPath: Path to the neural network model file.

###### 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

###### void setNumShavesPerInferenceThread(int numShavesPerThread)

Kind: function

How many Shaves should a single thread use for inference parameters: numShavesPerThread: Number of shaves per thread

###### void setBackend(std::string backend)

Kind: function

Specifies backend to use parameters: backend: String specifying backend to use

###### void setBackendProperties(std::map< std::string, std::string > properties)

Kind: function

Set backend properties parameters: backendProperties: backend properties map

###### 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

###### void setModelFromDeviceZoo(DeviceModelZoo model)

Kind: function

Set model from Device Model Zoo parameters: model: DeviceModelZoo model enum note: Only applicable for RVC4 devices with OS 1.20.5
or higher

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### 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.

###### 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 theshold)

Kind: function

Set the occlusion ratio threshold. Used to filter out overlapping tracklets. parameters: theshold: Occlusion ratio threshold.
Default 0.3.

###### void setTrackletMaxLifespan(uint32_t trackletMaxLifespan)

Kind: function

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

###### void setTrackletBirthThreshold(uint32_t trackletBirthThreshold)

Kind: function

Set the tracklet birth threshold. Minimum consecutive tracked frames required to consider a tracklet as a new (TRACKED) instance.
parameters: trackletBirthThreshold: Tracklet birth threshold. Default 3.

###### void setSpatialAssociation(bool enabled)

Kind: function

Enable or disable spatially-aware association. If disabled, only 2D association is used. parameters: enabled:

###### void setSpatialAssociationWeight(float weight)

Kind: function

Set spatial association weight in [0,1]. parameters: weight: Spatial association weight in [0,1] used to blend 2D and spatial
association scores (0 = 2D-only scoring, 1 = spatial-only scoring). This weight affects candidate scoring only; final acceptance
still requires passing the 2D IoU threshold gate. Default is 0.5.

###### void setSpatialDistanceThreshold(float thresholdMeters)

Kind: function

Set base 3D gating threshold in meters for spatial association. parameters: thresholdMeters: Base spatial gating distance in
meters. Default is 1.5m.

###### void setSpatialDepthAwareScale(float scale)

Kind: function

Set depth-aware gating scale used for spatial association. Increases gating threshold with increased depth. parameters: scale:
Depth-aware gating scale factor. Default is 0.35

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on device.

###### bool runOnHost()

Kind: function

Check if the node is set to run on host

###### void run()

Kind: function

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

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

Kind: class

PointCloud node. Computes point cloud from depth frames.

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

Kind: class

###### LengthUnit targetLengthUnit

Kind: variable

###### Impl()

Kind: function

###### void setLogger(std::shared_ptr<::spdlog::logger > log)

Kind: function

###### void computePointCloudDense(const uint8_t * depthData, std::vector< Point3f > & points)

Kind: function

###### void computePointCloudDenseColored(const uint8_t * depthData, const uint8_t * colorData, std::vector< Point3fRGBA > &
points)

Kind: function

###### void applyTransformation(std::vector< PointT > & points)

Kind: function

###### std::vector< PointT > filterValidPoints(const std::vector< PointT > & densePoints)

Kind: function

###### void setLengthUnit(dai::LengthUnit lengthUnit)

Kind: function

###### void useCPU()

Kind: function

###### void useCPUMT(uint32_t numThreads)

Kind: function

###### void useGPU(uint32_t device)

Kind: function

###### void setIntrinsics(float fx, float fy, float cx, float cy, unsigned int width, unsigned int height)

Kind: function

###### void setExtrinsics(const std::vector< std::vector< float >> & transformMatrix)

Kind: function

###### void clearExtrinsics()

Kind: function

###### std::shared_ptr< 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.

###### Subnode < node::Sync > sync

Kind: variable

Sync subnode for synchronized depth + color input. When only depth is connected, Sync passes through single-item MessageGroups.
When both depth and color are connected, Sync pairs them by timestamp.

###### InputMap & syncInputs

Kind: variable

###### Input & inputDepth

Kind: variable

Input message with depth data used to create the point cloud. Routed through the internal Sync subnode.

###### 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()

Kind: function

###### ~PointCloud()

Kind: function

###### Input & getColorInput()

Kind: function

Get the optional color input for colorized point clouds. Lazily creates the Sync entry so that depth-only mode works without Sync
waiting for a color frame that never arrives. Link an aligned color image (RGB888i, same dimensions as depth) to this input to
enable colored point cloud output.

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

Kind: function

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

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on host.

###### void useCPU()

Kind: function

Use single-threaded CPU for processing

###### void useCPUMT(uint32_t numThreads)

Kind: function

Use multi-threaded CPU for processing

###### void useGPU(uint32_t device)

Kind: function

Use GPU for point cloud computation parameters: device: GPU device index (default 0)

###### void setTargetCoordinateSystem(CameraBoardSocket targetCamera, bool useSpecTranslation)

Kind: function

Set target coordinate system to transform point cloud parameters: targetCamera: Target camera socket; useSpecTranslation: Use spec
translation instead of calibration (default: false)

###### void setTargetCoordinateSystem(HousingCoordinateSystem housingCS, bool useSpecTranslation)

Kind: function

Set target coordinate system to housing coordinate system Point cloud will be transformed to this housing coordinate system
parameters: housingCS: Target housing coordinate system; useSpecTranslation: Whether to use spec translation (default: true)

###### bool runOnHost()

Kind: function

Returns true or false whether the node should be run on host or not.

###### void buildInternal()

Kind: function

Function called from within the

##### dai::node::Rectification

Kind: class

###### Input input1

Kind: variable

Input images to be rectified

###### Input input2

Kind: variable

###### Output passthrough1

Kind: variable

Passthrough for input messages (so the node can be placed between other nodes)

###### Output passthrough2

Kind: variable

###### Output output1

Kind: variable

Send outputs

###### Output output2

Kind: variable

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on device.

###### Rectification & setOutputSize(uint32_t width, uint32_t height)

Kind: function

Set output size

###### Rectification & setOutputSize(std::pair< uint32_t, uint32_t > size)

Kind: function

Set output size

###### Rectification & enableRectification(bool enable)

Kind: function

Enable or disable rectification (useful for minimal changes during debugging)

###### bool runOnHost()

Kind: function

Check if the node is set to run on host

###### void run()

Kind: function

###### CalibrationHandler getCalibrationData()

Kind: function

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

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

Kind: class

SPIIn node. Receives messages over SPI.

###### Output out

Kind: variable

Outputs message of same type as send from host.

###### 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.

###### void buildInternal()

Kind: function

Function called from within the

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### 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

###### 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

###### void buildInternal()

Kind: function

Function called from within the

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### 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'])

###### void setScriptPath(const std::filesystem::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

###### std::filesystem::path getScriptPath()

Kind: function

Get filesystem path from where script was loaded.

return: std::filesystem::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

###### void buildInternal()

Kind: function

Function called from within the

###### void buildStage1()

Kind: function

Build stages;.

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### dai::node::SegmentationParser

Kind: class

SegmentationParser node. Parses raw segmentation output from segmentation neural networks into a dai::SegmentationMask datatype.
The parser supports two output model types:

warning: Only OAK4 supports running SegmentationParser on device. On other platforms, the node will automatically switch to host
execution.

###### std::variant< NNModelDescription , NNArchive , std::string > Model

Kind: enum

###### std::shared_ptr< SegmentationParserConfig > initialConfig

Kind: variable

Initial config to use when parsing segmentation masks.

###### Input input

Kind: variable

Input NN results with segmentation data to parser

###### Input inputConfig

Kind: variable

Input SegmentationParserConfig message with ability to modify parameters in runtime.

###### Output out

Kind: variable

Outputs segmentation mask

###### ~SegmentationParser()

Kind: function

###### SegmentationParser()

Kind: function

###### SegmentationParser(std::unique_ptr< Properties > props)

Kind: function

###### std::shared_ptr< SegmentationParser > build(Node::Output & nnInput, const Model & model)

Kind: function

Build SegmentationParser node.

parameters: nnInput: Output to link; nnArchive: Neural network archive

###### std::shared_ptr< SegmentationParser > build(Node::Output & nnInput, const dai::nn_archive::v1::Head & head)

Kind: function

Build SegmentationParser node with the specific head from NNArchive . Useful when model outputs multiple segmentation heads.

parameters: nnInput: Output to link; head: Specific head from NNArchive to use for this parser

###### void setLabels(const std::vector< std::string > & labels)

Kind: function

Sets the class labels associated with the segmentation mask. The label at index $i$ in the parameters: labels: Vector of class
labels

###### std::vector< std::string > getLabels()

Kind: function

Returns the class labels associated with the segmentation mask.

###### void setBackgroundClass(bool backgroundClass)

Kind: function

Sets whether the first class (index 0) is considered the background class. If true, the pixels classified as index 0 will be
treated as background. parameters: backgroundClass: Boolean indicating if the first class is the background class note: Only
applicable if the number of classes is greater than 1 and the output classes are not in a single layer (eg. classesInOneLayer =
false).

###### bool getBackgroundClass()

Kind: function

Gets whether the first class (index 0) is considered the background class.

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on device.

###### bool runOnHost()

Kind: function

Check if the node is set to run on host

###### void run()

Kind: function

###### void buildInternal()

Kind: function

Function called from within the

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

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

Kind: class

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

###### SpatialDetectionNetworkProperties Properties

Kind: enum

###### NeuralNetwork::Model Model

Kind: enum

###### Properties & properties

Kind: variable

###### Subnode < NeuralNetwork > neuralNetwork

Kind: variable

###### Subnode < DetectionParser > detectionParser

Kind: variable

###### Subnode < SpatialLocationCalculator > spatialLocationCalculator

Kind: variable

###### std::unique_ptr< Subnode < ImageAlign > > depthAlign

Kind: variable

###### Input & input

Kind: variable

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

###### Output & outNetwork

Kind: variable

Outputs unparsed 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.

###### 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 & 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.

###### SpatialDetectionNetwork(const std::shared_ptr< Device > & device)

Kind: function

###### SpatialDetectionNetwork(std::unique_ptr< Properties > props)

Kind: function

###### SpatialDetectionNetwork(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### SpatialDetectionNetwork(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### std::shared_ptr< SpatialDetectionNetwork > build(const std::shared_ptr< Camera > & inputRgb, const DepthSource &
depthSource, const Model & model, std::optional< float > fps, std::optional< dai::ImgResizeMode > resizeMode)

Kind: function

Build SpatialDetectionNetwork node with specified depth source. Connect Camera and depth source outputs to this node's inputs and
configure the inference model.

parameters: inputRgb: Camera node; depthSource: Depth source node ( StereoDepth , NeuralDepth , or ToF ); model: Neural network
model description, NNArchive or HubAI model id string; fps: Desired frames per second; resizeMode: Resize mode for input color
frames return: Shared pointer to SpatialDetectionNetwork node

###### std::shared_ptr< SpatialDetectionNetwork > build(const std::shared_ptr< Camera > & inputRgb, const DepthSource &
depthSource, const Model & model, const ImgFrameCapability & capability)

Kind: function

Build SpatialDetectionNetwork node with specified depth source. Connect Camera and depth source outputs to this node's inputs and
configure the inference model.

parameters: inputRgb: Camera node; depthSource: Depth source node ( StereoDepth , NeuralDepth , or ToF ); model: Neural network
model description, NNArchive or HubAI model id string; capability: Camera capabilities return: Shared pointer to
SpatialDetectionNetwork node

###### void setNNArchive(const NNArchive & nnArchive)

Kind: function

Set NNArchive for this Node . If the archive's type is SUPERBLOB, use default number of shaves.

parameters: nnArchive: NNArchive to set

###### void setFromModelZoo(NNModelDescription description, bool useCached)

Kind: function

Download model from zoo and set it for this Node .

parameters: description: Model description to download; useCached: Use cached model if available

###### void setNNArchive(const NNArchive & nnArchive, int numShaves)

Kind: function

Set NNArchive for this Node , throws if the archive's type is not SUPERBLOB.

parameters: nnArchive: NNArchive to set; numShaves: Number of shaves to use

###### void setBlobPath(const std::filesystem::path & path)

Kind: function

Backwards compatibility interface 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 std::filesystem::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 setModelPath(const std::filesystem::path & modelPath)

Kind: function

Load network file into assets. parameters: modelPath: Path to the model file.

###### 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

###### void setNumShavesPerInferenceThread(int numShavesPerThread)

Kind: function

How many Shaves should a single thread use for inference parameters: numShavesPerThread: Number of shaves per thread

###### void setBackend(std::string backend)

Kind: function

Specifies backend to use parameters: backend: String specifying backend to use

###### void setBackendProperties(std::map< std::string, std::string > properties)

Kind: function

Set backend properties parameters: backendProperties: backend properties map

###### 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

###### 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 setBoundingBoxScaleFactor(float scaleFactor)

Kind: function

Custom interface 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.

###### std::optional< std::vector< std::string > > getClasses()

Kind: function

Get classes labels.

###### void buildInternal()

Kind: function

Function called from within the

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

Kind: class

SpatialLocationCalculator node. Calculates the spatial locations of detected objects based on the input depth map. Spatial
location calculations can be additionally refined by using a segmentation mask. If keypoints are provided, the spatial location is
calculated around each keypoint.

###### std::shared_ptr< 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 inputDetections

Kind: variable

Input messages on which spatial location will be calculated. Possible datatypes are ImgDetections or Keypoints.

###### 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 locations for each additional ROI that is specified in the
config.

###### Output outputDetections

Kind: variable

Outputs SpatialImgDetections message that carries spatial locations along with original input data.

###### Output passthroughDepth

Kind: variable

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

###### SpatialLocationCalculator()

Kind: function

###### SpatialLocationCalculator(std::unique_ptr< Properties > props)

Kind: function

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on device.

###### bool runOnHost()

Kind: function

Check if the node is set to run on host

###### void run()

Kind: function

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### 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.

###### FAST_ACCURACY

Kind: enum_value

###### FAST_DENSITY

Kind: enum_value

###### DEFAULT

Kind: enum_value

###### FACE

Kind: enum_value

###### HIGH_DETAIL

Kind: enum_value

###### ROBOTICS

Kind: enum_value

###### DENSITY

Kind: enum_value

###### ACCURACY

Kind: enum_value

###### dai::StereoDepthConfig::MedianFilter MedianFilter

Kind: enum

###### std::shared_ptr< StereoDepthConfig > initialConfig

Kind: variable

Initial config to use for StereoDepth .

###### Input inputConfig

Kind: variable

Input StereoDepthConfig message with ability to modify parameters in runtime.

###### Input inputAlignTo

Kind: variable

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

###### Input left

Kind: variable

Input for left ImgFrame of left-right pair

###### Input right

Kind: variable

Input for right ImgFrame of left-right pair

###### 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 mean lower confidence of the calculated disparity value.
RGB alignment, left-right check or any postprocessing (e.g., median filter) is not performed on confidence map.

###### StereoDepth()

Kind: function

###### std::shared_ptr< StereoDepth > build(Node::Output & left, Node::Output & right, PresetMode presetMode)

Kind: function

###### std::shared_ptr< StereoDepth > build(bool autoCreateCameras, PresetMode presetMode, std::pair< int, int > size,
std::optional< float > fps)

Kind: function

Create StereoDepth node. Note that this API is global and if used autocreated cameras can't be reused. parameters:
autoCreateCameras: If true, will create left and right nodes if they don't exist; presetMode: Preset mode for stereo depth

###### void loadMeshFiles(const std::filesystem::path & pathLeft, const std::filesystem::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 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 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 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

###### 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 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 setFrameSync(bool enableFrameSync)

Kind: function

Whether to enable frame syncing inside stereo node or not. Suitable if inputs are known to be synced.

###### 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

Sync node. Performs syncing between image frames.

###### InputMap inputs

Kind: variable

A map of inputs

###### Output out

Kind: variable

Output message of type MessageGroup

###### 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

Specify on which processor the node should run. RVC2 only. 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

###### void setRunOnHost(bool runOnHost)

Kind: function

Specify whether to run on host or device By default, the node will run on device.

###### bool runOnHost()

Kind: function

Check if the node is set to run on host

###### void run()

Kind: function

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

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

Kind: class

SystemLogger node. Send system information periodically.

###### Output out

Kind: variable

Outputs SystemInformation [RVC4] message that carries various system information like memory and CPU usage, temperatures, ... For
series 2 devices output SystemInformation message, for series 4 devices output SystemInformationRVC4 message

###### 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

###### void buildInternal()

Kind: function

Function called from within the

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### dai::node::Thermal

Kind: class

Thermal node.

###### std::shared_ptr< ThermalConfig > initialConfig

Kind: variable

Initial config to use for thermal sensor.

###### Input inputConfig

Kind: variable

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

###### Output temperature

Kind: variable

Outputs FP16 (degC) thermal image.

###### Output color

Kind: variable

Outputs YUV422i grayscale thermal image.

###### Thermal()

Kind: function

###### Thermal(std::unique_ptr< Properties > props)

Kind: function

###### std::shared_ptr< Thermal > build(dai::CameraBoardSocket boardSocket, float fps)

Kind: function

Build with a specific board socket and fps.

###### CameraBoardSocket getBoardSocket()

Kind: function

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

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

Kind: function

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### dai::node::ToFBase

Kind: class

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

###### std::shared_ptr< ToFConfig > initialConfig

Kind: variable

Initial config to use for feature tracking.

###### Input inputConfig

Kind: variable

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

###### Output depth

Kind: variable

###### Output amplitude

Kind: variable

###### Output intensity

Kind: variable

###### Output phase

Kind: variable

###### ToFBase()

Kind: function

###### ToFBase(std::unique_ptr< Properties > props)

Kind: function

###### std::shared_ptr< ToFBase > build(dai::CameraBoardSocket boardSocket, dai::ImageFiltersPresetMode presetMode, std::optional<
float > fps)

Kind: function

Build with a specific board socket

###### void setProfilePreset(dai::ImageFiltersPresetMode presetMode)

Kind: function

Set profile preset for ToFConfig parameters: presetMode: Preset mode for ToFConfig

###### CameraBoardSocket getBoardSocket()

Kind: function

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

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

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

Kind: class

###### Subnode < ToFBase > tofBase

Kind: variable

###### Subnode < ImageFilters > imageFilters

Kind: variable

###### Output & rawDepth

Kind: variable

Raw depth output from ToF sensor

###### Output & depth

Kind: variable

Filtered depth output

###### Output & amplitude

Kind: variable

Amplitude output

###### Output & intensity

Kind: variable

Intensity output

###### Output & phase

Kind: variable

Phase output

###### Input & tofBaseInputConfig

Kind: variable

Input config for ToF base node

###### Input & imageFiltersInputConfig

Kind: variable

Input config for image filters

###### ToFBase & tofBaseNode

Kind: variable

ToF base node

###### ImageFilters & imageFiltersNode

Kind: variable

Image filters node

###### ToF(const std::shared_ptr< Device > & device)

Kind: function

###### ~ToF()

Kind: function

###### void buildInternal()

Kind: function

Function called from within the

###### std::shared_ptr< ToF > build(dai::CameraBoardSocket boardSocket, dai::ImageFiltersPresetMode presetMode, std::optional<
float > fps)

Kind: function

##### 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()

Kind: function

###### UVC(std::unique_ptr< Properties > props)

Kind: function

###### ~UVC()

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.

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### 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

###### 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.

###### std::shared_ptr< VideoEncoder > build(Node::Output & input)

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 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.

###### void setProfile(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)

###### 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)

###### 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.

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

Kind: function

Set quality 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.

###### 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

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### dai::node::Vpp

Kind: class

Vpp node. Apply Virtual Projection Pattern algorithm to stereo images based on disparity.

###### std::shared_ptr< VppConfig > initialConfig

Kind: variable

Initial config to use for VPP.

###### Subnode < node::Sync > sync

Kind: variable

###### Input syncedInputs

Kind: variable

"Synchronised Left Img, Right Img, Dispatiy and confidence input."

###### const std::string leftInputName

Kind: variable

###### const std::string rightInputName

Kind: variable

###### const std::string disparityName

Kind: variable

###### const std::string confidenceName

Kind: variable

###### Input & left

Kind: variable

Input for left rectified ImgFrame

###### Input & right

Kind: variable

Input for right rectified ImgFrame

###### Input & disparity

Kind: variable

Low resolution disparity in pixels (in integers - 16 times bigger)

###### Input & confidence

Kind: variable

Confidence of the dispatiry (in integers - 16 times bigger).

###### Input inputConfig

Kind: variable

###### Output leftOut

Kind: variable

Output ImgFrame message that carries the processed left image with virtual projection pattern applied.

###### Output rightOut

Kind: variable

Output ImgFrame message that carries the processed right image with virtual projection pattern applied.

###### Vpp()

Kind: function

###### Vpp(std::unique_ptr< Properties > props)

Kind: function

###### ~Vpp()

Kind: function

###### std::shared_ptr< Vpp > build(Output & leftInput, Output & rightInput, Output & disparityInput, Output & confidenceInput)

Kind: function

###### void buildInternal()

Kind: function

Function called from within the

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

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.

###### 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.

###### DeviceNodeCRTP()

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props)

Kind: function

###### DeviceNodeCRTP(std::unique_ptr< Properties > props, bool confMode)

Kind: function

###### DeviceNodeCRTP(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool confMode)

Kind: function

##### dai::node::Display

Kind: class

###### Input input

Kind: variable

###### Display(std::string name)

Kind: function

###### void run()

Kind: function

##### dai::node::HostCamera

Kind: class

###### Output out

Kind: variable

###### void run()

Kind: function

##### dai::node::HostNode

Kind: class

###### InputMap & inputs

Kind: variable

###### Output out

Kind: variable

###### std::shared_ptr< Buffer > processGroup(std::shared_ptr< dai::MessageGroup > in)

Kind: function

###### void sendProcessingToPipeline(bool send)

Kind: function

Send processing to pipeline. If set to true, it's important to call

###### void runSyncingOnHost()

Kind: function

###### void runSyncingOnDevice()

Kind: function

##### dai::node::RGBD

Kind: class

RGBD node. Combines depth and color frames into a single point cloud.

###### Subnode < node::Sync > sync

Kind: variable

###### InputMap & inputs

Kind: variable

###### std::string colorInputName

Kind: variable

###### std::string depthInputName

Kind: variable

###### Input & inColor

Kind: variable

###### Input & inDepth

Kind: variable

###### Output pcl

Kind: variable

Output point cloud.

###### Output rgbd

Kind: variable

Output RGBD frames.

###### RGBD()

Kind: function

###### ~RGBD()

Kind: function

###### std::shared_ptr< RGBD > build()

Kind: function

###### std::shared_ptr< RGBD > build(bool autocreate, StereoDepth::PresetMode mode, std::pair< int, int > frameSize,
std::optional< float > fps)

Kind: function

Build RGBD node with specified size. Note that this API is global and if used autocreated cameras can't be reused.

parameters: autocreate: If true, will create color and depth nodes if they don't exist.; frameSize: Size of the frames

###### std::shared_ptr< RGBD > build(const std::shared_ptr< Camera > & camera, const DepthSource & depthSource, std::pair< int,
int > frameSize, std::optional< float > fps)

Kind: function

Build RGBD node with camera and depth source node.

parameters: camera: Camera node to use for color frames; depthSource: Depth source node ( StereoDepth , NeuralDepth , or ToF );
frameSize: Size of the frames; fps: FPS of the frames

###### void setDepthUnit(StereoDepthConfig::AlgorithmControl::DepthUnit depthUnit)

Kind: function

###### void useCPU()

Kind: function

Use single-threaded CPU for processing.

###### void useCPUMT(uint32_t numThreads)

Kind: function

Use multi-threaded CPU for processing.

parameters: numThreads: Number of threads to use

###### void useGPU(uint32_t device)

Kind: function

Use GPU for processing (needs to be compiled with Kompute support)

parameters: device: GPU device index

###### void printDevices()

Kind: function

Print available GPU devices.

###### void buildInternal()

Kind: function

##### dai::node::RecordVideo

Kind: class

RecordVideo node, used to record a video source stream to a file.

###### dai::RecordConfig::CompressionLevel CompressionLevel

Kind: enum

###### Input input

Kind: variable

Input for ImgFrame or EncodedFrame messages to be recorded Default queue is blocking with size 15

###### void run()

Kind: function

###### std::filesystem::path getRecordMetadataFile()

Kind: function

###### std::filesystem::path getRecordVideoFile()

Kind: function

###### CompressionLevel getCompressionLevel()

Kind: function

###### RecordVideo & setRecordMetadataFile(const std::filesystem::path & recordFile)

Kind: function

###### RecordVideo & setRecordVideoFile(const std::filesystem::path & recordFile)

Kind: function

###### RecordVideo & setCompressionLevel(CompressionLevel compressionLevel)

Kind: function

###### RecordVideo & setFps(unsigned int fps)

Kind: function

##### dai::node::RecordMetadataOnly

Kind: class

RecordMetadataOnly node, used to record a source stream to a file.

###### dai::RecordConfig::CompressionLevel CompressionLevel

Kind: enum

###### Input input

Kind: variable

Input IMU messages to be recorded (will support other types in the future) Default queue is blocking with size 8

###### void run()

Kind: function

###### std::filesystem::path getRecordFile()

Kind: function

###### CompressionLevel getCompressionLevel()

Kind: function

###### RecordMetadataOnly & setRecordFile(const std::filesystem::path & recordFile)

Kind: function

###### RecordMetadataOnly & setCompressionLevel(CompressionLevel compressionLevel)

Kind: function

##### dai::node::ReplayVideo

Kind: class

Replay node, used to replay a file to a source node.

###### Output out

Kind: variable

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

###### void run()

Kind: function

###### std::filesystem::path getReplayMetadataFile()

Kind: function

###### std::filesystem::path getReplayVideoFile()

Kind: function

###### ImgFrame::Type getOutFrameType()

Kind: function

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

Kind: function

###### float getFps()

Kind: function

###### bool getLoop()

Kind: function

###### ReplayVideo & setReplayMetadataFile(const std::filesystem::path & replayFile)

Kind: function

###### ReplayVideo & setReplayVideoFile(const std::filesystem::path & replayVideo)

Kind: function

###### ReplayVideo & setOutFrameType(ImgFrame::Type outFrameType)

Kind: function

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

Kind: function

###### ReplayVideo & setSize(int width, int height)

Kind: function

###### ReplayVideo & setFps(float fps)

Kind: function

###### ReplayVideo & setLoop(bool loop)

Kind: function

##### dai::node::ReplayMetadataOnly

Kind: class

Replay node, used to replay a file to a source node.

###### Output out

Kind: variable

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

###### void run()

Kind: function

###### std::filesystem::path getReplayFile()

Kind: function

###### float getFps()

Kind: function

###### bool getLoop()

Kind: function

###### ReplayMetadataOnly & setReplayFile(const std::filesystem::path & replayFile)

Kind: function

###### ReplayMetadataOnly & setFps(float fps)

Kind: function

###### ReplayMetadataOnly & setLoop(bool loop)

Kind: function

##### dai::node::PipelineStateMerge

Kind: class

PipelineStateMerge node. Merges PipelineState messages from device and host into a single output.

###### Input inputDevice

Kind: variable

###### Input inputHost

Kind: variable

###### Input request

Kind: variable

Input PipelineEventAggregationConfig message with state request parameters

###### Output outRequest

Kind: variable

Output PipelineEventAggregationConfig message with state request parameters

###### Output out

Kind: variable

Output message of type

###### std::shared_ptr< PipelineStateMerge > build(bool hasDeviceNodes, bool hasHostNodes)

Kind: function

###### PipelineStateMerge & setAllowConfiguration(bool allow)

Kind: function

True by default. Set to false when the node should only wait for states and not for configuration inputs. Used for merging trace
outputs.

###### void run()

Kind: function

##### dai::node::RTABMapSLAM

Kind: class

RTABMap SLAM node. Performs SLAM on given odometry pose, rectified frame and depth frame.

###### Subnode < node::Sync > sync

Kind: variable

###### InputMap & inputs

Kind: variable

###### std::string rectInputName

Kind: variable

###### std::string depthInputName

Kind: variable

###### std::string featuresInputName

Kind: variable

###### Input & rect

Kind: variable

Input rectified image on which SLAM is performed.

###### Input & depth

Kind: variable

Input depth image on which SLAM is performed.

###### Input features

Kind: variable

Input tracked features on which SLAM is performed (optional).

###### Input odom

Kind: variable

Input odometry pose.

###### Output transform

Kind: variable

Output transform.

###### Output odomCorrection

Kind: variable

Output odometry correction (map to odom).

###### Output obstaclePCL

Kind: variable

Output obstacle point cloud.

###### Output groundPCL

Kind: variable

Output ground point cloud.

###### Output occupancyGridMap

Kind: variable

Output occupancy grid map.

###### Output passthroughRect

Kind: variable

Output passthrough rectified image.

###### Output passthroughDepth

Kind: variable

Output passthrough depth image.

###### Output passthroughFeatures

Kind: variable

Output passthrough features.

###### Output passthroughOdom

Kind: variable

Output passthrough odometry pose.

###### RTABMapSLAM()

Kind: function

###### ~RTABMapSLAM()

Kind: function

###### void setParams(const std::map< std::string, std::string > & params)

Kind: function

Set RTABMap parameters. For the list of all parameters visit

###### void setDatabasePath(const std::string & path)

Kind: function

Set RTABMap database path. "/tmp/rtabmap.tmp.db" by default.

###### void setLoadDatabaseOnStart(bool load)

Kind: function

Whether to load the database on start. False by default.

###### void setSaveDatabaseOnClose(bool save)

Kind: function

Whether to save the database on close. False by default.

###### void saveDatabase()

Kind: function

###### void setSaveDatabasePeriodically(bool save)

Kind: function

Whether to save the database periodically. False by default.

###### void setSaveDatabasePeriod(double interval)

Kind: function

Set the interval at which the database is saved. 30.0s by default.

###### void setPublishObstacleCloud(bool publish)

Kind: function

Whether to publish the obstacle point cloud. True by default.

###### void setPublishGroundCloud(bool publish)

Kind: function

Whether to publish the ground point cloud. True by default.

###### void setPublishGrid(bool publish)

Kind: function

Whether to publish the ground point cloud. True by default.

###### void setFreq(float f)

Kind: function

Set the frequency at which the node processes data. 1Hz by default.

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

Kind: function

Set the alpha scaling factor for the camera model.

###### void setUseFeatures(bool use)

Kind: function

Whether to use input features for SLAM. False by default.

###### void setLocalTransform(std::shared_ptr< TransformData > transform)

Kind: function

###### std::shared_ptr< TransformData > getLocalTransform()

Kind: function

###### void triggerNewMap()

Kind: function

Trigger a new map.

###### void buildInternal()

Kind: function

Function called from within the

##### dai::node::RTABMapVIO

Kind: class

RTABMap Visual Inertial Odometry node. Performs VIO on rectified frame, depth frame and IMU data.

###### std::string rectInputName

Kind: variable

###### std::string depthInputName

Kind: variable

###### std::string featuresInputName

Kind: variable

###### Subnode < node::Sync > sync

Kind: variable

###### InputMap & inputs

Kind: variable

###### Input & rect

Kind: variable

Input rectified image on which VIO is performed.

###### Input & depth

Kind: variable

Input depth image on which VIO is performed.

###### Input features

Kind: variable

Input tracked features on which VIO is performed (optional).

###### Input imu

Kind: variable

Input IMU data.

###### Output transform

Kind: variable

Output transform.

###### Output passthroughRect

Kind: variable

Passthrough rectified frame.

###### Output passthroughDepth

Kind: variable

Passthrough depth frame.

###### Output passthroughFeatures

Kind: variable

Passthrough features.

###### RTABMapVIO()

Kind: function

###### ~RTABMapVIO()

Kind: function

###### void setParams(const std::map< std::string, std::string > & params)

Kind: function

Set RTABMap parameters.

###### void setUseFeatures(bool use)

Kind: function

Whether to use input features or calculate them internally.

###### void setLocalTransform(std::shared_ptr< TransformData > transform)

Kind: function

###### void reset(std::shared_ptr< TransformData > transform)

Kind: function

Reset Odometry.

###### void buildInternal()

Kind: function

##### NodeCRTP < ThreadedHostNode , T > CustomThreadedNode

Kind: typedef

Custom node for host node. When creating a custom host node, inherit from this class!

parameters: T: Node type (same as the class you are creating)

##### std::variant< std::shared_ptr< StereoDepth >, std::shared_ptr< NeuralDepth >, std::shared_ptr< ToF > > DepthSource

Kind: typedef

Variant type representing different depth sources. Supported depth sources: StereoDepth , NeuralDepth , ToF .

##### NodeCRTP < HostNode , T > CustomNode

Kind: typedef

Custom node for host node. When creating a custom host node, inherit from this class!

parameters: T: Node type (same as the class you are creating)

##### :: dai::internal::XLinkOutProperties XLinkOutProperties

Kind: typedef

#### dai::proto

Kind: namespace

##### dai::proto::event

Kind: namespace

#### dai::utility

Kind: namespace

##### dai::utility::CircularBuffer

Kind: class

A simple circular buffer implementation with forward and reverse iterators.

parameters: T: The type of elements stored in the buffer

###### dai::utility::CircularBuffer::iterator

Kind: class

###### std::forward_iterator_tag iterator_category

Kind: enum

###### T value_type

Kind: enum

###### std::ptrdiff_t difference_type

Kind: enum

###### T * pointer

Kind: enum

###### T & reference

Kind: enum

###### iterator(CircularBuffer * parent, size_t pos)

Kind: function

###### reference operator*()

Kind: function

###### pointer operator->()

Kind: function

###### iterator & operator++()

Kind: function

###### iterator operator++(int)

Kind: function

###### bool operator==(const iterator & other)

Kind: function

###### bool operator!=(const iterator & other)

Kind: function

###### dai::utility::CircularBuffer::reverse_iterator

Kind: class

###### std::bidirectional_iterator_tag iterator_category

Kind: enum

###### T value_type

Kind: enum

###### std::ptrdiff_t difference_type

Kind: enum

###### T * pointer

Kind: enum

###### T & reference

Kind: enum

###### reverse_iterator(CircularBuffer * parent, size_t pos)

Kind: function

###### reference operator*()

Kind: function

###### pointer operator->()

Kind: function

###### reverse_iterator & operator++()

Kind: function

###### reverse_iterator operator++(int)

Kind: function

###### bool operator==(const reverse_iterator & other)

Kind: function

###### bool operator!=(const reverse_iterator & other)

Kind: function

###### CircularBuffer(size_t size)

Kind: function

###### ~CircularBuffer()

Kind: function

###### T & add(T value)

Kind: function

###### std::vector< T > getBuffer()

Kind: function

###### T first()

Kind: function

###### T last()

Kind: function

###### size_t size()

Kind: function

###### void clear()

Kind: function

###### T & at(size_t pos)

Kind: function

###### const T & at(size_t pos)

Kind: function

###### iterator begin()

Kind: function

###### iterator end()

Kind: function

###### reverse_iterator rbegin()

Kind: function

###### reverse_iterator rend()

Kind: function

##### dai::utility::WindowedAverageBuffer

Kind: class

A circular buffer that maintains a running average of its elements.

parameters: T: The type of elements stored in the buffer (must support addition and division)

###### WindowedAverageBuffer(size_t size, T initialValue)

Kind: function

###### void onSwap(T & oldValue, T & newValue)

Kind: function

###### void onAdd(T & newValue)

Kind: function

###### T getAverage()

Kind: function

##### dai::utility::FileData

Kind: class

###### FileData(std::string data, std::string fileTag, std::string mimeType)

Kind: function

###### FileData(std::filesystem::path filePath, std::string fileTag)

Kind: function

###### FileData(const std::shared_ptr< ImgFrame > & imgFrame, std::string fileTag)

Kind: function

###### FileData(const std::shared_ptr< EncodedFrame > & encodedFrame, std::string fileTag)

Kind: function

###### FileData(const std::shared_ptr< ImgDetections > & imgDetections, std::string fileTag)

Kind: function

###### bool toFile(const std::filesystem::path & inputPath)

Kind: function

##### dai::utility::FileGroup

Kind: class

###### void addFile(std::string fileTag, std::string data, std::string mimeType)

Kind: function

###### void addFile(std::string fileTag, std::filesystem::path filePath)

Kind: function

###### void addFile(const std::optional< std::string > & fileTag, const std::shared_ptr< ImgFrame > & imgFrame)

Kind: function

###### void addFile(const std::optional< std::string > & fileTag, const std::shared_ptr< EncodedFrame > & encodedFrame)

Kind: function

###### void addFile(const std::optional< std::string > & fileTag, const std::shared_ptr< ImgDetections > & imgDetections)

Kind: function

###### void addImageDetectionsPair(const std::optional< std::string > & fileTag, const std::shared_ptr< ImgFrame > & imgFrame,
const std::shared_ptr< ImgDetections > & imgDetections)

Kind: function

###### void addImageDetectionsPair(const std::optional< std::string > & fileTag, const std::shared_ptr< EncodedFrame > &
encodedFrame, const std::shared_ptr< ImgDetections > & imgDetections)

Kind: function

##### dai::utility::SendSnapCallbackResult

Kind: struct

###### std::string snapName

Kind: variable

###### int64_t snapTimestamp

Kind: variable

###### std::string snapLocalID

Kind: variable

###### std::optional< std::string > snapHubID

Kind: variable

###### std::string snapPayload

Kind: variable

###### SendSnapCallbackStatus uploadStatus

Kind: variable

##### dai::utility::EventsManager

Kind: class

###### EventsManager(std::string apiKey, bool uploadCachedOnStart)

Kind: function

###### EventsManager(bool uploadCachedOnStart)

Kind: function

###### ~EventsManager()

Kind: function

###### std::optional< std::string > sendEvent(const std::string & name, const std::vector< std::string > & tags, const
std::unordered_map< std::string, std::string > & extras, const std::vector< std::string > & associateFiles)

Kind: function

Send an event to the events service parameters: name: Name of the event; tags: List of tags to send; extras: Extra data to send;
associateFiles: List of associate files with ids return: LocalID of the sent Event

###### std::optional< std::string > sendSnap(const std::string & name, const std::shared_ptr< FileGroup > fileGroup, const
std::vector< std::string > & tags, const std::unordered_map< std::string, std::string > & extras, const std::function< void(
SendSnapCallbackResult )> successCallback, const std::function< void( SendSnapCallbackResult )> failureCallback)

Kind: function

Send a snap to the events service. Snaps should be used for sending images and other files. parameters: name: Name of the snap;
fileGroup: FileGroup containing FileData objects to send; tags: List of tags to send; extras: Extra data to send; successCallback:
Callback to be called when the snap is successfully uploaded to the hub; failureCallback: Callback to be called if the snap upload
is unsuccessful return: LocalID of the sent Snap

###### std::optional< std::string > sendSnap(const std::string & name, const std::optional< std::string > & fileTag, const
std::shared_ptr< ImgFrame > imgFrame, const std::optional< std::shared_ptr< ImgDetections >> & imgDetections, const std::vector<
std::string > & tags, const std::unordered_map< std::string, std::string > & extras, const std::function< void(
SendSnapCallbackResult )> successCallback, const std::function< void( SendSnapCallbackResult )> failureCallback)

Kind: function

Send a snap to the events service, with an ImgFrame and ImgDetections pair as files parameters: name: Name of the snap; fileTag:
File tag used to create FileData; imgFrame: ImgFrame to send; imgDetections: ImgDetections to sent; tags: List of tags to send;
extras: Extra data to send; successCallback: Callback to be called when the snap is successfully uploaded to the hub;
failureCallback: Callback to be called if the snap upload is unsuccessful return: LocalID of the sent Snap

###### bool waitForPendingUploads(uint64_t timeoutMs)

Kind: function

Wait for pending snaps/events to be processed by the background upload thread parameters: timeoutMs: Timeout in milliseconds. 0
means wait until uploads are finished, connection is dropped, or manager is stopped return: true if the pending data was uploaded
before timeout, false if not - either because of timeout, dropped connection, or shutdown

###### void setLogResponse(bool logResponse)

Kind: function

Set whether to log the responses from the server. By default, logResponse is set to false parameters: logResponse: bool return:
void

###### void setVerifySsl(bool verifySsl)

Kind: function

Set whether to verify the SSL certificate. By default, verifySsl is set to false parameters: verifySsl: bool return: void

###### void setCacheDir(const std::string & cacheDir)

Kind: function

Set the cache directory for storing cached data. By default, the cache directory is set to /internal/private parameters: cacheDir:
Cache directory return: void

###### void setCacheIfCannotSend(bool cacheIfCannotSend)

Kind: function

Set whether to cache data if it cannot be sent. By default, cacheIfCannotSend is set to false parameters: cacheIfCannotSend: bool
return: void

##### dai::utility::PipelineEventDispatcher

Kind: class

###### PipelineEventDispatcher()

Kind: function

###### PipelineEventDispatcher(int64_t & nodeId, Node::Output * output)

Kind: function

###### void startEvent(PipelineEvent::Type type, const std::string & source, std::optional< uint32_t > queueSize)

Kind: function

###### void startInputEvent(const std::string & source, std::optional< uint32_t > queueSize)

Kind: function

###### void startOutputEvent(const std::string & source)

Kind: function

###### void startCustomEvent(const std::string & source)

Kind: function

###### void endEvent(PipelineEvent::Type type, const std::string & source, std::optional< uint32_t > queueSize)

Kind: function

###### void endInputEvent(const std::string & source, std::optional< uint32_t > queueSize)

Kind: function

###### void endOutputEvent(const std::string & source)

Kind: function

###### void endCustomEvent(const std::string & source)

Kind: function

###### void startTrackedEvent(PipelineEvent event, std::optional< std::chrono::time_point< std::chrono::steady_clock >> ts)

Kind: function

###### void startTrackedEvent(PipelineEvent::Type type, const std::string & source, int64_t sequenceNum, std::optional<
std::chrono::time_point< std::chrono::steady_clock >> ts)

Kind: function

###### void endTrackedEvent(PipelineEvent event, std::optional< std::chrono::time_point< std::chrono::steady_clock >> ts)

Kind: function

###### void endTrackedEvent(PipelineEvent::Type type, const std::string & source, int64_t sequenceNum, std::optional<
std::chrono::time_point< std::chrono::steady_clock >> ts)

Kind: function

###### void pingEvent(PipelineEvent::Type type, const std::string & source)

Kind: function

###### void pingMainLoopEvent()

Kind: function

###### void pingCustomEvent(const std::string & source)

Kind: function

###### void pingInputEvent(const std::string & source, PipelineEvent::Status status, std::optional< uint32_t > queueSize)

Kind: function

###### BlockPipelineEvent blockEvent(PipelineEvent::Type type, const std::string & source, std::optional< std::chrono::time_point<
std::chrono::steady_clock >> ts, bool startNow)

Kind: function

###### BlockPipelineEvent inputBlockEvent(bool startNow)

Kind: function

###### BlockPipelineEvent outputBlockEvent(bool startNow)

Kind: function

###### BlockPipelineEvent customBlockEvent(const std::string & source, bool startNow)

Kind: function

##### dai::utility::PipelineEventDispatcherInterface

Kind: class

###### dai::utility::PipelineEventDispatcherInterface::BlockPipelineEvent

Kind: class

###### void start(std::optional< std::chrono::time_point< std::chrono::steady_clock >> ts)

Kind: function

###### BlockPipelineEvent(PipelineEventDispatcherInterface & dispatcher, PipelineEvent::Type type, const std::string & source,
std::optional< std::chrono::time_point< std::chrono::steady_clock >> ts, bool startNow)

Kind: function

###### void end()

Kind: function

###### void cancel()

Kind: function

###### void setQueueSize(uint32_t qs)

Kind: function

###### void setEndTimestamp(std::chrono::time_point< std::chrono::steady_clock > ts)

Kind: function

###### ~BlockPipelineEvent()

Kind: function

###### bool sendEvents

Kind: variable

###### ~PipelineEventDispatcherInterface()

Kind: function

###### void startEvent(PipelineEvent::Type type, const std::string & source, std::optional< uint32_t > queueSize)

Kind: function

###### void startInputEvent(const std::string & source, std::optional< uint32_t > queueSize)

Kind: function

###### void startOutputEvent(const std::string & source)

Kind: function

###### void startCustomEvent(const std::string & source)

Kind: function

###### void endEvent(PipelineEvent::Type type, const std::string & source, std::optional< uint32_t > queueSize)

Kind: function

###### void endInputEvent(const std::string & source, std::optional< uint32_t > queueSize)

Kind: function

###### void endOutputEvent(const std::string & source)

Kind: function

###### void endCustomEvent(const std::string & source)

Kind: function

###### void startTrackedEvent(PipelineEvent event, std::optional< std::chrono::time_point< std::chrono::steady_clock >> ts)

Kind: function

###### void startTrackedEvent(PipelineEvent::Type type, const std::string & source, int64_t sequenceNum, std::optional<
std::chrono::time_point< std::chrono::steady_clock >> ts)

Kind: function

###### void endTrackedEvent(PipelineEvent event, std::optional< std::chrono::time_point< std::chrono::steady_clock >> ts)

Kind: function

###### void endTrackedEvent(PipelineEvent::Type type, const std::string & source, int64_t sequenceNum, std::optional<
std::chrono::time_point< std::chrono::steady_clock >> ts)

Kind: function

###### void pingEvent(PipelineEvent::Type type, const std::string & source)

Kind: function

###### void pingMainLoopEvent()

Kind: function

###### void pingCustomEvent(const std::string & source)

Kind: function

###### void pingInputEvent(const std::string & source, PipelineEvent::Status status, std::optional< uint32_t > queueSize)

Kind: function

###### BlockPipelineEvent blockEvent(PipelineEvent::Type type, const std::string & source, std::optional< std::chrono::time_point<
std::chrono::steady_clock >> ts, bool startNow)

Kind: function

###### BlockPipelineEvent inputBlockEvent(bool startNow)

Kind: function

###### BlockPipelineEvent outputBlockEvent(bool startNow)

Kind: function

###### BlockPipelineEvent customBlockEvent(const std::string & source, bool startNow)

Kind: function

##### 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

##### SendSnapCallbackStatus

Kind: enum

###### SUCCESS

Kind: enum_value

###### FILE_BATCH_PREPARATION_FAILED

Kind: enum_value

###### GROUP_CONTAINS_REJECTED_FILES

Kind: enum_value

###### FILE_UPLOAD_FAILED

Kind: enum_value

###### SEND_EVENT_FAILED

Kind: enum_value

###### EVENT_REJECTED

Kind: enum_value

##### 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

##### std::vector< std::string > filenamesInArchive(const std::filesystem::path & archivePath)

Kind: function

Gets a list of filenames contained within an archive. parameters: archivePath: Path to the archive file to read return: Vector of
paths for the files within the archive

##### std::vector< uint8_t > readFileInArchive(const std::filesystem::path & archivePath, const std::string & fileInArchive)

Kind: function

Reads a single file from an archive into memory. parameters: archivePath: Path to the archive file to read; fileInArchive: Path of
the file inside the archive return: File contents as a byte vector

##### void archiveFiles(const std::filesystem::path & archivePath, const std::vector< std::filesystem::path > & filesOnDisk, const
std::vector< std::string > & filesInArchive)

Kind: function

Creates a tar archive containing the specified files. parameters: archivePath: Path where the archive file will be created;
filesOnDisk: Vector of paths to file on the host filesystem to include in the archive; filesInArchive: Vector of paths for the
files within the archive

##### void archiveFilesCompressed(const std::filesystem::path & archivePath, const std::vector< std::filesystem::path > &
filesOnDisk, const std::vector< std::string > & filesInArchive)

Kind: function

Creates a gzip-compressed tar archive containing the specified files. parameters: archivePath: Path where the archive file will be
created; filesOnDisk: Vector of paths to file on the host filesystem to include in the archive; filesInArchive: Vector of paths
for the files within the archive

##### void extractFiles(const std::filesystem::path & archivePath, const std::vector< std::string > & filesInArchive, const
std::vector< std::filesystem::path > & filesOnDisk)

Kind: function

Extracts files from an archive, supports both compressed (e.g. tar.gz) and uncompressed (e.g. tar) archives. parameters:
archivePath: Path to the archive file to extract from; filesInArchive: Vector of paths for the files within the archive to
extract; filesOnDisk: Vector of paths where the extracted files should be written

##### RotatedRect getOuterRotatedRect(const std::vector< std::array< float, 2 >> & points)

Kind: function

##### 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

##### std::string jsonDisplay(const nlohmann::json & json, int level, int indent)

Kind: function

#### dai::Capability

Kind: class

##### const char * getName()

Kind: function

##### ~Capability()

Kind: function

#### dai::CapabilityCRTP

Kind: class

##### friend Derived

Kind: variable

##### friend Base

Kind: variable

##### ~CapabilityCRTP()

Kind: function

##### const char * getName()

Kind: function

#### dai::CapabilityRange

Kind: class

##### std::optional< std::variant< T, std::pair< T, T >, std::vector< T > > > value

Kind: variable

##### void minMax(const std::pair< T, T > & minMax)

Kind: function

##### void minMax(const std::tuple< T, T > & minMax)

Kind: function

##### void minMax(const T & min, const T & max)

Kind: function

##### void fixed(const T & fixed)

Kind: function

##### void discrete(const std::vector< T > & discreteValues)

Kind: function

##### DEPTHAI_SERIALIZE(CapabilityRange, value)

Kind: function

#### dai::ImgFrameCapability

Kind: class

##### CapabilityRange < std::pair< uint32_t, uint32_t > > size

Kind: variable

##### CapabilityRange < float > fps

Kind: variable

##### std::optional< ImgFrame::Type > type

Kind: variable

##### ImgResizeMode resizeMode

Kind: variable

##### std::optional< bool > enableUndistortion

Kind: variable

##### bool ispOutput

Kind: variable

##### ~ImgFrameCapability()

Kind: function

##### DEPTHAI_SERIALIZE(ImgFrameCapability, size, fps, type, resizeMode, enableUndistortion, ispOutput)

Kind: function

#### dai::CameraSensorConfig

Kind: struct

Sensor config

##### std::int32_t width

Kind: variable

##### 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

##### bool hdr

Kind: variable

##### bool hfr

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

##### std::optional< CameraSensorConfig > calibrationResolution

Kind: variable

##### 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::ChipTemperatureRVC4

Kind: struct

Chip temperature information. Multiple temperature measurement points and their average

##### float cpuss

Kind: variable

CPU Subsystem

##### float gpuss

Kind: variable

GPU Subsystem

##### float mdmss

Kind: variable

Modem Subsystem

##### float video

Kind: variable

Video

##### float ddr

Kind: variable

DDR Memory

##### float camera

Kind: variable

Camera

##### float average

Kind: variable

Average of measurements

#### dai::Color

Kind: struct

Color structure r,g,b,a color values with values in range [0.0, 1.0]

##### float r

Kind: variable

##### float g

Kind: variable

##### float b

Kind: variable

##### float a

Kind: variable

##### Color()

Kind: function

##### Color(float r, float g, float b, float a)

Kind: function

parameters: r: Red value; g: Green value; b: Blue value; a: Alpha value parameters: std::invalid_argument: if r,g,b,a values are
not in range [0.0, 1.0]

#### 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.

##### std::string subtype

Kind: variable

##### float confidenceThreshold

Kind: variable

##### YoloDecodingFamily decodingFamily

Kind: variable

YOLO specific network properties.

##### bool decodeKeypoints

Kind: variable

##### bool decodeSegmentation

Kind: variable

##### int classes

Kind: variable

##### std::optional< std::vector< std::string > > classNames

Kind: variable

##### int coordinates

Kind: variable

##### std::optional< int > nKeypoints

Kind: variable

##### std::vector< int > strides

Kind: variable

##### std::vector< float > anchors

Kind: variable

##### std::map< std::string, std::vector< int > > anchorMasks

Kind: variable

##### std::vector< std::string > outputNamesToUse

Kind: variable

##### std::vector< std::vector< std::vector< float > > > anchorsV2

Kind: variable

see YoloDetectionNetwork::setAnchors() for format

##### float iouThreshold

Kind: variable

##### std::vector< dai::Edge > keypointEdges

Kind: variable

##### std::vector< std::string > keypointLabelNames

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

##### ImuCalibrationParams imuCalibrationParams

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

The destination camera socket for which these extrinsics are defined.

##### LengthUnit lengthUnit

Kind: variable

The distance unit for the translation vector.

##### Extrinsics()

Kind: function

##### Extrinsics(std::vector< std::vector< float >> rotationMatrix, Point3f translation, CameraBoardSocket toCameraSocket,
LengthUnit lengthUnit)

Kind: function

##### Extrinsics(const std::vector< std::vector< float >> & extrinsicsMatrix, CameraBoardSocket toCameraSocket, LengthUnit
lengthUnit)

Kind: function

##### Extrinsics(std::array< std::array< float, 4 >, 4 > & extrinsicsMatrix, CameraBoardSocket toCameraSocket, LengthUnit
lengthUnit)

Kind: function

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

Kind: function

Get the extrinsic rotation matrix in array format. return: 3x3 rotation matrix as a 2D array

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

Kind: function

Get the inverse extrinsic rotation matrix in array format. return: 3x3 inverse rotation matrix as a 2D array

##### std::array< std::array< float, 4 >, 4 > getTransformationMatrix(bool useSpecTranslation, LengthUnit unit)

Kind: function

Get the Camera Extrinsics object to the toCameraSocket. parameters: useSpecTranslation: Set to true to force using spec
translation; unit: Units of the returned translation vector return: 4x4 homogeneous transformation matrix note: The full
transformation matrix can only be obtained if both the rotation matrix and the translation vector are set.

##### std::array< std::array< float, 4 >, 4 > getInverseTransformationMatrix(bool useSpecTranslation, LengthUnit unit)

Kind: function

Get the inverse of the extrinsic transformation matrix which is equal to the transformation from the toCameraSocket to the current
camera socket. parameters: useSpecTranslation: Set to true to force using spec translation; unit: Units of the returned
translation vector return: a transformationMatrix which is 4x4 in homogeneous coordinate system

##### void setTransformationMatrix(const std::vector< std::vector< float >> & matrix, LengthUnit unit)

Kind: function

Set the extrinsic transformation matrix. parameters: matrix: 4x4 homogeneous transformation matrix; unit: Units of the translation
components Tx, Ty, and Tz

##### void setTransformationMatrix(const std::array< std::array< float, 4 >, 4 > & matrix, LengthUnit unit)

Kind: function

Set the extrinsic transformation matrix. parameters: matrix: 4x4 homogeneous transformation matrix; unit: Units of the translation
components Tx, Ty, and Tz

##### void setTranslationVector(const dai::Point3f & translationVector, LengthUnit unit, bool useSpecTranslation)

Kind: function

Set the translation vector parameters: translationVector: The translation vector to set; unit: Units of the provided translation
vector; useSpecTranslation: Set to true to force setting spec translation

##### std::vector< float > getTranslationVector(bool useSpecTranslation, LengthUnit unit)

Kind: function

Get the translation vector parameters: unit: Units of the returned translation vector return: translation vector in specified
units

##### bool isEqualExtrinsics(const Extrinsics & other, float epsilon)

Kind: function

Two Extrinsics objects are equal if their rotation matrices and translation vectors are equal (within a small epsilon).
parameters: other: The other Extrinsics object to compare with; epsilon: The tolerance for comparing floating-point values return:
true if the Extrinsics objects are equal, false otherwise

##### std::array< std::array< float, 4 >, 4 > getExtrinsicsTransformationTo(const Extrinsics & to, bool useSpecTranslation,
LengthUnit sourceUnit)

Kind: function

Get the extrinsic transformation matrix from this Extrinsics to the target Extrinsics . parameters: to: The target Extrinsics to
get the transformation matrix to; useSpecTranslation: Set to true to force using spec translation; sourceUnit: Units of the
translation vector in the source Extrinsics (this). Only relevant if useSpecTranslation is false. return: a transformationMatrix
which is 4x4 in homogeneous coordinate system

##### DEPTHAI_SERIALIZE_OPTIONAL(Extrinsics, rotationMatrix, translation, specTranslation, toCameraSocket, lengthUnit)

Kind: function

#### dai::ImgTransformation

Kind: struct

ImgTransformation struct. Holds information of how a ImgFrame or related message was transformed from their source. Useful for
remapping from one ImgFrame to another.

##### ImgTransformation()

Kind: function

##### ImgTransformation(size_t width, size_t height)

Kind: function

##### ImgTransformation(size_t srcWidth, size_t srcHeight, size_t width, size_t height)

Kind: function

##### ImgTransformation(size_t width, size_t height, std::array< std::array< float, 3 >, 3 > sourceIntrinsicMatrix)

Kind: function

##### ImgTransformation(size_t width, size_t height, std::array< std::array< float, 3 >, 3 > sourceIntrinsicMatrix, CameraModel
distortionModel, std::vector< float > distortionCoefficients)

Kind: function

##### ImgTransformation(size_t width, size_t height, std::array< std::array< float, 3 >, 3 > sourceIntrinsicMatrix, CameraModel
distortionModel, std::vector< float > distortionCoefficients, Extrinsics extrinsics)

Kind: function

##### dai::Point2f transformPoint(dai::Point2f point)

Kind: function

Transform a point from the source frame to the current frame. parameters: point: Point to transform return: Transformed point

##### dai::RotatedRect transformRect(dai::RotatedRect rect)

Kind: function

Transform a rotated rect from the source frame to the current frame. parameters: rect: Rectangle to transform return: Transformed
rectangle

##### dai::Point2f invTransformPoint(dai::Point2f point)

Kind: function

Transform a point from the current frame to the source frame. parameters: point: Point to transform return: Transformed point

##### dai::RotatedRect invTransformRect(dai::RotatedRect rect)

Kind: function

Transform a rotated rect from the current frame to the source frame. parameters: rect: Rectangle to transform return: Transformed
rectangle

##### std::pair< size_t, size_t > getSize()

Kind: function

Retrieve the size of the frame. Should be equal to the size of the corresponding ImgFrame message. return: Size of the frame

##### std::pair< size_t, size_t > getSourceSize()

Kind: function

Retrieve the size of the source frame from which this frame was derived. return: Size of the frame

##### std::array< std::array< float, 3 >, 3 > getMatrix()

Kind: function

Retrieve the transformation matrix from the source frame to the current frame. return: Transformation matrix

##### std::array< std::array< float, 3 >, 3 > getMatrixInv()

Kind: function

Retrieve the inverse transformation matrix from the current frame to the source frame. return: Inverse transformation matrix

##### std::array< std::array< float, 3 >, 3 > getSourceIntrinsicMatrix()

Kind: function

Retrieve the intrinsic matrix of the source sensor. return: Intrinsic matrix

##### std::array< std::array< float, 3 >, 3 > getSourceIntrinsicMatrixInv()

Kind: function

Retrieve the inverse intrinsic matrix of the source sensor. return: Inverse intrinsic matrix

##### CameraModel getDistortionModel()

Kind: function

Retrieve the distortion model of the source sensor return: Distortion model

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

Kind: function

Retrieve the distortion coefficients of the source sensor return: vector of distortion coefficients

##### Extrinsics getExtrinsics()

Kind: function

Retrieve the extrinsics to the source sensor. return: Extrinsics

##### bool isEqualTransformation(const ImgTransformation & other)

Kind: function

Two transformations are equal if the transformation matrices, intrinsic matrices, distortion models, distortion coefficients,
extrinsics, and sizes are all equal. parameters: other: Transformation to compare with return: True if the transformations are
equal, false otherwise

##### std::array< std::array< float, 3 >, 3 > getTransformationMatrix()

Kind: function

##### std::array< std::array< float, 3 >, 3 > getTransformationMatrixInv()

Kind: function

##### std::array< std::array< float, 3 >, 3 > getIntrinsicMatrix()

Kind: function

Retrieve the total intrinsic matrix calculated from transform * intrinsic. return: total intrinsic matrix

##### std::array< std::array< float, 3 >, 3 > getIntrinsicMatrixInv()

Kind: function

Retrieve the inverse of the total intrinsic matrix. return: inverse total intrinsic matrix

##### float getDFov(bool source)

Kind: function

Retrieve the diagonal field of view of the image. parameters: source: If true, the source field of view will be returned.
Otherwise, the current field of view will be returned. return: Diagonal field of view in degrees

##### float getHFov(bool source)

Kind: function

Retrieve the horizontal field of view of the image. parameters: source: If true, the source field of view will be returned.
Otherwise, the current field of view will be returned. return: Horizontal field of view in degrees

##### float getVFov(bool source)

Kind: function

Retrieve the vertical field of view of the image. parameters: source: If true, the source field of view will be returned.
Otherwise, the current field of view will be returned. return: Vertical field of view in degrees

##### std::vector< dai::RotatedRect > getSrcCrops()

Kind: function

##### bool getSrcMaskPt(size_t x, size_t y)

Kind: function

Returns true if the point is inside the transformed region of interest (determined by crops used).

##### bool getDstMaskPt(size_t x, size_t y)

Kind: function

Returns true if the point is inside the image region (not in the background region).

##### ImgTransformation & addTransformation(std::array< std::array< float, 3 >, 3 > matrix)

Kind: function

Add a new transformation. parameters: matrix: Transformation matrix

##### ImgTransformation & addCrop(int x, int y, int width, int height)

Kind: function

Add a crop transformation. parameters: x: X coordinate of the top-left corner of the crop; y: Y coordinate of the top-left corner
of the crop; width: Width of the crop; height: Height of the crop

##### ImgTransformation & addPadding(int top, int bottom, int left, int right)

Kind: function

Add a pad transformation. Works like crop, but in reverse. parameters: top: Padding on the top; bottom: Padding on the bottom;
left: Padding on the left; right: Padding on the right

##### ImgTransformation & addFlipVertical()

Kind: function

Add a vertical flip transformation.

##### ImgTransformation & addFlipHorizontal()

Kind: function

Add a horizontal flip transformation.

##### ImgTransformation & addRotation(float angle, dai::Point2f rotationPoint)

Kind: function

Add a rotation transformation. parameters: angle: Angle in degrees; rotationPoint: Point around which to rotate

##### ImgTransformation & addScale(float scaleX, float scaleY)

Kind: function

Add a scale transformation. parameters: scaleX: Scale factor in the horizontal direction; scaleY: Scale factor in the vertical
direction

##### ImgTransformation & addSrcCrops(const std::vector< dai::RotatedRect > & crops)

Kind: function

##### ImgTransformation & setSize(size_t width, size_t height)

Kind: function

##### ImgTransformation & setSourceSize(size_t width, size_t height)

Kind: function

##### ImgTransformation & setExtrinsics(const Extrinsics & extrinsics)

Kind: function

##### ImgTransformation & setIntrinsicMatrix(std::array< std::array< float, 3 >, 3 > intrinsicMatrix)

Kind: function

##### ImgTransformation & setDistortionModel(CameraModel model)

Kind: function

##### ImgTransformation & setDistortionCoefficients(std::vector< float > coefficients)

Kind: function

##### dai::Point2f remapPointTo(const ImgTransformation & to, dai::Point2f point)

Kind: function

Remap a point from this transformation to another. If the intrinsics are different (e.g. different camera), the function will also
use the intrinsics to remap the point. parameters: to: Transformation to remap to; point: Point to remap note: This function
assumes both transformations have the same source (eg. same source camera socket). If they don't, remapping will be inaccurate.

##### dai::Point2f remapPointFrom(const ImgTransformation & from, dai::Point2f point)

Kind: function

Remap a point to this transformation from another. If the intrinsics are different (e.g. different camera), the function will also
use the intrinsics to remap the point. parameters: from: Transformation to remap from; point: Point to remap

##### dai::RotatedRect remapRectTo(const ImgTransformation & to, dai::RotatedRect rect)

Kind: function

Remap a rotated rect from this transformation to another. If the intrinsics are different (e.g. different camera), the function
will also use the intrinsics to remap the rect. parameters: to: Transformation to remap to; rect: RotatedRect to remap

##### dai::RotatedRect remapRectFrom(const ImgTransformation & from, dai::RotatedRect rect)

Kind: function

Remap a rotated rect to this transformation from another. If the intrinsics are different (e.g. different camera), the function
will also use the intrinsics to remap the rect. parameters: from: Transformation to remap from; rect: RotatedRect to remap

##### dai::Point2f project3DPoint(const dai::Point3f & point)

Kind: function

Project a 3D spatial point into 2D point in the current frame defined by this transformation. parameters: point: 3D point to
project return: Projected 2D point in the current frame note: This function assumes that the point is in the coordinate system of
the current frame.

##### dai::Point2f projectPointTo(const ImgTransformation & to, dai::Point2f & point, float depth)

Kind: function

Project a 2D point from the source frame defined by this transformation into a 2D point in the target frame defined by the to
transformation. This function will use the depth of the point to project it into 3D space and then reproject it back to 2D in the
target frame. parameters: to: Target transformation to project to; point2f: Source 2D point in the current frame; depth: (mm)
Depth of the point to project return: Projected 2D point in the target frame (to transformation)

##### dai::Point2f project3DPointTo(const ImgTransformation & to, const dai::Point3f & point)

Kind: function

Project a 3D spatial point from the source coordinate system (this transformation) into a 2D point in the target frame (to
transformation). parameters: to: Target transformation to project to; point3f: 3D point to project return: Projected 2D point in
the target frame (to transformation) note: This function assumes that the point3f is in the coordinate system of the current
frame.

##### dai::Point2f project3DPointFrom(const ImgTransformation & from, const dai::Point3f & point)

Kind: function

Project a 3D point from the source frame (from transformation) into a 2D point in the current frame (this transformation).
parameters: from: Transformation to project from; point3f: 3D point to project return: Projected 2D point in the current frame
note: This function assumes that the point3f is in the coordinate system of the source frame.

##### dai::Point3f remap3DPointTo(const ImgTransformation & to, const dai::Point3f & point)

Kind: function

Remap a 3D point from the source coordinate system of this transformation to the coordinate system of the target transformation
(to transformation). parameters: to: Target transformation to remap to; point: 3D point to remap return: Remapped 3D point in the
target coordinate system note: This function assumes that the point is in the coordinate system of the current frame.

##### dai::Point3f remap3DPointFrom(const ImgTransformation & from, const dai::Point3f & point)

Kind: function

Remap a 3D point to the coordinate system of this transformation from the source coordinate system of the from transformation.
parameters: from: Transformation to remap from; point: 3D point to remap return: Remapped 3D point in the current coordinate
system note: This function assumes that the point is in the coordinate system of the source frame.

##### std::array< std::array< float, 4 >, 4 > getExtrinsicsTransformationMatrixTo(const ImgTransformation & to, bool
useSpecTranslation, LengthUnit sourceUnit)

Kind: function

Get the extrinsic transformation matrix from the source coordinate system of this transformation to the target coordinate system
of the to transformation. parameters: to: Target transformation to get extrinsics to return: 4x4 homogeneous transformation matrix
representing the extrinsics from this transformation to the target transformation note: Both transformations must have a common
toCameraSocket. Otherwise extrinsics cannot be calculated.

##### std::array< std::array< float, 3 >, 3 > getRotationMatrixTo(const ImgTransformation & to)

Kind: function

Get the extrinsic rotation matrix from the source coordinate system of this transformation to the target coordinate system of the
to transformation. parameters: to: Transformation to get extrinsics to return: 3x3 rotation matrix representing the extrinsic
rotation from this transformation to the target transformation

##### std::array< float, 3 > getTranslationVectorTo(const ImgTransformation & to, bool useSpecTranslation, LengthUnit sourceUnit)

Kind: function

Get the extrinsic translation vector from the source coordinate system of this transformation to the target coordinate system of
the to transformation. parameters: to: Transformation to get extrinsics to return: 3x1 translation vector representing the
extrinsic translation from this transformation to the target transformation

##### bool isAlignedTo(const ImgTransformation & to)

Kind: function

Check if the transformations are aligned parameters: to: Transformation to compare with

##### bool isValid()

Kind: function

Check if the transformations are valid. The transformations are valid if the source frame size and the current frame size are set.

##### DEPTHAI_SERIALIZE(ImgTransformation, extrinsics, transformationMatrix, transformationMatrixInv, sourceIntrinsicMatrix,
sourceIntrinsicMatrixInv, distortionModel, distortionCoefficients, srcWidth, srcHeight, width, height, srcCrops)

Kind: function

#### dai::AccelAxisNoiseParams

Kind: struct

##### float noiseDensity

Kind: variable

##### float randomWalk

Kind: variable

##### float biasStability

Kind: variable

##### DEPTHAI_SERIALIZE(AccelAxisNoiseParams, noiseDensity, randomWalk, biasStability)

Kind: function

#### dai::GyroAxisNoiseParams

Kind: struct

##### float noiseDensity

Kind: variable

##### float randomWalk

Kind: variable

##### float biasStability

Kind: variable

##### DEPTHAI_SERIALIZE(GyroAxisNoiseParams, noiseDensity, randomWalk, biasStability)

Kind: function

#### dai::AccelerometerNoiseParams

Kind: struct

##### AccelAxisNoiseParams x

Kind: variable

##### AccelAxisNoiseParams y

Kind: variable

##### AccelAxisNoiseParams z

Kind: variable

##### DEPTHAI_SERIALIZE(AccelerometerNoiseParams, x, y, z)

Kind: function

#### dai::GyroscopeNoiseParams

Kind: struct

##### GyroAxisNoiseParams x

Kind: variable

##### GyroAxisNoiseParams y

Kind: variable

##### GyroAxisNoiseParams z

Kind: variable

##### DEPTHAI_SERIALIZE(GyroscopeNoiseParams, x, y, z)

Kind: function

#### dai::ImuNoiseParameters

Kind: struct

Allan-variance-derived IMU noise parameters.

##### std::string name

Kind: variable

##### AccelerometerNoiseParams accelerometer

Kind: variable

##### GyroscopeNoiseParams gyroscope

Kind: variable

##### DEPTHAI_SERIALIZE(ImuNoiseParameters, name, accelerometer, gyroscope)

Kind: function

#### dai::ImuCalibrationParams

Kind: struct

Complete IMU parameter payload: noise + per-sensor canonical affine calibration.

##### ImuNoiseParameters noise

Kind: variable

##### std::vector< std::vector< float > > accelerometer

Kind: variable

##### std::vector< std::vector< float > > gyroscope

Kind: variable

##### DEPTHAI_SERIALIZE(ImuCalibrationParams, noise, accelerometer, gyroscope)

Kind: function

#### dai::Keypoint

Kind: struct

##### Point3f imageCoordinates

Kind: variable

##### float confidence

Kind: variable

##### uint32_t label

Kind: variable

##### std::string labelName

Kind: variable

##### Keypoint()

Kind: function

##### Keypoint(Point3f imageCoordinates, float conf, uint32_t label, std::string labelName)

Kind: function

##### Keypoint(Point2f imageCoordinates, float confidence, uint32_t label, std::string labelName)

Kind: function

##### Keypoint(float x, float y, float z, float confidence, uint32_t label, std::string labelName)

Kind: function

##### DEPTHAI_SERIALIZE(dai::Keypoint, imageCoordinates, confidence, label, labelName)

Kind: function

#### dai::KeypointsList

Kind: struct

##### KeypointsListT < Keypoint > Base

Kind: enum

##### void setKeypoints(const std::vector< Point3f > & kps3)

Kind: function

Sets the keypoints list. parameters: keypoints: list of Point3f objects to set. note: This will clear any existing keypoints and
edges.

##### void setKeypoints(const std::vector< Point2f > & kps2)

Kind: function

Sets the keypoints list. parameters: keypoints: list of Point2f objects to set. note: This will clear any existing keypoints and
edges.

##### DEPTHAI_SERIALIZE(KeypointsList, keypoints, edges)

Kind: function

#### dai::KeypointsListT

Kind: struct

##### KeypointT value_type

Kind: enum

##### typename std::vector< KeypointT >::iterator iterator

Kind: enum

##### typename std::vector< KeypointT >::const_iterator const_iterator

Kind: enum

##### KeypointsListT()

Kind: function

##### KeypointsListT(std::vector< KeypointT > keypoints, std::vector< Edge > edges)

Kind: function

##### KeypointsListT(std::vector< KeypointT > keypoints)

Kind: function

##### ~KeypointsListT()

Kind: function

##### iterator begin()

Kind: function

##### iterator end()

Kind: function

##### const_iterator begin()

Kind: function

##### const_iterator end()

Kind: function

##### const_iterator cbegin()

Kind: function

##### const_iterator cend()

Kind: function

##### bool empty()

Kind: function

##### size_t size()

Kind: function

##### value_type & operator[](size_t i)

Kind: function

##### const value_type & operator[](size_t i)

Kind: function

##### void setKeypoints(const std::vector< KeypointT > kps)

Kind: function

Sets the keypoints list. parameters: keypoints: list of Keypoint objects to set. note: This will clear any existing keypoints and
edges.

##### void setKeypoints(std::vector< KeypointT > keypoints, std::vector< Edge > edges)

Kind: function

Sets the keypoints list. parameters: keypoints: list of Keypoint objects and edges to set. note: This will clear any existing
keypoints and edges.

##### void setEdges(std::vector< Edge > edges)

Kind: function

Set the indices of the edges. parameters: edges: Vector of edge indices.

##### std::vector< KeypointT > getKeypoints()

Kind: function

Get keypoints. return: Vector of Keypoint objects.

##### std::vector< Edge > getEdges()

Kind: function

Get the indices of the edges. return: Vector of edge indices.

##### std::vector< Point3f > getPoints3f()

Kind: function

Get only image coordinates of the keypoints. return: Vector of Point3f coordinates.

##### std::vector< Point2f > getPoints2f()

Kind: function

Get only image 2D coordinates of the keypoints and drop the z axis values. return: Vector of Point2f coordinates.

#### 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

##### bool normalized

Kind: variable

##### bool hasNormalized

Kind: variable

##### Point2f()

Kind: function

##### Point2f(float x, float y)

Kind: function

##### Point2f(float x, float y, bool normalized)

Kind: function

##### bool isNormalized()

Kind: function

#### dai::Point3d

Kind: struct

Point3d structure x,y,z coordinates that define a 3D point.

##### double x

Kind: variable

##### double y

Kind: variable

##### double z

Kind: variable

##### Point3d()

Kind: function

##### Point3d(double x, double y, double z)

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::Point3fRGBA

Kind: struct

Point3fRGBA structure x,y,z coordinates and RGB color values that define a 3D point with color and alpha.

##### float x

Kind: variable

##### float y

Kind: variable

##### float z

Kind: variable

##### uint8_t r

Kind: variable

##### uint8_t g

Kind: variable

##### uint8_t b

Kind: variable

##### uint8_t a

Kind: variable

##### Point3fRGBA()

Kind: function

##### Point3fRGBA(float x, float y, float z, uint8_t r, uint8_t g, uint8_t b, uint8_t a)

Kind: function

#### dai::Quaterniond

Kind: struct

Quaterniond structure qx,qy,qz,qw coordinates that define a 3D point orientation.

##### double qx

Kind: variable

##### double qy

Kind: variable

##### double qz

Kind: variable

##### double qw

Kind: variable

##### Quaterniond()

Kind: function

##### Quaterniond(double qx, double qy, double qz, double qw)

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

##### bool normalized

Kind: variable

##### bool hasNormalized

Kind: variable

##### Rect()

Kind: function

##### Rect(float x, float y, float width, float height)

Kind: function

Construct Rectangle from (x, y) coordinates of the top-left corner, width and height.

##### Rect(float x, float y, float width, float height, bool normalized)

Kind: function

Construct Rectangle from (x, y) coordinates of the top-left corner, width, height and normalization flag. parameters: x: Top-left
x coordinate; y: Top-left y coordinate; width: Width of the rectangle; height: Height of the rectangle; normalized: Whether the
rectangle is normalized (coordinates in [0,1] range) or not

##### Rect(const Rect & r)

Kind: function

Copy constructor

##### Rect(const Point2f & org, const Size2f & sz)

Kind: function

Construct Rectangle from top left point and size

##### Rect(const Point2f & org, const Size2f & sz, bool normalized)

Kind: function

Construct Rectangle from top left point, size and normalization flag. note: : if normalized is true, the coordinates are in [0,1]
range

##### Rect(const Point2f & pt1, const Point2f & pt2)

Kind: function

Construct Rectangle between any two given points. Constructor will determine top-left and bottom-right points. parameters: pt1:
First point; pt2: Second point

##### Rect(const Point2f & pt1, const Point2f & pt2, bool normalized)

Kind: function

Construct Rectangle between any two given points with normalization flag. Constructor will determine top-left and bottom-right
points. parameters: pt1: First point; pt2: Second point; normalized: Whether the rectangle is normalized (coordinates in [0,1]
range) or not

##### 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

##### RotatedRect()

Kind: function

##### RotatedRect(const Point2f & center, const Size2f & size, float angle)

Kind: function

A rotated rectangle is specified by the center point, size, and rotation angle in degrees.

##### RotatedRect(const Rect & rect, float angle)

Kind: function

Construct RotatedRect from provided dai::Rect rect and angle parameters: rect: dai::Rect rectangle; angle: Rotation angle in
degrees

##### operator Rect()

Kind: function

##### bool isNormalized()

Kind: function

##### RotatedRect normalize(unsigned int width, unsigned int height)

Kind: function

Normalize the rotated rectangle. The normalized rectangle will have center and size coordinates in range [0,1] return: Normalized
rotated rectangle

##### RotatedRect denormalize(unsigned int width, unsigned int height, bool force)

Kind: function

Denormalize the rotated rectangle. The denormalized rectangle will have center and size coordinates in range [0, width] and [0,
height] return: Denormalized rotated rectangle

##### std::array< dai::Point2f , 4 > getPoints()

Kind: function

Get the 4 corner points of the rotated rectangle return: 4 corner points

##### std::array< float, 4 > getOuterRect()

Kind: function

Returns the outer non-rotated rectangle return: [minx, miny, maxx, maxy]

##### std::tuple< dai::Point2f , dai::Size2f > getOuterXYWH()

Kind: function

Returns the outer non-rotated rectangle in the COCO (xmin, ymin, width, height) format. return: (top-left point, size)

##### std::tuple< dai::Point2f , dai::Size2f > getOuterCXCYWH()

Kind: function

Returns the outer non-rotated rectangle in the YOLO (xcenter, ycenter, width, height) format. return: (center point, size)

#### dai::Size2f

Kind: struct

Size2f structure width, height values define the size of the shape/frame

##### float width

Kind: variable

##### float height

Kind: variable

##### bool normalized

Kind: variable

##### bool hasNormalized

Kind: variable

##### Size2f()

Kind: function

##### Size2f(float width, float height)

Kind: function

##### Size2f(float width, float height, bool normalized)

Kind: function

##### bool isNormalized()

Kind: function

#### dai::SpatialKeypoint

Kind: struct

##### Point3f imageCoordinates

Kind: variable

##### float confidence

Kind: variable

##### uint32_t label

Kind: variable

##### std::string labelName

Kind: variable

##### Point3f spatialCoordinates

Kind: variable

##### SpatialKeypoint()

Kind: function

##### SpatialKeypoint(Point3f imageCoordinates, Point3f spatialCoordinates, float conf, uint32_t label, std::string labelName)

Kind: function

##### SpatialKeypoint(Point2f imageCoordinates, Point3f spatialCoordinates, float conf, uint32_t label, std::string labelName)

Kind: function

##### SpatialKeypoint(float x, float y, float z, float sx, float sy, float sz, float conf, uint32_t label, std::string labelName)

Kind: function

##### DEPTHAI_SERIALIZE(dai::SpatialKeypoint, imageCoordinates, confidence, label, labelName, spatialCoordinates)

Kind: function

#### dai::SpatialKeypointsList

Kind: struct

##### KeypointsListT < SpatialKeypoint > Base

Kind: enum

##### void setKeypoints(const std::vector< Point3f > & kps3)

Kind: function

Sets the keypoints list. parameters: keypoints: list of Point3f objects to set. note: This will clear any existing keypoints and
edges.

##### void setSpatialCoordinates(const std::vector< Point3f > & spatialCoordinates)

Kind: function

Sets the keypoints from a vector of 3D spatial points. parameters: spatialCoordinates: vector of Point3f objects to set as spatial
coordinates. note: The size of spatialCoordinates must match the number of keypoints.

##### std::vector< Point3f > getSpatialCoordinates()

Kind: function

Get spatial coordinates of the keypoints. return: Vector of Point3f spatial coordinates.

##### DEPTHAI_SERIALIZE(SpatialKeypointsList, keypoints, edges)

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

###### FP64

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

##### bool quantization

Kind: variable

##### float qpScale

Kind: variable

##### float qpZp

Kind: variable

##### void validateStorageOrder()

Kind: function

##### int getDataTypeSize()

Kind: function

##### int getWidth()

Kind: function

##### int getHeight()

Kind: function

##### std::size_t getTensorSize()

Kind: function

##### int getChannels()

Kind: function

##### size_t getChannelStride()

Kind: function

##### size_t getWidthStride()

Kind: function

##### size_t getHeightStride()

Kind: function

#### 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::BoardConfig

Kind: struct

##### dai::BoardConfig::Camera

Kind: struct

Camera description.

###### std::string name

Kind: variable

###### std::optional< CameraSensorType > sensorType

Kind: variable

###### std::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

###### ImgFrame::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)

##### std::optional< uint32_t > watchdogTimeoutMs

Kind: variable

Watchdog config.

##### std::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.

##### std::optional< bool > pcieInternalClock

Kind: variable

PCIe config.

##### std::optional< bool > usb3PhyInternalClock

Kind: variable

USB3 phy config.

##### std::optional< bool > mipi4LaneRgb

Kind: variable

MIPI 4Lane RGB config.

##### std::optional< bool > emmc

Kind: variable

eMMC config

##### std::optional< std::string > logPath

Kind: variable

log path

##### std::optional< size_t > logSizeMax

Kind: variable

Max log size.

##### std::optional< LogLevel > logVerbosity

Kind: variable

log verbosity

##### std::optional< bool > logDevicePrints

Kind: variable

log device prints

##### bool nonExclusiveMode

Kind: variable

##### std::unordered_map< CameraBoardSocket, Camera > camera

Kind: variable

##### std::optional< IMU > imu

Kind: variable

##### std::optional< UVC > uvc

Kind: variable

##### std::unordered_map< std::string, Extrinsics > defaultImuExtr

Kind: variable

#### 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(std::filesystem::path eepromDataPath, std::optional< bool > validateCalibration)

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.; validateCalibration: Enable
internal check for extrinsics cycling links or dangling references.

##### CalibrationHandler(std::filesystem::path calibrationDataPath, std::filesystem::path boardConfigPath, std::optional< bool >
validateCalibration)

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.; validateCalibration: Enable
internal check for extrinsics cycling links or dangling references.

##### CalibrationHandler(EepromData eepromData, std::optional< bool > validateCalibration)

Kind: function

Construct a new Calibration Handler object from EepromData object. parameters: eepromData: EepromData data structure containing
the calibration data.; validateCalibration: Enable internal check for extrinsics cycling links or dangling references.

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

Kind: function

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

##### bool hasCalibrationData()

Kind: function

Returns true when calibration payload is supported and contains camera calibration entries.

This check is not presence-only: it returns true only when

##### bool hasCameraCalibration(CameraBoardSocket cameraId)

Kind: function

Returns true when calibration is supported and contains data for a specific camera socket.

This is a presence-plus-version-compatibility check. It requires

##### 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.

##### uint32_t getSourceHeight(CameraBoardSocket cameraId)

Kind: function

Get the source height of the camera from the calibration data. parameters: cameraId: Uses the cameraId to identify which camera
source height to return return: the source height of the camera from the calibration data.

##### uint32_t getSourceWidth(CameraBoardSocket cameraId)

Kind: function

Get the source width of the camera from the calibration data. parameters: cameraId: Uses the cameraId to identify which camera
source width to return return: the source width of the camera from the calibration data.

##### 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,τx,τy] for
CameraModel::Perspective or [k1, k2, k3, k4] for CameraModel::Fisheye see Perspective model (Rational Polynomial Model) 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, LengthUnit unit)

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 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; unit: Units of the returned translation (default: centimeters) return: a transformationMatrix which is 4x4 in homogeneous
coordinate system

##### std::vector< std::vector< float > > getHousingCalibration(CameraBoardSocket srcCamera, const HousingCoordinateSystem
housingCS, bool useSpecTranslation, LengthUnit unit)

Kind: function

Get the transformation matrix between a camera and a chosen housing coordinate system. The returned 4x4 homogeneous transformation
matrix maps points from the camera's coordinate system into the specified housing coordinate system. The transformation consists
of a rotation matrix and translation vector extracted either from the calibration data or from the board design (specification)
data, depending on the parameters: srcCamera: Camera whose coordinate frame will be treated as the origin.; housingCS: The housing
coordinate system to which the camera transformation is requested (e.g. VESA_RIGHT, FRONT_COVER_LEFT, etc.).; useSpecTranslation:
If true, uses board-design (spec) translation values. If false, uses calibrated translation values.; unit: Units of the returned
translation (default: centimeters) return: A 4x4 homogeneous transformation matrix.

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

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); unit: Units of the returned translation (default: centimeters) return: a translation vector like [x, y, z]

##### std::vector< std::vector< float > > getCameraRotationMatrix(CameraBoardSocket srcCamera, CameraBoardSocket dstCamera)

Kind: function

Get the Camera rotation matrix 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 rotation vector from
the SrcCamera return: a 3x3 rotation matrix Matrix representation of rotation matrix

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

Kind: function

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

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

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; unit: Units of the returned translation (default: centimeters)
return: Returns a transformationMatrix which is 4x4 in homogeneous coordinate system

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

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; unit: Units of the returned translation (default: centimeters)
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

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

Kind: function

Get canonical accelerometer calibration matrix [Q|b]. The linear transform Q is dimensionless. The bias column b is stored in SI
units of [m/s^2]. return: returns 3x4 matrix in the form [[q00, q01, q02, b0], [q10, q11, q12, b1], [q20, q21, q22, b2]]

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

Kind: function

Get canonical gyroscope calibration matrix [Q|b]. The linear transform Q is dimensionless. The bias column b is stored in SI units
of [rad/s]. return: returns 3x4 matrix in the form [[q00, q01, q02, b0], [q10, q11, q12, b1], [q20, q21, q22, b2]]

##### dai::ImuNoiseParameters getImuNoiseParameters()

Kind: function

Get complete IMU noise parameters. Accelerometer noise terms are stored in [m/s^2]-based units. Gyroscope noise terms are stored
in [rad/s]-based units. return: returns IMU noise parameters

##### dai::ImuCalibrationParams getImuParameters()

Kind: function

Get full IMU parameter payload. Accelerometer calibration bias terms are stored in [m/s^2]. Gyroscope calibration bias terms are
stored in [rad/s]. return: returns IMU parameters containing noise + calibration matrices

##### bool eepromToJsonFile(std::filesystem::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.

##### void setAccelerometerCalibration(const std::vector< std::vector< float >> & calibration)

Kind: function

Set canonical accelerometer calibration [Q|b]. parameters: calibration: 3x4 matrix in the form [[q00, q01, q02, b0], [q10, q11,
q12, b1], [q20, q21, q22, b2]]

##### void setGyroscopeCalibration(const std::vector< std::vector< float >> & calibration)

Kind: function

Set canonical gyroscope calibration [Q|b]. parameters: calibration: 3x4 matrix in the form [[q00, q01, q02, b0], [q10, q11, q12,
b1], [q20, q21, q22, b2]]

##### void setImuParameters(const ImuCalibrationParams & params)

Kind: function

Set full IMU parameter payload. parameters: params: noise + accelerometer + gyroscope calibration parameters

##### void validateCalibrationHandler(bool throwOnError)

Kind: function

Validate Calibration handler properties and how they are set, so there is no: Cycling links; Missing links; Dangling connections
parameters: throwOnError: Throw runtime error on failture.

##### dai::CameraBoardSocket getCameraWithLowestId()

Kind: function

Get the lowest camera socket return: the lowest camera socket

#### dai::CallbackHandler

Kind: class

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

Kind: function

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

Kind: function

##### ~CallbackHandler()

Kind: function

#### dai::CrashDump

Kind: class

Base class for platform-specific crash dumps.

Crash dumps are serialized as tar files with the following structure: crash_dump.tar.gz metadata.json (basic crash information -
depthai specific); extra.json (user-defined extra crashdump information); platform specific files...

##### std::string depthaiVersion

Kind: variable

##### std::string depthaiVersionMajor

Kind: variable

##### std::string depthaiVersionMinor

Kind: variable

##### std::string depthaiVersionPatch

Kind: variable

##### std::string depthaiVersionPreReleaseType

Kind: variable

##### std::string depthaiVersionPreReleaseVersion

Kind: variable

##### std::string depthaiVersionBuildInfo

Kind: variable

##### std::string depthaiCommitHash

Kind: variable

##### std::string depthaiCommitDatetime

Kind: variable

##### std::string depthaiBuildDatetime

Kind: variable

##### std::string depthaiDeviceVersion

Kind: variable

##### std::string depthaiBootloaderVersion

Kind: variable

##### std::string depthaiDeviceRVC3Version

Kind: variable

##### std::string depthaiDeviceRVC4Version

Kind: variable

##### std::string osPlatform

Kind: variable

##### std::string crashdumpTimestamp

Kind: variable

##### std::string deviceId

Kind: variable

##### nlohmann::json extra

Kind: variable

##### ~CrashDump()

Kind: function

##### Platform getPlatform()

Kind: function

Identify the platform that this crashdump corresponds to.

return: Platform enum value

##### std::string getCrashDumpVersion()

Kind: function

Get the version of the crash dump format.

return: Version string

##### nlohmann::json & operator[](const std::string & key)

Kind: function

Mutable access to extra data by key.

parameters: key: The key to access return: Reference to the JSON value

##### const nlohmann::json & operator[](const std::string & key)

Kind: function

Constant access to extra data by key, throws if key doesn't exist.

parameters: key: The key to access return: Const reference to the JSON value

##### void toTar(const std::filesystem::path & tarPath)

Kind: function

Serialize the crash dump to a tar file.

parameters: tarPath: Path to the output tar file

##### void fromTar(const std::filesystem::path & tarPath)

Kind: function

Deserialize the crash dump from a tar file.

parameters: tarPath: Path to the input tar file

##### std::vector< uint8_t > toBytes()

Kind: function

Serialize the crash dump to a byte array (bytes in filesystem after calling toTar)

return: Byte array

#### dai::CrashDumpRVC2

Kind: class

##### dai::CrashDumpRVC2::CrashReport

Kind: struct

###### dai::CrashDumpRVC2::CrashReport::ErrorSourceInfo

Kind: struct

###### dai::CrashDumpRVC2::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::CrashDumpRVC2::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::CrashDumpRVC2::CrashReport::ThreadCallstack

Kind: struct

###### dai::CrashDumpRVC2::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

Device print/log lines captured around the crash.

###### uint64_t uptimeNs

Kind: variable

Device uptime in nanoseconds at crash-report capture time.

###### uint64_t timerRaw

Kind: variable

Raw device timer value captured in the crash report.

###### uint64_t statusFlags

Kind: variable

Platform-specific crash/status flags captured with the report.

###### DEPTHAI_SERIALIZE(CrashReport, processor, errorSource, crashedThreadId, errorSourceInfo, threadCallstack, prints, uptimeNs,
timerRaw, statusFlags)

Kind: function

##### dai::CrashDumpRVC2::CrashReportCollection

Kind: struct

###### std::vector< CrashReport > crashReports

Kind: variable

###### std::string depthaiCommitHash

Kind: variable

###### std::string deviceId

Kind: variable

###### DEPTHAI_SERIALIZE(CrashReportCollection, crashReports, depthaiCommitHash, deviceId)

Kind: function

##### CrashReportCollection crashReports

Kind: variable

##### CrashDumpRVC2()

Kind: function

##### CrashDumpRVC2(const std::filesystem::path & tarFile)

Kind: function

Construct crashdump from a tar file.

parameters: tarFile: Path to the tar file

##### Platform getPlatform()

Kind: function

Identify the platform that this crashdump corresponds to.

return: Platform enum value

##### std::string getCrashDumpVersion()

Kind: function

Get the version of the crash dump format.

return: Version string

##### void toTar(const std::filesystem::path & tarPath)

Kind: function

Serialize the crash dump to a tar file.

parameters: tarPath: Path to the output tar file

##### void fromTar(const std::filesystem::path & tarPath)

Kind: function

Deserialize the crash dump from a tar file.

parameters: tarPath: Path to the input tar file

#### dai::CrashDumpRVC4

Kind: class

##### std::vector< uint8_t > data

Kind: variable

##### std::string filename

Kind: variable

##### CrashDumpRVC4()

Kind: function

##### CrashDumpRVC4(const std::filesystem::path & tarFile)

Kind: function

Construct from a tar file.

parameters: tarFile: Path to the tar file

##### Platform getPlatform()

Kind: function

Identify the platform that this crashdump corresponds to.

return: Platform enum value

##### std::string getCrashDumpVersion()

Kind: function

Get the version of the crash dump format.

return: Version string

##### void toTar(const std::filesystem::path & tarPath)

Kind: function

Serialize the crash dump to a tar file.

parameters: tarPath: Path to the output tar file

##### void fromTar(const std::filesystem::path & tarPath)

Kind: function

Deserialize the crash dump from a tar file.

parameters: tarPath: Path to the input tar file

#### 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

##### ReconnectionStatus

Kind: enum

##### 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

##### DeviceBase()

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. Uses OpenVINO version OpenVINO::VERSION_UNIVERSAL

##### DeviceBase(UsbSpeed maxUsbSpeed)

Kind: function

Connects to device parameters: maxUsbSpeed: Maximum allowed USB speed

##### DeviceBase(const DeviceInfo & devInfo, UsbSpeed maxUsbSpeed)

Kind: function

Connects to device specified by devInfo. parameters: devInfo: DeviceInfo which specifies which device to connect to; maxUsbSpeed:
Maximum allowed USB speed

##### DeviceBase(const DeviceInfo & devInfo, const std::filesystem::path & pathToCmd)

Kind: function

Connects to device specified by devInfo. parameters: 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(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, 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 std::filesystem::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, 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 std::filesystem::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

###### std::optional< LogLevel > outputLogLevel

Kind: variable

###### std::optional< LogLevel > logLevel

Kind: variable

##### ReconnectionStatus

Kind: enum

###### RECONNECTED

Kind: enum_value

###### RECONNECTING

Kind: enum_value

###### RECONNECT_FAILED

Kind: enum_value

##### DeviceBase()

Kind: function

Connects to any available device with a DEFAULT_SEARCH_TIME timeout. Uses OpenVINO version OpenVINO::VERSION_UNIVERSAL

##### DeviceBase(UsbSpeed maxUsbSpeed)

Kind: function

Connects to device parameters: maxUsbSpeed: Maximum allowed USB speed

##### DeviceBase(const DeviceInfo & devInfo, UsbSpeed maxUsbSpeed)

Kind: function

Connects to device specified by devInfo. parameters: devInfo: DeviceInfo which specifies which device to connect to; maxUsbSpeed:
Maximum allowed USB speed

##### DeviceBase(const DeviceInfo & devInfo, const std::filesystem::path & pathToCmd)

Kind: function

Connects to device specified by devInfo. parameters: 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(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, 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 std::filesystem::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, 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 std::filesystem::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()

##### Platform getPlatform()

Kind: function

Get the platform of the connected device.

return: Platform Platform enum

##### std::string getPlatformAsString()

Kind: function

Get the platform of the connected device as string.

return: std::string String representation of Platform

##### std::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(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

##### void setNodeLogLevel(int64_t id, LogLevel level)

Kind: function

Sets the logging severity level for a specific node with a given ID. parameters: id: Node ID; level: Logging severity

##### LogLevel getLogLevel()

Kind: function

Gets current logging severity level of the device. return: Logging severity level

##### LogLevel getNodeLogLevel(int64_t id)

Kind: function

Gets the logging severity level for a specific node with a given ID. parameters: id: Node ID return: Logging severity level

##### void setProperties(const DeviceProperties & properties)

Kind: function

Sets properties for the device. parameters: properties: DeviceProperties struct with properties to set. Only properties which are
supported by the device and have different values than current ones will be applied. Some properties are only applied before
starting the pipeline.

##### DeviceProperties getProperties()

Kind: function

Gets current properties set on the device. Some properties might be not supported by the device, in that case they will have
default values. return: DeviceProperties struct with current device properties

##### void setCameraTuningBlob(const std::string & uri, uint32_t size)

Kind: function

Sets the camera tuning blob for the device. parameters: uri: URI of the tuning blob retrieved using the asset manager; size: size
of the tuning blob in bytes

##### void setCameraSocketTuningBlobs(const std::unordered_map< CameraBoardSocket, std::pair< std::string, uint32_t >> & blobs)

Kind: function

Sets the camera socket specific tuning blobs for the device. parameters: blobs: Unordered map of CameraBoardSocket to pair of URI
and size of the tuning blob in bytes. The URI should be retrieved using the asset manager

##### void setCameraSocketTuningBlob(CameraBoardSocket socket, const std::string & uri, uint32_t size)

Kind: function

Sets the camera socket specific tuning blob for the device. parameters: socket: CameraBoardSocket for which the tuning blob will
be set; uri: URI of the tuning blob retrieved using the asset manager; size: size of the tuning blob in bytes

##### 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 setSippBufferSize(int sizeBytes)

Kind: function

Sets the size of the SIPP buffer on the device. parameters: sizeBytes: SIPP buffer size in bytes. Device default is 18 * 1024
bytes

##### void setSippDmaBufferSize(int sizeBytes)

Kind: function

Sets the size of the SIPP DMA buffer on the device. parameters: sizeBytes: SIPP DMA buffer size in bytes. Device default is 16 *
1024 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

##### std::string getDeviceId()

Kind: function

Get DeviceId of device return: DeviceId 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 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

##### std::unique_ptr< 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. Supported only on RVC2.

##### std::unique_ptr< CrashDump > getCrashDump(bool clearCrashDump)

Kind: function

Retrieves crash dump for debugging. parameters: clearCrashDump: Clear the cached crash dump on device after collection return:
Unique pointer to the CrashDump . Platform-specific crash dump payload may be empty if no crash dump is available.

##### 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, float > 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

##### int64_t getProcessMemoryUsage()

Kind: function

Retrieves current Rss memory usage of the device process return: Current Rss memory used

##### bool isEepromAvailable()

Kind: function

Check if EEPROM is available return: True if EEPROM is present on board, false otherwise

##### bool isCalibrationAvailable()

Kind: function

Check if Calibration is available on the device return: True if calibration is present on device, false otherwise

##### bool tryFlashCalibration(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 flashCalibration(CalibrationHandler calibrationDataHandler)

Kind: function

Stores the Calibration and Device information to the Device EEPROM parameters: std::runtime_error: 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_error: if
failed to set the calibration parameters: calibrationObj: CalibrationHandler object which is loaded with calibration information.

##### void setCalibration(const std::optional< EepromData > & eepromData)

Kind: function

Sets the Calibration at runtime using EepromData . This is not persistent and will be lost after device reset. parameters:
std::runtime_error: if failed to set the calibration parameters: eepromData: EepromData struct which contains the calibration
information.

##### std::shared_ptr< CalibrationHandler > tryGetCalibration()

Kind: function

Retrieves the CalibrationHandler shared pointer; If can not get calibration returns nullptr return: The CalibrationHandler object
containing the non-persistent calibration

##### CalibrationHandler getCalibration()

Kind: function

Retrieves the CalibrationHandler object containing the non-persistent calibration parameters: std::runtime_error: 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_error: 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_error: 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_error: 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_error: 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_error: 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_error: 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_error: 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_error: 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.

##### bool isNeuralDepthSupported()

Kind: function

Checks if Neural Depth is supported on the device return: True if supported, false otherwise

##### std::vector< DeviceModelZoo > getSupportedDeviceModels()

Kind: function

Returns the subset of device zoo models currently available on the device. return: Supported device zoo models

##### 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 registerCrashdumpCallback(std::function< void(std::shared_ptr< CrashDump >)> callback)

Kind: function

Register a callback that will be called when the device crashes. The callback receives a shared pointer to the CrashDump , which
can be modified before it is stored. Only one callback can be registered at a time. parameters: callback: Callback to call when a
crash dump is collected

##### void removeCrashdumpCallback()

Kind: function

Removes the registered crash dump callback

##### bool hasCrashed()

Kind: function

Check if the device has crashed return: True if the device has crashed (watchdog timeout detected), false otherwise

##### void crashDevice()

Kind: function

Crashes the device warning: ONLY FOR TESTING PURPOSES, it causes an unrecoverable crash on the device

##### void overrideCameraFeatures(const std::vector< CameraFeatures > & features, const std::string & imu)

Kind: function

Sets connected camera features. Used for holistic record and replay parameters: features: Vector of camera features to set; imu:
IMU type to set (if any)

##### std::shared_ptr< XLinkConnection > getConnection()

Kind: function

Returns underlying XLinkConnection

##### std::shared_ptr< const XLinkConnection > getConnection()

Kind: function

Returns underlying XLinkConnection

##### void setMaxReconnectionAttempts(int maxAttempts, std::function< void(ReconnectionStatus)> callBack)

Kind: function

Sets max number of automatic reconnection attempts parameters: maxAttempts: Maximum number of reconnection attempts, 0 to disable
reconnection; callBack: Callback to be called when reconnection is attempted

##### std::tuple< bool, std::string > setExternalFrameSyncRole(ExternalFrameSyncRole role)

Kind: function

Sets external frame sync role for the device parameters: role: External frame sync role to be set, AUTO_DETECT by default return:
Tuple of bool and string. Bool specifies if role was set without failures. String is the error message describing the failure
reason.

##### ExternalFrameSyncRole getExternalFrameSyncRole()

Kind: function

Gets external frame sync role for the device return: Gets external frame sync role

##### std::tuple< bool, std::string > setExternalStrobeRelativeLimits(float min, float max)

Kind: function

Sets the relative external strobe limits. Limits the strobe duty cycle, between 0 and 1, as a fraction of the whole period. 0
means always off, 1 means always on. The rising edge of the strobe signal is always synced to end of exposure. The falling edge of
the strobe signal is then limited according to the min and max values. Default values are 0.005 and 0.995 parameters: min: Minimum
strobe value; max: Maximum strobe value return: Tuple of bool and string. Bool specifies if role was set without failures. String
is the error message describing the failure reason.

##### void setExternalStrobeEnable(bool enable)

Kind: function

Set whether the external strobe should be enabled. External strobe signal is low for the duration of exposure, and high for the
rest of the frame. parameters: enable: Enables or disables strobe

##### void mockCameraFeatures(const std::filesystem::path & replayPath)

Kind: function

Mock camera features from a recording. Used for holistic record and replay.

#### 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 fs::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 fs::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 fs::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 fs::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 fs::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

##### 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::DeviceGate

Kind: class

Represents the DepthAI Gate with the methods to interact with it.

##### dai::DeviceGate::CrashDump

Kind: struct

###### std::vector< uint8_t > data

Kind: variable

###### std::string filename

Kind: variable

##### dai::DeviceGate::VersionInfo

Kind: struct

###### std::string gate

Kind: variable

###### std::string os

Kind: variable

##### SessionState

Kind: enum

###### NOT_CREATED

Kind: enum_value

###### CREATED

Kind: enum_value

###### RUNNING

Kind: enum_value

###### STOPPED

Kind: enum_value

###### STOPPING

Kind: enum_value

###### CRASHED

Kind: enum_value

###### DESTROYED

Kind: enum_value

###### ERROR_STATE

Kind: enum_value

##### DeviceGate(const DeviceInfo & deviceInfo)

Kind: function

Connects to DepthAI Gate parameters: deviceInfo: Device to connect to

##### ~DeviceGate()

Kind: function

##### bool isOkay()

Kind: function

##### bool createSession(bool exclusive)

Kind: function

##### bool startSession()

Kind: function

##### bool stopSession()

Kind: function

##### bool deleteSession()

Kind: function

##### bool destroySession()

Kind: function

##### SessionState getState()

Kind: function

##### void waitForSessionEnd()

Kind: function

##### std::optional< CrashDump > getCrashDump()

Kind: function

##### Version getVersion()

Kind: function

##### VersionInfo getAllVersion()

Kind: function

#### dai::EepromError

Kind: struct

#### dai::Version

Kind: struct

Version structure.

##### uint16_t PreReleaseType

Kind: enum

###### ALPHA

Kind: enum_value

###### BETA

Kind: enum_value

###### RC

Kind: enum_value

###### NONE

Kind: enum_value

##### Version(const std::string & v)

Kind: function

Construct Version from string.

##### Version(unsigned major, unsigned minor, unsigned patch, const PreReleaseType & type, const std::optional< uint16_t > &
preReleaseVersion, const std::string & buildInfo)

Kind: function

Construct Version major, minor, patch, and pre-release information.

##### Version(unsigned major, unsigned minor, unsigned patch, const std::string & buildInfo)

Kind: function

##### 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.

#### 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::SlugComponents

Kind: struct

##### std::string teamName

Kind: variable

##### std::string modelSlug

Kind: variable

##### std::string modelVariantSlug

Kind: variable

##### std::string modelRef

Kind: variable

##### std::string merge()

Kind: function

#### dai::NNModelDescription

Kind: struct

##### std::string model

Kind: variable

Model slug = REQUIRED parameter

##### std::string platform

Kind: variable

Hardware platform - RVC2, RVC3, RVC4, ... = REQUIRED parameter

##### std::string optimizationLevel

Kind: variable

Optimization level = OPTIONAL parameter

##### std::string compressionLevel

Kind: variable

Compression level = OPTIONAL parameter

##### std::string snpeVersion

Kind: variable

SNPE version = OPTIONAL parameter

##### std::string modelPrecisionType

Kind: variable

modelPrecisionType = OPTIONAL parameter

##### std::string globalMetadataEntryName

Kind: variable

Name of the entry in the global metadata file

##### void saveToYamlFile(const fs::path & yamlPath)

Kind: function

Save NNModelDescription to yaml file.

parameters: yamlPath: Path to yaml file

##### bool check()

Kind: function

Check if the model description is valid (contains all required fields)

return: bool: True if the model description is valid, false otherwise

##### std::string toString()

Kind: function

Convert NNModelDescription to string for printing purposes. This can be used for debugging.

return: std::string: String representation

#### dai::NNArchiveOptions

Kind: struct

##### DEPTAHI_ARG_DEFAULT(NNArchiveEntry::Compression, compression, NNArchiveEntry::Compression::AUTO)

Kind: function

#### dai::NNArchive

Kind: class

##### NNArchive(const std::filesystem::path & archivePath, NNArchiveOptions options)

Kind: function

Construct a new NNArchive object - a container holding a model and its configuration.

parameters: archivePath: Path to the archive file; options: Archive options such as compression, number of shaves, etc. See
NNArchiveOptions .

##### std::optional< OpenVINO::Blob > getBlob()

Kind: function

Return a SuperVINO::Blob from the archive if getModelType() returns BLOB, nothing otherwise.

return: std::optional<OpenVINO::Blob>: Model blob

##### std::optional< OpenVINO::SuperBlob > getSuperBlob()

Kind: function

Return a SuperVINO::SuperBlob from the archive if getModelType() returns SUPERBLOB, nothing otherwise.

return: std::optional<OpenVINO::SuperBlob>: Model superblob

##### std::optional< std::vector< uint8_t > > getOtherModelFormat()

Kind: function

Return a model from the archive if getModelType() returns OTHER or DLC, nothing otherwise.

return: std::optional<std::vector<uint8_t>>: Model

##### const NNArchiveVersionedConfig & getVersionedConfig()

Kind: function

Get NNArchive config wrapper.

return: NNArchiveVersionedConfig : Archive config

##### std::optional< std::pair< uint32_t, uint32_t > > getInputSize(uint32_t index)

Kind: function

Get inputSize of the model.

parameters: index: Index of input note: this function is only valid for models with NCHW and NHWC input formats return:
std::vector<std::pair<int, int>>: inputSize

##### std::optional< uint32_t > getInputWidth(uint32_t index)

Kind: function

Get inputWidth of the model.

parameters: index: Index of input return: int: inputWidth

##### std::optional< uint32_t > getInputHeight(uint32_t index)

Kind: function

Get inputHeight of the model.

parameters: index: Index of input return: int: inputHeight

##### std::vector< dai::Platform > getSupportedPlatforms()

Kind: function

Get supported platforms.

return: std::vector<dai::Platform>: Supported platforms

##### const T & getConfig()

Kind: function

Get NNArchive config.

parameters: T: Type of config to get return: const T&: Config

##### dai::nn_archive::v1::Head getHeadConfig(uint32_t index)

Kind: function

Get specific head configuration from NNArchive .

parameters: headIndex: Index of the head to retrieve return: dai::nn_archive::v1::Head : Head configuration

##### model::ModelType getModelType()

Kind: function

Get type of model contained in NNArchive .

return: model::ModelType: type of model in archive

#### dai::NNArchiveEntry

Kind: class

##### uint8_t Compression

Kind: enum

###### AUTO

Kind: enum_value

Try to guess the file format from the file extension. .json -> RAW_FS everything else use libarchive to guess the format supported
formats are:

###### RAW_FS

Kind: enum_value

The entry isn't compressed. Access it directly on the filesystem.

###### TAR

Kind: enum_value

Force libarchive to treat the file as .tar

###### TAR_GZ

Kind: enum_value

Force libarchive to treat the file as .tar.gz

###### TAR_XZ

Kind: enum_value

Force libarchive to treat the file as .tar.xz

##### uint8_t Seek

Kind: enum

Check stdio.h SEEK_SET, SEEK_CUR, SEEK_END for meaning.

###### SET

Kind: enum_value

###### CUR

Kind: enum_value

###### END

Kind: enum_value

#### dai::NNArchiveVersionedConfig

Kind: class

##### NNArchiveVersionedConfig(const std::vector< uint8_t > & data, NNArchiveEntry::Compression compression)

Kind: function

@data Should point to a whole compressed NNArchive read to memory if compression is not set to RAW_FS. If compression is set to
RAW_FS, then this should point to just the config.json file read to memory.

##### NNArchiveVersionedConfig(const std::filesystem::path & path, NNArchiveEntry::Compression compression)

Kind: function

@path Should point to: 1) if compression is set to RAW_FS: to just the config.json file. 2) if compression is set to AUTO: to
whole compressed NNArchive or just the config.json file which must end in .json . 3) else: to whole compressed NNArchive . see
NNArchive class for parameter explanation

##### NNArchiveVersionedConfig(const std::function< int()> & openCallback, const std::function< std::shared_ptr< std::vector<
uint8_t >>()> & readCallback, const std::function< int64_t(int64_t offset, NNArchiveEntry::Seek whence)> & seekCallback, const
std::function< int64_t(int64_t request)> & skipCallback, const std::function< int()> & closeCallback, NNArchiveEntry::Compression
compression)

Kind: function

Returned data should be just the config.json if compression == RAW_FS or the whole NNArchive otherwise see NNArchive class for
parameter explanation

##### NNArchiveVersionedConfig(const NNArchiveConfig & config)

Kind: function

Construct NNArchiveVersionedConfig from a specific version of a config.

parameters: version: Version of the config.

##### NNArchiveConfigVersion getVersion()

Kind: function

Get version of the underlying config.

##### const T & getConfig()

Kind: function

Get stored config cast to a specific version.

parameters: T: Config type to cast to.

##### const NNArchiveConfig & getConfig()

Kind: function

#### 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.

###### Device device

Kind: variable

Device for which the blob is compiled for.

###### 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 std::filesystem::path & path)

Kind: function

Construct a new Blob by loading from a filesystem path.

parameters: path: Filesystem path to the blob

##### dai::OpenVINO::SuperBlob

Kind: class

A superblob is an efficient way of storing generated blobs for all different number of shaves.

###### SuperBlob(std::vector< uint8_t > data)

Kind: function

Construct a new SuperBlob object.

parameters: data: In memory superblob data

###### SuperBlob(const std::filesystem::path & pathToSuperBlobFile)

Kind: function

Construct a new SuperBlob object.

parameters: pathToSuperBlobFile: Path to the superblob file (.superblob suffix)

###### dai::OpenVINO::Blob getBlobWithNumShaves(int numShaves)

Kind: function

Generate a blob with a specific number of shaves.

parameters: numShaves: Number of shaves to generate the blob for. Must be between 1 and NUMBER_OF_PATCHES. return:
dai::OpenVINO::Blob : Blob compiled for the specified number of shaves

##### 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

##### Device

Kind: enum

###### VPU

Kind: enum_value

###### VPUX

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.

##### AssetManager()

Kind: function

##### AssetManager(std::string rootPath)

Kind: function

##### 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::string getRootPath()

Kind: function

Get root path of the asset manager return: Root path

##### void setRootPath(const std::string & rootPath)

Kind: function

Set root path of the asset manager parameters: rootPath: Root path

##### 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 std::filesystem::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::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::DeviceNode

Kind: class

##### copyable_unique_ptr < Properties > propertiesHolder

Kind: variable

##### DeviceNode()

Kind: function

##### ~DeviceNode()

Kind: function

##### void run()

Kind: function

##### bool runOnHost()

Kind: function

Returns true or false whether the node should be run on host or not.

##### const std::shared_ptr< Device > getDevice()

Kind: function

Get device for this node.

return: shared pointer to device

##### Properties & getProperties()

Kind: function

##### void setLogLevel(dai::LogLevel level)

Kind: function

Sets the logging severity level for this node.

parameters: level: Logging severity level

##### dai::LogLevel getLogLevel()

Kind: function

Gets the logging severity level for this node.

return: Logging severity level

#### dai::DeviceNodeCRTP

Kind: class

##### Props Properties

Kind: enum

##### Properties & properties

Kind: variable

Underlying properties.

##### ~DeviceNodeCRTP()

Kind: function

##### const char * getName()

Kind: function

#### dai::HostRunnable

Kind: class

##### HostRunnable()

Kind: function

##### ~HostRunnable()

Kind: function

#### dai::DeviceNodeGroup

Kind: class

##### const char * getName()

Kind: function

Retrieves nodes name.

##### ~DeviceNodeGroup()

Kind: function

##### DeviceNodeGroup(const std::shared_ptr< Device > & device)

Kind: function

##### void setLogLevel(dai::LogLevel level)

Kind: function

Sets the logging severity level for this node.

parameters: level: Logging severity level

##### dai::LogLevel getLogLevel()

Kind: function

Gets the logging severity level for this node.

return: Logging severity level

##### DeviceNode()

Kind: function

##### DeviceNode(const std::shared_ptr< Device > & device, std::unique_ptr< Properties > props, bool conf)

Kind: function

##### DeviceNode(std::unique_ptr< Properties > props, bool conf)

Kind: function

#### dai::InputQueue

Kind: class

##### void send(const std::shared_ptr< ADatatype > & msg)

Kind: function

Send a message to the connected input.

parameters: msg: Message to send

#### dai::MessageQueue

Kind: class

Thread safe queue to send messages between nodes

##### dai::MessageQueue::QueueException

Kind: class

###### QueueException(const std::string & message)

Kind: function

###### ~QueueException()

Kind: function

##### int CallbackId

Kind: enum

Alias for callback id.

##### std::mutex callbacksMtx

Kind: variable

##### std::unordered_map< CallbackId , std::function< void(std::string, std::shared_ptr< ADatatype >)> > callbacks

Kind: variable

##### CallbackId uniqueCallbackId

Kind: variable

##### MessageQueue(unsigned int maxSize, bool blocking)

Kind: function

##### MessageQueue(std::string name, unsigned int maxSize, bool blocking, utility::PipelineEventDispatcherInterface *
pipelineEventDispatcher)

Kind: function

##### MessageQueue(const MessageQueue & c)

Kind: function

##### MessageQueue(MessageQueue && m)

Kind: function

##### MessageQueue & operator=(const MessageQueue & c)

Kind: function

##### MessageQueue & operator=(MessageQueue && m)

Kind: function

##### ~MessageQueue()

Kind: function

##### std::string getName()

Kind: function

Get name of the queue.

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

Kind: function

Set the name of the queue

##### bool isClosed()

Kind: function

Check whether queue is closed

##### void close()

Kind: function

Closes the queue and unblocks any waiting consumers or producers

##### 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 note: If maxSize is smaller than
size, queue will not be truncated immediately, only after messages are popped

##### unsigned int getMaxSize()

Kind: function

Gets queue maximum size return: Maximum queue size

##### unsigned int getSize()

Kind: function

Gets queue current size return: Current queue size

##### unsigned int isFull()

Kind: function

Gets whether queue is full return: True if queue is full, false otherwise

##### 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(const 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(const std::function< void()> & callback)

Kind: function

Adds a callback on message received parameters: callback: Callback function without any parameters return: Callback id

##### CallbackId addCondVar(std::shared_ptr< std::condition_variable > cv)

Kind: function

Adds a condition variable to be notified on message queue destruction parameters: cv: Condition variable to be notified return:
Condition variable 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 removeCondVar(CallbackId condVarId)

Kind: function

Removes a condition variable parameters: condVarId: Id of condition variable to be removed return: True if condition variable 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

##### 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

##### 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

##### bool trySend(const std::shared_ptr< ADatatype > & msg)

Kind: function

Tries sending a message parameters: msg: message to send

#### 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

###### Connection(ConnectionInternal c)

Kind: function

###### bool operator==(const Connection & rhs)

Kind: function

##### dai::Node::ConnectionInternal

Kind: struct

Connection between an Input and Output internal.

###### dai::Node::ConnectionInternal::Hash

Kind: struct

###### size_t operator()(const dai::Node::ConnectionInternal & obj)

Kind: function

###### std::weak_ptr< Node > outputNode

Kind: variable

###### std::string outputName

Kind: variable

###### std::string outputGroup

Kind: variable

###### std::weak_ptr< Node > inputNode

Kind: variable

###### std::string inputName

Kind: variable

###### std::string inputGroup

Kind: variable

###### Output * out

Kind: variable

###### Input * in

Kind: variable

###### ConnectionInternal(Output & out, Input & in)

Kind: function

###### bool operator==(const ConnectionInternal & 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::vector< DatatypeHierarchy > possibleDatatypes

Kind: variable

###### ~Input()

Kind: function

###### Input(Node & par, InputDescription desc, bool ref)

Kind: function

###### const Node & getParent()

Kind: function

Get the parent node

###### Node & getParent()

Kind: function

Get the parent node

###### Type getType()

Kind: function

Get type

###### std::string toString()

Kind: function

Input to string representation

###### 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

###### std::vector< DatatypeHierarchy > getPossibleDatatypes()

Kind: function

Get possible datatypes that can be received

###### void setPossibleDatatypes(std::vector< DatatypeHierarchy > types)

Kind: function

Set possible datatypes that can be received

###### void setReusePreviousMessage(bool reusePreviousMessage)

Kind: function

Equivalent to setWaitForMessage but with inverted logic.

###### bool getReusePreviousMessage()

Kind: function

Equivalent to getWaitForMessage but with inverted logic.

###### void setGroup(std::string group)

Kind: function

Set group name for this input

###### std::string getGroup()

Kind: function

Get group name for this input

###### bool isConnected()

Kind: function

Check if this input is connected

###### std::shared_ptr< InputQueue > createInputQueue(unsigned int maxSize, bool blocking)

Kind: function

Create an shared pointer to an input queue that can be used to send messages to this input from onhost.

parameters: maxSize: Maximum size of the input queue; blocking: Whether the input queue should block when full return:
std::shared_ptr<InputQueue>: shared pointer to an input queue

###### std::shared_ptr< dai::node::internal::XLinkInBridge > getXLinkBridge()

Kind: function

Get XLink bridge associated with this input (only valid for device inputs after pipeline build)

return: std::shared_ptr<dai::node::internal::XLinkInBridge>: pointer to the XLink bridge or nullptr if not applicable

##### dai::Node::InputDescription

Kind: struct

###### std::string name

Kind: variable

###### std::string group

Kind: variable

###### bool blocking

Kind: variable

###### int queueSize

Kind: variable

###### std::vector< DatatypeHierarchy > types DEFAULT_TYPES

Kind: variable

###### bool waitForMessage

Kind: variable

##### 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(Node & parent, InputDescription defaultInput)

Kind: function

###### InputMap(Node & parent, std::string name, InputDescription defaultInput)

Kind: function

###### Input & operator[](const std::string & key)

Kind: function

Create or modify an input.

###### Input & operator[](std::pair< std::string, std::string > groupKey)

Kind: function

Create or modify an input with specified group.

###### bool has(const std::string & key)

Kind: function

##### dai::Node::Output

Kind: class

###### dai::Node::Output::QueueConnection

Kind: struct

###### Output * output

Kind: variable

###### std::shared_ptr< MessageQueue > queue

Kind: variable

###### bool operator==(const QueueConnection & rhs)

Kind: function

###### Type

Kind: enum

###### MSender

Kind: enum_value

###### SSender

Kind: enum_value

###### ~Output()

Kind: function

###### Output(Node & par, OutputDescription desc, bool ref)

Kind: function

###### Node & getParent()

Kind: function

###### const Node & getParent()

Kind: function

###### std::string toString()

Kind: function

Output to string representation.

###### std::string getName()

Kind: function

Get name of the output

###### std::string getGroup()

Kind: function

Get group of the output

###### void setGroup(std::string group)

Kind: function

Set group name for this output

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

Kind: function

Set name for this output

###### Type getType()

Kind: function

Get type of the output

###### std::vector< DatatypeHierarchy > getPossibleDatatypes()

Kind: function

Get possible datatypes that can be sent

###### void setPossibleDatatypes(std::vector< DatatypeHierarchy > types)

Kind: function

Set possible datatypes that can be sent

###### 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< ConnectionInternal > getConnections()

Kind: function

Retrieve all connections from this output return: Vector of connections

###### std::vector< QueueConnection > getQueueConnections()

Kind: function

Retrieve all queue connections from this output return: Vector of queue connections

###### std::shared_ptr< dai::MessageQueue > createOutputQueue(unsigned int maxSize, bool blocking)

Kind: function

Construct and return a shared pointer to an output message queue.

parameters: maxSize: Maximum size of the output queue; blocking: Whether the output queue should block when full return:
std::shared_ptr<dai::MessageQueue>: shared pointer to an output queue

###### void link(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 link(std::shared_ptr< Node > in)

Kind: function

###### void unlink(Input & in)

Kind: function

Unlink a previously linked connection Throws an error if not linked. parameters: in: Input from which to unlink from

###### void send(const std::shared_ptr< ADatatype > & msg)

Kind: function

Sends a Message to all connected inputs parameters: msg: Message to send to all connected inputs

###### bool trySend(const std::shared_ptr< ADatatype > & msg)

Kind: function

Try sending a message to all connected inputs parameters: msg: Message to send to all connected inputs return: True if ALL
connected inputs got the message, false otherwise

###### std::shared_ptr< dai::node::internal::XLinkOutBridge > getXLinkBridge()

Kind: function

Get XLink bridge associated with this output (only valid for device outputs after pipeline build)

return: std::shared_ptr<dai::node::internal::XLinkOutBridge>: pointer to the XLink bridge or nullptr if not applicable

##### dai::Node::OutputDescription

Kind: struct

###### std::string name

Kind: variable

###### std::string group

Kind: variable

###### std::vector< DatatypeHierarchy > types DEFAULT_TYPES

Kind: variable

##### 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(Node & parent, std::string name, OutputDescription defaultOutput, bool ref)

Kind: function

###### OutputMap(Node & parent, OutputDescription defaultOutput, bool ref)

Kind: function

###### Output & operator[](const std::string & key)

Kind: function

Create or modify an output.

###### Output & operator[](std::pair< std::string, std::string > groupKey)

Kind: function

Create or modify an output with specified group.

##### dai::Node::PairHash

Kind: struct

###### std::size_t operator()(const std::pair< T1, T2 > & pair)

Kind: function

##### std::int64_t Id

Kind: enum

Node identificator. Unique for every node on a single Pipeline .

##### Id id

Kind: variable

Id of node. Assigned after being placed on the pipeline.

##### Id inputId

Kind: variable

##### Id outputId

Kind: variable

##### std::string alias

Kind: variable

alias or name

##### Node(const Node &)

Kind: function

##### Node & operator=(const Node &)

Kind: function

##### Node(Node &&)

Kind: function

##### Node & operator=(Node &&)

Kind: function

##### std::string createUniqueInputName()

Kind: function

##### std::string createUniqueOutputName()

Kind: function

##### Pipeline getParentPipeline()

Kind: function

##### const Pipeline getParentPipeline()

Kind: function

##### std::string getAlias()

Kind: function

Get alias.

##### void setAlias(std::string alias)

Kind: function

Set alias.

##### const char * getName()

Kind: function

Retrieves nodes name.

##### void start()

Kind: function

Start node execution.

##### void wait()

Kind: function

Wait for node to finish execution.

##### void stop()

Kind: function

Stop node execution.

##### void stopPipeline()

Kind: function

##### void buildStage1()

Kind: function

Build stages;.

##### void buildStage2()

Kind: function

##### void buildStage3()

Kind: function

##### void postBuildStage()

Kind: function

##### 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.

##### std::vector< OutputMap * > getOutputMapRefs()

Kind: function

Retrieves reference to node outputs.

##### std::vector< InputMap * > getInputMapRefs()

Kind: function

Retrieves reference to node inputs.

##### Output * getOutputRef(std::string name)

Kind: function

Retrieves reference to specific output.

##### Output * getOutputRef(std::string group, std::string name)

Kind: function

##### Input * getInputRef(std::string name)

Kind: function

Retrieves reference to specific input.

##### Input * getInputRef(std::string group, std::string name)

Kind: function

##### OutputMap * getOutputMapRef(std::string group)

Kind: function

Retrieves reference to specific output map.

##### InputMap * getInputMapRef(std::string group)

Kind: function

Retrieves reference to specific input map.

##### bool isSourceNode()

Kind: function

##### ~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.

##### std::vector< uint8_t > loadResource(std::filesystem::path uri)

Kind: function

Loads resource specified by URI and returns its data.

##### std::vector< uint8_t > moveResource(std::filesystem::path uri)

Kind: function

Moves the resource out.

##### std::shared_ptr< N > create()

Kind: function

Create and place Node to this Node .

##### void add(std::shared_ptr< Node > node)

Kind: function

Add existing node to nodeMap.

##### std::vector< std::shared_ptr< Node > > getAllNodes()

Kind: function

##### std::shared_ptr< const Node > getNode(Node::Id id)

Kind: function

##### std::shared_ptr< Node > getNode(Node::Id id)

Kind: function

##### void remove(std::shared_ptr< Node > node)

Kind: function

##### ConnectionMap getConnectionMap()

Kind: function

##### void link(const Node::Output & out, const Node::Input & in)

Kind: function

##### void unlink(const Node::Output & out, const Node::Input & in)

Kind: function

##### void link(std::shared_ptr< Node > in)

Kind: function

Get a reference to internal node map.

##### Node::Output * requestOutput(const Capability & capability, bool onHost)

Kind: function

##### std::vector< std::pair< Input &, std::shared_ptr< Capability > > > getRequiredInputs()

Kind: function

##### bool runOnHost()

Kind: function

Returns true or false whether the node should be run on host or not.

##### const NodeMap & getNodeMap()

Kind: function

##### void buildInternal()

Kind: function

Function called from within the

#### dai::SourceNode

Kind: class

##### ~SourceNode()

Kind: function

##### NodeRecordParams getNodeRecordParams()

Kind: function

##### Node::Output & getRecordOutput()

Kind: function

##### Node::Input & getReplayInput()

Kind: function

#### dai::NodeCRTP

Kind: class

##### friend Derived

Kind: variable

##### friend Base

Kind: variable

##### ~NodeCRTP()

Kind: function

##### const char * getName()

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::NodeGroup

Kind: class

##### NodeGroup()

Kind: function

##### ~NodeGroup()

Kind: function

##### const char * getName()

Kind: function

Retrieves nodes name.

#### 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

##### int64_t parentId

Kind: variable

##### std::string name

Kind: variable

##### std::string alias

Kind: variable

##### std::string deviceId

Kind: variable

##### bool deviceNode

Kind: variable

##### std::vector< std::uint8_t > properties

Kind: variable

##### LogLevel logLevel

Kind: variable

##### std::unordered_map< std::tuple< std::string, std::string >, NodeIoInfo , IoInfoKey > ioInfo

Kind: variable

#### dai::PipelineImpl

Kind: class

##### PipelineImpl(bool createImplicitDevice)

Kind: function

##### PipelineImpl(std::shared_ptr< Device > device)

Kind: function

##### PipelineImpl(const PipelineImpl &)

Kind: function

##### PipelineImpl & operator=(const PipelineImpl &)

Kind: function

##### PipelineImpl(PipelineImpl &&)

Kind: function

##### PipelineImpl & operator=(PipelineImpl &&)

Kind: function

##### ~PipelineImpl()

Kind: function

#### dai::Pipeline

Kind: class

Represents the pipeline, set of nodes and connections between them.

##### PipelineAutoCalibrationMode AutoCalibrationMode

Kind: enum

##### PipelineImpl::NodeConnectionMap NodeConnectionMap

Kind: enum

##### PipelineImpl * impl()

Kind: function

##### const PipelineImpl * impl()

Kind: function

##### std::vector< std::shared_ptr< Node > > getSourceNodes()

Kind: function

##### Pipeline(bool createImplicitDevice)

Kind: function

Creates a pipeline parameters: createImplicitDevice: If true, creates a default device (default = true)

##### Pipeline(std::shared_ptr< Device > device)

Kind: function

Creates a pipeline with specified device

##### Pipeline(std::shared_ptr< PipelineImpl > pimpl)

Kind: function

Creates a pipeline with specified device

##### GlobalProperties getGlobalProperties()

Kind: function

return: Global properties of current pipeline

##### void setGlobalProperties(GlobalProperties globalProperties)

Kind: function

Sets global properties of pipeline

##### void setDefaultDeviceProperties(DeviceProperties deviceProperties)

Kind: function

Sets default device properties

##### void setDefaultDevicePropertiesRef(DeviceProperties * deviceProperties)

Kind: function

Sets default device properties reference. The properties should live at least as long as the pipeline.

##### std::optional< DeviceProperties > getDefaultDeviceProperties()

Kind: function

Gets a copy of default device properties. If pipeline is in host only mode, returns host properties, otherwise returns device
properties

##### PipelineSchema getPipelineSchema(SerializationType type, bool includePipelineDebugging)

Kind: function

return: Pipeline schema

##### PipelineSchema getDevicePipelineSchema(SerializationType type, bool includePipelineDebugging)

Kind: function

return: Device pipeline schema (without host only nodes and connections)

##### void serialize(PipelineSchema & schema, Assets & assets, std::vector< std::uint8_t > & assetStorage)

Kind: function

##### nlohmann::json serializeToJson(bool includeAssests)

Kind: function

Returns whole pipeline represented as JSON.

##### std::shared_ptr< N > create(Args &&... args)

Kind: function

Creates and adds a node to the pipeline. Node is specified by template argument N

##### void add(std::shared_ptr< Node > node)

Kind: function

Adds an existing node to the pipeline

##### void remove(std::shared_ptr< Node > node)

Kind: function

Removes a node from pipeline.

##### 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.

##### NodeConnectionMap getConnectionMap()

Kind: function

##### 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

##### bool isCalibrationDataAvailable()

Kind: function

check if calib data is available on the device return: true - calib data is available return: false - calib data is not available

##### std::optional< EepromData > getEepromData()

Kind: function

gets the eeprom data from the pipeline return: eepromData from the the pipeline

##### void setEepromData(std::optional< EepromData > eepromData)

Kind: function

Sets the eeprom data in pipeline parameters: eepromData: EepromData object that is loaded in the pipeline.

##### uint32_t getEepromId()

Kind: function

Gets the eeprom id from the pipeline return: eeprom id from the pipeline

##### void setCameraTuningBlobPath(const fs::path & path)

Kind: function

Set a camera IQ (Image Quality) tuning blob, used for all cameras.

##### void setCameraTuningBlobPath(CameraBoardSocket socket, const fs::path & path)

Kind: function

Set a camera IQ (Image Quality) tuning blob, used for specific board socket.

##### 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.

##### void setBoardConfig(BoardConfig board)

Kind: function

Sets board configuration.

##### void setAutoCalibration(AutoCalibrationMode mode)

Kind: function

Sets implicit automatic calibration policy for this pipeline.

##### AutoCalibrationMode getAutoCalibration()

Kind: function

Gets implicit automatic calibration policy for this pipeline.

##### void setAutoCalibrationMode(AutoCalibrationMode mode)

Kind: function

Sets implicit automatic calibration policy for this pipeline.

##### AutoCalibrationMode getAutoCalibrationMode()

Kind: function

Gets implicit automatic calibration policy for this pipeline.

##### BoardConfig getBoardConfig()

Kind: function

Gets board configuration.

##### Device::Config getDeviceConfig()

Kind: function

Get device configuration needed for this pipeline.

##### bool isRunning()

Kind: function

##### bool isBuilt()

Kind: function

##### void build()

Kind: function

##### void buildDevice()

Kind: function

##### void start()

Kind: function

##### void wait()

Kind: function

##### void stop()

Kind: function

##### void processTasks(bool waitForTasks, double timeoutSeconds)

Kind: function

##### void run()

Kind: function

##### std::shared_ptr< Device > getDefaultDevice()

Kind: function

##### void addTask(std::function< void()> task)

Kind: function

##### void enableHolisticRecord(const RecordConfig & config)

Kind: function

Record and Replay.

##### void enableHolisticReplay(const std::string & pathToRecording)

Kind: function

##### bool isHolisticRecordEnabled()

Kind: function

##### bool isHolisticReplayEnabled()

Kind: function

##### void enablePipelineDebugging(bool enable)

Kind: function

Pipeline debugging.

##### bool isPipelineDebuggingEnabled()

Kind: function

##### std::shared_ptr< MessageQueue > getPipelineStateOut()

Kind: function

##### std::shared_ptr< InputQueue > getPipelineStateRequest()

Kind: function

##### PipelineStateApi getPipelineState()

Kind: function

#### 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

##### std::vector< std::pair< int64_t, int64_t > > bridges

Kind: variable

#### dai::NodesStateApi

Kind: class

pipeline.getState().nodes({nodeId1}).summary() -> std::unordered_map<std::string, TimingStats>;
pipeline.getState().nodes({nodeId1}).detailed() -> std::unordered_map<std::string, NodeState>;
pipeline.getState().nodes(nodeId1).detailed() -> NodeState ; pipeline.getState().nodes({nodeId1}).outputs() ->
std::unordered_map<std::string, TimingStats>; pipeline.getState().nodes({nodeId1}).outputs({outputName1}) ->
std::unordered_map<std::string, TimingStats>; pipeline.getState().nodes({nodeId1}).outputs(outputName) -> TimingStats;
pipeline.getState().nodes({nodeId1}).events(); pipeline.getState().nodes({nodeId1}).inputs() -> std::unordered_map<std::string,
QueueState>; pipeline.getState().nodes({nodeId1}).inputs({inputName1}) -> std::unordered_map<std::string, QueueState>;
pipeline.getState().nodes({nodeId1}).inputs(inputName) -> QueueState; pipeline.getState().nodes({nodeId1}).otherStats() ->
std::unordered_map<std::string, TimingStats>; pipeline.getState().nodes({nodeId1}).otherStats({statName1}) ->
std::unordered_map<std::string, TimingStats>; pipeline.getState().nodes({nodeId1}).outputs(statName) -> TimingStats;

##### NodesStateApi(std::vector< Node::Id > nodeIds, std::shared_ptr< MessageQueue > pipelineStateOut, std::shared_ptr< InputQueue
> pipelineStateRequest)

Kind: function

##### PipelineState summary()

Kind: function

##### PipelineState detailed()

Kind: function

##### std::unordered_map< Node::Id , std::unordered_map< std::string, NodeState::OutputQueueState > > outputs()

Kind: function

##### std::unordered_map< Node::Id , std::unordered_map< std::string, NodeState::InputQueueState > > inputs()

Kind: function

##### std::unordered_map< Node::Id , std::unordered_map< std::string, NodeState::Timing > > otherTimings()

Kind: function

#### dai::NodeStateApi

Kind: class

##### NodeStateApi(Node::Id nodeId, std::shared_ptr< MessageQueue > pipelineStateOut, std::shared_ptr< InputQueue >
pipelineStateRequest)

Kind: function

##### NodeState summary()

Kind: function

##### NodeState detailed()

Kind: function

##### std::unordered_map< std::string, NodeState::OutputQueueState > outputs()

Kind: function

##### std::unordered_map< std::string, NodeState::InputQueueState > inputs()

Kind: function

##### std::unordered_map< std::string, NodeState::Timing > otherTimings()

Kind: function

##### std::unordered_map< std::string, NodeState::OutputQueueState > outputs(const std::vector< std::string > & outputNames)

Kind: function

##### NodeState::OutputQueueState outputs(const std::string & outputName)

Kind: function

##### std::vector< NodeState::DurationEvent > events()

Kind: function

##### std::unordered_map< std::string, NodeState::InputQueueState > inputs(const std::vector< std::string > & inputNames)

Kind: function

##### NodeState::InputQueueState inputs(const std::string & inputName)

Kind: function

##### std::unordered_map< std::string, NodeState::Timing > otherTimings(const std::vector< std::string > & timingNames)

Kind: function

##### NodeState::Timing otherTimings(const std::string & timingName)

Kind: function

#### dai::PipelineStateApi

Kind: class

##### PipelineStateApi(std::shared_ptr< MessageQueue > pipelineStateOut, std::shared_ptr< InputQueue > pipelineStateRequest, const
std::vector< std::shared_ptr< Node >> & allNodes)

Kind: function

##### NodesStateApi nodes()

Kind: function

##### NodesStateApi nodes(const std::vector< Node::Id > & nodeIds)

Kind: function

##### NodeStateApi nodes(Node::Id nodeId)

Kind: function

##### void stateAsync(std::function< void(const PipelineState &)> callback, std::optional< PipelineEventAggregationConfig >
config)

Kind: function

#### dai::Subnode

Kind: class

##### Subnode(Node & parent, std::string alias)

Kind: function

##### T & operator*()

Kind: function

##### T * operator->()

Kind: function

#### dai::ThreadedNode

Kind: class

##### Output pipelineEventOutput

Kind: variable

##### spimpl::impl_ptr< Impl > pimpl

Kind: variable

##### ThreadedNode()

Kind: function

##### ~ThreadedNode()

Kind: function

##### void onStart()

Kind: function

Function called at the beginning of the

This function may be overridden by the user to perform any needed tasks prior to starting this node's main thread.

##### void onStop()

Kind: function

Function called at the end of the

This function may be overridden by the user to perform any needed tasks directly after stopping this node's main thread.

##### void start()

Kind: function

Start node execution.

##### void wait()

Kind: function

Wait for node to finish execution.

##### void stop()

Kind: function

Stop node execution.

##### void run()

Kind: function

##### bool isRunning()

Kind: function

##### bool mainLoop()

Kind: function

##### void setLogLevel(dai::LogLevel level)

Kind: function

Sets the logging severity level for this node.

parameters: level: Logging severity level

##### dai::LogLevel getLogLevel()

Kind: function

Gets the logging severity level for this node.

return: Logging severity level

##### utility::PipelineEventDispatcherInterface::BlockPipelineEvent inputBlockEvent(bool startNow)

Kind: function

Creates a scoped event that sends start and end events for the getting inputs state.

##### utility::PipelineEventDispatcherInterface::BlockPipelineEvent outputBlockEvent(bool startNow)

Kind: function

Creates a scoped event that sends start and end events for the sending outputs state.

##### utility::PipelineEventDispatcherInterface::BlockPipelineEvent blockEvent(PipelineEvent::Type type, const std::string &
source, bool startNow)

Kind: function

Creates a scoped event that sends start and end events for a custom block event.

parameters: type: Type of the event; source: Source name of the event

##### Node(const Node &)

Kind: function

##### Node(Node &&)

Kind: function

##### Node()

Kind: function

##### Node(bool conf)

Kind: function

#### 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::ADatatype

Kind: class

Abstract message.

##### std::shared_ptr< Memory > data

Kind: variable

##### ADatatype()

Kind: function

##### ~ADatatype()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

#### dai::AprilTagConfig

Kind: class

AprilTagConfig message.

##### dai::AprilTagConfig::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.

##### AprilTagConfig()

Kind: function

##### ~AprilTagConfig()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### AprilTagConfig & setFamily(Family family)

Kind: function

parameters: family: AprilTag family

##### DEPTHAI_SERIALIZE(AprilTagConfig, Buffer::sequenceNum, Buffer::ts, Buffer::tsDevice, 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::AprilTags

Kind: class

AprilTags message.

##### std::vector< AprilTag > aprilTags

Kind: variable

##### AprilTags()

Kind: function

Construct AprilTags message.

##### ~AprilTags()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(AprilTags, Buffer::sequenceNum, Buffer::ts, Buffer::tsDevice, aprilTags)

Kind: function

#### dai::AutoCalibrationConfig

Kind: struct

AutoCalibrationConfig message. Carries configuration for the automatic camera calibration algorithm. Defines parameters for
periodic or one-time recalibration of the camera sensors.

##### int Mode

Kind: enum

Defines when the auto-calibration process should be triggered.

###### ON_START

Kind: enum_value

Run calibration once upon pipeline startup.

###### CONTINUOUS

Kind: enum_value

Periodically run calibration while the pipeline is running.

##### Mode mode

Kind: variable

Calibration trigger mode (ON_START or CONTINUOUS).

##### int sleepingTime

Kind: variable

Seconds to sleep between calibration cycles in CONTINUOUS mode.

##### double calibrationConfidenceThreshold

Kind: variable

Minimum confidence score (0.0 to 1.0) required to apply a new calibration.

##### double dataConfidenceThreshold

Kind: variable

Minimum quality threshold (0.0 to 1.0) for input features to be used.

##### unsigned int maxIterations

Kind: variable

Maximum number of optimization iterations per calibration cycle.

##### unsigned int maxImagesPerRecalibration

Kind: variable

Maximum number of images to collect for one recalibration event.

##### int validationSetSize

Kind: variable

Number of images used for validating the calibration result.

##### bool flashCalibration

Kind: variable

If true, saves successful calibration to non-volatile memory (EEPROM); otherwise, keeps in RAM only.

##### AutoCalibrationConfig()

Kind: function

##### AutoCalibrationConfig(Mode mode, int sleepingTime, double calibrationConfidence, double dataConfidence, unsigned int
maxIter, unsigned int maxImg, int valSize, bool flash)

Kind: function

Full constructor for initializing auto-calibration parameters. parameters: mode: Calibration trigger mode (ON_START or
CONTINUOUS).; sleepingTime: Time in seconds between calibration cycles.; calibrationConfidence: Threshold for accepting a new
calibration result.; dataConfidence: Threshold for the quality of input data/features.; maxIter: Maximum number of optimization
iterations.; maxImg: Maximum number of images to collect for a single recalibration.; valSize: Number of images used to validate
the calibration result.; flash: Whether to save the resulting calibration to non-volatile memory.

##### ~AutoCalibrationConfig()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(AutoCalibrationConfig, mode, sleepingTime, calibrationConfidenceThreshold, dataConfidenceThreshold,
maxIterations, maxImagesPerRecalibration, validationSetSize, flashCalibration)

Kind: function

#### dai::AutoCalibrationResult

Kind: class

AutoCalibrationResult message. Carries the result and quality metrics produced by the AutoCalibration node.

##### double dataConfidence

Kind: variable

Quality of input features used (0.0 to 1.0).

##### double calibrationConfidence

Kind: variable

Confidence in the final calibration result (0.0 to 1.0).

##### bool passed

Kind: variable

True if thresholds were met and calibration is valid.

##### CalibrationHandler calibration

Kind: variable

CalibrationHandler containing the resulting camera parameters.

##### AutoCalibrationResult()

Kind: function

##### AutoCalibrationResult(double dataConfidence, double calibrationConfidence, bool passed, CalibrationHandler calibration)

Kind: function

Full constructor for AutoCalibrationResult . parameters: dataConfidence: Confidence score of the input data used for calibration.;
calibrationConfidence: Confidence score of the resulting calibration.; passed: Whether the calibration cycle met the required
thresholds.; calibration: The actual calibration handler containing the new parameters.

##### ~AutoCalibrationResult()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(AutoCalibrationResult, dataConfidence, calibrationConfidence, passed, calibration)

Kind: function

#### dai::BenchmarkReport

Kind: class

BenchmarkReport message.

##### float fps

Kind: variable

##### float timeTotal

Kind: variable

##### float numMessagesReceived

Kind: variable

##### float averageLatency

Kind: variable

##### std::vector< float > latencies

Kind: variable

##### BenchmarkReport()

Kind: function

##### ~BenchmarkReport()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(BenchmarkReport, Buffer::sequenceNum, Buffer::ts, Buffer::tsDevice, fps, timeTotal, numMessagesReceived,
averageLatency, latencies)

Kind: function

#### dai::Buffer

Kind: class

Base message - buffer of binary data.

##### int64_t sequenceNum

Kind: variable

##### Timestamp ts

Kind: variable

##### Timestamp tsDevice

Kind: variable

##### Buffer()

Kind: function

##### Buffer(size_t size)

Kind: function

##### Buffer(long fd)

Kind: function

##### Buffer(long fd, size_t size)

Kind: function

##### ~Buffer()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### span< uint8_t > getData()

Kind: function

Get non-owning reference to internal buffer.

return: Reference to internal buffer

##### span< const uint8_t > getData()

Kind: function

##### void setData(const std::vector< std::uint8_t > & data)

Kind: function

parameters: data: Copies data to internal buffer

##### void setData(const long fd)

Kind: function

##### 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

##### void 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()

##### void 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()

##### int64_t getSequenceNum()

Kind: function

Retrieves image sequence number

##### void setSequenceNum(int64_t sequenceNum)

Kind: function

Sets image sequence number

##### span< const uint8_t > getRecordData()

Kind: function

##### dai::VisualizeType getVisualizationMessage()

Kind: function

Get visualizable message return: Visualizable message, either ImgFrame , ImgAnnotations or std::monostate (None)

##### DEPTHAI_SERIALIZE(Buffer, sequenceNum, ts, tsDevice)

Kind: function

#### 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

##### dai::CameraControl::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::CameraControl::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::CameraControl::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::CameraControl::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

###### HDR

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.

##### int8_t FrameSyncMode

Kind: enum

###### AUTO

Kind: enum_value

###### OFF

Kind: enum_value

###### OUTPUT

Kind: enum_value

###### INPUT

Kind: enum_value

###### TIME_PTP

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

##### bool enableHdr

Kind: variable

##### std::vector< std::pair< std::string, std::string > > miscControls

Kind: variable

##### 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:
auto/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 stop the auto-exposure algorithm. The latest AE sensor configuration is kept. 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. This modifies the brightness target with positive numbers making the image
brighter and negative numbers making the image darker. 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 & 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

##### CameraControl & setControlMode(ControlMode mode)

Kind: function

Set a command to specify control mode parameters: mode: Control mode

##### CameraControl & setHdr(bool enable)

Kind: function

Whether or not to enable HDR (High Dynamic Range) mode parameters: enable: True to enable HDR mode, false to disable

##### CameraControl & setCaptureIntent(CaptureIntent mode)

Kind: function

Set a command to specify capture intent mode parameters: mode: Capture intent mode

##### 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

##### bool getHdr()

Kind: function

Whether or not HDR (High Dynamic Range) mode is enabled return: True if HDR mode is enabled, false otherwise

##### void setCommand(Command cmd, bool value)

Kind: function

##### void clearCommand(Command cmd)

Kind: function

##### bool getCommand(Command cmd)

Kind: function

##### ~CameraControl()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(CameraControl, 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, enableHdr,
miscControls)

Kind: function

##### float getLensPositionRaw()

Kind: function

Retrieves lens position, range 0.0f..1.0f.

#### dai::DynamicCalibrationControl

Kind: class

Control message used to manage Dynamic Calibration on the device.

This class encapsulates all commands that can be sent to the DynamicCalibration node. A command is represented using the Command
variant, which may contain one of the command structures defined in the Commands namespace. Factory methods (e.g., calibrate ,
startCalibration ) allow convenient creation of command objects. The message is serialized and transmitted to the device through
an input queue.

##### dai::DynamicCalibrationControl::Commands

Kind: struct

Namespace containing all command structures that may be used inside Command .

These structs represent individual commands that the Dynamic Calibration node can execute. Each command corresponds to a specific
action or configuration update.

###### dai::DynamicCalibrationControl::Commands::ApplyCalibration

Kind: struct

Command to apply a new calibration to the device.

###### CalibrationHandler calibration

Kind: variable

Calibration data to apply.

###### bool flash

Kind: variable

###### ApplyCalibration()

Kind: function

###### ApplyCalibration(const CalibrationHandler & calibration, bool flash)

Kind: function

###### DEPTHAI_SERIALIZE(ApplyCalibration, calibration, flash)

Kind: function

###### dai::DynamicCalibrationControl::Commands::Calibrate

Kind: struct

Command to perform a full calibration run.

###### bool force

Kind: variable

Force calibration even when unnecessary.

###### Calibrate(bool force)

Kind: function

###### DEPTHAI_SERIALIZE(Calibrate, force)

Kind: function

###### dai::DynamicCalibrationControl::Commands::CalibrationQuality

Kind: struct

Command to perform a calibration quality check.

###### bool force

Kind: variable

Force check even if previous quality is valid.

###### CalibrationQuality(bool force)

Kind: function

###### DEPTHAI_SERIALIZE(CalibrationQuality, force)

Kind: function

###### dai::DynamicCalibrationControl::Commands::ComputeCalibrationMetrics

Kind: struct

Command to compute calibration metrics (e.g., calibrationConfidence and dataConfidence).

Evaluates the provided calibration data and computes relevant quality metrics.

###### dai::CalibrationHandler calibration

Kind: variable

###### ComputeCalibrationMetrics(dai::CalibrationHandler & calibration)

Kind: function

###### DEPTHAI_SERIALIZE(ComputeCalibrationMetrics, calibration)

Kind: function

###### dai::DynamicCalibrationControl::Commands::LoadImage

Kind: struct

Command to load a single image for calibration.

Useful for manual step-by-step calibration sequences.

###### dai::DynamicCalibrationControl::Commands::ResetData

Kind: struct

Command to reset accumulated calibration and quality data.

###### dai::DynamicCalibrationControl::Commands::SetPerformanceMode

Kind: struct

Command to select the calibration performance mode.

###### PerformanceMode performanceMode

Kind: variable

Desired performance mode.

###### SetPerformanceMode()

Kind: function

###### SetPerformanceMode(PerformanceMode performanceMode)

Kind: function

###### DEPTHAI_SERIALIZE(SetPerformanceMode, performanceMode)

Kind: function

###### dai::DynamicCalibrationControl::Commands::StartCalibration

Kind: struct

Command to start dynamic calibration with periodic operations.

parameters: loadImagePeriod: How often image loading should occur (seconds); calibrationPeriod: How often calibration should run
(seconds)

###### float loadImagePeriod

Kind: variable

Seconds between image loads.

###### float calibrationPeriod

Kind: variable

Seconds between calibration cycles.

###### StartCalibration(float loadImagePeriod, float calibrationPeriod)

Kind: function

###### DEPTHAI_SERIALIZE(StartCalibration, loadImagePeriod, calibrationPeriod)

Kind: function

###### dai::DynamicCalibrationControl::Commands::StopCalibration

Kind: struct

Command to stop a running dynamic calibration process.

##### int PerformanceMode

Kind: enum

Performance mode for Dynamic Calibration.

These modes influence how aggressively calibration and quality checks are performed on the device.

###### DEFAULT

Kind: enum_value

Default behavior (balance quality and speed)

###### STATIC_SCENERY

Kind: enum_value

Optimized for scenes with little or no motion.

###### OPTIMIZE_SPEED

Kind: enum_value

Favor faster processing at possible quality trade-off.

###### OPTIMIZE_PERFORMANCE

Kind: enum_value

Favor accuracy even at reduced speed.

###### SKIP_CHECKS

Kind: enum_value

Skip quality checks; force calibration actions.

##### std::variant< std::monostate, Commands::Calibrate , Commands::CalibrationQuality , Commands::StartCalibration ,
Commands::StopCalibration , Commands::LoadImage , Commands::ApplyCalibration , Commands::ResetData , Commands::SetPerformanceMode
, Commands::ComputeCalibrationMetrics > Command

Kind: enum

Variant type representing a single calibration command.

Only one command may be active at any time. If no command is present, the variant contains

##### Command command

Kind: variable

##### DynamicCalibrationControl()

Kind: function

##### DynamicCalibrationControl(Command cmd)

Kind: function

##### ~DynamicCalibrationControl()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

#### dai::CoverageData

Kind: struct

Coverage information for a single frame.

Contains 2D spatial coverage metrics used internally during dynamic calibration to measure how well the image area has been
populated.

##### CoverageData()

Kind: function

##### ~CoverageData()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

Serialize CoverageData to buffer.

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(CoverageData, coveragePerCellA, coveragePerCellB, meanCoverage, dataAcquired, coverageAcquired)

Kind: function

#### dai::CalibrationQuality

Kind: struct

Summary of calibration quality metrics.

Returned from a calibration quality check. Describes expected accuracy improvement if a new calibration were applied.

##### dai::CalibrationQuality::Data

Kind: struct

Quality metrics describing differences between current and predicted calibration.

###### std::array< float, 3 > rotationChange

Kind: variable

Rotation difference between old and new extrinsics (degrees).

###### std::vector< double > depthErrorDifference

Kind: variable

Predicted relative depth error difference between current and new calibration. Reported at reference distances [1m, 2m, 5m, 10m].
Units: percent [%].

###### float sampsonErrorCurrent

Kind: variable

Sampson error of currently installed calibration.

###### float sampsonErrorNew

Kind: variable

Estimated new Sampson error if the new calibration is applied.

###### DEPTHAI_SERIALIZE(Data, rotationChange, sampsonErrorCurrent, sampsonErrorNew, depthErrorDifference)

Kind: function

##### std::optional< Data > qualityData

Kind: variable

Optional quality metrics.

##### std::string info

Kind: variable

Human-readable result description.

##### CalibrationQuality()

Kind: function

##### ~CalibrationQuality()

Kind: function

##### CalibrationQuality(Data qualityData, std::string info)

Kind: function

Construct a CalibrationQuality message with data.

parameters: qualityData: Metrics describing the quality difference.; info: Informational text describing the result.

##### CalibrationQuality(std::string info)

Kind: function

Construct a CalibrationQuality message without metric data.

parameters: info: Informational text describing the result.

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(CalibrationQuality, qualityData, info)

Kind: function

#### dai::CalibrationMetrics

Kind: struct

Final result of running dynamic calibration.

Includes metrics evaluating the reliability of the calibration and the quality of the data used to compute it.

##### double calibrationConfidence

Kind: variable

Confidence score of the computed calibration.

** A normalized value between 0.0 and 1.0 indicating how much you can trust the resulting calibration.

##### double dataConfidence

Kind: variable

Quality score of the input data.

** A normalized value between 0.0 and 1.0 indicating how much you can trust the data.

##### CalibrationMetrics()

Kind: function

##### ~CalibrationMetrics()

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DEPTHAI_SERIALIZE(CalibrationMetrics, calibrationConfidence, dataConfidence)

Kind: function

#### dai::DynamicCalibrationResult

Kind: struct

Final result of running dynamic calibration.

Includes: newly computed calibration; previously installed calibration; metrics comparing the two

##### dai::DynamicCalibrationResult::Data

Kind: struct

Detailed calibration result.

###### dai::CalibrationHandler newCalibration

Kind: variable

Calibration produced by dynamic calibration.

###### dai::CalibrationHandler currentCalibration

Kind: variable

Calibration present before dynamic calibration.

###### CalibrationQuality::Data calibrationDifference

Kind: variable

Per-metric comparison of new vs old calibration.

###### double dataConfidence

Kind: variable

###### DEPTHAI_SERIALIZE(Data, newCalibration, currentCalibration, calibrationDifference, dataConfidence)

Kind: function

##### std::optional< Data > calibrationData

Kind: variable

Optional calibration result data.

##### std::string info

Kind: variable

Informational result message.

##### DynamicCalibrationResult()

Kind: function

##### ~DynamicCalibrationResult()

Kind: function

##### DynamicCalibrationResult(const Data & data, std::string information)

Kind: function

Construct result including calibration data.

##### DynamicCalibrationResult(std::string information)

Kind: function

Construct result containing only info text.

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(DynamicCalibrationResult, calibrationData, info)

Kind: function

#### dai::EdgeDetectorConfig

Kind: class

EdgeDetectorConfig message. Carries sobel edge filter config.

##### dai::EdgeDetectorConfig::EdgeDetectorConfigData

Kind: struct

###### 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

###### DEPTHAI_SERIALIZE(EdgeDetectorConfigData, sobelFilterHorizontalKernel, sobelFilterVerticalKernel)

Kind: function

##### EdgeDetectorConfigData config

Kind: variable

##### EdgeDetectorConfig()

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

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(EdgeDetectorConfig, Buffer::sequenceNum, Buffer::ts, Buffer::tsDevice, config)

Kind: function

#### dai::EncodedFrame

Kind: class

##### 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

##### ImgFrame::CameraSettings CameraSettings

Kind: enum

##### ImgFrame::Fsync Fsync

Kind: enum

##### 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

##### ImgTransformation transformation

Kind: variable

##### ~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

##### Fsync getFsync()

Kind: function

Retrieves effective frame sync mode for this frame.

##### int getSensorMode()

Kind: function

Retrieves selected sensor mode index for this frame.

##### float getFps()

Kind: function

Retrieves sensor FPS for this frame.

##### 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 & 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 & setSize(unsigned int width, unsigned int height)

Kind: function

Specifies frame size parameters: height: frame height; width: frame width

##### EncodedFrame & setSize(std::tuple< unsigned int, unsigned int > size)

Kind: function

Specifies frame size parameters: size: frame size

##### 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

##### ImgFrame getImgFrameMeta()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(EncodedFrame, cam, instanceNum, width, height, quality, bitrate, profile, lossless, type, frameOffset,
frameSize, transformation, Buffer::sequenceNum, Buffer::ts, Buffer::tsDevice)

Kind: function

#### dai::FeatureTrackerConfig

Kind: class

FeatureTrackerConfig message. Carries config for feature tracking algorithm

##### dai::FeatureTrackerConfig::CornerDetector

Kind: struct

Corner detector configuration structure.

###### dai::FeatureTrackerConfig::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::FeatureTrackerConfig::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::FeatureTrackerConfig::MotionEstimator

Kind: struct

Used for feature reidentification between current and previous features.

###### dai::FeatureTrackerConfig::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.

##### FeatureTrackerConfig()

Kind: function

Construct FeatureTrackerConfig message.

##### ~FeatureTrackerConfig()

Kind: function

##### FeatureTrackerConfig & setCornerDetector(CornerDetector::Type cornerDetector)

Kind: function

Set corner detector algorithm type. parameters: cornerDetector: Corner detector type, HARRIS or SHI_THOMASI

##### FeatureTrackerConfig & setCornerDetector(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(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(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(FeatureMaintainer config)

Kind: function

Set feature maintainer full configuration. parameters: config: feature maintainer configuration

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(FeatureTrackerConfig, cornerDetector, motionEstimator, featureMaintainer)

Kind: function

#### dai::GateControl

Kind: class

##### bool open

Kind: variable

##### int numMessages

Kind: variable

##### int fps

Kind: variable

##### GateControl()

Kind: function

##### GateControl(bool open, int numMessages, int fps)

Kind: function

##### ~GateControl()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(GateControl, open, numMessages, fps)

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::IMUData

Kind: class

IMUData message. Carries normalized detection results

##### std::vector< IMUPacket > packets

Kind: variable

Detections.

##### IMUData()

Kind: function

##### ~IMUData()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(IMUData, Buffer::ts, Buffer::tsDevice, Buffer::sequenceNum, packets)

Kind: function

#### dai::ImageAlignConfig

Kind: class

ImageAlignConfig configuration structure.

##### uint16_t staticDepthPlane

Kind: variable

Optional static depth plane to align to, in depth units, by default millimeters

##### ImageAlignConfig()

Kind: function

##### ~ImageAlignConfig()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(ImageAlignConfig, staticDepthPlane)

Kind: function

#### dai::ImageFiltersConfig

Kind: class

##### std::vector< std::int32_t > filterIndices

Kind: variable

Index of the filter to be applied

##### std::vector< FilterParams > filterParams

Kind: variable

Parameters of the filter to be applied

##### ~ImageFiltersConfig()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### ImageFiltersConfig & updateFilterAtIndex(std::int32_t index, FilterParams params)

Kind: function

Insert filter parameters describing how a filter at index index should be updated parameters: index: Index of the filter to be
inserted; params: Parameters of the filter to be inserted

##### ImageFiltersConfig & insertFilter(FilterParams params)

Kind: function

Insert filter parameters describing how a new filter should be inserted parameters: params: Parameters of the filter to be
inserted

##### void setProfilePreset(ImageFiltersPresetMode presetMode)

Kind: function

Set preset mode for ImageFiltersConfig . parameters: presetMode: Preset mode for ImageFiltersConfig .

##### DEPTHAI_SERIALIZE(ImageFiltersConfig, filterIndices, filterParams)

Kind: function

#### dai::ToFDepthConfidenceFilterConfig

Kind: class

##### float confidenceThreshold

Kind: variable

Threshold for the confidence filter

##### ~ToFDepthConfidenceFilterConfig()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### void setProfilePreset(ImageFiltersPresetMode presetMode)

Kind: function

Set preset mode for ImageFiltersPresetMode. parameters: presetMode: Preset mode for ImageFiltersPresetMode.

##### DEPTHAI_SERIALIZE(ToFDepthConfidenceFilterConfig, confidenceThreshold)

Kind: function

#### dai::OpBase

Kind: struct

##### ~OpBase()

Kind: function

##### std::string toStr()

Kind: function

#### dai::Translate

Kind: struct

##### float offsetX

Kind: variable

##### float offsetY

Kind: variable

##### bool normalized

Kind: variable

##### ~Translate()

Kind: function

##### Translate()

Kind: function

##### Translate(float offsetX, float offsetY, bool normalized)

Kind: function

##### std::string toStr()

Kind: function

##### DEPTHAI_SERIALIZE(Translate, offsetX, offsetY, normalized)

Kind: function

#### dai::Rotate

Kind: struct

##### float angle

Kind: variable

##### bool center

Kind: variable

##### float offsetX

Kind: variable

##### float offsetY

Kind: variable

##### bool normalized

Kind: variable

##### ~Rotate()

Kind: function

##### Rotate()

Kind: function

##### Rotate(float angle, bool center, float offsetX, float offsetY, bool normalized)

Kind: function

##### std::string toStr()

Kind: function

##### DEPTHAI_SERIALIZE(Rotate, angle, center, offsetX, offsetY, normalized)

Kind: function

#### dai::Resize

Kind: struct

##### Mode

Kind: enum

###### VALUE

Kind: enum_value

###### FIT

Kind: enum_value

###### FILL

Kind: enum_value

##### float width

Kind: variable

##### float height

Kind: variable

##### bool normalized

Kind: variable

##### Mode mode

Kind: variable

##### ~Resize()

Kind: function

##### Resize()

Kind: function

##### Resize(float width, float height, bool normalized)

Kind: function

##### std::string toStr()

Kind: function

##### DEPTHAI_SERIALIZE(Resize, width, height, normalized, mode)

Kind: function

#### dai::Flip

Kind: struct

##### Direction

Kind: enum

###### HORIZONTAL

Kind: enum_value

###### VERTICAL

Kind: enum_value

##### Direction direction

Kind: variable

##### bool center

Kind: variable

##### ~Flip()

Kind: function

##### Flip()

Kind: function

##### Flip(Direction direction, bool center)

Kind: function

##### std::string toStr()

Kind: function

##### DEPTHAI_SERIALIZE(Flip, direction, center)

Kind: function

#### dai::Affine

Kind: struct

##### std::array< float, 4 > matrix

Kind: variable

##### ~Affine()

Kind: function

##### Affine()

Kind: function

##### Affine(std::array< float, 4 > matrix)

Kind: function

##### std::string toStr()

Kind: function

##### DEPTHAI_SERIALIZE(Affine, matrix)

Kind: function

#### dai::Perspective

Kind: struct

##### std::array< float, 9 > matrix

Kind: variable

##### ~Perspective()

Kind: function

##### Perspective()

Kind: function

##### Perspective(std::array< float, 9 > matrix)

Kind: function

##### std::string toStr()

Kind: function

##### DEPTHAI_SERIALIZE(Perspective, matrix)

Kind: function

#### dai::FourPoints

Kind: struct

##### std::array< dai::Point2f , 4 > src

Kind: variable

##### std::array< dai::Point2f , 4 > dst

Kind: variable

##### bool normalized

Kind: variable

##### ~FourPoints()

Kind: function

##### FourPoints()

Kind: function

##### FourPoints(std::array< dai::Point2f , 4 > src, std::array< dai::Point2f , 4 > dst, bool normalized)

Kind: function

##### std::string toStr()

Kind: function

##### DEPTHAI_SERIALIZE(FourPoints, src, dst, normalized)

Kind: function

#### dai::Crop

Kind: struct

##### float width

Kind: variable

##### float height

Kind: variable

##### bool normalized

Kind: variable

##### bool center

Kind: variable

##### ~Crop()

Kind: function

##### Crop()

Kind: function

##### Crop(float width, float height, bool normalized, bool center)

Kind: function

##### Crop clone()

Kind: function

##### std::string toStr()

Kind: function

##### DEPTHAI_SERIALIZE(Crop, width, height, normalized, center)

Kind: function

#### dai::ManipOp

Kind: struct

##### std::variant< Translate , Rotate , Resize , Flip , Affine , Perspective , FourPoints , Crop > op

Kind: variable

##### ManipOp()

Kind: function

##### ManipOp(Translate op)

Kind: function

##### ManipOp(Rotate op)

Kind: function

##### ManipOp(Resize op)

Kind: function

##### ManipOp(Flip op)

Kind: function

##### ManipOp(Affine op)

Kind: function

##### ManipOp(Perspective op)

Kind: function

##### ManipOp(FourPoints op)

Kind: function

##### ManipOp(Crop op)

Kind: function

##### DEPTHAI_SERIALIZE(ManipOp, op)

Kind: function

#### dai::ImageManipOpsEnums

Kind: class

##### uint8_t Background

Kind: enum

###### COLOR

Kind: enum_value

##### uint8_t ResizeMode

Kind: enum

###### NONE

Kind: enum_value

###### STRETCH

Kind: enum_value

###### LETTERBOX

Kind: enum_value

###### CENTER_CROP

Kind: enum_value

#### dai::ImageManipOpsBase

Kind: class

##### uint32_t outputWidth

Kind: variable

##### uint32_t outputHeight

Kind: variable

##### bool center

Kind: variable

##### ResizeMode resizeMode

Kind: variable

##### Background background

Kind: variable

##### uint32_t backgroundR

Kind: variable

##### uint32_t backgroundG

Kind: variable

##### uint32_t backgroundB

Kind: variable

##### Colormap colormap

Kind: variable

##### bool undistort

Kind: variable

##### C operations

Kind: variable

##### void cloneTo(ImageManipOpsBase < C2 > & to)

Kind: function

##### bool hasWarp(const size_t inputWidth, const size_t inputHeight)

Kind: function

##### ImageManipOpsBase & addOp(ManipOp op)

Kind: function

##### ImageManipOpsBase & transformPerspective(std::array< float, 9 > matrix)

Kind: function

##### ImageManipOpsBase & transformAffine(std::array< float, 4 > matrix)

Kind: function

##### ImageManipOpsBase & transformFourPoints(std::array< dai::Point2f , 4 > src, std::array< dai::Point2f , 4 > dst, bool
normalizedCoords)

Kind: function

##### ImageManipOpsBase & flipHorizontal(bool center)

Kind: function

##### ImageManipOpsBase & flipVertical(bool center)

Kind: function

##### ImageManipOpsBase & resize(float width, float height, bool normalized)

Kind: function

##### ImageManipOpsBase & crop(float x, float y, float w, float h, bool normalized, bool center)

Kind: function

##### ImageManipOpsBase & resizeFit()

Kind: function

##### ImageManipOpsBase & resizeFill()

Kind: function

##### ImageManipOpsBase & resizeWidthKeepAspectRatio(float width, bool normalized)

Kind: function

##### ImageManipOpsBase & resizeHeightKeepAspectRatio(float height, bool normalized)

Kind: function

##### ImageManipOpsBase & rotateRadians(float angle, bool center, float offsetX, float offsetY, bool normalized)

Kind: function

##### ImageManipOpsBase & rotateDegrees(float angle, bool center, float offsetX, float offsetY, bool normalized)

Kind: function

##### ImageManipOpsBase & translate(float offsetX, float offsetY, bool normalizedCoords)

Kind: function

##### ImageManipOpsBase & setOutputSize(float width, float height)

Kind: function

##### ImageManipOpsBase & setOutputResize(uint32_t width, uint32_t height, ResizeMode mode)

Kind: function

##### ImageManipOpsBase & setOutputCenter(bool c)

Kind: function

##### ImageManipOpsBase & setBackgroundColor(uint32_t red, uint32_t green, uint32_t blue)

Kind: function

##### ImageManipOpsBase & setBackgroundColor(uint32_t val)

Kind: function

##### ImageManipOpsBase & setColormap(Colormap clr)

Kind: function

##### ImageManipOpsBase & setUndistort(bool undistort)

Kind: function

##### bool getUndistort()

Kind: function

##### const C & getOperations()

Kind: function

##### ImageManipOpsBase & clear()

Kind: function

##### DEPTHAI_SERIALIZE(ImageManipOpsBase, operations, outputWidth, outputHeight, center, resizeMode, background, backgroundR,
backgroundG, backgroundB, colormap, undistort)

Kind: function

#### dai::ImageManipConfig

Kind: class

ImageManipConfig message. Specifies image manipulation options like: Crop; Resize; Warp; ...

##### ImageManipOpsBase < Container >::ResizeMode ResizeMode

Kind: enum

##### ImageManipOpsBase < Container > base

Kind: variable

##### ImgFrame::Type outputFrameType

Kind: variable

##### bool reusePreviousImage

Kind: variable

##### bool skipCurrentImage

Kind: variable

##### ImageManipConfig()

Kind: function

##### ~ImageManipConfig()

Kind: function

##### ImageManipConfig & clearOps()

Kind: function

Removes all operations from the list (does not affect output configuration)

##### ImageManipConfig & addCrop(uint32_t x, uint32_t y, uint32_t w, uint32_t h)

Kind: function

Crops the image to the specified rectangle parameters: x: X coordinate of the top-left corner; y: Y coordinate of the top-left
corner; w: Width of the rectangle; h: Height of the rectangle

##### ImageManipConfig & addCrop(dai::Rect rect, bool normalizedCoords)

Kind: function

Crops the image to the specified rectangle parameters: rect: Rect to crop; normalizedCoords: If true, the coordinates are
normalized to range [0, 1] where 1 maps to the width/height of the image

##### ImageManipConfig & addCropRotatedRect(dai::RotatedRect rotatedRect, bool normalizedCoords)

Kind: function

Crops the image to the specified (rotated) rectangle parameters: rect: RotatedRect to crop; normalizedCoords: If true, the
coordinates are normalized to range [0, 1] where 1 maps to the width/height of the image

##### ImageManipConfig & addScale(float scaleX, float scaleY)

Kind: function

Rescales the image using the specified factors parameters: scaleX: Scale factor for the X axis; scaleY: Scale factor for the Y
axis. If not specified, scaleY is set to the same value as scaleX

##### ImageManipConfig & addRotateDeg(float angle)

Kind: function

Rotates the image around its center by the specified angle in degrees parameters: angle: Angle in radians

##### ImageManipConfig & addRotateDeg(float angle, Point2f center)

Kind: function

Rotates the image around the specified point by the specified angle in degrees parameters: angle: Angle in radians; center: Center
of the rotation using normalized coordinates

##### ImageManipConfig & addFlipHorizontal()

Kind: function

Flips the image horizontally

##### ImageManipConfig & addFlipVertical()

Kind: function

Flips the image vertically

##### ImageManipConfig & addTransformAffine(std::array< float, 4 > matrix)

Kind: function

Applies an affine transformation to the image parameters: matrix: an array containing a 2x2 matrix representing the affine
transformation

##### ImageManipConfig & addTransformPerspective(std::array< float, 9 > matrix)

Kind: function

Applies a perspective transformation to the image parameters: matrix: an array containing a 3x3 matrix representing the
perspective transformation

##### ImageManipConfig & addTransformFourPoints(std::array< dai::Point2f , 4 > src, std::array< dai::Point2f , 4 > dst, bool
normalizedCoords)

Kind: function

Applies a perspective transformation to the image parameters: src: Source points; dst: Destination points; normalizedCoords: If
true, the coordinates are normalized to range [0, 1] where 1 maps to the width/height of the image

##### ImageManipConfig & setOutputSize(uint32_t w, uint32_t h, ResizeMode mode)

Kind: function

Sets the output size of the image parameters: w: Width of the output image; h: Height of the output image; mode: Resize mode. NONE
- no resize, STRETCH - stretch to fit, LETTERBOX - keep aspect ratio and pad with background color, CENTER_CROP - keep aspect
ratio and crop

##### ImageManipConfig & setOutputCenter(bool c)

Kind: function

Centers the content in the output image without resizing parameters: c: True to center the content, false otherwise

##### ImageManipConfig & setColormap(Colormap colormap)

Kind: function

Sets the colormap to be applied to a grayscale image parameters: colormap: Colormap type to be applied

##### ImageManipConfig & setBackgroundColor(uint32_t red, uint32_t green, uint32_t blue)

Kind: function

Sets the rgb background color of the output image parameters: red: Red component of the background color; green: Green component
of the background color; blue: Blue component of the background color

##### ImageManipConfig & setBackgroundColor(uint32_t val)

Kind: function

Sets the grayscale background color of the output image parameters: val: Grayscale value of the background color

##### ImageManipConfig & setFrameType(ImgFrame::Type frameType)

Kind: function

Sets the frame type of the output image parameters: frameType: Frame type of the output image

##### ImageManipConfig & setUndistort(bool undistort)

Kind: function

Sets the undistort flag

##### bool getUndistort()

Kind: function

Gets the undistort flag return: True if undistort is enabled, 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

##### bool getReusePreviousImage()

Kind: function

Instruct ImageManip to not remove current image from its queue and use the same for next message. return: True to enable reuse,
false otherwise

##### bool getSkipCurrentImage()

Kind: function

Instructs ImageManip to skip current image and wait for next in queue. return: True to skip current image, false otherwise

##### DEPTHAI_SERIALIZE(ImageManipConfig, base, outputFrameType, reusePreviousImage, skipCurrentImage)

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

#### dai::CircleAnnotation

Kind: struct

##### Point2f position

Kind: variable

##### float diameter

Kind: variable

##### float thickness

Kind: variable

##### Color fillColor

Kind: variable

##### Color outlineColor

Kind: variable

#### dai::PointsAnnotation

Kind: struct

##### PointsAnnotationType type

Kind: variable

##### std::vector< Point2f > points

Kind: variable

##### Color outlineColor

Kind: variable

##### std::vector< Color > outlineColors

Kind: variable

##### Color fillColor

Kind: variable

##### float thickness

Kind: variable

#### dai::TextAnnotation

Kind: struct

##### Point2f position

Kind: variable

##### std::string text

Kind: variable

##### float fontSize

Kind: variable

##### Color textColor

Kind: variable

##### Color backgroundColor

Kind: variable

#### dai::ImgAnnotation

Kind: struct

##### std::vector< CircleAnnotation > circles

Kind: variable

##### std::vector< PointsAnnotation > points

Kind: variable

##### std::vector< TextAnnotation > texts

Kind: variable

#### dai::ImgAnnotations

Kind: class

ImgAnnotations message. Carries annotations for an image.

##### std::vector< ImgAnnotation > annotations

Kind: variable

Transform .

##### std::optional< ImgTransformation > transformation

Kind: variable

##### ImgAnnotations()

Kind: function

Construct ImgAnnotations message.

##### ImgAnnotations(std::vector< ImgAnnotation > annotations)

Kind: function

##### ~ImgAnnotations()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(ImgAnnotations, Buffer::sequenceNum, Buffer::ts, Buffer::tsDevice, annotations, transformation)

Kind: function

#### dai::ImgDetection

Kind: struct

##### uint32_t label

Kind: variable

##### std::string labelName

Kind: variable

##### float confidence

Kind: variable

##### float xmin

Kind: variable

##### float ymin

Kind: variable

##### float xmax

Kind: variable

##### float ymax

Kind: variable

##### std::optional< RotatedRect > boundingBox

Kind: variable

##### std::optional< KeypointsList > keypoints

Kind: variable

##### ImgDetection()

Kind: function

##### ImgDetection(const RotatedRect & boundingBox, float confidence, uint32_t label)

Kind: function

##### ImgDetection(const RotatedRect & boundingBox, std::string labelName, float confidence, uint32_t label)

Kind: function

##### ImgDetection(const RotatedRect & boundingBox, const KeypointsList & keypoints, float confidence, uint32_t label)

Kind: function

##### ImgDetection(const RotatedRect & boundingBox, const KeypointsList & keypoints, std::string labelName, float confidence,
uint32_t label)

Kind: function

##### void setBoundingBox(RotatedRect boundingBox)

Kind: function

Sets the bounding box and the legacy coordinates of the detection.

##### RotatedRect getBoundingBox()

Kind: function

Returns bounding box if it was set, else it constructs a new one from the legacy xmin, ymin, xmax, ymax values.

##### void setOuterBoundingBox(const float xmin, const float ymin, const float xmax, const float ymax)

Kind: function

Sets the bounding box and the legacy coordinates of the detection from the top-left and bottom-right points.

##### std::array< float, 4 > getOuterBoundingBox()

Kind: function

Returns the outer bounding box as [minx, miny, maxx, maxy].

##### void setKeypoints(const KeypointsList keypoints)

Kind: function

Sets the keypoints of the detection. parameters: keypoints: list of Keypoint objects to set. note: This will clear any existing
keypoints and edges.

##### void setKeypoints(const std::vector< Keypoint > keypoints)

Kind: function

Sets the keypoints of the detection. parameters: keypoints: list of Keypoint objects to set. note: This will clear any existing
keypoints and edges.

##### void setKeypoints(const std::vector< Keypoint > keypoints, const std::vector< Edge > edges)

Kind: function

Sets the keypoints of the detection. parameters: keypoints: list of Point2f objects to set. note: This will clear any existing
keypoints and edges.

##### void setKeypoints(const std::vector< Point3f > keypoints)

Kind: function

Sets the keypoints of the detection. parameters: keypoints: list of Point3f objects to set. note: This will clear any existing
keypoints and edges.

##### void setKeypoints(const std::vector< Point2f > keypoints)

Kind: function

Sets the keypoints of the detection. parameters: keypoints: list of Point2f objects to set. note: This will clear any existing
keypoints and edges.

##### std::vector< Keypoint > getKeypoints()

Kind: function

Returns a list of Keypoint objects, or empty list if no keypoints were set.

##### std::vector< Point2f > getKeypoints2f()

Kind: function

Returns a list of Point2f coordinates of the keypoints, or empty list if no keypoints were set.

##### std::vector< Point3f > getKeypoints3f()

Kind: function

Returns a list of Point3f coordinates of the keypoints, or empty list if no keypoints were set.

##### void setEdges(const std::vector< Edge > edges)

Kind: function

Sets edges for the keypoints, throws if no keypoints were set beforehand.

##### std::vector< Edge > getEdges()

Kind: function

Returns a list of edges, each edge is a pair of indices, or empty list if no keypoints were set.

##### float getCenterX()

Kind: function

Returns the X coordinate of the center of the bounding box.

##### float getCenterY()

Kind: function

Returns the Y coordinate of the center of the bounding box.

##### float getWidth()

Kind: function

Returns the width of the (rotated) bounding box.

##### float getHeight()

Kind: function

Returns the height of the (rotated) bounding box.

##### float getAngle()

Kind: function

Returns the angle of the bounding box.

##### DEPTHAI_SERIALIZE(ImgDetection, label, labelName, confidence, xmin, ymin, xmax, ymax, boundingBox, keypoints)

Kind: function

#### dai::ImgDetections

Kind: class

ImgDetections message. Carries normalized detections and optional segmentation mask. The segmentation mask is stored as a
single-channel INT8 2-d array, where the value represents the instance index in the list of detections. The value 255 is treated
as a background pixel (no instance).

##### ImgDetectionsT < dai::ImgDetection > Base

Kind: enum

##### std::vector< DetectionT > detections

Kind: variable

##### size_t segmentationMaskHeight

Kind: variable

##### size_t segmentationMaskWidth

Kind: variable

##### std::optional< ImgTransformation > transformation

Kind: variable

##### ~ImgDetections()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(ImgDetections, Base::Buffer::sequenceNum, Base::Buffer::ts, Base::Buffer::tsDevice, detections,
transformation, segmentationMaskWidth, segmentationMaskHeight)

Kind: function

#### dai::ImgDetectionsT

Kind: class

##### std::vector< DetectionT > detections

Kind: variable

##### std::optional< ImgTransformation > transformation

Kind: variable

##### ImgDetectionsT()

Kind: function

##### ~ImgDetectionsT()

Kind: function

##### std::size_t getSegmentationMaskWidth()

Kind: function

Returns the width of the segmentation mask.

##### std::size_t getSegmentationMaskHeight()

Kind: function

Returns the height of the segmentation mask.

##### void setSegmentationMask(const std::vector< std::uint8_t > & mask, size_t width, size_t height)

Kind: function

Sets the segmentation mask from a vector of bytes. The size of the vector must be equal to width * height.

##### void setSegmentationMask(dai::ImgFrame & frame)

Kind: function

Sets the segmentation mask from an ImgFrame . parameters: frame: Frame must be of type GRAY8

##### std::optional< std::vector< std::uint8_t > > getMaskData()

Kind: function

Returns a copy of the segmentation mask data as a vector of bytes. If mask data is not set, returns std::nullopt.

##### std::optional< dai::ImgFrame > getSegmentationMask()

Kind: function

Returns the segmentation mask as an ImgFrame . If mask data is not set, returns std::nullopt.

##### void setCvSegmentationMask(cv::Mat mask)

Kind: function

note: This API only available if OpenCV support is enabled Copies cv::Mat data to Segmentation Mask buffer parameters: frame:
Input cv::Mat frame from which to copy the data note: Throws if mask is not a single channel INT8 type.

##### std::optional< cv::Mat > getCvSegmentationMask(cv::MatAllocator * allocator)

Kind: function

Retrieves mask data as a cv::Mat copy with specified width and height. If mask data is not set, returns std::nullopt. parameters:
allocator: Allows callers to supply a custom cv::MatAllocator for zero-copy/custom memory management; nullptr uses OpenCV’s
default.

##### std::optional< cv::Mat > getCvSegmentationMaskByIndex(uint8_t index, cv::MatAllocator * allocator)

Kind: function

Returns a binary mask where pixels belonging to the instance index are set to 1, others to 0. If mask data is not set, returns
std::nullopt. parameters: index: Instance index; allocator: Allows callers to supply a custom cv::MatAllocator for
zero-copy/custom memory management; nullptr uses OpenCV’s default.

##### std::optional< cv::Mat > getCvSegmentationMaskByClass(uint8_t semanticClass, cv::MatAllocator * allocator)

Kind: function

Retrieves data by the semantic class. If no mask data is not set, returns std::nullopt. parameters: semanticClass: Semantic class
index; allocator: Allows callers to supply a custom cv::MatAllocator for zero-copy/custom memory management; nullptr uses OpenCV’s
default.

#### dai::ImgFrame

Kind: class

ImgFrame message. Carries image data and metadata.

##### dai::ImgFrame::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

###### Fsync fsync

Kind: variable

###### int32_t sensorMode

Kind: variable

###### float fps

Kind: variable

###### DEPTHAI_SERIALIZE(CameraSettings, exposureTimeUs, sensitivityIso, lensPosition, wbColorTemp, lensPositionRaw, fsync,
sensorMode, fps)

Kind: function

##### dai::ImgFrame::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

##### int32_t Fsync

Kind: enum

###### NONE

Kind: enum_value

###### INPUT

Kind: enum_value

###### OUTPUT

Kind: enum_value

###### PTP

Kind: enum_value

##### 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

###### RAW32

Kind: enum_value

###### NONE

Kind: enum_value

##### Specs fb

Kind: variable

##### Specs sourceFb

Kind: variable

##### CameraSettings cam

Kind: variable

##### uint32_t category

Kind: variable

##### uint32_t instanceNum

Kind: variable

##### dai::FrameEvent event

Kind: variable

##### ImgTransformation transformation

Kind: variable

##### ImgFrame()

Kind: function

Construct ImgFrame message. Timestamp is set to now

##### ImgFrame(long fd)

Kind: function

##### ImgFrame(size_t size)

Kind: function

##### ImgFrame(long fd, size_t size)

Kind: function

##### ~ImgFrame()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### 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 getStride()

Kind: function

Retrieves image line stride in bytes

##### unsigned int getPlaneStride(int planeIndex)

Kind: function

Retrieves image plane stride (offset to next plane) in bytes parameters: current: plane index, 0 or 1

##### unsigned int getHeight()

Kind: function

Retrieves image height in pixels

##### unsigned int getPlaneHeight()

Kind: function

Retrieves image plane height in lines

##### unsigned int getSourceWidth()

Kind: function

Retrieves source image width in pixels

##### unsigned int getSourceHeight()

Kind: function

Retrieves source image height in pixels

##### Type getType()

Kind: function

Retrieves image type

##### float getBytesPerPixel()

Kind: function

Retrieves image bytes per pixel

##### 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

##### Fsync getFsync()

Kind: function

Retrieves effective frame sync mode for this frame.

##### int getSensorMode()

Kind: function

Retrieves selected sensor mode index for this frame.

##### float getFps()

Kind: function

Retrieves sensor FPS for this frame.

##### ImgTransformation & getTransformation()

Kind: function

Retrieves image transformation data

##### 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 & setWidth(unsigned int width)

Kind: function

Specifies frame width parameters: width: frame width

##### ImgFrame & setStride(unsigned int stride)

Kind: function

Specifies frame stride parameters: stride: frame stride

##### 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 & setSourceSize(unsigned int width, unsigned int height)

Kind: function

Specifies source frame size parameters: height: frame height; width: frame width

##### ImgFrame & setSourceSize(std::tuple< unsigned int, unsigned int > size)

Kind: function

Specifies source frame size parameters: size: frame size

##### ImgFrame & setType(Type type)

Kind: function

Specifies frame type, RGB, BGR, ... parameters: type: Type of image

##### ImgFrame & setTransformation(const ImgTransformation & transformation)

Kind: function

Specifies image transformation data parameters: transformation: transformation data

##### Point2f remapPointFromSource(const Point2f & point)

Kind: function

Remap a point from the current frame to the source frame parameters: point: point to remap return: remapped point

##### Point2f remapPointToSource(const Point2f & point)

Kind: function

Remap a point from the source frame to the current frame parameters: point: point to remap return: remapped point

##### Rect remapRectFromSource(const Rect & rect)

Kind: function

Remap a rectangle from the source frame to the current frame parameters: rect: rectangle to remap return: remapped rectangle

##### Rect remapRectToSource(const Rect & rect)

Kind: function

Remap a rectangle from the current frame to the source frame parameters: rect: rectangle to remap return: remapped rectangle

##### ImgFrame & setMetadata(const ImgFrame & sourceFrame)

Kind: function

Convenience function to initialize meta data from another frame Copies over timestamps, transformations done on the image, etc.
parameters: sourceFrame: source frame from which the metadata is taken from

##### ImgFrame & setMetadata(const std::shared_ptr< ImgFrame > & sourceFrame)

Kind: function

Convenience function to initialize meta data from another frame Copies over timestamps, transformations done on the image, etc.
parameters: sourceFrame: shared pointer to source frame from which the metadata is taken from

##### ImgFrame & copyDataFrom(const ImgFrame & sourceFrame)

Kind: function

Convenience function to set the data of the ImgFrame parameters: data: data to set

##### ImgFrame & copyDataFrom(const std::shared_ptr< ImgFrame > & sourceFrame)

Kind: function

Convenience function to set the data of the ImgFrame parameters: data: data to set

##### std::shared_ptr< ImgFrame > clone()

Kind: function

Create a clone of the ImgFrame with metadata and data copied return: cloned ImgFrame

##### float getSourceDFov()

Kind: function

note: Fov API works correctly only on rectilinear frames Get the source diagonal field of view in degrees return: field of view in
degrees

##### float getSourceHFov()

Kind: function

note: Fov API works correctly only on rectilinear frames Get the source horizontal field of view parameters: degrees: field of
view in degrees

##### float getSourceVFov()

Kind: function

note: Fov API works correctly only on rectilinear frames Get the source vertical field of view parameters: degrees: field of view
in degrees

##### bool validateTransformations()

Kind: function

Check that the image transformation match the image size return: true if the transformations are valid

##### 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(cv::MatAllocator * allocator)

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

##### ImgFrame & setCvFrame(cv::Mat frame, Type type)

Kind: function

note: This API only available if OpenCV support is enabled ImgFrame buffer and converts to a specific type. parameters: frame:
Input cv::Mat BGR frame or single channel frame from which to copy the data from.; type: Specifies the target image format for the
internal buffer, including color space, layout, and bit depth.

##### DEPTHAI_SERIALIZE(ImgFrame, Buffer::ts, Buffer::tsDevice, Buffer::sequenceNum, fb, sourceFb, cam, category, instanceNum,
transformation)

Kind: function

##### 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::MapData

Kind: class

MapData message. Carries grid map data and minX/minY messages to help place it in 3D space.

##### dai::ImgFrame map

Kind: variable

##### float minX

Kind: variable

##### float minY

Kind: variable

##### MapData()

Kind: function

##### ~MapData()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DEPTHAI_SERIALIZE(MapData, Buffer::ts, Buffer::tsDevice, Buffer::sequenceNum, map, minX, minY)

Kind: function

#### dai::MessageGroup

Kind: class

MessageGroup message. Carries multiple messages in one.

##### std::map< std::string, std::shared_ptr< ADatatype > > group

Kind: variable

##### ~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

##### std::shared_ptr< ADatatype > get(const std::string & name)

Kind: function

##### void add(const std::string & name, const std::shared_ptr< ADatatype > & value)

Kind: function

##### std::map< std::string, std::shared_ptr< ADatatype > >::iterator begin()

Kind: function

##### std::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

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(MessageGroup, group, Buffer::ts, Buffer::tsDevice, Buffer::sequenceNum)

Kind: function

#### dai::NNData

Kind: class

NNData message. Carries tensors and their metadata

##### std::vector< TensorInfo > tensors

Kind: variable

##### unsigned int batchSize

Kind: variable

##### std::optional< ImgTransformation > transformation

Kind: variable

##### NNData()

Kind: function

Construct NNData message.

##### NNData(size_t size)

Kind: function

##### ~NNData()

Kind: function

##### 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

##### std::optional< TensorInfo > getTensorInfo(const std::string & name)

Kind: function

Retrieve tensor information parameters: name: Name of the tensor return: Tensor 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

##### TensorInfo::DataType getTensorDatatype(const std::string & name)

Kind: function

Get the datatype of a given tensor return: TensorInfo::DataType tensor datatype

##### TensorInfo::DataType getFirstTensorDatatype()

Kind: function

Get the datatype of the first tensor return: TensorInfo::DataType tensor datatype

##### span< std::uint8_t > emplaceTensor(TensorInfo & tensor)

Kind: function

Emplace a tensor This function allocates memory for the tensor and return over the said memory. It is up to the caller to fill the
memory out with meaningful data. return: Span over the allocated memory

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(NNData, Buffer::sequenceNum, Buffer::ts, Buffer::tsDevice, tensors, batchSize, transformation)

Kind: function

#### dai::NeuralDepthConfig

Kind: class

NeuralDepthConfig message.

##### dai::NeuralDepthConfig::AlgorithmControl

Kind: struct

###### dai::DepthUnit DepthUnit

Kind: enum

###### 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.

###### DEPTHAI_SERIALIZE(AlgorithmControl, depthUnit, customDepthUnitMultiplier)

Kind: function

##### dai::NeuralDepthConfig::PostProcessing

Kind: struct

###### filters::params::TemporalFilter TemporalFilter

Kind: enum

###### uint8_t confidenceThreshold

Kind: variable

Confidence threshold for disparity calculation, Confidences above this value will be considered valid. Valid range is [0,255].

###### uint8_t edgeThreshold

Kind: variable

Edge threshold for disparity calculation, Pixels with edge magnitude below this value will be considered invalid. Valid range is
[0,255].

###### TemporalFilter temporalFilter

Kind: variable

Temporal filtering with optional persistence.

###### DEPTHAI_SERIALIZE(PostProcessing, confidenceThreshold, edgeThreshold, temporalFilter)

Kind: function

##### 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.

##### NeuralDepthConfig()

Kind: function

Construct NeuralDepthConfig message.

##### ~NeuralDepthConfig()

Kind: function

##### NeuralDepthConfig & setConfidenceThreshold(uint8_t confThr)

Kind: function

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

##### uint8_t getConfidenceThreshold()

Kind: function

Get confidence threshold for disparity calculation

##### NeuralDepthConfig & setEdgeThreshold(uint8_t edgeThr)

Kind: function

Set edge threshold for disparity calculation parameters: edgeThr: Edge threshold value 0..255

##### uint8_t getEdgeThreshold()

Kind: function

Get edge threshold for disparity calculation

##### NeuralDepthConfig & setDepthUnit(AlgorithmControl::DepthUnit depthUnit)

Kind: function

Set depth unit of depth map.

##### AlgorithmControl::DepthUnit getDepthUnit()

Kind: function

Get depth unit of depth map.

##### NeuralDepthConfig & setCustomDepthUnitMultiplier(float multiplier)

Kind: function

Set custom depth unit multiplier relative to 1 meter.

##### float getCustomDepthUnitMultiplier()

Kind: function

Get custom depth unit multiplier relative to 1 meter.

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DEPTHAI_SERIALIZE(NeuralDepthConfig, algorithmControl, postProcessing)

Kind: function

#### dai::ObjectTrackerConfig

Kind: class

ObjectTrackerConfig message. Carries ROI (region of interest) and threshold for depth calculation

##### std::vector< int32_t > trackletIdsToRemove

Kind: variable

Tracklet IDs to remove from tracking. Tracklet will transition to REMOVED state.

##### ObjectTrackerConfig()

Kind: function

Construct ObjectTrackerConfig message.

##### ~ObjectTrackerConfig()

Kind: function

##### ObjectTrackerConfig & forceRemoveID(int32_t id)

Kind: function

Force remove a tracklet with specified ID.

##### ObjectTrackerConfig & forceRemoveIDs(std::vector< int32_t > ids)

Kind: function

Force remove tracklets with specified IDs.

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(ObjectTrackerConfig, Buffer::sequenceNum, Buffer::ts, Buffer::tsDevice, trackletIdsToRemove)

Kind: function

#### dai::PipelineEvent

Kind: class

Pipeline event message.

##### std::int32_t Type

Kind: enum

###### CUSTOM

Kind: enum_value

###### LOOP

Kind: enum_value

###### INPUT

Kind: enum_value

###### OUTPUT

Kind: enum_value

###### INPUT_BLOCK

Kind: enum_value

###### OUTPUT_BLOCK

Kind: enum_value

##### std::int32_t Interval

Kind: enum

###### NONE

Kind: enum_value

###### START

Kind: enum_value

###### END

Kind: enum_value

##### std::int32_t Status

Kind: enum

###### SUCCESS

Kind: enum_value

###### BLOCKED

Kind: enum_value

###### CANCELLED

Kind: enum_value

##### int64_t nodeId

Kind: variable

##### Status status

Kind: variable

##### std::optional< uint32_t > queueSize

Kind: variable

##### Interval interval

Kind: variable

##### Type type

Kind: variable

##### std::string source

Kind: variable

##### PipelineEvent()

Kind: function

##### ~PipelineEvent()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(PipelineEvent, Buffer::ts, Buffer::tsDevice, Buffer::sequenceNum, nodeId, status, queueSize, interval,
type, source)

Kind: function

#### dai::NodeEventAggregationConfig

Kind: class

##### int64_t nodeId

Kind: variable

##### std::optional< std::vector< std::string > > inputs

Kind: variable

##### std::optional< std::vector< std::string > > outputs

Kind: variable

##### std::optional< std::vector< std::string > > others

Kind: variable

##### bool events

Kind: variable

##### DEPTHAI_SERIALIZE(NodeEventAggregationConfig, nodeId, inputs, outputs, others, events)

Kind: function

#### dai::PipelineEventAggregationConfig

Kind: class

PipelineEventAggregationConfig configuration structure.

##### std::vector< NodeEventAggregationConfig > nodes

Kind: variable

##### std::optional< uint32_t > repeatIntervalSeconds

Kind: variable

##### PipelineEventAggregationConfig()

Kind: function

##### ~PipelineEventAggregationConfig()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(PipelineEventAggregationConfig, Buffer::ts, Buffer::tsDevice, Buffer::sequenceNum, nodes,
repeatIntervalSeconds)

Kind: function

#### dai::NodeState

Kind: class

##### dai::NodeState::DurationEvent

Kind: struct

###### PipelineEvent startEvent

Kind: variable

###### uint64_t durationUs

Kind: variable

###### DEPTHAI_SERIALIZE(DurationEvent, startEvent, durationUs)

Kind: function

##### dai::NodeState::DurationStats

Kind: struct

###### uint64_t minMicros

Kind: variable

###### uint64_t maxMicros

Kind: variable

###### uint64_t averageMicrosRecent

Kind: variable

###### uint64_t stdDevMicrosRecent

Kind: variable

###### uint64_t minMicrosRecent

Kind: variable

###### uint64_t maxMicrosRecent

Kind: variable

###### uint64_t medianMicrosRecent

Kind: variable

###### DEPTHAI_SERIALIZE(DurationStats, minMicros, maxMicros, averageMicrosRecent, stdDevMicrosRecent, minMicrosRecent,
maxMicrosRecent, medianMicrosRecent)

Kind: function

##### dai::NodeState::InputQueueState

Kind: struct

###### std::int32_t State

Kind: enum

###### IDLE

Kind: enum_value

###### WAITING

Kind: enum_value

###### BLOCKED

Kind: enum_value

###### enum dai::NodeState::InputQueueState::State state

Kind: variable

###### uint32_t numQueued

Kind: variable

###### Timing timing

Kind: variable

###### QueueStats queueStats

Kind: variable

###### bool isValid()

Kind: function

###### DEPTHAI_SERIALIZE(InputQueueState, state, numQueued, timing, queueStats)

Kind: function

##### dai::NodeState::OutputQueueState

Kind: struct

###### std::int32_t State

Kind: enum

###### IDLE

Kind: enum_value

###### SENDING

Kind: enum_value

###### enum dai::NodeState::OutputQueueState::State state

Kind: variable

###### Timing timing

Kind: variable

###### bool isValid()

Kind: function

###### DEPTHAI_SERIALIZE(OutputQueueState, state, timing)

Kind: function

##### dai::NodeState::QueueStats

Kind: struct

###### uint32_t maxQueued

Kind: variable

###### uint32_t minQueuedRecent

Kind: variable

###### uint32_t maxQueuedRecent

Kind: variable

###### uint32_t medianQueuedRecent

Kind: variable

###### DEPTHAI_SERIALIZE(QueueStats, maxQueued, minQueuedRecent, maxQueuedRecent, medianQueuedRecent)

Kind: function

##### dai::NodeState::Timing

Kind: struct

###### float fps

Kind: variable

###### DurationStats durationStats

Kind: variable

###### bool isValid()

Kind: function

###### DEPTHAI_SERIALIZE(Timing, fps, durationStats)

Kind: function

##### std::int32_t State

Kind: enum

###### IDLE

Kind: enum_value

###### GETTING_INPUTS

Kind: enum_value

###### PROCESSING

Kind: enum_value

###### SENDING_OUTPUTS

Kind: enum_value

##### State state

Kind: variable

##### std::vector< DurationEvent > events

Kind: variable

##### std::unordered_map< std::string, OutputQueueState > outputStates

Kind: variable

##### std::unordered_map< std::string, InputQueueState > inputStates

Kind: variable

##### Timing inputsGetTiming

Kind: variable

##### Timing outputsSendTiming

Kind: variable

##### Timing mainLoopTiming

Kind: variable

##### std::unordered_map< std::string, Timing > otherTimings

Kind: variable

##### DEPTHAI_SERIALIZE(NodeState, state, events, outputStates, inputStates, inputsGetTiming, outputsSendTiming, mainLoopTiming,
otherTimings)

Kind: function

#### dai::PipelineState

Kind: class

Pipeline event message.

##### std::unordered_map< int64_t, NodeState > nodeStates

Kind: variable

##### uint32_t configSequenceNum

Kind: variable

##### PipelineState()

Kind: function

##### ~PipelineState()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### nlohmann::json toJson()

Kind: function

##### DEPTHAI_SERIALIZE(PipelineState, Buffer::ts, Buffer::tsDevice, Buffer::sequenceNum, nodeStates, configSequenceNum)

Kind: function

#### dai::PointCloudConfig

Kind: class

PointCloudConfig message. Carries point cloud output settings.

##### uint8_t CoordinateSystemType

Kind: enum

###### DEFAULT

Kind: enum_value

Default (camera coordinates, no additional transformation)

###### CAMERA_SOCKET

Kind: enum_value

Transform to another camera.

###### HOUSING

Kind: enum_value

Transform to housing coordinate system.

##### PointCloudConfig()

Kind: function

##### ~PointCloudConfig()

Kind: function

##### bool getOrganized()

Kind: function

Retrieve whether the point cloud is organized (all width*height points kept). return: true if all width*height points are output,
false if only valid (z > 0) points are kept

##### std::array< std::array< float, 4 >, 4 > getTransformationMatrix()

Kind: function

Retrieve transformation matrix applied to every output point. return: 4x4 row-major transformation matrix (identity by default)

##### LengthUnit getLengthUnit()

Kind: function

Retrieve the length unit used for output point coordinates.

##### PointCloudConfig & setOrganized(bool enable)

Kind: function

Enable or disable organized point cloud output. When true all width*height points are kept; when false only points with z > 0 are
emitted.

##### PointCloudConfig & setTransformationMatrix(const std::array< std::array< float, 4 >, 4 > & transformationMatrix)

Kind: function

Set a 4x4 transformation matrix applied to every output point. Default is the identity matrix.

##### PointCloudConfig & setTransformationMatrix(const std::array< std::array< float, 3 >, 3 > & transformationMatrix)

Kind: function

Convenience overload: set a 3x3 rotation matrix (translation set to zero).

##### PointCloudConfig & setLengthUnit(LengthUnit unit)

Kind: function

Set the length unit for output point coordinates.

##### PointCloudConfig & setTargetCoordinateSystem(CameraBoardSocket targetCamera, bool useSpecTranslation)

Kind: function

Set target coordinate system to another camera socket. parameters: targetCamera: Target camera socket; useSpecTranslation: Use
spec translation instead of calibration (default: false)

##### PointCloudConfig & setTargetCoordinateSystem(HousingCoordinateSystem housingCS, bool useSpecTranslation)

Kind: function

Set target coordinate system to housing coordinate system. parameters: housingCS: Target housing coordinate system;
useSpecTranslation: Whether to use spec translation (default: true)

##### CoordinateSystemType getCoordinateSystemType()

Kind: function

Retrieve the coordinate system type.

##### CameraBoardSocket getTargetCameraSocket()

Kind: function

Retrieve the target camera socket (valid when coordSystemType == CAMERA_SOCKET).

##### HousingCoordinateSystem getTargetHousingCS()

Kind: function

Retrieve the target housing coordinate system (valid when coordSystemType == HOUSING).

##### bool getUseSpecTranslation()

Kind: function

Retrieve whether spec translation is used.

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DEPTHAI_SERIALIZE(PointCloudConfig, Buffer::sequenceNum, Buffer::ts, Buffer::tsDevice, organized, transformationMatrix,
lengthUnit, coordSystemType, targetCameraSocket, targetHousingCS, useSpecTranslation)

Kind: function

#### dai::PointCloudData

Kind: class

PointCloudData message. Carries point cloud data.

##### dai::PointCloudData::dependent_false

Kind: struct

##### ImgTransformation transformation

Kind: variable

##### PointCloudData()

Kind: function

Construct PointCloudData message.

##### ~PointCloudData()

Kind: function

##### std::vector< Point3f > getPoints()

Kind: function

##### std::vector< Point3fRGBA > getPointsRGB()

Kind: function

##### void setPoints(const std::vector< Point3f > & points)

Kind: function

##### void setPointsRGB(const std::vector< Point3fRGBA > & points)

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

##### bool isOrganized()

Kind: function

Retrieves whether point cloud is organized (height > 1) Organized point clouds have width x height structure from the original
image Sparse point clouds have height == 1 and only contain valid points

##### bool isColor()

Kind: function

Retrieves whether point cloud is color

##### 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)

##### PointCloudData & setSparse(bool val)

Kind: function

Specifies whether point cloud is sparse parameters: val: whether point cloud is sparse

##### PointCloudData & setColor(bool val)

Kind: function

Specifies whether point cloud is color parameters: val: whether point cloud is color

##### PointCloudData & setInstanceNum(unsigned int instanceNum)

Kind: function

Specifies instance number parameters: instanceNum: instance number

##### const ImgTransformation & getTransformation()

Kind: function

Retrieves image transformation data

##### PointCloudData & setTransformation(const ImgTransformation & transformation)

Kind: function

Specifies image transformation data parameters: transformation: transformation data

##### PointCloudData & updateBoundingBox()

Kind: function

Recomputes the bounding box (min/max X, Y, Z) from the current point data. All stored points are included regardless of their z
value. If the cloud is empty, all bounds are set to 0.

##### void getPclData()

Kind: function

##### void setPclData(T...)

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(PointCloudData, width, height, minx, miny, minz, maxx, maxy, maxz, instanceNum, color, transformation,
Buffer::ts, Buffer::tsDevice, Buffer::sequenceNum)

Kind: function

##### int64_t getSequenceNum()

Kind: function

Retrieves image 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::RGBDData

Kind: class

RGBD message. Carries RGB and Depth frames. Frames can be either of type ImgFrame or EncodedFrame .

##### std::variant< std::shared_ptr< ImgFrame >, std::shared_ptr< EncodedFrame > > FrameVariant

Kind: enum

##### RGBDData()

Kind: function

Construct RGBD message.

##### ~RGBDData()

Kind: function

##### void setRGBFrame(const FrameVariant & frame)

Kind: function

##### void setDepthFrame(const FrameVariant & frame)

Kind: function

##### std::optional< FrameVariant > getRGBFrame()

Kind: function

##### std::optional< FrameVariant > getDepthFrame()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(RGBDData, colorFrame, depthFrame, Buffer::ts, Buffer::tsDevice, Buffer::sequenceNum)

Kind: function

#### dai::SegmentationMask

Kind: class

SegmentationMask message. Segmentation mask of an image is stored as a single-channel UINT8 array, where each value represents a
class or instance index. The value 255 is treated as background pixels (no class/instance).

##### std::optional< ImgTransformation > transformation

Kind: variable

##### SegmentationMask()

Kind: function

##### SegmentationMask(const std::vector< std::uint8_t > & data, size_t width, size_t height)

Kind: function

##### ~SegmentationMask()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

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

Kind: function

Sets the size of the segmentation mask. note: Use with caution as it sets the metadata of the mask without allocating or resizing
the underlying data array.

##### std::size_t getWidth()

Kind: function

Returns the width of the segmentation mask.

##### std::size_t getHeight()

Kind: function

Returns the height of the segmentation mask.

##### void setMask(const std::vector< std::uint8_t > & mask, size_t width, size_t height)

Kind: function

Sets the segmentation mask from a vector of bytes. The size of the vector must be equal to width * height.

##### void setMask(dai::ImgFrame & frame)

Kind: function

Sets the segmentation mask from an ImgFrame . parameters: frame: Frame must be of type GRAY8

##### void setMask(span< const std::uint8_t > mask, size_t width, size_t height)

Kind: function

Sets the segmentation mask from a byte span without an extra temporary vector. The span size must be equal to width * height.

##### span< std::uint8_t > prepareMask(size_t width, size_t height)

Kind: function

Prepares internal storage for writing and returns a mutable view to it. The caller must fill exactly width * height bytes.

##### void setLabels(const std::vector< std::string > & labels)

Kind: function

Sets the class labels associated with the segmentation mask. The label at index parameters: labels: Vector of class labels

##### std::vector< std::uint8_t > getMaskData()

Kind: function

Returns a copy of the segmentation mask data as a vector of bytes. If mask data is not set, returns an empty vector.

##### dai::ImgFrame getFrame()

Kind: function

Returns the segmentation mask as an ImgFrame . If mask data is not set, returns an empty frame with only metadata set.

##### std::optional< uint32_t > getArea(uint8_t index)

Kind: function

Returns the area (number of pixels) of the specified instance/class index in the segmentation mask. parameters: index:
Instance/Class index note: If index is not present in the mask, returns std::nullopt.

##### std::optional< dai::Point2f > getCentroid(uint8_t index)

Kind: function

Returns the normalized centroid (x,y) coordinates of the specified instance/class index in the segmentation mask. parameters:
index: Instance/Class index note: If index is not present in the mask, returns std::nullopt.

##### std::vector< uint8_t > getUniqueIndices()

Kind: function

Returns a list of sorted unique indices present in the segmentation mask.

##### std::vector< std::string > getLabels()

Kind: function

Returns all class labels associated with the segmentation mask. If no labels are set, returns an empty vector.

##### std::vector< std::uint8_t > getMaskByIndex(uint8_t index)

Kind: function

Returns a binary mask where pixels belonging to the specified instance/class index are set to 1, others to 0. If mask data is not
set, returns an empty vector.

##### std::vector< std::uint8_t > getMaskByLabel(const std::string & label)

Kind: function

Returns a binary mask where pixels belonging to the specified class label are set to 1, others to 0. If labels are not set or
label not found, returns an empty vector.

##### bool hasValidMask()

Kind: function

Returns true if the mask data is not empty and has valid size (width * height).

##### void setCvMask(cv::Mat mask)

Kind: function

note: This API only available if OpenCV support is enabled Copies cv::Mat data to Segmentation Mask buffer parameters: frame:
Input cv::Mat frame from which to copy the data note: Throws if mask is not a single channel INT8 type.

##### cv::Mat getCvMask(cv::MatAllocator * allocator)

Kind: function

Retrieves mask data as a cv::Mat copy with specified width and height. If mask data is not set, returns an empty matrix.
parameters: allocator: Allows callers to supply a custom cv::MatAllocator for zero-copy/custom memory management; nullptr uses
OpenCV’s default.

##### cv::Mat getCvMaskByIndex(uint8_t index, cv::MatAllocator * allocator)

Kind: function

Returns a binary mask where pixels belonging to the instance index are set to 1, others to 0. If mask data is not set, returns an
empty matrix. parameters: index: Instance index; allocator: Allows callers to supply a custom cv::MatAllocator for
zero-copy/custom memory management; nullptr uses OpenCV’s default.

##### std::vector< std::vector< dai::Point2f > > getContour(uint8_t index)

Kind: function

Calls the opencv findContours function and filters the results based on the provided index. Returns filtered contour as a vector
of vectors of non-normalized points. If mask data is not set, returns an empty vector. parameters: index: class index

##### std::vector< dai::RotatedRect > getBoundingBoxes(uint8_t index, bool calculateRotation)

Kind: function

Returns a bounding box for each continuous region with the specified index. parameters: index: class index; calculateRotation: If
true, returns rotated bounding boxes, otherwise returns the outer, axis-aligned bounding boxes.

##### DEPTHAI_SERIALIZE(SegmentationMask, Buffer::ts, Buffer::tsDevice, Buffer::sequenceNum, transformation, width, height,
labels)

Kind: function

#### dai::SegmentationParserConfig

Kind: class

##### float confidenceThreshold

Kind: variable

##### unsigned int stepSize

Kind: variable

##### SegmentationParserConfig()

Kind: function

Construct SegmentationParserConfig message.

##### ~SegmentationParserConfig()

Kind: function

##### void setConfidenceThreshold(float threshold)

Kind: function

Add a confidence threshold to the argmax operation over the segmentation tensor. Pixels with confidence values below this
threshold will be assigned the background class (255). parameters: threshold: Confidence threshold for segmentation parsing note:
Default is -1.0f, which means no thresholding is applied. note: Only applicable if output classes are not in a single layer (eg.
classesInOneLayer = false).

##### float getConfidenceThreshold()

Kind: function

Get confidence threshold

##### void setStepSize(unsigned int stepSize)

Kind: function

Sets the step size for segmentation parsing. A step size of 1 means every pixel is processed, a step size of 2 means every second
pixel is processed, and so on. This can be used to speed up processing at the cost of lower resolution masks. parameters:
stepSize: Step size for segmentation parsing

##### unsigned int getStepSize()

Kind: function

Gets the step size for segmentation parsing.

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(SegmentationParserConfig, confidenceThreshold, stepSize)

Kind: function

#### dai::SpatialImgDetection

Kind: struct

SpatialImgDetection structure Contains image detection results together with spatial location data.

##### uint32_t label

Kind: variable

##### std::string labelName

Kind: variable

##### float confidence

Kind: variable

##### float xmin

Kind: variable

##### float ymin

Kind: variable

##### float xmax

Kind: variable

##### float ymax

Kind: variable

##### std::optional< RotatedRect > boundingBox

Kind: variable

##### std::optional< SpatialKeypointsList > keypoints

Kind: variable

##### Point3f spatialCoordinates

Kind: variable

##### SpatialLocationCalculatorConfigData boundingBoxMapping

Kind: variable

##### SpatialImgDetection()

Kind: function

##### SpatialImgDetection(const RotatedRect & boundingBox, Point3f spatialCoordinates, float confidence, uint32_t label)

Kind: function

##### SpatialImgDetection(const RotatedRect & boundingBox, Point3f spatialCoordinates, std::string labelName, float confidence,
uint32_t label)

Kind: function

##### SpatialImgDetection(const RotatedRect & boundingBox, Point3f spatialCoordinates, const SpatialKeypointsList & keypoints,
float confidence, uint32_t label)

Kind: function

##### SpatialImgDetection(const RotatedRect & boundingBox, Point3f spatialCoordinates, const SpatialKeypointsList & keypoints,
std::string labelName, float confidence, uint32_t label)

Kind: function

##### void setBoundingBox(RotatedRect boundingBox)

Kind: function

Sets the bounding box and the legacy coordinates of the detection.

##### RotatedRect getBoundingBox()

Kind: function

Returns bounding box if it was set, else it constructs a new one from the legacy xmin, ymin, xmax, ymax values.

##### void setOuterBoundingBox(const float xmin, const float ymin, const float xmax, const float ymax)

Kind: function

Sets the bounding box and the legacy coordinates of the detection from the top-left and bottom-right points.

##### void setKeypoints(const SpatialKeypointsList keypoints)

Kind: function

Sets the keypoints of the detection. parameters: keypoints: list of Keypoint objects to set. note: This will clear any existing
keypoints and edges.

##### void setKeypoints(const std::vector< SpatialKeypoint > keypoints)

Kind: function

Sets the keypoints of the detection. parameters: keypoints: list of Keypoint objects to set. note: This will clear any existing
keypoints and edges.

##### void setKeypoints(const std::vector< SpatialKeypoint > keypoints, const std::vector< Edge > edges)

Kind: function

Sets the keypoints of the detection. parameters: keypoints: list of Point2f objects to set. note: This will clear any existing
keypoints and edges.

##### void setKeypoints(const std::vector< Point3f > keypoints)

Kind: function

Sets the keypoints of the detection. parameters: keypoints: list of Point3f objects to set. note: This will clear any existing
keypoints and edges.

##### void setSpatialCoordinate(const Point3f spatialCoordinates)

Kind: function

Sets spatial coordinates for the detection. parameters: spatialCoordinates: list of Point3f objects to set. note: The size of
spatialCoordinates.

##### void setEdges(const std::vector< Edge > edges)

Kind: function

Sets edges for the keypoints, throws if no keypoints were set beforehand.

##### dai::ImgDetection getImgDetection()

Kind: function

Converts SpatialImgDetection to ImgDetection by dropping spatial data. return: dai::ImgDetection object.

##### std::vector< SpatialKeypoint > getKeypoints()

Kind: function

Returns a list of Keypoint objects, or empty list if no keypoints were set.

##### std::vector< dai::Point3f > getKeypointSpatialCoordinates()

Kind: function

Returns a list of spatial coordinates for each keypoint, or empty list if no keypoints were set.

##### std::vector< Edge > getEdges()

Kind: function

Returns a list of edges, each edge is a pair of indices, or empty list if no keypoints were set.

##### float getCenterX()

Kind: function

Returns the X coordinate of the center of the bounding box.

##### float getCenterY()

Kind: function

Returns the Y coordinate of the center of the bounding box.

##### float getWidth()

Kind: function

Returns the width of the (rotated) bounding box.

##### float getHeight()

Kind: function

Returns the height of the (rotated) bounding box.

##### float getAngle()

Kind: function

Returns the angle of the bounding box.

##### DEPTHAI_SERIALIZE(SpatialImgDetection, label, labelName, confidence, xmin, ymin, xmax, ymax, boundingBox, keypoints,
spatialCoordinates, boundingBoxMapping)

Kind: function

#### dai::SpatialImgDetections

Kind: class

SpatialImgDetections message. Carries detection results together with spatial location data

##### ImgDetectionsT < SpatialImgDetection > Base

Kind: enum

##### ~SpatialImgDetections()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(SpatialImgDetections, Base::Buffer::sequenceNum, Base::Buffer::ts, Base::Buffer::tsDevice, detections,
transformation, segmentationMaskWidth, segmentationMaskHeight)

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::SpatialLocationCalculatorConfig

Kind: class

Configuration for SpatialLocationCalculator. Holds global parameters and optional per-ROI entries used to compute 3D spatial
locations from a depth map. Global parameters (defaults): Lower depth threshold [mm]: 0; Upper depth threshold [mm]: 65535;
Calculation algorithm: MEDIAN; Step size: AUTO; Keypoint radius [px]: 10; Calculate spatial keypoints: true; Use segmentation for
ImgDetections : true; Segmentation passthrough: true; Bounding box scale factor: 1.0 An optional list of per-ROI configurations is
available via

##### int32_t globalStepSize

Kind: variable

##### uint32_t globalLowerThreshold

Kind: variable

##### uint32_t globalUpperThreshold

Kind: variable

##### SpatialLocationCalculatorAlgorithm globalCalculationAlgorithm

Kind: variable

##### int32_t globalKeypointRadius

Kind: variable

##### bool calculateSpatialKeypoints

Kind: variable

##### bool useSegmentation

Kind: variable

##### bool segmentationPassthrough

Kind: variable

##### float bBoxScaleFactor

Kind: variable

##### std::vector< SpatialLocationCalculatorConfigData > config

Kind: variable

##### SpatialLocationCalculatorConfig()

Kind: function

Construct SpatialLocationCalculatorConfig message.

##### ~SpatialLocationCalculatorConfig()

Kind: function

##### void setROIs(std::vector< SpatialLocationCalculatorConfigData > ROIs)

Kind: function

Specify additional regions of interest (ROI) to calculate their spatial coordinates. Results of ROI coordinates are available on
SpatialLocationCalculatorData output. parameters: ROIs: Vector of configuration parameters for ROIs (region of interests)

##### void addROI(SpatialLocationCalculatorConfigData & ROI)

Kind: function

Add a new region of interest (ROI) to configuration data. parameters: roi: Configuration parameters for ROI

##### void setDepthThresholds(uint32_t lowerThreshold, uint32_t upperThreshold)

Kind: function

Set the lower and upper depth value thresholds to be used in the spatial calculations. parameters: lowerThreshold: Lower threshold
in depth units (millimeter by default).; upperThreshold: Upper threshold in depth units (millimeter by default).

##### void setCalculationAlgorithm(SpatialLocationCalculatorAlgorithm calculationAlgorithm)

Kind: function

Set spatial location calculation algorithm. Possible values: MEDIAN: Median of all depth values in the ROI; AVERAGE: Average of
all depth values in the ROI; MIN: Minimum depth value in the ROI; MAX: Maximum depth value in the ROI; MODE: Most frequent depth
value in the ROI

##### void setStepSize(int32_t stepSize)

Kind: function

Set step size for spatial location calculation. Step size 1 means that every pixel is taken into calculation, size 2 means every
second etc. for AVERAGE, MIN, MAX step size is 1; for MODE/MEDIAN it's 2.

##### void setKeypointRadius(int32_t radius)

Kind: function

Set radius around keypoints to calculate spatial coordinates. parameters: radius: Radius in pixels. warning: Only applicable to
Keypoints or ImgDetections with keypoints.

##### void setCalculateSpatialKeypoints(bool calculateSpatialKeypoints)

Kind: function

If false, spatial coordinates of keypoints will not be calculated. parameters: calculateSpatialKeypoints: warning: Only applicable
to ImgDetections with keypoints.

##### void setUseSegmentation(bool useSegmentation)

Kind: function

Specify whether to consider only segmented pixels within a detection bounding box for spatial calculations. parameters:
useSegmentation: warning: Only applicable to ImgDetections with segmentation masks.

##### void setSegmentationPassthrough(bool passthroughSegmentation)

Kind: function

Specify whether to passthrough segmentation mask along with spatial detections. parameters: passthroughSegmentation: warning: Only
applicable to ImgDetections with segmentation masks.

##### void setBoundingBoxScaleFactor(float scaleFactor)

Kind: function

Set scale factor for bounding boxes used in spatial calculations. parameters: scaleFactor: Scale factor must be in the interval
(0,1].

##### std::vector< SpatialLocationCalculatorConfigData > getConfigData()

Kind: function

Retrieve configuration data for SpatialLocationCalculator return: Vector of configuration parameters for ROIs (region of
interests)

##### std::pair< int32_t, int32_t > getDepthThresholds()

Kind: function

##### SpatialLocationCalculatorAlgorithm getCalculationAlgorithm()

Kind: function

##### int32_t getStepSize()

Kind: function

##### int32_t getKeypointRadius()

Kind: function

Retrieve radius around keypoints used to calculate spatial coordinates.

##### bool getCalculateSpatialKeypoints()

Kind: function

Retrieve whether keypoints are used for spatial location calculation. warning: Only applicable to ImgDetections with keypoints.

##### bool getUseSegmentation()

Kind: function

Retrieve whether segmentation is used for spatial location calculation. warning: Only applicable to ImgDetections with
segmentation masks.

##### bool getSegmentationPassthrough()

Kind: function

Retrieve whether segmentation is passed through along with spatial detections. warning: Only applicable to ImgDetections with
segmentation masks.

##### float getBoundingBoxScaleFactor()

Kind: function

Retrieve scale factor for bounding boxes used in spatial calculations.

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(SpatialLocationCalculatorConfig, globalStepSize, globalLowerThreshold, globalUpperThreshold,
globalCalculationAlgorithm, globalKeypointRadius, calculateSpatialKeypoints, useSegmentation, segmentationPassthrough,
bBoxScaleFactor, 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::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()

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)

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(SpatialLocationCalculatorData, Buffer::sequenceNum, Buffer::ts, Buffer::tsDevice, spatialLocations)

Kind: function

#### dai::StereoDepthConfig

Kind: class

StereoDepthConfig message.

##### dai::StereoDepthConfig::AlgorithmControl

Kind: struct

###### int32_t DepthAlign

Kind: enum

Align the disparity/depth to the perspective of a rectified output, or center it

###### AUTO

Kind: enum_value

###### RECTIFIED_RIGHT

Kind: enum_value

###### RECTIFIED_LEFT

Kind: enum_value

###### CENTER

Kind: enum_value

###### RIGHT

Kind: enum_value

###### LEFT

Kind: enum_value

###### dai::DepthUnit DepthUnit

Kind: enum

###### 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 enableSwLeftRightCheck

Kind: variable

Enables software left right check. Applicable to RVC4 only.

###### 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.

###### std::optional< float > centerAlignmentShiftFactor

Kind: variable

###### 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,
enableSwLeftRightCheck, enableExtended, enableSubpixel, leftRightCheckThreshold, subpixelFractionalBits, disparityShift,
centerAlignmentShiftFactor, numInvalidateEdgePixels)

Kind: function

##### dai::StereoDepthConfig::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.

###### int8_t noiseThresholdOffset

Kind: variable

Used to reduce small fixed levels of noise across all luminance values in the current image. Valid range is [0,127]. Default value
is 0.

###### int8_t noiseThresholdScale

Kind: variable

Used to reduce noise values that increase with luminance in the current image. Valid range is [-128,127]. Default value is 0.

###### DEPTHAI_SERIALIZE(CensusTransform, kernelSize, kernelMask, enableMeanMode, threshold, noiseThresholdOffset,
noiseThresholdScale)

Kind: function

##### dai::StereoDepthConfig::ConfidenceMetrics

Kind: struct

###### uint8_t occlusionConfidenceWeight

Kind: variable

Weight used with occlusion estimation to generate final confidence map. Valid range is [0,32]

###### uint8_t motionVectorConfidenceWeight

Kind: variable

Weight used with local neighborhood motion vector variance estimation to generate final confidence map. Valid range is [0,32].

###### uint8_t motionVectorConfidenceThreshold

Kind: variable

Threshold offset for MV variance in confidence generation. A value of 0 allows most variance. Valid range is [0,3].

###### uint8_t flatnessConfidenceWeight

Kind: variable

Weight used with flatness estimation to generate final confidence map. Valid range is [0,32].

###### uint8_t flatnessConfidenceThreshold

Kind: variable

Threshold for flatness check in SGM block. Valid range is [1,7].

###### bool flatnessOverride

Kind: variable

Flag to indicate whether final confidence value will be overidden by flatness value. Valid range is {true,false}.

###### DEPTHAI_SERIALIZE(ConfidenceMetrics, occlusionConfidenceWeight, motionVectorConfidenceWeight,
motionVectorConfidenceThreshold, flatnessConfidenceWeight, flatnessConfidenceThreshold, flatnessOverride)

Kind: function

##### dai::StereoDepthConfig::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.

###### dai::StereoDepthConfig::CostAggregation::P1Config

Kind: struct

Structure for adaptive P1 penalty configuration.

###### bool enableAdaptive

Kind: variable

Used to disable/enable adaptive penalty.

###### uint8_t defaultValue

Kind: variable

Used as the default penalty value when nAdapEnable is disabled. A bigger value enforces higher smoothness and reduced noise at the
cost of lower edge accuracy. This value must be smaller than P2 default penalty. Valid range is [10,50].

###### uint8_t edgeValue

Kind: variable

Penalty value on edges when nAdapEnable is enabled. A smaller penalty value permits higher change in disparity. This value must be
smaller than or equal to P2 edge penalty. Valid range is [10,50].

###### uint8_t smoothValue

Kind: variable

Penalty value on low texture regions when nAdapEnable is enabled. A smaller penalty value permits higher change in disparity. This
value must be smaller than or equal to P2 smoothness penalty. Valid range is [10,50].

###### uint8_t edgeThreshold

Kind: variable

Threshold value on edges when nAdapEnable is enabled. A bigger value permits higher neighboring feature dissimilarity tolerance.
This value is shared with P2 penalty configuration. Valid range is [8,16].

###### uint8_t smoothThreshold

Kind: variable

Threshold value on low texture regions when nAdapEnable is enabled. A bigger value permits higher neighboring feature
dissimilarity tolerance. This value is shared with P2 penalty configuration. Valid range is [2,12].

###### DEPTHAI_SERIALIZE(P1Config, enableAdaptive, defaultValue, edgeValue, smoothValue, edgeThreshold, smoothThreshold)

Kind: function

###### dai::StereoDepthConfig::CostAggregation::P2Config

Kind: struct

Structure for adaptive P2 penalty configuration.

###### bool enableAdaptive

Kind: variable

Used to disable/enable adaptive penalty.

###### uint8_t defaultValue

Kind: variable

Used as the default penalty value when nAdapEnable is disabled. A bigger value enforces higher smoothness and reduced noise at the
cost of lower edge accuracy. This value must be larger than P1 default penalty. Valid range is [20,100].

###### uint8_t edgeValue

Kind: variable

Penalty value on edges when nAdapEnable is enabled. A smaller penalty value permits higher change in disparity. This value must be
larger than or equal to P1 edge penalty. Valid range is [20,100].

###### uint8_t smoothValue

Kind: variable

Penalty value on low texture regions when nAdapEnable is enabled. A smaller penalty value permits higher change in disparity. This
value must be larger than or equal to P1 smoothness penalty. Valid range is [20,100].

###### DEPTHAI_SERIALIZE(P2Config, enableAdaptive, defaultValue, edgeValue, smoothValue)

Kind: function

###### 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.

###### P1Config p1Config

Kind: variable

###### P2Config p2Config

Kind: variable

###### DEPTHAI_SERIALIZE(CostAggregation, divisionFactor, horizontalPenaltyCostP1, horizontalPenaltyCostP2, verticalPenaltyCostP1,
verticalPenaltyCostP2, p1Config, p2Config)

Kind: function

##### dai::StereoDepthConfig::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::StereoDepthConfig::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 over this threshold are accepted.

###### bool enableSwConfidenceThresholding

Kind: variable

Enable software confidence thresholding. Applicable to RVC4 only.

###### LinearEquationParameters linearEquationParameters

Kind: variable

Cost calculation linear equation parameters.

###### DEPTHAI_SERIALIZE(CostMatching, disparityWidth, enableCompanding, invalidDisparityValue, confidenceThreshold,
enableSwConfidenceThresholding, linearEquationParameters)

Kind: function

##### dai::StereoDepthConfig::PostProcessing

Kind: struct

Post-processing filters, all the filters are applied in disparity domain.

###### dai::StereoDepthConfig::PostProcessing::AdaptiveMedianFilter

Kind: struct

###### bool enable

Kind: variable

Flag to enable adaptive median filtering for a final pass of filtering on low confidence pixels.

###### uint8_t confidenceThreshold

Kind: variable

Confidence threshold for adaptive median filtering. Should be less than nFillConfThresh value used in evaDfsHoleFillConfig. Valid
range is [0,255].

###### DEPTHAI_SERIALIZE(AdaptiveMedianFilter, enable, confidenceThreshold)

Kind: function

###### dai::StereoDepthConfig::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::StereoDepthConfig::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::StereoDepthConfig::PostProcessing::HoleFilling

Kind: struct

###### bool enable

Kind: variable

Flag to enable post-processing hole-filling.

###### uint8_t highConfidenceThreshold

Kind: variable

Pixels with confidence higher than this value are used to calculate an average disparity per superpixel. Valid range is [1,255]

###### uint8_t fillConfidenceThreshold

Kind: variable

Pixels with confidence below this value will be filled with the average disparity of their corresponding superpixel. Valid range
is [1,255].

###### uint8_t minValidDisparity

Kind: variable

Represents the required percentange of pixels with confidence value above nHighConfThresh that are used to calculate average
disparity per superpixel, where 1 means 50% or half, 2 means 25% or a quarter and 3 means 12.5% or an eighth. If the required
number of pixels are not found, the holes will not be filled.

###### bool invalidateDisparities

Kind: variable

If enabled, sets to 0 the disparity of pixels with confidence below nFillConfThresh, which did not pass nMinValidPixels criteria.
Valid range is {true, false}.

###### DEPTHAI_SERIALIZE(HoleFilling, enable, highConfidenceThreshold, fillConfidenceThreshold, minValidDisparity,
invalidateDisparities)

Kind: function

###### dai::StereoDepthConfig::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

###### filters::params::SpatialFilter SpatialFilter

Kind: enum

###### filters::params::TemporalFilter TemporalFilter

Kind: enum

###### filters::params::SpeckleFilter SpeckleFilter

Kind: enum

###### 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.

###### HoleFilling holeFilling

Kind: variable

###### AdaptiveMedianFilter adaptiveMedianFilter

Kind: variable

###### DEPTHAI_SERIALIZE(PostProcessing, filteringOrder, median, bilateralSigmaValue, spatialFilter, temporalFilter,
thresholdFilter, brightnessFilter, speckleFilter, decimationFilter, holeFilling, adaptiveMedianFilter)

Kind: function

##### filters::params::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.

##### ConfidenceMetrics confidenceMetrics

Kind: variable

Confidence metrics settings.

##### dai::ProcessorType filtersBackend

Kind: variable

##### StereoDepthConfig()

Kind: function

Construct StereoDepthConfig message.

##### ~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

##### bool getLeftRightCheck()

Kind: function

Get left-right check setting

##### 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

##### bool getExtendedDisparity()

Kind: function

Get extended disparity setting

##### 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

##### bool getSubpixel()

Kind: function

Get subpixel setting

##### 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.

##### int getSubpixelFractionalBits()

Kind: function

Get number of fractional bits for subpixel mode

##### StereoDepthConfig & setDepthUnit(AlgorithmControl::DepthUnit depthUnit)

Kind: function

Set depth unit of depth map. Meter, centimeter, millimeter, inch, foot or custom unit is available.

##### AlgorithmControl::DepthUnit getDepthUnit()

Kind: function

Get depth unit of depth map.

##### StereoDepthConfig & setCustomDepthUnitMultiplier(float multiplier)

Kind: function

Set custom depth unit multiplier relative to 1 meter.

##### float getCustomDepthUnitMultiplier()

Kind: function

Get custom depth unit multiplier relative to 1 meter.

##### 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.

##### StereoDepthConfig & setFiltersComputeBackend(dai::ProcessorType filtersBackend)

Kind: function

Set filters compute backend

##### dai::ProcessorType getFiltersComputeBackend()

Kind: function

Get filters compute backend

##### float getMaxDisparity()

Kind: function

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

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(StereoDepthConfig, algorithmControl, postProcessing, censusTransform, costMatching, costAggregation,
confidenceMetrics, filtersBackend)

Kind: function

#### 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()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(SystemInformation, ddrMemoryUsage, cmxMemoryUsage, leonCssMemoryUsage, leonMssMemoryUsage,
leonCssCpuUsage, leonMssCpuUsage, chipTemperature)

Kind: function

#### dai::SystemInformationRVC4

Kind: class

SystemInformation message Carries memory usage, cpu usage and chip temperatures.

##### MemoryInfo ddrMemoryUsage

Kind: variable

##### int64_t processMemoryUsage

Kind: variable

##### CpuUsage cpuAvgUsage

Kind: variable

##### CpuUsage processCpuAvgUsage

Kind: variable

##### std::vector< CpuUsage > cpuUsages

Kind: variable

##### ChipTemperatureRVC4 chipTemperature

Kind: variable

##### SystemInformationRVC4()

Kind: function

Construct SystemInformation message.

##### ~SystemInformationRVC4()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(SystemInformationRVC4, ddrMemoryUsage, processMemoryUsage, cpuAvgUsage, processCpuAvgUsage, cpuUsages,
chipTemperature)

Kind: function

#### dai::ThermalConfig

Kind: class

ThermalConfig message. Currently unused.

##### dai::ThermalConfig::ThermalAmbientParams

Kind: struct

Ambient factors that affect the temperature measurement of a Thermal sensor.

###### std::optional< uint16_t > distance

Kind: variable

Distance to the measured object. unit:cnt(128cnt=1m), range:0-25600(0-200m)

###### std::optional< uint16_t > reflectionTemperature

Kind: variable

Reflection temperature. unit:K, range:230-500(high gain), 230-900(low gain)

###### std::optional< uint16_t > atmosphericTemperature

Kind: variable

Atmospheric temperature. unit:K, range:230-500(high gain), 230-900(low gain)

###### std::optional< uint8_t > targetEmissivity

Kind: variable

Emissivity. unit:1/128, range:1-128(0.01-1)

###### std::optional< uint8_t > atmosphericTransmittance

Kind: variable

Atmospheric transmittance. unit:1/128, range:1-128(0.01-1)

###### std::optional< ThermalGainMode > gainMode

Kind: variable

Gain mode, low or high.

###### DEPTHAI_SERIALIZE(ThermalAmbientParams, distance, reflectionTemperature, atmosphericTemperature, targetEmissivity,
atmosphericTransmittance, gainMode)

Kind: function

##### dai::ThermalConfig::ThermalFFCParams

Kind: struct

###### std::optional< bool > autoFFC

Kind: variable

Auto Flat-Field-Correction. Controls wheather the shutter is controlled by the sensor module automatically or not.

###### std::optional< uint16_t > minFFCInterval

Kind: variable

Minimum FFC interval when auto FFC is enabled. The time interval between two FFC should not be less than this value.

###### std::optional< uint16_t > maxFFCInterval

Kind: variable

Maximum FFC interval when auto FFC is enabled. The time interval between two FFC should not be more than this value.

###### std::optional< uint16_t > autoFFCTempThreshold

Kind: variable

Auto FFC trigger threshold. The condition for triggering the auto FFC is that the change of Vtemp value exceeds a certain
threshold, which is called the Auto FFC trigger threshold.

###### std::optional< bool > fallProtection

Kind: variable

The shutter blade may open/close abnormally during strong mechanical shock (such as fall), and a monitoring process is designed in
the firmware to correct the abnormal shutter switch in time. Turn on or off the fall protect mechanism.

###### std::optional< uint16_t > minShutterInterval

Kind: variable

Frequent FFC will cause shutter heating, resulting in abnormal FFC effect and abnormal temperature measurement. Regardless of
which mechanism triggers FFC, the minimum trigger interval must be limited.

###### std::optional< bool > closeManualShutter

Kind: variable

Set this to True/False to close/open the shutter when autoFFC is disabled.

###### std::optional< uint16_t > antiFallProtectionThresholdHighGainMode

Kind: variable

###### std::optional< uint16_t > antiFallProtectionThresholdLowGainMode

Kind: variable

###### DEPTHAI_SERIALIZE(ThermalFFCParams, autoFFC, minFFCInterval, maxFFCInterval, autoFFCTempThreshold, fallProtection,
minShutterInterval, closeManualShutter, antiFallProtectionThresholdHighGainMode, antiFallProtectionThresholdLowGainMode)

Kind: function

##### dai::ThermalConfig::ThermalImageParams

Kind: struct

###### std::optional< uint8_t > timeNoiseFilterLevel

Kind: variable

0-3. Time noise filter level. Filters out the noise that appears over time.

###### std::optional< uint8_t > spatialNoiseFilterLevel

Kind: variable

0-3. Spatial noise filter level.

###### std::optional< uint8_t > digitalDetailEnhanceLevel

Kind: variable

0-4 Digital etail enhance level.

###### std::optional< uint8_t > brightnessLevel

Kind: variable

Image brightness level, 0-255.

###### std::optional< uint8_t > contrastLevel

Kind: variable

Image contrast level, 0-255.

###### std::optional< ThermalImageOrientation > orientation

Kind: variable

Orientation of the image. Computed on the sensor.

###### DEPTHAI_SERIALIZE(ThermalImageParams, timeNoiseFilterLevel, spatialNoiseFilterLevel, digitalDetailEnhanceLevel,
brightnessLevel, contrastLevel, orientation)

Kind: function

##### ThermalImageOrientation

Kind: enum

Orientation of the image.

###### Normal

Kind: enum_value

###### Mirror

Kind: enum_value

###### Flip

Kind: enum_value

###### MirrorFlip

Kind: enum_value

##### ThermalGainMode

Kind: enum

Thermal sensor gain mode. Use low gain in high energy environments.

###### LOW

Kind: enum_value

###### HIGH

Kind: enum_value

##### ThermalAmbientParams ambientParams

Kind: variable

Ambient factors that affect the temperature measurement of a Thermal sensor.

##### ThermalFFCParams ffcParams

Kind: variable

Parameters for Flat-Field-Correction.

##### ThermalImageParams imageParams

Kind: variable

Image signal processing parameters on the sensor.

##### ThermalConfig()

Kind: function

Construct ThermalConfig message.

##### ~ThermalConfig()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(ThermalConfig, ambientParams, ffcParams, imageParams)

Kind: function

#### dai::ToFConfig

Kind: class

ToFConfig message. Carries config for feature tracking algorithm

##### filters::params::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

##### std::optional< bool > enableFPPNCorrection

Kind: variable

##### std::optional< bool > enableOpticalCorrection

Kind: variable

##### std::optional< bool > enableTemperatureCorrection

Kind: variable

##### std::optional< bool > enableWiggleCorrection

Kind: variable

##### std::optional< bool > enablePhaseUnwrapping

Kind: variable

##### ToFConfig()

Kind: function

Construct ToFConfig message.

##### ~ToFConfig()

Kind: function

##### ToFConfig & setMedianFilter(filters::params::MedianFilter median)

Kind: function

parameters: median: Set kernel size for median filtering, or disable

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### void setProfilePreset(ImageFiltersPresetMode presetMode)

Kind: function

Set preset mode for ToFConfig . parameters: presetMode: Preset mode for ToFConfig .

##### DEPTHAI_SERIALIZE(ToFConfig, 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

##### std::array< uint8_t, 32 > descriptor

Kind: variable

Feature descriptor

#### 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()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### DEPTHAI_SERIALIZE(TrackedFeatures, trackedFeatures, Buffer::sequenceNum, Buffer::ts, Buffer::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.

##### std::optional< Point3f > velocity

Kind: variable

Estimated 3D velocity of the tracklet in m/s. nullopt when spatial data is unavailable.

##### std::optional< float > speed

Kind: variable

Magnitude of the estimated 3D velocity in m/s. nullopt when spatial data is unavailable.

##### DEPTHAI_SERIALIZE(Tracklet, roi, id, label, age, status, srcImgDetection, spatialCoordinates, velocity, speed)

Kind: function

#### 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.

##### ImgTransformation transformation

Kind: variable

##### Tracklets()

Kind: function

Construct Tracklets message.

##### ~Tracklets()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DEPTHAI_SERIALIZE(Tracklets, tracklets, transformation, Buffer::ts, Buffer::tsDevice, Buffer::sequenceNum)

Kind: function

#### dai::Transform

Kind: struct

##### std::array< std::array< double, 4 >, 4 > matrix

Kind: variable

#### dai::TransformData

Kind: class

TransformData message. Carries transform in x,y,z,qx,qy,qz,qw format.

##### Transform transform

Kind: variable

Transform .

##### TransformData()

Kind: function

Construct TransformData message.

##### TransformData(const Transform & transform)

Kind: function

##### TransformData(const std::array< std::array< double, 4 >, 4 > & data)

Kind: function

##### TransformData(double x, double y, double z, double qx, double qy, double qz, double qw)

Kind: function

##### TransformData(double x, double y, double z, double roll, double pitch, double yaw)

Kind: function

##### ~TransformData()

Kind: function

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

##### Point3d getTranslation()

Kind: function

##### Point3d getRotationEuler()

Kind: function

##### Quaterniond getQuaternion()

Kind: function

##### DEPTHAI_SERIALIZE(TransformData, Buffer::sequenceNum, Buffer::ts, Buffer::tsDevice, transform)

Kind: function

#### dai::VppConfig

Kind: class

VppConfig message. Carries config for Virtual Projection Pattern algorithm

##### dai::VppConfig::InjectionParameters

Kind: struct

###### bool useInjection

Kind: variable

###### int kernelSize

Kind: variable

###### float textureThreshold

Kind: variable

###### float confidenceThreshold

Kind: variable

###### int morphologyIterations

Kind: variable

###### bool useMorphology

Kind: variable

###### bool getUseInjection()

Kind: function

Check if injection is enabled False: all possible pixels will be used.

return: True if injection is used

###### void setUseInjection(bool value)

Kind: function

Enable or disable injection.

parameters: value: True to use injection, false to disable

###### int getKernelSize()

Kind: function

Get kernel size for injection.

return: Kernel size

###### void setKernelSize(int value)

Kind: function

Set kernel size for injection.

parameters: value: Kernel size to set

###### float getTextureThreshold()

Kind: function

Get texture threshold.

return: Texture threshold value

###### void setTextureThreshold(float value)

Kind: function

Set texture threshold.

parameters: value: Texture threshold to set

###### float getConfidenceThreshold()

Kind: function

Get confidence threshold.

return: Confidence threshold value

###### void setConfidenceThreshold(float value)

Kind: function

Set confidence threshold.

parameters: value: Confidence threshold to set

###### int getMorphologyIterations()

Kind: function

Get number of morphology iterations.

return: Number of iterations

###### void setMorphologyIterations(int value)

Kind: function

Set number of morphology iterations.

parameters: value: Number of iterations

###### bool isUseMorphology()

Kind: function

Check if morphology is used.

return: True if morphology is applied

###### void setUseMorphology(bool value)

Kind: function

Enable or disable morphology.

parameters: value: True to use morphology, false to disable

###### DEPTHAI_SERIALIZE(InjectionParameters, useInjection, kernelSize, textureThreshold, confidenceThreshold,
morphologyIterations, useMorphology)

Kind: function

##### int PatchColoringType

Kind: enum

###### RANDOM

Kind: enum_value

###### MAXDIST

Kind: enum_value

##### float blending

Kind: variable

##### float distanceGamma

Kind: variable

##### uint8_t maxPatchSize

Kind: variable

##### PatchColoringType patchColoringType

Kind: variable

##### bool uniformPatch

Kind: variable

##### InjectionParameters injectionParameters

Kind: variable

##### int maxNumThreads

Kind: variable

##### int maxFPS

Kind: variable

##### VppConfig()

Kind: function

##### ~VppConfig()

Kind: function

##### float getBlending()

Kind: function

Get blending factor between 0 and 1.

return: Current blending value

##### void setBlending(float value)

Kind: function

Set blending factor between 0 and 1: resulting pixel: patchColor * blending + (1 - blending) * imgFrame.

parameters: value: Blending value to set

##### float getDistanceGamma()

Kind: function

Get distance gamma.

return: Current distance gamma

##### void setDistanceGamma(float value)

Kind: function

Set distance gamma.

parameters: value: Distance gamma to set

##### uint8_t getMaxPatchSize()

Kind: function

Get maximum patch size.

return: Maximum patch size

##### void setMaxPatchSize(uint8_t value)

Kind: function

Set maximum patch size.

parameters: value: Patch size to set

##### PatchColoringType getPatchColoringType()

Kind: function

Get patch coloring type: UNIFORM/MAXDIST.

return: Current patch coloring type

##### void setPatchColoringType(PatchColoringType type)

Kind: function

Set patch coloring type: UNIFORM/MAXDIST.

parameters: type: Patch coloring type to set

##### bool getUniformPatch()

Kind: function

Check if uniform patching is enabled.

return: True if uniform patching is enabled

##### void setUniformPatch(bool value)

Kind: function

Enable or disable uniform patching.

parameters: value: True to enable, false to disable

##### InjectionParameters getInjectionParameters()

Kind: function

Get injection parameters.

return: Current injection parameters

##### void setInjectionParameters(const InjectionParameters & params)

Kind: function

Set injection parameters.

parameters: params: Injection parameters to set

##### int getMaxNumThreads()

Kind: function

Get maximum number of threads.

return: Maximum number of threads

##### void setMaxNumThreads(int value)

Kind: function

Set maximum number of threads.

parameters: value: Number of threads to set

##### int getMaxFPS()

Kind: function

Get maximum FPS.

return: Maximum FPS

##### void setMaxFPS(int value)

Kind: function

Set maximum FPS.

parameters: value: Maximum FPS to set

##### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

##### DEPTHAI_SERIALIZE(VppConfig, blending, distanceGamma, maxPatchSize, patchColoringType, uniformPatch, injectionParameters,
maxNumThreads, maxFPS)

Kind: function

#### dai::AprilTagProperties

Kind: struct

Specify properties for AprilTag

##### AprilTagConfig initialConfig

Kind: variable

##### bool inputConfigSync

Kind: variable

Whether to wait for config at 'inputConfig' IO.

##### int numThreads

Kind: variable

How many threads to use for AprilTag detection.

##### ~AprilTagProperties()

Kind: function

#### dai::AutoCalibrationProperties

Kind: struct

##### AutoCalibrationConfig initialConfig

Kind: variable

##### ~AutoCalibrationProperties()

Kind: function

#### dai::BenchmarkInProperties

Kind: struct

Specify benchmark properties (number of messages to send/receive)

##### uint32_t reportEveryNMessages

Kind: variable

Specify how many messages to measure for each report

##### bool attachLatencies

Kind: variable

Specify whether the latenices are attached to the report individually

##### bool logReportsAsWarnings

Kind: variable

Send the reports also as logger warnings

##### ~BenchmarkInProperties()

Kind: function

#### dai::BenchmarkOutProperties

Kind: struct

Specify benchmark properties (number of messages to send/receive)

##### int numMessages

Kind: variable

Number of messages to send

##### float fps

Kind: variable

FPS for sending, 0 means as fast as possible

##### ~BenchmarkOutProperties()

Kind: function

#### dai::CameraProperties

Kind: struct

Specify properties for Camera such as camera ID, ...

##### std::vector< ImgFrameCapability > outputRequests

Kind: variable

##### CameraControl initialControl

Kind: variable

Initial controls applied to the camera node

##### CameraBoardSocket boardSocket

Kind: variable

Which socket will this camera node use

##### CameraSensorType sensorType

Kind: variable

Camera sensor type (you can pick one in case the given sensor supports multiple types)

##### std::string cameraName

Kind: variable

Which camera name will this camera node use (e.g. "IMX378", "OV9282")

##### CameraImageOrientation imageOrientation

Kind: variable

Camera sensor image orientation / pixel readout

##### int32_t resolutionWidth

Kind: variable

Select the camera sensor width (e.g. 1920, 1280, 640, etc.)

##### int32_t resolutionHeight

Kind: variable

Select the camera sensor height (e.g. 1080, 720, 400, etc.)

##### int32_t mockIspWidth

Kind: variable

Select the mock isp width. Overrides resolutionWidth/height if mockIsp is connected (e.g. 1920, 1280, 640, etc.)

##### int32_t mockIspHeight

Kind: variable

Select the mock isp height. Overrides resolutionWidth/height if mockIsp is connected (e.g. 1080, 720, 400, etc.)

##### float mockIspFps

Kind: variable

Select the mock isp fps. Overrides fps if mockIsp is connected (e.g. 30, 25, 20, etc.)

##### float fps

Kind: variable

Camera sensor FPS (e.g. 30, 25, 20, etc.)

##### 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 numFramesPoolRaw

Kind: variable

Number of frames in different pools and the maximum size in bytes of each pool (number of frames will be automatically reduced if
the size is exceeded) Raw pool

##### int maxSizePoolRaw

Kind: variable

##### int numFramesPoolIsp

Kind: variable

Isp pool

##### int maxSizePoolIsp

Kind: variable

##### int numFramesPoolVideo

Kind: variable

Video pool

##### int numFramesPoolPreview

Kind: variable

Preview pool

##### int numFramesPoolStill

Kind: variable

Still pool

##### std::optional< int > numFramesPoolOutputs

Kind: variable

Outputs frame pools

##### std::optional< int > maxSizePoolOutputs

Kind: variable

##### ~CameraProperties()

Kind: function

#### dai::CastProperties

Kind: struct

Specify properties for Cast

##### dai::ImgFrame::Type outputType

Kind: variable

##### std::optional< float > scale

Kind: variable

##### std::optional< float > offset

Kind: variable

##### int numFramesPool

Kind: variable

##### ~CastProperties()

Kind: function

#### 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_240X180

Kind: enum_value

240 x 180

###### THE_1280X962

Kind: enum_value

1280 x 962

###### THE_2000X1500

Kind: enum_value

2000 × 1500

###### THE_2028X1520

Kind: enum_value

2028 × 1520

###### THE_2104X1560

Kind: enum_value

2104 × 1560

###### 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

##### WarpMeshSource

Kind: enum

Warp mesh source

###### AUTO

Kind: enum_value

###### NONE

Kind: enum_value

###### CALIBRATION

Kind: enum_value

###### URI

Kind: enum_value

##### CameraControl 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

##### ImgFrame::Type previewType

Kind: variable

Frame type

##### 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 mockIspWidth

Kind: variable

Select the mock isp width. Overrides resolutionWidth/height if mockIsp is connected.

##### int32_t mockIspHeight

Kind: variable

Select the mock isp height. Overrides resolutionWidth/height if mockIsp is connected.

##### 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

##### WarpMeshSource warpMeshSource

Kind: variable

##### std::string warpMeshUri

Kind: variable

##### int warpMeshWidth

Kind: variable

##### int warpMeshHeight

Kind: variable

##### float calibAlpha

Kind: variable

##### int warpMeshStepWidth

Kind: variable

##### int warpMeshStepHeight

Kind: variable

##### std::vector< dai::FrameEvent > eventFilter

Kind: variable

List of events to receive, the rest will be ignored

##### std::optional< bool > rawPacked

Kind: variable

Configures whether the camera

##### ~ColorCameraProperties()

Kind: function

#### 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.

##### ~DetectionParserProperties()

Kind: function

#### dai::DeviceNodeGroupProperties

Kind: struct

A dummy property struct for the DeviceNodeGroup node to comply with the DeviceNode API.

##### int dummy

Kind: variable

##### ~DeviceNodeGroupProperties()

Kind: function

#### dai::DynamicCalibrationProperties

Kind: struct

Specify properties for Dynamic calibration.

##### bool emptyBool

Kind: variable

##### ~DynamicCalibrationProperties()

Kind: function

#### dai::EdgeDetectorProperties

Kind: struct

Specify properties for EdgeDetector

##### EdgeDetectorConfig 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.

##### ~EdgeDetectorProperties()

Kind: function

#### dai::FeatureTrackerProperties

Kind: struct

Specify properties for FeatureTracker

##### FeatureTrackerConfig 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.

##### ~FeatureTrackerProperties()

Kind: function

#### dai::GateProperties

Kind: struct

Specify properties for Gate.

##### GateControl initialConfig

Kind: variable

##### ~GateProperties()

Kind: function

#### dai::GlobalProperties

Kind: struct

Specify properties which apply for whole pipeline

##### std::optional< std::string > pipelineName

Kind: variable

##### std::optional< std::string > pipelineVersion

Kind: variable

##### ~GlobalProperties()

Kind: function

#### dai::DeviceProperties

Kind: struct

Specify properties which apply for a device

##### 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

##### std::optional< dai::EepromData > calibData

Kind: variable

Calibration data sent through pipeline

##### uint32_t eepromId

Kind: variable

Unique identifier for the eeprom data in the pipeline.

##### std::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

##### std::unordered_map< CameraBoardSocket, std::uint32_t > cameraSocketTuningBlobSize

Kind: variable

Socket specific camera tuning blob size in bytes

##### std::unordered_map< CameraBoardSocket, std::string > cameraSocketTuningBlobUri

Kind: variable

Socket specific camera tuning blob uri

##### 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.

##### ~DeviceProperties()

Kind: function

##### DeviceProperties & setFrom(const DeviceProperties & other)

Kind: function

#### 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

##### std::optional< bool > enableFirmwareUpdate

Kind: variable

Whether to perform firmware update or not. Default value: false.

##### ~IMUProperties()

Kind: function

#### dai::ImageAlignProperties

Kind: struct

Specify properties for ImageAlign

##### dai::Interpolation Interpolation

Kind: enum

##### ImageAlignConfig 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.

##### ~ImageAlignProperties()

Kind: function

#### dai::ImageFiltersProperties

Kind: struct

##### ImageFiltersConfig initialConfig

Kind: variable

Initial config for the filter pipeline

##### ~ImageFiltersProperties()

Kind: function

#### dai::ToFDepthConfidenceFilterProperties

Kind: struct

##### ToFDepthConfidenceFilterConfig initialConfig

Kind: variable

Initial config for the ToF depth confidence filter

##### ~ToFDepthConfidenceFilterProperties()

Kind: function

#### dai::ImageManipProperties

Kind: struct

Specify properties for ImageManip

##### uint8_t Backend

Kind: enum

Enable hardware accelerated image manipulation if set to HW. Only applied on RVC4. This can cause some unexpected behavior when
using multiple ImageManip nodes in series. Currently, the only operation affected is downscaling.

###### CPU

Kind: enum_value

###### HW

Kind: enum_value

##### uint8_t PerformanceMode

Kind: enum

Set performance mode for ImageManip with a tradeoff between performance and power consumption. Only applied on RVC4. This only
affects scaling NV12 and GRAY images. PERFORMANCE: High performance, high power consumption. Uses the OpenCV backend.; BALANCED:
Balanced performance and power consumption. Uses the FastCV backend configured for high performance where possible with a fallback
to OpenCV.; LOW_POWER: Low performance, low power consumption. Uses the FastCV backend configured for low power where possible
with a fallback to OpenCV.

###### PERFORMANCE

Kind: enum_value

###### BALANCED

Kind: enum_value

###### LOW_POWER

Kind: enum_value

##### ImageManipConfig 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.

##### Backend backend

Kind: variable

Using HW backend can cause some unexpected behavior when using multiple ImageManip nodes in series.

##### PerformanceMode performanceMode

Kind: variable

##### ~ImageManipProperties()

Kind: function

#### dai::MessageDemuxProperties

Kind: struct

Specify properties for MessageDemux.

##### ProcessorType processor

Kind: variable

Which processor should execute the node.

##### ~MessageDemuxProperties()

Kind: function

#### 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

###### THE_4000X3000

Kind: enum_value

###### THE_4224X3136

Kind: enum_value

##### CameraControl initialControl

Kind: variable

Initial controls applied to MonoCamera node

##### 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

##### int32_t mockIspWidth

Kind: variable

Select the mock isp width. Overrides resolutionWidth/height if mockIsp is connected.

##### int32_t mockIspHeight

Kind: variable

Select the mock isp height. Overrides resolutionWidth/height if mockIsp is connected.

##### 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

##### std::optional< bool > rawPacked

Kind: variable

Configures whether the camera

##### ~MonoCameraProperties()

Kind: function

#### dai::NeuralDepthProperties

Kind: struct

Specify properties for NeuralDepth

##### NeuralDepthConfig initialConfig

Kind: variable

##### ~NeuralDepthProperties()

Kind: function

#### dai::NeuralNetworkProperties

Kind: struct

Specify properties for NeuralNetwork such as blob path, ...

##### ModelSource

Kind: enum

Specify where the node should source the model

###### BLOB

Kind: enum_value

###### CUSTOM_MODEL

Kind: enum_value

##### ModelSource modelSource

Kind: variable

##### std::optional< std::uint32_t > blobSize

Kind: variable

Blob binary size in bytes

##### std::string blobUri

Kind: variable

Uri which points to blob

##### std::string modelUri

Kind: variable

Uri which points to the model description

##### 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

##### std::uint32_t numShavesPerThread

Kind: variable

Number of Shaves per inference thread. 0 = auto

##### std::string backend

Kind: variable

Specify which backend is used. "" = auto

##### std::map< std::string, std::string > backendProperties

Kind: variable

Specify backend properties

##### std::optional< DeviceModelZoo > deviceModel

Kind: variable

Device model from device model zoo

##### ~NeuralNetworkProperties()

Kind: function

#### 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.

##### bool spatialAssociation

Kind: variable

Whether to use spatial coordinates in association when available.

##### float spatialAssociationWeight

Kind: variable

Weight for spatial distance in association cost [0,1].

##### float spatialDistanceThreshold

Kind: variable

Base 3D gating threshold in meters used for spatial association.

##### float spatialDepthAwareScale

Kind: variable

Depth-aware gating scale. Gate grows with depth: gate = base * (1 + scale * depthMeters).

##### ~ObjectTrackerProperties()

Kind: function

#### dai::PointCloudProperties

Kind: struct

Specify properties for PointCloud

##### PointCloudConfig initialConfig

Kind: variable

##### int numFramesPool

Kind: variable

##### ~PointCloudProperties()

Kind: function

#### dai::PoolProperties

Kind: struct

Specify PoolProperties options such as pool uri, pool name, ...

##### std::optional< int > numMessages

Kind: variable

Number of messages in pool

##### std::optional< std::int64_t > maxMessageSize

Kind: variable

Size of data allocated for each message

##### std::optional< DatatypeEnum > datatype

Kind: variable

Optional datatype of messages in the pool

##### std::optional< ProcessorType > processor

Kind: variable

Which processor should hold the pool

##### ~PoolProperties()

Kind: function

#### 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::RectificationProperties

Kind: struct

##### std::optional< uint32_t > outputWidth

Kind: variable

##### std::optional< uint32_t > outputHeight

Kind: variable

##### bool enableRectification

Kind: variable

##### ~RectificationProperties()

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

##### ~SPIInProperties()

Kind: function

#### 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

##### ~SPIOutProperties()

Kind: function

#### 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

##### ~ScriptProperties()

Kind: function

#### dai::SegmentationParserProperties

Kind: struct

##### std::vector< std::string > labels

Kind: variable

##### std::string networkOutputName

Kind: variable

##### bool classesInOneLayer

Kind: variable

##### bool backgroundClass

Kind: variable

##### ~SegmentationParserProperties()

Kind: function

#### 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

##### ~SpatialDetectionNetworkProperties()

Kind: function

#### dai::SpatialLocationCalculatorProperties

Kind: struct

Specify properties for SpatialLocationCalculator

##### SpatialLocationCalculatorConfig roiConfig

Kind: variable

##### ~SpatialLocationCalculatorProperties()

Kind: function

#### 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

###### std::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::StereoDepthConfig::MedianFilter MedianFilter

Kind: enum

##### dai::StereoDepthConfig::AlgorithmControl::DepthAlign DepthAlign

Kind: enum

##### StereoDepthConfig 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

##### std::optional< std::int32_t > width

Kind: variable

Input frame width. Optional (taken from MonoCamera nodes if they exist)

##### std::optional< std::int32_t > height

Kind: variable

Input frame height. Optional (taken from MonoCamera nodes if they exist)

##### std::optional< std::int32_t > outWidth

Kind: variable

Output disparity/depth width. Currently only used when aligning to RGB

##### std::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));

##### std::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.

##### bool enableFrameSync

Kind: variable

Whether to enable frame syncing inside stereo node or not. Suitable if inputs are known to be synced.

##### std::optional< float > baseline

Kind: variable

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

##### std::optional< float > focalLength

Kind: variable

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

##### std::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

##### std::optional< bool > rectificationUseSpecTranslation

Kind: variable

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

##### std::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

##### std::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.

##### ~StereoDepthProperties()

Kind: function

#### dai::SyncProperties

Kind: struct

Specify properties for Sync.

##### int64_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.

##### ~SyncProperties()

Kind: function

#### dai::SystemLoggerProperties

Kind: struct

SystemLoggerProperties structure

##### float rateHz

Kind: variable

Rate at which the messages are going to be sent in hertz

##### ~SystemLoggerProperties()

Kind: function

#### dai::ThermalProperties

Kind: struct

Specify properties for Thermal

##### ThermalConfig initialConfig

Kind: variable

Initial Thermal config

##### int numFramesPool

Kind: variable

Num frames in output pool

##### CameraBoardSocket boardSocket

Kind: variable

Which socket will color camera use

##### float fps

Kind: variable

Camera sensor FPS

##### ~ThermalProperties()

Kind: function

#### dai::ToFProperties

Kind: struct

Specify properties for ToF

##### ToFConfig initialConfig

Kind: variable

Initial ToF config

##### int numFramesPool

Kind: variable

Num frames in output pool

##### std::optional< 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.

##### 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

##### float fps

Kind: variable

Camera sensor FPS

##### int numFramesPoolRaw

Kind: variable

Pool sizes

##### ~ToFProperties()

Kind: function

#### 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

##### ~UVCProperties()

Kind: function

#### 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

##### ~VideoEncoderProperties()

Kind: function

#### dai::VppProperties

Kind: struct

Specify properties for Vpp node

##### VppConfig initialConfig

Kind: variable

Initial VPP configuration

##### int numFramesPool

Kind: variable

Number of frames in pool for output frames

##### ~VppProperties()

Kind: function

#### dai::WarpProperties

Kind: struct

Specify properties for Warp

##### 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

##### ~WarpProperties()

Kind: function

#### dai::PipelineEventAggregationProperties

Kind: struct

Specify properties for Sync.

##### uint32_t aggregationWindowSize

Kind: variable

##### uint32_t statsUpdateIntervalMs

Kind: variable

##### uint32_t eventWaitWindow

Kind: variable

##### bool traceOutput

Kind: variable

##### ~PipelineEventAggregationProperties()

Kind: function

#### dai::RemoteConnection

Kind: class

Runs a websocket server exposing DepthAI messages as well as a static frontend UI.

##### RemoteConnection(const std::string & address, uint16_t webSocketPort, bool serveFrontend, uint16_t httpPort)

Kind: function

Constructs a RemoteConnection instance.

parameters: address: The address to bind the connection to.; webSocketPort: The port for WebSocket communication.; serveFrontend:
Whether to serve a frontend UI.; httpPort: The port for HTTP communication.

##### ~RemoteConnection()

Kind: function

Destroys the RemoteConnection instance.

##### void addTopic(const std::string & topicName, Node::Output & output, const std::string & group, bool
useVisualizationIfAvailable)

Kind: function

Adds a topic to the remote connection.

parameters: topicName: The name of the topic.; output: The output to link to the topic.; group: An optional group name for the
topic.; useVisualizationIfAvailable: Whether to enable visualization on the message if available or send message as is.

##### std::shared_ptr< MessageQueue > addTopic(const std::string & topicName, const std::string & group, unsigned int maxSize,
bool blocking, bool useVisualizationIfAvailable)

Kind: function

Adds a topic with a message queue.

parameters: topicName: The name of the topic.; group: An optional group name for the topic.; maxSize: The maximum queue size.;
blocking: Whether the queue is blocking or non-blocking.; useVisualizationIfAvailable: Whether to enable visualization on the
message if available or send message as is. return: A shared pointer to the created message queue.

##### bool removeTopic(const std::string & topicName)

Kind: function

Removes a topic from the remote connection.

parameters: topicName: The name of the topic to remove. note: After removing a topic any messages sent to it will cause an
exception to be called on the sender, since this closes the queue. return: True if the topic was successfully removed, false
otherwise.

##### void registerPipeline(const Pipeline & pipeline)

Kind: function

Registers a pipeline with the remote connection.

parameters: pipeline: The pipeline to register.

##### int waitKey(int delayMs)

Kind: function

Waits for a key event.

parameters: delayMs: The delay in milliseconds to wait for a key press. return: The key code of the pressed key.

##### void registerService(const std::string & serviceName, std::function< nlohmann::json(const nlohmann::json &)> callback)

Kind: function

Registers a service with a callback function.

parameters: serviceName: The name of the service.; callback: The callback function to handle requests.

##### void registerBinaryService(const std::string & serviceName, std::function< std::vector< uint8_t >(const std::vector< uint8_t
> &)> callback)

Kind: function

Registers a binary service with a callback function.

parameters: serviceName: The name of the service.; callback: The callback function to handle requests.

#### dai::AtomicBool

Kind: class

##### AtomicBool()

Kind: function

##### ~AtomicBool()

Kind: function

##### AtomicBool(const AtomicBool & othr)

Kind: function

##### AtomicBool & operator=(const AtomicBool & othr)

Kind: function

##### AtomicBool(AtomicBool &&)

Kind: function

##### AtomicBool & operator=(AtomicBool && othr)

Kind: function

#### dai::JoiningThread

Kind: class

##### JoiningThread()

Kind: function

##### JoiningThread(const JoiningThread &)

Kind: function

##### JoiningThread(JoiningThread &&)

Kind: function

##### JoiningThread & operator=(JoiningThread && thr)

Kind: function

##### ~JoiningThread()

Kind: function

##### JoiningThread(std::thread t)

Kind: function

##### void swap(JoiningThread & x)

Kind: function

#### dai::LockingQueue

Kind: class

##### LockingQueue()

Kind: function

##### LockingQueue(unsigned maxSize, bool blocking)

Kind: function

##### LockingQueue(const LockingQueue & obj)

Kind: function

##### LockingQueue(LockingQueue && obj)

Kind: function

##### LockingQueue & operator=(const LockingQueue & obj)

Kind: function

##### LockingQueue & operator=(LockingQueue && obj)

Kind: function

##### void setMaxSize(unsigned sz)

Kind: function

##### void setBlocking(bool bl)

Kind: function

##### unsigned getMaxSize()

Kind: function

##### unsigned getSize()

Kind: function

##### unsigned isFull()

Kind: function

##### bool getBlocking()

Kind: function

##### void destruct()

Kind: function

##### bool isDestroyed()

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, std::function< void(LockingQueueState, size_t)> callback)

Kind: function

##### bool push(T && data, std::function< void(LockingQueueState, size_t)> callback)

Kind: function

##### bool tryWaitAndPush(T const & data, std::chrono::duration< Rep, Period > timeout, std::function< void(LockingQueueState,
size_t)> callback)

Kind: function

##### bool tryWaitAndPush(T && data, std::chrono::duration< Rep, Period > timeout, std::function< void(LockingQueueState, size_t)>
callback)

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::Memory

Kind: class

##### ~Memory()

Kind: function

##### span< std::uint8_t > getData()

Kind: function

##### span< const std::uint8_t > getData()

Kind: function

##### std::size_t getMaxSize()

Kind: function

##### std::size_t getOffset()

Kind: function

##### void setSize(std::size_t)

Kind: function

##### std::size_t getSize()

Kind: function

#### 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::ProtoSerializable

Kind: class

##### dai::ProtoSerializable::dependent_false

Kind: struct

##### dai::ProtoSerializable::SchemaPair

Kind: struct

###### std::string schemaName

Kind: variable

###### std::string schema

Kind: variable

##### ~ProtoSerializable()

Kind: function

##### std::vector< std::uint8_t > serializeProto(T...)

Kind: function

Placeholder for serializeProto when Protobuf is disabled.

return: Throws compile-time error if used

##### SchemaPair serializeSchema(T...)

Kind: function

Placeholder for serializeSchema when Protobuf is disabled.

return: Throws compile-time error if used

#### dai::RecordConfig

Kind: struct

Configuration for recording and replaying messages

##### dai::RecordConfig::VideoEncoding

Kind: struct

###### bool enabled

Kind: variable

###### int bitrate

Kind: variable

###### Profile profile

Kind: variable

###### bool lossless

Kind: variable

###### int quality

Kind: variable

##### RecordReplayState

Kind: enum

###### RECORD

Kind: enum_value

###### REPLAY

Kind: enum_value

###### NONE

Kind: enum_value

##### uint8_t CompressionLevel

Kind: enum

###### NONE

Kind: enum_value

###### FASTEST

Kind: enum_value

###### FAST

Kind: enum_value

###### DEFAULT

Kind: enum_value

###### SLOW

Kind: enum_value

###### SLOWEST

Kind: enum_value

##### dai::VideoEncoderProperties::Profile Profile

Kind: enum

##### RecordReplayState state

Kind: variable

##### std::filesystem::path outputDir

Kind: variable

##### VideoEncoding videoEncoding

Kind: variable

##### CompressionLevel compressionLevel

Kind: variable

##### bool syncCameraOutputs

Kind: variable

#### dai::NodeRecordParams

Kind: struct

##### bool video

Kind: variable

##### std::string name

Kind: variable

#### dai::SharedMemory

Kind: class

##### SharedMemory()

Kind: function

##### SharedMemory(long argFd)

Kind: function

##### SharedMemory(long argFd, std::size_t size)

Kind: function

##### SharedMemory(const char * name)

Kind: function

##### SharedMemory(const char * name, std::size_t size)

Kind: function

##### ~SharedMemory()

Kind: function

##### SharedMemory & operator=(long argFd)

Kind: function

##### span< std::uint8_t > getData()

Kind: function

##### span< const std::uint8_t > getData()

Kind: function

##### std::size_t getMaxSize()

Kind: function

##### std::size_t getOffset()

Kind: function

##### void setSize(std::size_t size)

Kind: function

##### std::size_t getSize()

Kind: function

##### long getFd()

Kind: function

#### dai::VectorMemory

Kind: class

##### VectorMemory()

Kind: function

##### VectorMemory(const std::vector< std::uint8_t > & d)

Kind: function

##### VectorMemory(std::vector< std::uint8_t > && d)

Kind: function

##### VectorMemory & operator=(std::vector< std::uint8_t > && d)

Kind: function

##### ~VectorMemory()

Kind: function

##### span< std::uint8_t > getData()

Kind: function

##### span< const std::uint8_t > getData()

Kind: function

##### std::size_t getMaxSize()

Kind: function

##### std::size_t getOffset()

Kind: function

##### void setSize(std::size_t size)

Kind: function

#### 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 deviceId

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 deviceId, XLinkDeviceState_t state, XLinkProtocol_t protocol, XLinkPlatform_t
platform, XLinkError_t status)

Kind: function

##### DeviceInfo(std::string deviceIdOrName)

Kind: function

Creates a DeviceInfo by checking whether supplied parameter is a DeviceID or IP/USB name parameters: deviceIdOrName: Either
DeviceId, 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 getDeviceId()

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, std::filesystem::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::StreamPacketMemory

Kind: class

##### StreamPacketMemory()

Kind: function

##### StreamPacketMemory(StreamPacketDesc && d)

Kind: function

##### StreamPacketMemory & operator=(StreamPacketDesc && d)

Kind: function

##### span< std::uint8_t > getData()

Kind: function

##### span< const std::uint8_t > getData()

Kind: function

##### std::size_t getMaxSize()

Kind: function

##### std::size_t getOffset()

Kind: function

##### void setSize(size_t size)

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(span< const uint8_t > data, span< const uint8_t > data2)

Kind: function

##### void write(span< const uint8_t > data)

Kind: function

##### void write(long fd)

Kind: function

##### void write(long fd, span< const uint8_t > data)

Kind: function

##### void write(const void * data, std::size_t size)

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, long & fd)

Kind: function

##### void read(std::vector< std::uint8_t > & data, XLinkTimespec & timestampReceived)

Kind: function

##### void read(std::vector< std::uint8_t > & data, long & fd, 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

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

Kind: function

#### dai::XLinkError

Kind: struct

##### const XLinkError_t status

Kind: variable

##### const std::string streamName

Kind: variable

##### ~XLinkError()

Kind: function

##### XLinkError(XLinkError_t statusID, std::string stream, const std::string & message)

Kind: function

#### dai::XLinkReadError

Kind: struct

##### XLinkError XLinkError

Kind: enum

##### ~XLinkReadError()

Kind: function

##### XLinkReadError(XLinkError_t status, const std::string & stream)

Kind: function

#### dai::XLinkWriteError

Kind: struct

##### XLinkError XLinkError

Kind: enum

##### ~XLinkWriteError()

Kind: function

##### XLinkWriteError(XLinkError_t status, const std::string & stream)

Kind: function

#### ImgResizeMode

Kind: enum

##### CROP

Kind: enum_value

Keeps aspect ratio. Crops the image to get the correct output aspect ratio. Crops some FOV to match the required FOV, then scale.
No potential NN accuracy decrease.

##### STRETCH

Kind: enum_value

Doesn't keep aspect ratio. Squishes or streches the image to fill the required pixel area. Preserves full FOV, but frames are
stretched to match the FOV, which might decrease NN accuracy.

##### LETTERBOX

Kind: enum_value

Keeps aspect ratio. Envelop the image with a background color to get the corect output aspect ratio. Preserves full FOV by
padding/letterboxing, but smaller frame means less features which might decrease NN accuracy.

#### 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

##### VERTICAL

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 CameraExposureOffset

Kind: enum

Describe possible exposure offsets

##### START

Kind: enum_value

##### MIDDLE

Kind: enum_value

##### END

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 SIPrefix

Kind: enum

##### GIGA

Kind: enum_value

##### MEGA

Kind: enum_value

##### KILO

Kind: enum_value

##### DEKA

Kind: enum_value

##### DEFAULT

Kind: enum_value

##### CENTI

Kind: enum_value

##### MILLI

Kind: enum_value

#### int32_t LengthUnit

Kind: enum

Measurement unit for depth and calibration 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

#### int32_t AngleUnit

Kind: enum

Measurement unit for angular quantities stored in radians.

##### RADIAN

Kind: enum_value

##### DEGREE

Kind: enum_value

#### DeviceModelZoo

Kind: enum

On device models, relevant for RVC4 platform

##### NEURAL_DEPTH_1248X780

Kind: enum_value

##### NEURAL_DEPTH_768X480

Kind: enum_value

##### NEURAL_DEPTH_576X360

Kind: enum_value

##### NEURAL_DEPTH_480X300

Kind: enum_value

##### NEURAL_DEPTH_384X240

Kind: enum_value

##### NEURAL_DEPTH_1056X660

Kind: enum_value

##### NEURAL_DEPTH_960X600

Kind: enum_value

##### NEURAL_DEPTH_864X540

Kind: enum_value

##### NEURAL_DEPTH_288X180

Kind: enum_value

##### NEURAL_DEPTH_192X120

Kind: enum_value

##### NEURAL_DEPTH_EXTRA_LARGE

Kind: enum_value

##### NEURAL_DEPTH_LARGE

Kind: enum_value

##### NEURAL_DEPTH_MEDIUM

Kind: enum_value

##### NEURAL_DEPTH_SMALL

Kind: enum_value

##### NEURAL_DEPTH_NANO

Kind: enum_value

#### int32_t ExternalFrameSyncRole

Kind: enum

Which external frame sync role the device should have. AUTO_DETECT denotes that the decision will be made by device. It will
choose between MASTER and SLAVE.

##### AUTO_DETECT

Kind: enum_value

##### MASTER

Kind: enum_value

##### SLAVE

Kind: enum_value

#### int32_t FrameEvent

Kind: enum

##### NONE

Kind: enum_value

##### READOUT_START

Kind: enum_value

##### READOUT_END

Kind: enum_value

#### int32_t HousingCoordinateSystem

Kind: enum

Which Housing 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

##### FRONT_CAM_A

Kind: enum_value

##### FRONT_CAM_B

Kind: enum_value

##### FRONT_CAM_C

Kind: enum_value

##### FRONT_CAM_D

Kind: enum_value

##### FRONT_CAM_E

Kind: enum_value

##### FRONT_CAM_F

Kind: enum_value

##### FRONT_CAM_G

Kind: enum_value

##### FRONT_CAM_H

Kind: enum_value

##### FRONT_CAM_I

Kind: enum_value

##### FRONT_CAM_J

Kind: enum_value

##### VESA_A

Kind: enum_value

##### VESA_B

Kind: enum_value

##### VESA_C

Kind: enum_value

##### VESA_D

Kind: enum_value

##### VESA_E

Kind: enum_value

##### VESA_F

Kind: enum_value

##### VESA_G

Kind: enum_value

##### VESA_H

Kind: enum_value

##### VESA_I

Kind: enum_value

##### VESA_J

Kind: enum_value

##### IMU

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 ProcessorType

Kind: enum

On which processor the node will be placed Enum specifying processor

##### LEON_CSS

Kind: enum_value

##### LEON_MSS

Kind: enum_value

##### CPU

Kind: enum_value

##### DSP

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

#### Platform

Kind: enum

Hardware platform type.

##### RVC2

Kind: enum_value

##### RVC3

Kind: enum_value

##### RVC4

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

#### NNArchiveConfigVersion

Kind: enum

##### V1

Kind: enum_value

#### int PipelineAutoCalibrationMode

Kind: enum

##### OFF

Kind: enum_value

##### ON_START

Kind: enum_value

##### CONTINUOUS

Kind: enum_value

#### std::int32_t DatatypeEnum

Kind: enum

##### ADatatype

Kind: enum_value

##### Buffer

Kind: enum_value

##### ImgFrame

Kind: enum_value

##### EncodedFrame

Kind: enum_value

##### SegmentationMask

Kind: enum_value

##### GateControl

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

##### SystemInformationRVC4

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

##### NeuralDepthConfig

Kind: enum_value

##### FeatureTrackerConfig

Kind: enum_value

##### ThermalConfig

Kind: enum_value

##### ToFConfig

Kind: enum_value

##### TrackedFeatures

Kind: enum_value

##### BenchmarkReport

Kind: enum_value

##### MessageGroup

Kind: enum_value

##### MapData

Kind: enum_value

##### TransformData

Kind: enum_value

##### PointCloudConfig

Kind: enum_value

##### PointCloudData

Kind: enum_value

##### RGBDData

Kind: enum_value

##### ImageAlignConfig

Kind: enum_value

##### ImgAnnotations

Kind: enum_value

##### ImageFiltersConfig

Kind: enum_value

##### ToFDepthConfidenceFilterConfig

Kind: enum_value

##### ObjectTrackerConfig

Kind: enum_value

##### DynamicCalibrationControl

Kind: enum_value

##### DynamicCalibrationResult

Kind: enum_value

##### AutoCalibrationConfig

Kind: enum_value

##### AutoCalibrationResult

Kind: enum_value

##### CalibrationQuality

Kind: enum_value

##### CalibrationMetrics

Kind: enum_value

##### CoverageData

Kind: enum_value

##### SegmentationParserConfig

Kind: enum_value

##### PipelineEvent

Kind: enum_value

##### PipelineState

Kind: enum_value

##### PipelineEventAggregationConfig

Kind: enum_value

##### VppConfig

Kind: enum_value

##### PacketizedData

Kind: enum_value

##### COUNT

Kind: enum_value

#### std::uint32_t ImageFiltersPresetMode

Kind: enum

Preset modes for ImageFiltersConfig .

##### TOF_LOW_RANGE

Kind: enum_value

Optimized for low range ToF measurements (0.2m–2m).

##### TOF_MID_RANGE

Kind: enum_value

Optimized for mid range ToF measurements (e.g., 0.2m–5m).

##### TOF_HIGH_RANGE

Kind: enum_value

Optimized for high range ToF measurements (e.g., 1m–6m).

#### std::uint8_t PointsAnnotationType

Kind: enum

##### UNKNOWN

Kind: enum_value

##### POINTS

Kind: enum_value

##### LINE_LOOP

Kind: enum_value

##### LINE_STRIP

Kind: enum_value

##### LINE_LIST

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 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 Raw accelerometer measurement in the sensor-native frame. No IMU extrinsics or affine calibration are applied. Units
are [m/s^2] note: Prior firmware versions incorrectly delivered frame-aligned data on this stream (equivalent to what is now
ACCELEROMETER_UNCALIBRATED). This stream now correctly provides the unprocessed sensor output.

##### ACCELEROMETER_UNCALIBRATED

Kind: enum_value

DepthAI synthetic accelerometer stream. Acceleration of the device including gravity, aligned to the DepthAI IMU frame without the
stored affine calibration applied. Units are [m/s^2]

##### ACCELEROMETER_CALIBRATED

Kind: enum_value

Section 2.1.1 Acceleration of the device including gravity, aligned to the DepthAI IMU frame and corrected with the stored affine
calibration. Units are [m/s^2]

##### ACCELEROMETER

Kind: enum_value

##### 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 Raw gyroscope measurement in the sensor-native frame. DepthAI does not apply IMU extrinsics or affine calibration on
this stream. Units are [rad/s]

##### GYROSCOPE_CALIBRATED

Kind: enum_value

Section 2.1.2 Angular velocity aligned to the DepthAI IMU frame and corrected with the stored affine calibration. Units are
[rad/s]

##### GYROSCOPE_UNCALIBRATED

Kind: enum_value

Section 2.1.2 Angular velocity aligned to the DepthAI IMU frame without the stored affine calibration applied. Units are [rad/s]

##### MAGNETOMETER_RAW

Kind: enum_value

Section 2.1.3 Raw magnetometer measurement in the sensor-native frame. DepthAI does not apply IMU extrinsics on this stream. Units
are [uTesla]

##### MAGNETOMETER_CALIBRATED

Kind: enum_value

Section 2.1.3 Magnetic field measurement aligned to the DepthAI IMU frame. Units are [uTesla]

##### MAGNETOMETER_UNCALIBRATED

Kind: enum_value

Section 2.1.3 Magnetic field measurement aligned to the DepthAI IMU frame 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.

#### LockingQueueState

Kind: enum

##### SUCCESS

Kind: enum_value

##### BLOCKED

Kind: enum_value

##### CANCELLED

Kind: enum_value

#### SerializationType

Kind: enum

##### LIBNOP

Kind: enum_value

##### JSON

Kind: enum_value

##### JSON_MSGPACK

Kind: enum_value

#### LengthUnit DepthUnit

Kind: typedef

#### std::array< uint32_t, 2 > Edge

Kind: typedef

#### std::variant< dai::nn_archive::v1::Config > NNArchiveConfig

Kind: typedef

#### std::variant< std::shared_ptr< ImgAnnotations >, std::shared_ptr< ImgFrame >, std::monostate > VisualizeType

Kind: typedef

#### dai::filters::params::MedianFilter MedianFilterParams

Kind: typedef

#### dai::filters::params::SpatialFilter SpatialFilterParams

Kind: typedef

#### dai::filters::params::SpeckleFilter SpeckleFilterParams

Kind: typedef

#### dai::filters::params::TemporalFilter TemporalFilterParams

Kind: typedef

#### std::variant< MedianFilterParams, SpatialFilterParams , SpeckleFilterParams , TemporalFilterParams > FilterParams

Kind: typedef

#### 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 int MAX_UPPER_THRESHOLD

Kind: variable

#### constexpr int MIN_LOWER_THRESHOLD

Kind: variable

#### constexpr static auto DEFAULT_SERIALIZATION_TYPE

Kind: variable

#### std::string toString(CameraBoardSocket socket)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(CameraSensorConfig, width, height, minFps, maxFps, fov, type, hdr, hfr)

Kind: function

#### std::string toString(CameraSensorType type)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ChipTemperature, css, mss, upa, dss, average)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ChipTemperatureRVC4, cpuss, gpuss, mdmss, video, ddr, camera, average)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(Color, r, g, b, a)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(CpuUsage, average, msTime)

Kind: function

#### constexpr float getSIPrefixMultiplier(SIPrefix unit)

Kind: function

#### constexpr float getAngleUnitToRadianMultiplier(AngleUnit unit)

Kind: function

#### constexpr float getLengthUnitMultiplier(LengthUnit unit)

Kind: function

#### constexpr float getDistanceUnitScale(LengthUnit targetUnit, LengthUnit sourceUnit)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(DetectionParserOptions, nnFamily, subtype, confidenceThreshold, decodingFamily, decodeKeypoints,
decodeSegmentation, classes, classNames, coordinates, nKeypoints, strides, anchors, anchorMasks, outputNamesToUse, anchorsV2,
iouThreshold, keypointEdges, keypointLabelNames)

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, imuCalibrationParams)

Kind: function

#### std::string toString(ExternalFrameSyncRole role)

Kind: function

#### std::string toString(HousingCoordinateSystem housing)

Kind: function

#### const std::unordered_map< std::string, std::unordered_map< dai::HousingCoordinateSystem, std::array< float, 3 > > > &
getHousingCoordinates()

Kind: function

#### DEPTHAI_SERIALIZE_EXT(MemoryInfo, remaining, used, total)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(Point2f, x, y, normalized, hasNormalized)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(Point3d, x, y, z)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(Point3f, x, y, z)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(Point3fRGBA, x, y, z, r, g, b, a)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(Quaterniond, qx, qy, qz, qw)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(Rect, x, y, width, height, normalized, hasNormalized)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(RotatedRect, center, size, angle)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(Size2f, width, height, normalized, hasNormalized)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(StereoRectification, rectifiedRotationLeft, rectifiedRotationRight, leftCameraSocket,
rightCameraSocket)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(TensorInfo, order, dataType, numDimensions, dims, strides, name, offset, quantization, qpScale, qpZp)

Kind: function

#### std::ostream & operator<<(std::ostream & os, const TensorInfo::StorageOrder & so)

Kind: function

#### std::ostream & operator<<(std::ostream & os, const TensorInfo::DataType & dt)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(Timestamp, sec, nsec)

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, defaultImuExtr)

Kind: function

#### std::string platform2string(Platform platform)

Kind: function

Convert Platform enum to string.

parameters: platform: Platform enum return: std::string String representation of Platform

#### Platform string2platform(const std::string & platform)

Kind: function

Convert string to Platform enum.

parameters: platform: String representation of Platform return: Platform Platform enum

#### DEPTHAI_SERIALIZE_EXT(LogMessage, nodeIdName, level, time, colorRangeStart, colorRangeEnd, payload)

Kind: function

#### fs::path getModelFromZoo(const NNModelDescription & modelDescription, bool useCached, const fs::path & cacheDirectory, const
std::string & apiKey, const std::string & progressFormat)

Kind: function

Get model from model zoo.

parameters: modelDescription: Model description; useCached: Use cached model if present, default is true; cacheDirectory: Cache
directory where the cached models are stored, default is "". If cacheDirectory is set to "", this function checks the
DEPTHAI_ZOO_CACHE_PATH environment variable and uses that if set, otherwise the default value is used (see getDefaultCachePath).;
apiKey: API key for the model zoo, default is "". If apiKey is set to "", this function checks the DEPTHAI_ZOO_API_KEY environment
variable and uses that if set. Otherwise, no API key is used.; progressFormat: Format to use for progress output (possible values:
pretty, json, none), default is "pretty" return: std::filesystem::path: Path to the model in cache

#### bool downloadModelsFromZoo(const fs::path & path, const fs::path & cacheDirectory, const std::string & apiKey, const
std::string & progressFormat)

Kind: function

Helper function allowing one to download all models specified in yaml files in the given path and store them in the cache
directory.

parameters: path: Path to the directory containing yaml files; cacheDirectory: Cache directory where the cached models are stored,
default is "". If cacheDirectory is set to "", this function checks the DEPTHAI_ZOO_CACHE_PATH environment variable and uses that
if set, otherwise the default is used (see getDefaultCachePath).; apiKey: API key for the model zoo, default is "". If apiKey is
set to "", this function checks the DEPTHAI_ZOO_API_KEY environment variable and uses that if set. Otherwise, no API key is used.;
progressFormat: Format to use for progress output (possible values: pretty, json, none), default is "pretty" return: bool: True if
all models were downloaded successfully, false otherwise

#### std::ostream & operator<<(std::ostream & os, const NNModelDescription & modelDescription)

Kind: function

#### NNArchiveConfigVersion getNNArchiveConfigVersion(const NNArchiveConfig & config)

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, parentId, name, alias, deviceId, deviceNode, properties, logLevel, ioInfo)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(PipelineSchema, connections, globalProperties, nodes, bridges)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(AprilTag, id, hamming, decisionMargin, topLeft, topRight, bottomRight, bottomLeft)

Kind: function

#### bool isDatatypeSubclassOf(DatatypeEnum parent, DatatypeEnum children)

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(CircleAnnotation, position, diameter, thickness, fillColor, outlineColor)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(PointsAnnotation, type, points, outlineColor, outlineColors, fillColor, thickness)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(TextAnnotation, position, text, fontSize, textColor, backgroundColor)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ImgAnnotation, circles, points, texts)

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, descriptor)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(Transform, matrix)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(AprilTagProperties, initialConfig, inputConfigSync)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(AutoCalibrationProperties, initialConfig)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(BenchmarkInProperties, reportEveryNMessages, attachLatencies, logReportsAsWarnings)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(BenchmarkOutProperties, numMessages, fps)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(CameraProperties, initialControl, boardSocket, sensorType, cameraName, imageOrientation,
resolutionWidth, resolutionHeight, mockIspWidth, mockIspHeight, mockIspFps, fps, isp3aFps, numFramesPoolRaw, maxSizePoolRaw,
numFramesPoolIsp, maxSizePoolIsp, numFramesPoolVideo, numFramesPoolPreview, numFramesPoolStill, numFramesPoolOutputs,
maxSizePoolOutputs, outputRequests)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(CastProperties, numFramesPool, outputType, scale, offset)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ColorCameraProperties, initialControl, boardSocket, cameraName, imageOrientation, previewType,
previewHeight, previewWidth, videoWidth, videoHeight, stillWidth, stillHeight, mockIspWidth, mockIspHeight, resolution, fps,
isp3aFps, sensorCropX, sensorCropY, previewKeepAspectRatio, ispScale, numFramesPoolRaw, numFramesPoolIsp, numFramesPoolVideo,
numFramesPoolPreview, numFramesPoolStill, warpMeshSource, warpMeshUri, warpMeshWidth, warpMeshHeight, calibAlpha,
warpMeshStepWidth, warpMeshStepHeight, eventFilter, rawPacked)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(DetectionParserProperties, numFramesPool, networkInputs, parser)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(DeviceNodeGroupProperties, dummy)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(DynamicCalibrationProperties, emptyBool)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(EdgeDetectorProperties, initialConfig, outputFrameSize, numFramesPool)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(FeatureTrackerProperties, initialConfig, numShaves, numMemorySlices)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(GateProperties, initialConfig)

Kind: function

#### DEPTHAI_BEGIN_SUPPRESS_DEPRECATION_WARNING DEPTHAI_SERIALIZE_EXT(GlobalProperties, pipelineName, pipelineVersion)

Kind: function

#### DEPTHAI_END_SUPPRESS_DEPRECATION_WARNING DEPTHAI_SERIALIZE_EXT(DeviceProperties, leonCssFrequencyHz, leonMssFrequencyHz,
cameraTuningBlobSize, cameraTuningBlobUri, cameraSocketTuningBlobSize, cameraSocketTuningBlobUri, calibData, eepromId,
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(ImageFiltersProperties, initialConfig)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ToFDepthConfidenceFilterProperties, initialConfig)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ImageManipProperties, initialConfig, outputFrameSize, numFramesPool, backend, performanceMode)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(MessageDemuxProperties, processor)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(MonoCameraProperties, initialControl, boardSocket, cameraName, imageOrientation, mockIspWidth,
mockIspHeight, resolution, fps, isp3aFps, numFramesPool, numFramesPoolRaw, rawPacked)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(NeuralDepthProperties, initialConfig)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(NeuralNetworkProperties, modelSource, blobSize, blobUri, modelUri, numFrames, numThreads,
numNCEPerThread, numShavesPerThread, backend, backendProperties, deviceModel)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ObjectTrackerProperties, trackerThreshold, maxObjectsToTrack, detectionLabelsToTrack, trackerType,
trackerIdAssignmentPolicy, trackingPerClass, occlusionRatioThreshold, trackletMaxLifespan, trackletBirthThreshold,
spatialAssociation, spatialAssociationWeight, spatialDistanceThreshold, spatialDepthAwareScale)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(PointCloudProperties, initialConfig, numFramesPool)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(PoolProperties, numMessages, maxMessageSize, datatype, processor)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(RectificationProperties, outputWidth, outputHeight, enableRectification)

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(SegmentationParserProperties, labels, networkOutputName, classesInOneLayer, backgroundClass)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(SpatialDetectionNetworkProperties, 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, enableFrameSync,
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(ThermalProperties, initialConfig, numFramesPool, boardSocket, fps)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(ToFProperties, initialConfig, numFramesPool, numShaves, warpHwIds, boardSocket, cameraName,
imageOrientation, fps, numFramesPoolRaw)

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(VppProperties, initialConfig, numFramesPool)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(WarpProperties, outputWidth, outputHeight, outputFrameSize, numFramesPool, meshWidth, meshHeight,
meshUri, warpHwIds, interpolation)

Kind: function

#### DEPTHAI_SERIALIZE_EXT(PipelineEventAggregationProperties, aggregationWindowSize, statsUpdateIntervalMs, eventWaitWindow,
traceOutput)

Kind: function

#### 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

#### void swap(JoiningThread & x, JoiningThread & y)

Kind: function
