#include <AbstractFeatureSetMatcher.h>
Public Member Functions | |
AbstractFeatureSetMatcher (double acceptanceThreshold) | |
virtual OrientedPoint2D | generateHypothesis (const std::pair< std::pair< InterestPoint *, InterestPoint * >, std::pair< InterestPoint *, InterestPoint * > > &correspondences) const |
double | getAcceptanceThreshold () |
virtual double | matchSets (const std::vector< InterestPoint * > &reference, const std::vector< InterestPoint * > &data, OrientedPoint2D &transformation, std::vector< std::pair< InterestPoint *, InterestPoint * > > &correspondences) const =0 |
virtual double | matchSets (const std::vector< InterestPoint * > &reference, const std::vector< InterestPoint * > &data, OrientedPoint2D &transformation) const =0 |
void | setAcceptanceThreshold (double acceptanceThreshold) |
virtual double | verifyHypothesis (const std::vector< InterestPoint * > &reference, const std::vector< InterestPoint * > &data, const OrientedPoint2D &transformation, std::vector< std::pair< InterestPoint *, InterestPoint * > > &inlierSet) const |
Protected Attributes | |
double | m_acceptanceThreshold |
Representation of an abstract algorithm for feature matching. The class represents an abstract algorithm for matching two different feature sets. The matching result is an Euclidean transformation (rotation + translation) encoded as a point in .
Definition at line 41 of file AbstractFeatureSetMatcher.h.
AbstractFeatureSetMatcher::AbstractFeatureSetMatcher | ( | double | acceptanceThreshold | ) |
Constructor. This is an abstract class, so the constructor only creates the shared part of any specialized class.
acceptanceThreshold | The maximum distance (in meters) for a point to be considered in the inlier set. |
Definition at line 3 of file AbstractFeatureSetMatcher.cpp.
OrientedPoint2D AbstractFeatureSetMatcher::generateHypothesis | ( | const std::pair< std::pair< InterestPoint *, InterestPoint * >, std::pair< InterestPoint *, InterestPoint * > > & | correspondences | ) | const [virtual] |
Computes the Euclidean transformation given two point correspondences. This is the minimum set of correspondence to obtain a solution in Cartesian space.
correspondences | The two correspondences. The individual correspondence is in the format (reference, data). |
Definition at line 9 of file AbstractFeatureSetMatcher.cpp.
double AbstractFeatureSetMatcher::getAcceptanceThreshold | ( | ) | [inline] |
Gets the maximum distance (in meters) for a point to be considered in the inlier set.
Definition at line 79 of file AbstractFeatureSetMatcher.h.
virtual double AbstractFeatureSetMatcher::matchSets | ( | const std::vector< InterestPoint * > & | reference, | |
const std::vector< InterestPoint * > & | data, | |||
OrientedPoint2D & | transformation, | |||
std::vector< std::pair< InterestPoint *, InterestPoint * > > & | correspondences | |||
) | const [pure virtual] |
Matches two features sets, returning the matching error and the transformation. It also returns the set of corresponding inlier points.
reference | The reference feature set. It is used as reference frame for the transformation. | |
data | The feature set to match. | |
transformation | The restulting transformation. It is used to register the points in data to the points in reference. | |
correspondences | The set of corresponding inlier points. Each individual correspondence is in the format (reference, data). |
Implemented in RansacFeatureSetMatcher, and RansacMultiFeatureSetMatcher.
virtual double AbstractFeatureSetMatcher::matchSets | ( | const std::vector< InterestPoint * > & | reference, | |
const std::vector< InterestPoint * > & | data, | |||
OrientedPoint2D & | transformation | |||
) | const [pure virtual] |
Matches two features sets, returning the matching error and the transformation.
reference | The reference feature set. It is used as reference frame for the transformation. | |
data | The feature set to match. | |
transformation | The restulting transformation. It is used to register the points in data to the points in reference. |
Implemented in RansacFeatureSetMatcher.
void AbstractFeatureSetMatcher::setAcceptanceThreshold | ( | double | acceptanceThreshold | ) | [inline] |
Sets the maximum distance (in meters) for a point to be considered in the inlier set.
Definition at line 75 of file AbstractFeatureSetMatcher.h.
double AbstractFeatureSetMatcher::verifyHypothesis | ( | const std::vector< InterestPoint * > & | reference, | |
const std::vector< InterestPoint * > & | data, | |||
const OrientedPoint2D & | transformation, | |||
std::vector< std::pair< InterestPoint *, InterestPoint * > > & | inlierSet | |||
) | const [virtual] |
Verifies a transformation hypothesis. It returns the matching error and the set of corresponding inlier points.
reference | The reference feature set. It is used as reference frame for the transformation. | |
data | The feature set to match. | |
transformation | The transformation hypothesis. | |
inlierSet | The set of corresponding inlier points. Each individual correspondence is in the format (reference, data). |
Definition at line 23 of file AbstractFeatureSetMatcher.cpp.
double AbstractFeatureSetMatcher::m_acceptanceThreshold [protected] |
The maximum distance (in meters) for a point to be considered in the inlier set.
Definition at line 101 of file AbstractFeatureSetMatcher.h.