Class FeatureTrackExtractor¶
Defined in File feature-track-extractor.h
Class Documentation¶
-
class
vio_common
::
FeatureTrackExtractor
¶ This class can be used to extract feature tracks from a stream of VisualFrames that contain the TrackIDs channel.
Constructors and operators.
@
-
FeatureTrackExtractor
() = delete¶
Default constructor with a default value for min_track_length of 2 and max track length of 1000.
Note that a realistic max track length is necessary because memory is pre-allocated according to that length.
Constructor with a default value for min_track_length of 2.
-
inline
~FeatureTrackExtractor
()¶
Track extraction methods.
Extracts feature tracks from a VisualNFrame stream for all cameras.
- Return
Number of finished tracks over all cameras.
- Parameters
[in] nframe
: Current VisualNFrame to extract the tracks from.[out] all_tracks
: Vector of tracks that ended in the previous frame. Tracks reaching max track length are cut and also returned such that their last referenced frame is the previous frame. The outer vector corresponds to the cameras in the rig.
-
void
extractFromNFrameStream
(const aslam::VisualNFrame::ConstPtr &nframe, aslam::FeatureTracksList *tracks_opportunistic_terminated, aslam::FeatureTracksList *tracks_persistent_new, std::vector<aslam::ContinuedFeatureTracks> *tracks_persistent_continued, std::vector<std::unordered_set<int>> *tracks_persistent_terminated)¶ Extracts feature tracks from a VisualNFrame stream for all cameras.
This method overload returns the tracks separated for each camera.
- Parameters
[in] nframe
: Current nframe containing the tracks.[out] tracks_opportunistic_terminated
: Terminated opportunistic feature tracks. These tracks terminated before reaching the max. length and are no longer tracked.[out] tracks_persistent_new
: New persistent feature tracks. These tracks reached the max. length and are returned for triangulation and processing. Further observations of this track are returned as tracks_persistent_continued messages.[out] tracks_persistent_continued
: Continued persistent feature tracks.[out] tracks_persistent_terminated
: Terminated persistent feature tracks.
-
void
extractFromNFrameStream
(const aslam::VisualNFrame::ConstPtr &nframe, aslam::FeatureTracks *tracks_opportunistic_terminated, aslam::FeatureTracks *tracks_persistent_new, aslam::ContinuedFeatureTracks *tracks_persistent_continued, std::unordered_set<int> *tracks_persistent_terminated)¶ Same as extractFromFrameStream but the tracks of all cameras are joined into one list.
-
size_t
abortAndReturnOpportunisticTracks
(aslam::FeatureTracksList *tracks)¶ Abort and return all opportunistic tracks.
Returns the total number of tracks over all cameras.
-
void
abortAndReturnNLongestOpportunisticTracks
(size_t num_tracks_to_abort, size_t min_track_length, aslam::FeatureTracks *aborted_tracks)¶ Abort and return the N longest opportunistic tracks.
-
void
abortPersistentTracksByTrackId
(const std::unordered_set<int> &track_ids_to_abort)¶ Abort a list of persistent features specified by the TrackId.
All cameras are searched for TrackId matches.
-
size_t
getNumOpportunisticTracks
(size_t camera_idx) const¶ Get the current number of opportunistic feature tracks.
-
size_t
getNumPersistentTracks
(size_t camera_idx) const¶ Get the current number of persistent feature tracks.
-
inline void
setMaxTrackLength
(size_t max_track_length)¶ Set the max.
track length. Already active opportunistic tracks over this length will be returned in the next call to extractFromNFrameStream.
-
void
reset
()¶ Reset all internal states.
Extracts all feature tracks given a list of nframes.
- Return
Number of finished tracks over all cameras.
- Parameters
[in] nframes
: List of VisualNFrame to extract the tracks from.[out] all_tracks
: All feature tracks.
Forwarder for NonConstPtr vectors.
Public Members
-
FeatureTrackExtractor
-