36 #ifndef __POINTMATCHER_MATCHERS_H 37 #define __POINTMATCHER_MATCHERS_H 42 #if NABO_VERSION_INT < 10007 43 #error "You need libnabo version 1.0.7 or greater" 66 return "Does nothing, returns no match.";
69 NullMatcher() : Matcher(
"NullMatcher", ParametersDoc(), Parameters()) {}
70 virtual void init(
const DataPoints& filteredReference);
71 virtual Matches
findClosests(
const DataPoints& filteredReading);
78 return "This matcher matches a point from the reading to its closest neighbors in the reference.";
83 {
"knn",
"number of nearest neighbors to consider it the reference",
"1",
"1",
"2147483647", &P::Comp<unsigned>},
84 {
"epsilon",
"approximation to use for the nearest-neighbor search",
"0",
"0",
"inf", &P::Comp<T>},
85 {
"searchType",
"Nabo search type. 0: brute force, check distance to every point in the data (very slow), 1: kd-tree with linear heap, good for small knn (~up to 30) and 2: kd-tree with tree heap, good for large knn (~from 30)",
"1",
"0",
"2", &P::Comp<unsigned>},
86 {
"maxDist",
"maximum distance to consider for neighbors",
"inf",
"0",
"inf", &P::Comp<T>}
101 virtual void init(
const DataPoints& filteredReference);
102 virtual Matches
findClosests(
const DataPoints& filteredReading);
109 return "This matcher matches a point from the reading to its closest neighbors in the reference. A maximum search radius per point can be defined.";
114 {
"knn",
"number of nearest neighbors to consider it the reference",
"1",
"1",
"2147483647", &P::Comp<unsigned>},
115 {
"epsilon",
"approximation to use for the nearest-neighbor search",
"0",
"0",
"inf", &P::Comp<T>},
116 {
"searchType",
"Nabo search type. 0: brute force, check distance to every point in the data (very slow), 1: kd-tree with linear heap, good for small knn (~up to 30) and 2: kd-tree with tree heap, good for large knn (~from 30)",
"1",
"0",
"2", &P::Comp<unsigned>},
117 {
"maxDistField",
"descriptor field name used to set a maximum distance to consider for neighbors per point",
"maxSearchDist"}
132 virtual void init(
const DataPoints& filteredReference);
133 virtual Matches
findClosests(
const DataPoints& filteredReading);
138 #endif // __POINTMATCHER_MATCHERS_H
A matcher links points in the reading to points in the reference.
static const std::string description()
Parametrizable::ParametersDoc ParametersDoc
static const ParametersDoc availableParameters()
std::shared_ptr< NNS > featureNNS
Nabo::NearestNeighbourSearch< T > NNS
std::shared_ptr< NNS > featureNNS
NNS::SearchType NNSearchType
static const ParametersDoc availableParameters()
Parametrizable::ParameterDoc ParameterDoc
PointMatcher< T >::DataPoints DataPoints
std::map< std::string, Parameter > Parameters
Parameters stored as a map of string->string.
Parametrizable::Parameters Parameters
const NNSearchType searchType
PointMatcherSupport::Parametrizable Parametrizable
Result of the data-association step (Matcher::findClosests), before outlier rejection.
PointMatcher< T >::Matches Matches
The documentation of a parameter.
PointMatcherSupport::Parametrizable P
The superclass of classes that are constructed using generic parameters. This class provides the para...
std::vector< ParameterDoc > ParametersDoc
The documentation of all parameters.
PointMatcher< T >::Matcher Matcher
virtual Matches findClosests(const DataPoints &filteredReading)
Find the closest neighbors of filteredReading in filteredReference passed to init() ...
const std::string maxDistField
static const std::string description()
static const std::string description()
const NNSearchType searchType
virtual void init(const DataPoints &filteredReference)
Init this matcher to find nearest neighbor in filteredReference.