Class Vpp

Inheritance Relationships

Base Type

Class Documentation

class Vpp : public dai::DeviceNodeCRTP<DeviceNode, Vpp, VppProperties>

Vpp node. Apply Virtual Projection Pattern algorithm to stereo images based on disparity.

Public Functions

Vpp() = default
Vpp(std::unique_ptr<Properties> props)
virtual ~Vpp()
std::shared_ptr<Vpp> build(Output &leftInput, Output &rightInput, Output &disparityInput, Output &confidenceInput)
virtual void buildInternal() override

Function called from within the create function to build the node. This function is useful for initialization, setting up inputs and outputs = stuff that cannot be perform in the constuctor.

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

Public Members

std::shared_ptr<VppConfig> initialConfig = std::make_shared<VppConfig>()

Initial config to use for VPP.

Subnode<node::Sync> sync = {*this, "sync"}
Input syncedInputs = {*this, {"syncedInputs", DEFAULT_GROUP, false, 4, {{{DatatypeEnum::MessageGroup, false}}}, DEFAULT_WAIT_FOR_MESSAGE}}

“Synchronised Left Img, Right Img, Dispatiy and confidence input.”

const std::string leftInputName = "left"
const std::string rightInputName = "right"
const std::string disparityName = "disparity"
const std::string confidenceName = "confidence"
Input &left = {sync->inputs["left"]}

Input for left rectified ImgFrame

Input &right = {sync->inputs["right"]}

Input for right rectified ImgFrame

Input &disparity = {sync->inputs["disparity"]}

Low resolution disparity in pixels (in integers - 16 times bigger)

Input &confidence = {sync->inputs["confidence"]}

Confidence of the dispatiry (in integers - 16 times bigger).

Input inputConfig = {*this, {"inputConfig", DEFAULT_GROUP, false, 4, {{{DatatypeEnum::VppConfig, false}}}, DEFAULT_WAIT_FOR_MESSAGE}}
Output leftOut = {*this, {"leftOut", DEFAULT_GROUP, {{{DatatypeEnum::ImgFrame, false}}}}}

Output ImgFrame message that carries the processed left image with virtual projection pattern applied.

Output rightOut = {*this, {"rightOut", DEFAULT_GROUP, {{{DatatypeEnum::ImgFrame, false}}}}}

Output ImgFrame message that carries the processed right image with virtual projection pattern applied.

Public Static Attributes

static constexpr const char *NAME = "Vpp"

Protected Functions

virtual Properties &getProperties() override