Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
dai::node::FeatureTracker Class Reference

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

#include <FeatureTracker.hpp>

Inheritance diagram for dai::node::FeatureTracker:
Inheritance graph
[legend]

Public Member Functions

 FeatureTracker (const std::shared_ptr< PipelineImpl > &par, int64_t nodeId)
 
 FeatureTracker (const std::shared_ptr< PipelineImpl > &par, int64_t nodeId, std::unique_ptr< Properties > props)
 
bool getWaitForConfigInput () const
 
void setHardwareResources (int numShaves, int numMemorySlices)
 
void setWaitForConfigInput (bool wait)
 
- Public Member Functions inherited from dai::NodeCRTP< Node, FeatureTracker, FeatureTrackerProperties >
std::unique_ptr< Nodeclone () const override
 
const char * getName () const override
 
- Public Member Functions inherited from dai::Node
virtual std::unique_ptr< Nodeclone () const =0
 Deep copy the node. More...
 
AssetManagergetAssetManager ()
 Get node AssetManager as a reference. More...
 
const AssetManagergetAssetManager () const
 Get node AssetManager as a const reference. More...
 
std::vector< Input * > getInputRefs ()
 Retrieves reference to node inputs. More...
 
std::vector< const Input * > getInputRefs () const
 Retrieves reference to node inputs. More...
 
std::vector< InputgetInputs ()
 Retrieves all nodes inputs. More...
 
virtual const char * getName () const =0
 Retrieves nodes name. More...
 
std::vector< Output * > getOutputRefs ()
 Retrieves reference to node outputs. More...
 
std::vector< const Output * > getOutputRefs () const
 Retrieves reference to node outputs. More...
 
std::vector< OutputgetOutputs ()
 Retrieves all nodes outputs. More...
 
Pipeline getParentPipeline ()
 
const Pipeline getParentPipeline () const
 
 Node (const std::shared_ptr< PipelineImpl > &p, Id nodeId, std::unique_ptr< Properties > props)
 Constructs Node. More...
 
virtual ~Node ()=default
 

Public Attributes

FeatureTrackerConfig initialConfig
 
Input inputConfig {*this, "inputConfig", Input::Type::SReceiver, false, 4, {{DatatypeEnum::FeatureTrackerConfig, false}}}
 
Input inputImage {*this, "inputImage", Input::Type::SReceiver, false, 4, true, {{DatatypeEnum::ImgFrame, false}}}
 
Output outputFeatures {*this, "outputFeatures", Output::Type::MSender, {{DatatypeEnum::TrackedFeatures, false}}}
 
Output passthroughInputImage {*this, "passthroughInputImage", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}}
 
- Public Attributes inherited from dai::NodeCRTP< Node, FeatureTracker, FeatureTrackerProperties >
Propertiesproperties
 Underlying properties. More...
 
- Public Attributes inherited from dai::Node
const Id id
 Id of node. More...
 
Propertiesproperties
 

Static Public Attributes

constexpr static const char * NAME = "FeatureTracker"
 

Protected Member Functions

PropertiesgetProperties ()
 
- Protected Member Functions inherited from dai::Node
virtual tl::optional< OpenVINO::VersiongetRequiredOpenVINOVersion ()
 
void setInputMapRefs (InputMap *inMapRef)
 
void setInputMapRefs (std::initializer_list< InputMap * > l)
 
void setInputRefs (Input *inRef)
 
void setInputRefs (std::initializer_list< Input * > l)
 
void setOutputMapRefs (OutputMap *outMapRef)
 
void setOutputMapRefs (std::initializer_list< OutputMap * > l)
 
void setOutputRefs (Output *outRef)
 
void setOutputRefs (std::initializer_list< Output * > l)
 

Private Attributes

std::shared_ptr< RawFeatureTrackerConfigrawConfig
 

Additional Inherited Members

- Public Types inherited from dai::NodeCRTP< Node, FeatureTracker, FeatureTrackerProperties >
using Properties = FeatureTrackerProperties
 
