Blender  V3.3
Public Member Functions | List of all members
libmv::Tracks Class Reference

#include <tracks.h>

Public Member Functions

 Tracks ()
 
 Tracks (const Tracks &other)
 
 Tracks (const vector< Marker > &markers)
 Construct a new tracks object using the given markers to start. More...
 
void Insert (int image, int track, double x, double y, double weight=1.0)
 
vector< MarkerAllMarkers () const
 Returns all the markers. More...
 
vector< MarkerMarkersForTrack (int track) const
 Returns all the markers belonging to a track. More...
 
vector< MarkerMarkersInImage (int image) const
 Returns all the markers visible in image. More...
 
vector< MarkerMarkersInBothImages (int image1, int image2) const
 Returns all the markers visible in image1 and image2. More...
 
vector< MarkerMarkersForTracksInBothImages (int image1, int image2) const
 
Marker MarkerInImageForTrack (int image, int track) const
 Returns the marker in image belonging to track. More...
 
void RemoveMarkersForTrack (int track)
 Removes all the markers belonging to track. More...
 
void RemoveMarker (int image, int track)
 Removes the marker in image belonging to track. More...
 
int MaxImage () const
 Returns the maximum image identifier used. More...
 
int MaxTrack () const
 Returns the maximum track identifier used. More...
 
int NumMarkers () const
 Returns the number of markers. More...
 

Detailed Description

The Tracks class stores reconstruction markers .

The Tracks container is intended as the store of correspondences between images, which must get created before any 3D reconstruction can take place.

The container has several fast lookups for queries typically needed for structure from motion algorithms, such as Marker

Definition at line 65 of file libmv/simple_pipeline/tracks.h.

Constructor & Destructor Documentation

◆ Tracks() [1/3]

libmv::Tracks::Tracks ( )
inline

Definition at line 67 of file libmv/simple_pipeline/tracks.h.

◆ Tracks() [2/3]

libmv::Tracks::Tracks ( const Tracks other)

Definition at line 31 of file libmv/simple_pipeline/tracks.cc.

◆ Tracks() [3/3]

libmv::Tracks::Tracks ( const vector< Marker > &  markers)
explicit

Construct a new tracks object using the given markers to start.

Definition at line 35 of file libmv/simple_pipeline/tracks.cc.

Member Function Documentation

◆ AllMarkers()

vector< Marker > libmv::Tracks::AllMarkers ( ) const

Returns all the markers.

Definition at line 52 of file libmv/simple_pipeline/tracks.cc.

Referenced by libmv::InternalReprojectionError(), and libmv::InvertIntrinsicsForTracks().

◆ Insert()

void libmv::Tracks::Insert ( int  image,
int  track,
double  x,
double  y,
double  weight = 1.0 
)

Inserts a marker into the set. If there is already a marker for the given image and track, the existing marker is replaced. If there is no marker for the given image and track, a new one is added.

image and track are the keys used to retrieve the markers with the other methods in this class.

weight is used by bundle adjustment and weight means how much the track affects on a final solution.

Note
To get an identifier for a new track, use + 1.

Definition at line 38 of file libmv/simple_pipeline/tracks.cc.

References image(), x, and y.

◆ MarkerInImageForTrack()

Marker libmv::Tracks::MarkerInImageForTrack ( int  image,
int  track 
) const

Returns the marker in image belonging to track.

Definition at line 121 of file libmv/simple_pipeline/tracks.cc.

References image().

◆ MarkersForTrack()

vector< Marker > libmv::Tracks::MarkersForTrack ( int  track) const

Returns all the markers belonging to a track.

Definition at line 66 of file libmv/simple_pipeline/tracks.cc.

References markers.

Referenced by libmv_reprojectionErrorForTrack().

◆ MarkersForTracksInBothImages()

vector< Marker > libmv::Tracks::MarkersForTracksInBothImages ( int  image1,
int  image2 
) const

Returns the markers in image1 and image2 which have a common track.

This is not the same as the union of the markers in image1 and image2; each marker is for a track that appears in both images.

Definition at line 86 of file libmv/simple_pipeline/tracks.cc.

References image(), markers, and sort().

Referenced by libmv_solveReconstruction(), and libmv::SelectKeyframesBasedOnGRICAndVariance().

◆ MarkersInBothImages()

vector< Marker > libmv::Tracks::MarkersInBothImages ( int  image1,
int  image2 
) const

Returns all the markers visible in image1 and image2.

Definition at line 76 of file libmv/simple_pipeline/tracks.cc.

References image(), and markers.

Referenced by libmv::SelectKeyframesBasedOnGRICAndVariance().

◆ MarkersInImage()

vector< Marker > libmv::Tracks::MarkersInImage ( int  image) const

Returns all the markers visible in image.

Definition at line 56 of file libmv/simple_pipeline/tracks.cc.

References image(), and markers.

Referenced by libmv_reprojectionErrorForImage().

◆ MaxImage()

int libmv::Tracks::MaxImage ( ) const

Returns the maximum image identifier used.

Definition at line 151 of file libmv/simple_pipeline/tracks.cc.

References image(), and max.

Referenced by libmv::SelectKeyframesBasedOnGRICAndVariance().

◆ MaxTrack()

int libmv::Tracks::MaxTrack ( ) const

Returns the maximum track identifier used.

Definition at line 160 of file libmv/simple_pipeline/tracks.cc.

References max.

◆ NumMarkers()

int libmv::Tracks::NumMarkers ( ) const

Returns the number of markers.

Definition at line 169 of file libmv/simple_pipeline/tracks.cc.

◆ RemoveMarker()

void libmv::Tracks::RemoveMarker ( int  image,
int  track 
)

Removes the marker in image belonging to track.

Definition at line 141 of file libmv/simple_pipeline/tracks.cc.

References image(), and size().

◆ RemoveMarkersForTrack()

void libmv::Tracks::RemoveMarkersForTrack ( int  track)

Removes all the markers belonging to track.

Definition at line 131 of file libmv/simple_pipeline/tracks.cc.

References size().


The documentation for this class was generated from the following files: