class mp2p_icp::Matcher_Points_Base
Overview
Pointcloud matcher auxiliary class for iterating over point layers.
The common to all matchers working on points in the local
input metric map. See derived classes for possible generated pairings.
#include <Matcher_Points_Base.h> class Matcher_Points_Base: public mp2p_icp::Matcher { public: // structs struct TransformedLocalPointCloud; // methods virtual void initialize(const mrpt::containers::yaml& params); }; // direct descendants class Matcher_Adaptive; class Matcher_Point2Line; class Matcher_Point2Plane; class Matcher_Points_DistanceThreshold; class Matcher_Points_InlierRatio;
Inherited Members
public: // fields uint32_t runUpToIteration = 0; // methods virtual void initialize(const mrpt::containers::yaml& params); virtual bool match( const metric_map_t& pcGlobal, const metric_map_t& pcLocal, const mrpt::poses::CPose3D& localPose, const MatchContext& mc, MatchState& ms, Pairings& out ) const;
Methods
virtual void initialize(const mrpt::containers::yaml& params)
Common parameters to all derived classes:
maxLocalPointsPerLayer
: Maximum number of local points to consider for the “local” point cloud, per point layer. “0” means “all” (no decimation) [Default=0].localPointsSampleSeed
: Only ifmaxLocalPointsPerLayer
!=0, and the number of points in the local map is larger than that number, a seed for the RNG used to pick random point indices.0
(default) means to use a time-based seed.pointLayerMatches
: Optional map of layer names to relative weights. Refer to example YAML files.allowMatchAlreadyMatchedPoints
: Optional (Default=false). Whether to find matches for local points which were already paired by other matcher in an earlier stage in the matchers pipeline.bounding_box_intersection_check_epsilon
: Optional (Default=0.20). The additional “margin” in all axes (x,y,z) that bounding box is enlarged for checking the feasibility of pairings to exist.