- Public Types inherited from dai::Node
using Id = std::int64_t
 Node identificator. Unique for every node on a single Pipeline. More...
 
- Protected Attributes inherited from dai::Node
AssetManager assetManager
 
std::unordered_map< std::string, InputMap * > inputMapRefs
 
std::unordered_map< std::string, Input * > inputRefs
 
std::unordered_map< std::string, OutputMap * > outputMapRefs
 
std::unordered_map< std::string, Output * > outputRefs
 
std::weak_ptr< PipelineImplparent
 
copyable_unique_ptr< PropertiespropertiesHolder
 

Detailed Description

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

Definition at line 20 of file FeatureTracker.hpp.

Constructor & Destructor Documentation

◆ FeatureTracker() [1/2]

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

Definition at line 8 of file FeatureTracker.cpp.

◆ FeatureTracker() [2/2]

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

Definition at line 10 of file FeatureTracker.cpp.

Member Function Documentation

◆ getProperties()

FeatureTracker::Properties & dai::node::FeatureTracker::getProperties ( )
protectedvirtual

Reimplemented from dai::Node.

Definition at line 18 of file FeatureTracker.cpp.

◆ getWaitForConfigInput()

bool dai::node::FeatureTracker::getWaitForConfigInput ( ) const
See also
setWaitForConfigInput
Returns
True if wait for inputConfig message, false otherwise

Definition at line 28 of file FeatureTracker.cpp.

◆ setHardwareResources()

void dai::node::FeatureTracker::setHardwareResources ( int  numShaves,
int  numMemorySlices 
)

Specify allocated hardware resources for feature tracking. 2 shaves/memory slices are required for optical flow, 1 for corner detection only.

Parameters
numShavesNumber of shaves. Maximum 2.
numMemorySlicesNumber of memory slices. Maximum 2.

Definition at line 32 of file FeatureTracker.cpp.

◆ setWaitForConfigInput()

void dai::node::FeatureTracker::setWaitForConfigInput ( bool  wait)

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

Parameters
waitTrue to wait for configuration message, false otherwise.

Definition at line 24 of file FeatureTracker.cpp.

Member Data Documentation

◆ initialConfig

FeatureTrackerConfig dai::node::FeatureTracker::initialConfig

Initial config to use for feature tracking.

Definition at line 37 of file FeatureTracker.hpp.

◆ inputConfig

Input dai::node::FeatureTracker::inputConfig {*this, "inputConfig", Input::Type::SReceiver, false, 4, {{DatatypeEnum::FeatureTrackerConfig, false}}}

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

Definition at line 43 of file FeatureTracker.hpp.

◆ inputImage

Input dai::node::FeatureTracker::inputImage {*this, "inputImage", Input::Type::SReceiver, false, 4, true, {{DatatypeEnum::ImgFrame, false}}}

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

Definition at line 48 of file FeatureTracker.hpp.

◆ NAME

constexpr static const char* dai::node::FeatureTracker::NAME = "FeatureTracker"
staticconstexpr

Definition at line 22 of file FeatureTracker.hpp.

◆ outputFeatures

Output dai::node::FeatureTracker::outputFeatures {*this, "outputFeatures", Output::Type::MSender, {{DatatypeEnum::TrackedFeatures, false}}}

Outputs TrackedFeatures message that carries tracked features results.

Definition at line 53 of file FeatureTracker.hpp.

◆ passthroughInputImage

Output dai::node::FeatureTracker::passthroughInputImage {*this, "passthroughInputImage", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}}

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

Definition at line 59 of file FeatureTracker.hpp.

◆ rawConfig

std::shared_ptr<RawFeatureTrackerConfig> dai::node::FeatureTracker::rawConfig
private

Definition at line 28 of file FeatureTracker.hpp.


The documentation for this class was generated from the following files:


depthai
Author(s): Martin Peterlin
autogenerated on Sat Mar 22 2025 02:58:20