MSCEqF 1.0
Multi State Constraint Equivariant Filter for visual inertial navigation
Loading...
Searching...
No Matches
msceqf::Track Struct Reference

(Cache friendly) Track struct. Define a feature (labeled via a feature id) detected/tracked at different points in time. More...

#include <track.hpp>

Public Types

using Times = std::vector<fp>
 vector of timestamps

Public Member Functions

bool empty () const noexcept
 Check if there valid coordinates in uvs_.
size_t size () const noexcept
 Return the amount of features (size of uvs_).
void removeInvalid (std::vector< bool > &invalid)
 Remove invalid features coordinates, normalized feature coordinates and ids given a vector of boolean flags indicating invalid features.
void removeTail (const fp &timestamp, const bool &remove_equal=true)
 Remove the tail of the track. this method removes coordinates and timestamps that are older or equal than the given timestamp.

Public Attributes

FeaturesCoordinates uvs_
 (u, v) coordinates of the same feature at different time steps
FeaturesCoordinates normalized_uvs_
 Normalized (u, v) coordinates of the same feature at different time steps.
Times timestamps_
 Timestamps of the camera measurement containing the feature.

Friends

bool operator< (const Track &lhs, const Track &rhs)
 Comparison operator with other tracks for sorting based on track length.

Detailed Description

(Cache friendly) Track struct. Define a feature (labeled via a feature id) detected/tracked at different points in time.

Note
Note that feature cordinates are of cv::Point2f type for compatibility with OpenCV.

Member Function Documentation

◆ empty()

bool msceqf::Track::empty ( ) const
inlinenoexcept

Check if there valid coordinates in uvs_.

Returns
true if coordinates are found, false otherwise

◆ removeInvalid()

void msceqf::Track::removeInvalid ( std::vector< bool > & invalid)
inline

Remove invalid features coordinates, normalized feature coordinates and ids given a vector of boolean flags indicating invalid features.

Parameters
invalidVector of boolean flags indicating invalid features

◆ removeTail()

void msceqf::Track::removeTail ( const fp & timestamp,
const bool & remove_equal = true )
inline

Remove the tail of the track. this method removes coordinates and timestamps that are older or equal than the given timestamp.

Parameters
timestampTimestamp
remove_equalFlag to indicate whether to include in the removal also the coordinates and timestamps at the given timestamp

◆ size()

size_t msceqf::Track::size ( ) const
inlinenoexcept

Return the amount of features (size of uvs_).

Returns
Amount of features
Here is the caller graph for this function:

The documentation for this struct was generated from the following file: