LTI-Lib latest version v1.9 - last update 10 Apr 2010

lti::ransacEstimator Class Reference

This class estimates a transform using the Ransac algorithm. More...

#include <ltiRansacEstimator.h>

Inheritance diagram for lti::ransacEstimator:
Inheritance graph
[legend]
Collaboration diagram for lti::ransacEstimator:
Collaboration graph
[legend]

List of all members.

Classes

class  parameters
 The parameters for the class ransacEstimator. More...

Public Member Functions

 ransacEstimator ()
 ransacEstimator (const parameters &par)
 ransacEstimator (const ransacEstimator &other)
virtual ~ransacEstimator ()
virtual const char * getTypeName () const
virtual bool apply (const matrix< fpoint > &src, fvector &dest) const
virtual bool apply (const matrix< fpoint > &src, fvector &dest, fvector &error) const
virtual bool apply (const matrix< dpoint > &src, dvector &dest) const
virtual bool apply (const matrix< dpoint > &src, dvector &dest, dvector &error) const
ransacEstimatorcopy (const ransacEstimator &other)
ransacEstimatoroperator= (const ransacEstimator &other)
virtual functorclone () const
const parametersgetParameters () const

Detailed Description

This class estimates a transform using the Ransac algorithm.

The Ransac algorithm maximizes the number of inliers. At each iteration a subset of points/correspondences is drawn from which the transform is computed.

Theoretically the Ransac algorithm copes with up to 90% outliers. It is advised though, to verify the estimated transform and repeat the ransac estimation in case of a bad estimation. For the homography estimators this may be performed by the homographyVerfication (coming up soon).


Constructor & Destructor Documentation

lti::ransacEstimator::ransacEstimator (  ) 

Default constructor.

lti::ransacEstimator::ransacEstimator ( const parameters par  ) 

Construct a functor using the given parameters.

lti::ransacEstimator::ransacEstimator ( const ransacEstimator other  ) 

Copy constructor.

Parameters:
other the object to be copied
virtual lti::ransacEstimator::~ransacEstimator (  )  [virtual]

Destructor.


Member Function Documentation

virtual bool lti::ransacEstimator::apply ( const matrix< dpoint > &  src,
dvector dest,
dvector error 
) const [virtual]

Estimates a transform from the supplied point sets.

All points of one point set give a matrix row, whereas all elements of a specifec correspondence stand in a matrix column.

Parameters:
src std::vector<vector<dpoint> > with the point sets.
dest dvector the estimated transform.
error fvector containing the deviation of each point from the estimated transform. Usually this is the residual, also a if a squared residual is computed inside the transform estimator.
Returns:
true if apply successful or false otherwise.

Implements lti::monteCarloEstimator.

virtual bool lti::ransacEstimator::apply ( const matrix< dpoint > &  src,
dvector dest 
) const [virtual]

Estimates a transform from the supplied point sets.

All points of one point set give a matrix row, whereas all elements of a specifec correspondence stand in a matrix column.

Parameters:
src std::vector<vector<dpoint> > with the point sets.
dest dvector the estimated transform.
Returns:
true if apply successful or false otherwise.

Implements lti::monteCarloEstimator.

virtual bool lti::ransacEstimator::apply ( const matrix< fpoint > &  src,
fvector dest,
fvector error 
) const [virtual]

Estimates a transform from the supplied point sets.

All points of one point set give a matrix row, whereas all elements of a specifec correspondence stand in a matrix column.

Parameters:
src std::vector<vector<dpoint> > with the point sets.
dest fvector the estimated transform.
error fvector containing the deviation of each point from the estimated transform. Usually this is the residual, also a if a squared residual is computed inside the transform estimator.
Returns:
true if apply successful or false otherwise.

Implements lti::monteCarloEstimator.

virtual bool lti::ransacEstimator::apply ( const matrix< fpoint > &  src,
fvector dest 
) const [virtual]

Estimates a transform from the supplied point sets.

All points of one point set give a matrix row, whereas all elements of a specifec correspondence stand in a matrix column.

Parameters:
src std::vector<vector<dpoint> > with the point sets.
dest fvector the estimated transform.
Returns:
true if apply successful or false otherwise.

Implements lti::monteCarloEstimator.

virtual functor* lti::ransacEstimator::clone (  )  const [virtual]

Returns a pointer to a clone of this functor.

Implements lti::monteCarloEstimator.

ransacEstimator& lti::ransacEstimator::copy ( const ransacEstimator other  ) 

Copy data of "other" functor.

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

Reimplemented from lti::monteCarloEstimator.

const parameters& lti::ransacEstimator::getParameters (  )  const

Returns used parameters.

Reimplemented from lti::monteCarloEstimator.

virtual const char* lti::ransacEstimator::getTypeName (  )  const [virtual]

Returns the name of this type ("ransacEstimator").

Reimplemented from lti::monteCarloEstimator.

ransacEstimator& lti::ransacEstimator::operator= ( const ransacEstimator other  ) 

Alias for copy member.

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

Reimplemented from lti::monteCarloEstimator.


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

Generated on Sat Apr 10 15:27:45 2010 for LTI-Lib by Doxygen 1.6.1