SLAMflex SE  0.1.0
SLAMflex provides detection and tracking of dominant planes for smartphone devices. This plane can then be used to show AR content relative to the plane orientation. The detection of plane is performed in the field of view of the smartphone camera. In subsequent frames it is tracked. The interface returns the plane position and orientation.
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
PatchFinder Class Reference

#include <PatchFinder.h>

Public Member Functions

 PatchFinder (int nPatchSize=8)
 
int CalcSearchLevelAndWarpMatrix (MapPoint &p, SE3<> se3CFromW, Matrix< 2 > &m2CamDerivs)
 
int GetLevel ()
 
int GetLevelScale ()
 
void MakeTemplateCoarseCont (MapPoint &p)
 
void MakeTemplateCoarse (MapPoint &p, SE3<> se3CFromW, Matrix< 2 > &m2CamDerivs)
 
void MakeTemplateCoarseNoWarp (MapPoint &p)
 
void MakeTemplateCoarseNoWarp (KeyFrame &k, int nLevel, CVD::ImageRef irLevelPos)
 
bool TemplateBad ()
 
bool FindPatchCoarse (CVD::ImageRef ir, KeyFrame &kf, unsigned int nRange)
 
int ZMSSDAtPoint (CVD::BasicImage< CVD::byte > &im, const CVD::ImageRef &ir)
 
CVD::ImageRef GetCoarsePos ()
 
Vector< 2 > GetCoarsePosAsVector ()
 
void MakeSubPixTemplate ()
 
bool IterateSubPixToConvergence (KeyFrame &kf, int nMaxIts)
 
double IterateSubPix (KeyFrame &kf)
 
Vector< 2 > GetSubPixPos ()
 
void SetSubPixPos (Vector< 2 > v2)
 
Matrix< 2 > GetCov ()
 

Public Attributes

int mnMaxSSD
 

Protected Member Functions

void MakeTemplateSums ()
 

Protected Attributes

int mnPatchSize
 
int mnTemplateSum
 
int mnTemplateSumSq
 
CVD::Image< CVD::bytemimTemplate
 
CVD::Image< std::pair< float, float > > mimJacs
 
Matrix< 2 > mm2WarpInverse
 
int mnSearchLevel
 
Matrix< 3 > mm3HInv
 
Vector< 2 > mv2SubPixPos
 
double mdMeanDiff
 
CVD::ImageRef mirPredictedPos
 
Vector< 2 > mv2CoarsePos
 
CVD::ImageRef mirCenter
 
bool mbFound
 
bool mbTemplateBad
 
MapPointmpLastTemplateMapPoint
 
Matrix< 2 > mm2LastWarpMatrix
 

Detailed Description

Definition at line 49 of file PatchFinder.h.

Constructor & Destructor Documentation

PatchFinder::PatchFinder ( int  nPatchSize = 8)

Definition at line 19 of file PatchFinder.cpp.

Member Function Documentation

int PatchFinder::CalcSearchLevelAndWarpMatrix ( MapPoint p,
SE3<>  se3CFromW,
Matrix< 2 > &  m2CamDerivs 
)

Definition at line 33 of file PatchFinder.cpp.

bool PatchFinder::FindPatchCoarse ( CVD::ImageRef  ir,
KeyFrame kf,
unsigned int  nRange 
)

Definition at line 179 of file PatchFinder.cpp.

CVD::ImageRef PatchFinder::GetCoarsePos ( )
inline

Definition at line 86 of file PatchFinder.h.

Vector<2> PatchFinder::GetCoarsePosAsVector ( )
inline

Definition at line 87 of file PatchFinder.h.

Matrix<2> PatchFinder::GetCov ( )
inline

Definition at line 100 of file PatchFinder.h.

int PatchFinder::GetLevel ( )
inline

Definition at line 63 of file PatchFinder.h.

int PatchFinder::GetLevelScale ( )
inline

