Class FeatureTracker

Inheritance Relationships

Base Type

Class Documentation

class FeatureTracker : public dai::DeviceNodeCRTP<DeviceNode, FeatureTracker, FeatureTrackerProperties>

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

Public Functions

FeatureTracker() = default
FeatureTracker(std::unique_ptr<Properties> props)
void 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:
  • numShaves – Number of shaves. Maximum 2.

  • numMemorySlices – Number of memory slices. Maximum 2.

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<FeatureTrackerConfig> initialConfig = std::make_shared<FeatureTrackerConfig>()

Initial config to use for feature tracking.

Input inputConfig = {*this, {"inputConfig", DEFAULT_GROUP, false, 4, {{{DatatypeEnum::FeatureTrackerConfig, false}}}, DEFAULT_WAIT_FOR_MESSAGE}}

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

Input inputImage = {*this, {"inputImage", DEFAULT_GROUP, false, 4, {{{DatatypeEnum::ImgFrame, false}}}, true}}

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

Output outputFeatures = {*this, {"outputFeatures", DEFAULT_GROUP, {{{DatatypeEnum::TrackedFeatures, false}}}}}

Outputs TrackedFeatures message that carries tracked features results.

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

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

Public Static Attributes

static constexpr const char *NAME = "FeatureTracker"

Protected Functions

virtual Properties &getProperties()