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

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