Definition at line 64 of file PatchFinder.h.

Vector<2> PatchFinder::GetSubPixPos ( )
inline

Definition at line 95 of file PatchFinder.h.

double PatchFinder::IterateSubPix ( KeyFrame kf)

Definition at line 306 of file PatchFinder.cpp.

bool PatchFinder::IterateSubPixToConvergence ( KeyFrame kf,
int  nMaxIts 
)

Definition at line 286 of file PatchFinder.cpp.

void PatchFinder::MakeSubPixTemplate ( )

Definition at line 254 of file PatchFinder.cpp.

void PatchFinder::MakeTemplateCoarse ( MapPoint p,
SE3<>  se3CFromW,
Matrix< 2 > &  m2CamDerivs 
)

Definition at line 72 of file PatchFinder.cpp.

void PatchFinder::MakeTemplateCoarseCont ( MapPoint p)

Definition at line 81 of file PatchFinder.cpp.

void PatchFinder::MakeTemplateCoarseNoWarp ( MapPoint p)

Definition at line 152 of file PatchFinder.cpp.

void PatchFinder::MakeTemplateCoarseNoWarp ( KeyFrame k,
int  nLevel,
CVD::ImageRef  irLevelPos 
)

Definition at line 133 of file PatchFinder.cpp.

void PatchFinder::MakeTemplateSums ( )
inlineprotected

Definition at line 159 of file PatchFinder.cpp.

void PatchFinder::SetSubPixPos ( Vector< 2 >  v2)
inline

Definition at line 96 of file PatchFinder.h.

bool PatchFinder::TemplateBad ( )
inline

Definition at line 76 of file PatchFinder.h.

int PatchFinder::ZMSSDAtPoint ( CVD::BasicImage< CVD::byte > &  im,
const CVD::ImageRef ir 
)

Definition at line 400 of file PatchFinder.cpp.

Member Data Documentation

bool PatchFinder::mbFound
protected

Definition at line 128 of file PatchFinder.h.

bool PatchFinder::mbTemplateBad
protected

Definition at line 129 of file PatchFinder.h.

double PatchFinder::mdMeanDiff
protected

Definition at line 123 of file PatchFinder.h.

CVD::Image<std::pair<float,float> > PatchFinder::mimJacs
protected

Definition at line 117 of file PatchFinder.h.

CVD::Image<CVD::byte> PatchFinder::mimTemplate
protected

Definition at line 116 of file PatchFinder.h.

CVD::ImageRef PatchFinder::mirCenter
protected

Definition at line 127 of file PatchFinder.h.

CVD::ImageRef PatchFinder::mirPredictedPos
protected

Definition at line 125 of file PatchFinder.h.

Matrix<2> PatchFinder::mm2LastWarpMatrix
protected

Definition at line 133 of file PatchFinder.h.

Matrix<2> PatchFinder::mm2WarpInverse
protected

Definition at line 119 of file PatchFinder.h.

Matrix<3> PatchFinder::mm3HInv
protected

Definition at line 121 of file PatchFinder.h.

int PatchFinder::mnMaxSSD

Definition at line 103 of file PatchFinder.h.

int PatchFinder::mnPatchSize
protected

Definition at line 109 of file PatchFinder.h.

int PatchFinder::mnSearchLevel
protected

Definition at line 120 of file PatchFinder.h.

int PatchFinder::mnTemplateSum
protected

Definition at line 112 of file PatchFinder.h.

int PatchFinder::mnTemplateSumSq
protected

Definition at line 113 of file PatchFinder.h.

MapPoint* PatchFinder::mpLastTemplateMapPoint
protected

Definition at line 132 of file PatchFinder.h.

Vector<2> PatchFinder::mv2CoarsePos
protected

Definition at line 126 of file PatchFinder.h.

Vector<2> PatchFinder::mv2SubPixPos
protected

Definition at line 122 of file PatchFinder.h.


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