Class ICP_LibPointmatcher

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class ICP_LibPointmatcher : public mp2p_icp::ICP

ICP wrapper on libpointmatcher

Public Functions

virtual void initialize_derived(const mrpt::containers::yaml &params) override

For whole-ICP overriden classes (e.g. external ICP library wrappers), initialize those external libraries with these parameters. Invoked from mp2p_icp::icp_pipeline_from_yaml().

See also

mp2p_icp::icp_pipeline_from_yaml()

virtual void align(const metric_map_t &pcLocal, const metric_map_t &pcGlobal, const mrpt::math::TPose3D &initialGuessLocalWrtGlobal, const Parameters &p, Results &result, const std::optional<mrpt::poses::CPose3DPDFGaussianInf> &prior = std::nullopt, const mrpt::optional_ref<LogRecord> &outputDebugInfo = std::nullopt) override

Register (align) two point clouds (possibly after having been preprocessed to extract features, etc.) and returns the relative pose of pcLocal with respect to pcGlobal.

Public Members

ParametersLibpointmatcher parametersLibpointmatcher

Public Static Functions

static bool methodAvailable()

Returns true if mp2p_icp was built with libpointmatcher support.

struct ParametersLibpointmatcher

Public Members

double RandomSamplingDataPointsFilter_prob = 1.0
unsigned int SurfaceNormalDataPointsFilter_knn = 10
unsigned int KDTreeMatcher_knn = 1
std::string outlierFilter = "VarTrimmedDistOutlierFilter"
std::map<std::string, double> outlierParams = {{"minRatio", 0.05}, {"maxRatio", 0.95}, {"lambda", 2.35},}
std::string errorMinimizer = "PointToPlaneErrorMinimizer"