latest version v1.9 - last update 10 Apr 2010 |
A parent class for estimating a transform from sets of points in a robust manner. More...
#include <ltiRobustEstimator.h>
Classes | |
class | parameters |
The parameters for the class robustEstimator. More... | |
Public Member Functions | |
robustEstimator () | |
robustEstimator (const parameters &par) | |
robustEstimator (const robustEstimator &other) | |
virtual | ~robustEstimator () |
virtual const char * | getTypeName () const |
virtual bool | apply (const matrix< fpoint > &src, fvector &dest) const =0 |
virtual bool | apply (const matrix< fpoint > &src, fvector &dest, fvector &error) const =0 |
virtual bool | apply (const matrix< dpoint > &src, dvector &dest) const =0 |
virtual bool | apply (const matrix< dpoint > &src, dvector &dest, dvector &error) const =0 |
robustEstimator & | copy (const robustEstimator &other) |
robustEstimator & | operator= (const robustEstimator &other) |
virtual functor * | clone () const =0 |
const parameters & | getParameters () const |
virtual bool | setParameters (const pointSetNormalization::parameters &theParams) |
bool | setParameters (const parameters &theParams) |
Protected Member Functions | |
parameters & | getWritableParameters () |
A parent class for estimating a transform from sets of points in a robust manner.
This is archived be a Monte Carlo estimator for outlier removal or iterative refinement of the transform to reduce the effects of noisy input data (comming up soon).
The Monte Carlo estimators work for any transformation estimation algorithms whereas iterative refinenment will be defined for least squares estimators only.
lti::robustEstimator::robustEstimator | ( | ) |
Default constructor.
lti::robustEstimator::robustEstimator | ( | const parameters & | par | ) |
Construct a functor using the given parameters.
lti::robustEstimator::robustEstimator | ( | const robustEstimator & | other | ) |
Copy constructor.
other | the object to be copied |
virtual lti::robustEstimator::~robustEstimator | ( | ) | [virtual] |
Destructor.
virtual bool lti::robustEstimator::apply | ( | const matrix< dpoint > & | src, | |
dvector & | dest, | |||
dvector & | error | |||
) | const [pure 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.
src | matrix<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. |
Implemented in lti::monteCarloEstimator, and lti::ransacEstimator.
virtual bool lti::robustEstimator::apply | ( | const matrix< dpoint > & | src, | |
dvector & | dest | |||
) | const [pure 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.
src | matrix<dpoint> with the point sets. | |
dest | dvector the estimated transform. |
Implemented in lti::monteCarloEstimator, and lti::ransacEstimator.
virtual bool lti::robustEstimator::apply | ( | const matrix< fpoint > & | src, | |
fvector & | dest, | |||
fvector & | error | |||
) | const [pure 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.
src | matrix<fpoint> 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. |
Implemented in lti::monteCarloEstimator, and lti::ransacEstimator.
virtual bool lti::robustEstimator::apply | ( | const matrix< fpoint > & | src, | |
fvector & | dest | |||
) | const [pure 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.
src | matrix<fpoint> with the point sets. | |
dest | fector the estimated transform. |
Implemented in lti::monteCarloEstimator, and lti::ransacEstimator.
virtual functor* lti::robustEstimator::clone | ( | ) | const [pure virtual] |
Returns a pointer to a clone of this functor.
Implements lti::functor.
Implemented in lti::monteCarloEstimator, and lti::ransacEstimator.
robustEstimator& lti::robustEstimator::copy | ( | const robustEstimator & | other | ) |
Copy data of "other" functor.
other | the functor to be copied |
Reimplemented from lti::functor.
Reimplemented in lti::monteCarloEstimator, and lti::ransacEstimator.
const parameters& lti::robustEstimator::getParameters | ( | ) | const |
Returns used parameters.
Reimplemented from lti::functor.
Reimplemented in lti::monteCarloEstimator, and lti::ransacEstimator.
virtual const char* lti::robustEstimator::getTypeName | ( | ) | const [virtual] |
Returns the name of this type ("robustEstimator").
Reimplemented from lti::functor.
Reimplemented in lti::monteCarloEstimator, and lti::ransacEstimator.
parameters& lti::robustEstimator::getWritableParameters | ( | ) | [protected] |
Returns used parameters.
Reimplemented in lti::monteCarloEstimator.
robustEstimator& lti::robustEstimator::operator= | ( | const robustEstimator & | other | ) |
Alias for copy member.
other | the functor to be copied |
Reimplemented from lti::functor.
Reimplemented in lti::monteCarloEstimator, and lti::ransacEstimator.
bool lti::robustEstimator::setParameters | ( | const parameters & | theParams | ) | [virtual] |
Set the paramters of the robust estimator.
theParams | the new parameters, which will be copied. |
Reimplemented from lti::functor.
Reimplemented in lti::monteCarloEstimator.
virtual bool lti::robustEstimator::setParameters | ( | const pointSetNormalization::parameters & | theParams | ) | [virtual] |
Set the paramters of the transform estimator used internally.
theParams | the new normalization parameters, which will be copied. |
Reimplemented in lti::monteCarloEstimator.