Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
jafar::vme::VmeEngine Class Reference

Visual Motion Estimator (VME). More...


Detailed Description

Visual Motion Estimator (VME).

Definition at line 165 of file engine.hpp.

#include <engine.hpp>

Inheritance diagram for jafar::vme::VmeEngine:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 VmeEngine (jafar::geom::T3D::Type t3dType, jafar::camera::StereoBench const &stereoBench)
void setStereoBench (jafar::camera::StereoBench const &stereoBench)
std::size_t nbTracked3DPoint ()
int nb3DPointsOutliers ()
void setParams (VmeEngineParams const &params_)
 Set parameters.
const jafar::gfm::MatchingResultgetStereoResult () const
const jafar::gfm::MatchingResultgetTrackResult () const
jafar::geom::T3Dt3d ()
long getElapsedTime () const
void init (const jafar::image::Image &imageLeft, const jafar::image::Image &imageRight, unsigned int frameIndex_=0)
void init (const jafar::gfm::MatchingResult &stereoResult, unsigned int frameIndex_=0)
void estimateMotion (const jafar::image::Image &imageLeft, const jafar::image::Image &imageRight, unsigned int frameIndex_=0)
void estimateMotion (const jafar::gfm::MatchingResult &trackingResult, const jafar::gfm::MatchingResult &stereoResult, unsigned int frameIndex_=0)
int count3DPointPairs () const

Protected Member Functions

virtual void writeLogHeader (jafar::kernel::DataLogger &log) const
 Implements this method calling repeatidly log methods.
virtual void writeLogData (jafar::kernel::DataLogger &log) const
 Implements this method calling repeatidly log methods.

Private Types

typedef std::list< Point3DPairPoint3DPairList

Private Member Functions

void fillPoint3DList (const jafar::gfm::MatchingResult &stereoResult, std::list< Point3D > &point3DList, std::vector< Point3D * > &point3DIndex)
 This method compute the 3D points using the stereo model.
void estimateMotion (bool doComputeErrors)
bool removeOutliers (int k)
void estimateMotionUncertainty ()

Private Attributes

VmeEngineParams params
 vme parameters
double errorMean
 mean of error
double errorSigma
 standard deviation of error
gfm::MatchingResult m_trackingResult
gfm::MatchingResult m_stereoResult
std::list< Point3Dpoint3DListPrev
 3D points from previous frame
std::vector< Point3D * > point3DIndexPrev
 3D points from previous frame by their index in left image
std::list< Point3Dpoint3DListCur
 3D points from current frame
std::vector< Point3D * > point3DIndexCur
 3D points from current frame by their index in left image
Point3DPairList me3DPointPairs
 3D points pairs which are used for the optimisation
std::size_t sizeMe3DPointPairs
 size of the list me3DPointPairs (optimization: std::list size() method is not constant time)
double sumMe3DPointPairsWeights
jblas::mat33 R
 rotation matrix
jblas::vec3 t
 translation vector
jblas::diag_mat uvdCov
 [u,v,disp] covariance matrix (no cross correlation)
geom::T3Dm_t3d
 the estimated t3d
camera::StereoBench m_stereoBench
gfm::EngineStereoTracking m_engineStereoTracking
unsigned int frameIndex
int nbOutliers
 number of outliers removed
long elapsedTime
bool success

Member Function Documentation

Returns:
the number of 3D pairs used for the optimization

Definition at line 303 of file engine.hpp.

References sizeMe3DPointPairs.

void jafar::vme::VmeEngine::fillPoint3DList ( const jafar::gfm::MatchingResult stereoResult,
std::list< Point3D > &  point3DList,
std::vector< Point3D * > &  point3DIndex 
) [private]

This method compute the 3D points using the stereo model.

If uncertainty is enabled, this method also computes 3D points uncertainties.

virtual void jafar::vme::VmeEngine::writeLogData ( jafar::kernel::DataLogger log) const [protected, virtual]

Implements this method calling repeatidly log methods.

You should use writeData() or writeDataVector().

Implements jafar::kernel::DataLoggable.

virtual void jafar::vme::VmeEngine::writeLogHeader ( jafar::kernel::DataLogger log) const [protected, virtual]

Implements this method calling repeatidly log methods.

You should use writeComment(), writeLegend() or writeLegendTokens().

Implements jafar::kernel::DataLoggable.


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

Generated on Wed Oct 15 2014 00:37:52 for Jafar by doxygen 1.7.6.1
LAAS-CNRS