FeatureTracker node. Performs feature tracking and reidentification using motion estimation between 2 consecutive frames. More...
#include <FeatureTracker.hpp>
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) |
![]() | |
std::unique_ptr< Node > | clone () const override |
const char * | getName () const override |
![]() | |
virtual std::unique_ptr< Node > | clone () const =0 |
Deep copy the node. More... | |
AssetManager & | getAssetManager () |
Get node AssetManager as a reference. More... | |
const AssetManager & | getAssetManager () 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< Input > | getInputs () |
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< Output > | getOutputs () |
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}}} |
![]() | |
Properties & | properties |
Underlying properties. More... | |
![]() | |
const Id | id |
Id of node. More... | |
Properties & | properties |
Static Public Attributes | |
constexpr static const char * | NAME = "FeatureTracker" |
Protected Member Functions | |
Properties & | getProperties () |
![]() | |
virtual tl::optional< OpenVINO::Version > | getRequiredOpenVINOVersion () |
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< RawFeatureTrackerConfig > | rawConfig |
Additional Inherited Members | |
![]() | |
using | Properties = FeatureTrackerProperties |
![]() | |
using | Id = std::int64_t |
Node identificator. Unique for every node on a single Pipeline. More... | |
![]() | |
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< PipelineImpl > | parent |
copyable_unique_ptr< Properties > | propertiesHolder |
FeatureTracker node. Performs feature tracking and reidentification using motion estimation between 2 consecutive frames.
Definition at line 20 of file FeatureTracker.hpp.
dai::node::FeatureTracker::FeatureTracker | ( | const std::shared_ptr< PipelineImpl > & | par, |
int64_t | nodeId | ||
) |
Definition at line 8 of file FeatureTracker.cpp.
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.
|
protectedvirtual |
Reimplemented from dai::Node.
Definition at line 18 of file FeatureTracker.cpp.
bool dai::node::FeatureTracker::getWaitForConfigInput | ( | ) | const |
Definition at line 28 of file FeatureTracker.cpp.
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.
numShaves | Number of shaves. Maximum 2. |
numMemorySlices | Number of memory slices. Maximum 2. |
Definition at line 32 of file FeatureTracker.cpp.
void dai::node::FeatureTracker::setWaitForConfigInput | ( | bool | wait | ) |
Specify whether or not wait until configuration message arrives to inputConfig Input.
wait | True to wait for configuration message, false otherwise. |
Definition at line 24 of file FeatureTracker.cpp.
FeatureTrackerConfig dai::node::FeatureTracker::initialConfig |
Initial config to use for feature tracking.
Definition at line 37 of file FeatureTracker.hpp.
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.
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.
|
staticconstexpr |
Definition at line 22 of file FeatureTracker.hpp.
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.
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.
|
private |
Definition at line 28 of file FeatureTracker.hpp.