svo
Semi-Direct Visual Odometry
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes
svo::Reprojector Class Reference

Project points from the map into the image and find the corresponding feature (corner). More...

#include <reprojector.h>

List of all members.

Classes

struct  Candidate
 A candidate is a point that projects into the image plane and for which we will search a maching feature in the image. More...
struct  Grid
 The grid stores a set of candidate matches. For every grid cell we try to find one match. More...
struct  Options
 Reprojector config parameters. More...

Public Member Functions

 Reprojector (vk::AbstractCamera *cam, Map &map)
 ~Reprojector ()
void reprojectMap (FramePtr frame, std::vector< std::pair< FramePtr, std::size_t > > &overlap_kfs)
 Project points from the map into the image.

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW
struct
svo::Reprojector::Options 
options_
size_t n_matches_
size_t n_trials_

Private Types

typedef std::list< Candidate,
aligned_allocator< Candidate > > 
Cell
typedef std::vector< Cell * > CandidateGrid

Private Member Functions

void initializeGrid (vk::AbstractCamera *cam)
void resetGrid ()
bool reprojectCell (Cell &cell, FramePtr frame)
bool reprojectPoint (FramePtr frame, Point *point)

Static Private Member Functions

static bool pointQualityComparator (Candidate &lhs, Candidate &rhs)

Private Attributes

Grid grid_
Matcher matcher_
Mapmap_

Detailed Description

Project points from the map into the image and find the corresponding feature (corner).

We don't search a match for every point but only for one point per cell. Thereby, we achieve a homogeneously distributed set of matched features and at the same time we can save processing time by not projecting all points.


Member Typedef Documentation

typedef std::vector<Cell*> svo::Reprojector::CandidateGrid [private]
typedef std::list<Candidate, aligned_allocator<Candidate> > svo::Reprojector::Cell [private]

Constructor & Destructor Documentation

svo::Reprojector::Reprojector ( vk::AbstractCamera *  cam,
Map map 
)

Member Function Documentation

void svo::Reprojector::initializeGrid ( vk::AbstractCamera *  cam) [private]
static bool svo::Reprojector::pointQualityComparator ( Candidate lhs,
Candidate rhs 
) [static, private]
bool svo::Reprojector::reprojectCell ( Cell cell,
FramePtr  frame 
) [private]
void svo::Reprojector::reprojectMap ( FramePtr  frame,
std::vector< std::pair< FramePtr, std::size_t > > &  overlap_kfs 
)

Project points from the map into the image.

First finds keyframes with overlapping field of view and projects only those map-points.

bool svo::Reprojector::reprojectPoint ( FramePtr  frame,
Point point 
) [private]
void svo::Reprojector::resetGrid ( ) [private]

Member Data Documentation

EIGEN_MAKE_ALIGNED_OPERATOR_NEW struct svo::Reprojector::Options svo::Reprojector::options_

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines