Public Member Functions | Private Member Functions | Private Attributes | List of all members
mp2p_icp::Matcher_Point2Line Class Reference

#include <Matcher_Point2Line.h>

Inheritance diagram for mp2p_icp::Matcher_Point2Line:
Inheritance graph
[legend]

Public Member Functions

void initialize (const mrpt::containers::yaml &params) override
 
 Matcher_Point2Line ()
 
- Public Member Functions inherited from mp2p_icp::Matcher_Points_Base
void initialize (const mrpt::containers::yaml &params) override
 
 Matcher_Points_Base ()=default
 
- Public Member Functions inherited from mp2p_icp::Matcher
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
 
- Public Member Functions inherited from mp2p_icp::Parameterizable
ParameterSourceattachedSource ()
 
const ParameterSourceattachedSource () const
 
virtual void attachToParameterSource (ParameterSource &source)
 
void checkAllParametersAreRealized () const
 
auto & declaredParameters ()
 
const auto & declaredParameters () const
 
void unrealizeParameters ()
 Mark all non-constant parameters as non-evaluated again. More...
 

Private Member Functions

void implMatchOneLayer (const mrpt::maps::CMetricMap &pcGlobal, const mrpt::maps::CPointsMap &pcLocal, const mrpt::poses::CPose3D &localPose, MatchState &ms, const layer_name_t &globalName, const layer_name_t &localName, Pairings &out) const override
 

Private Attributes

double distanceThreshold = 0.50
 
uint32_t knn = 4
 
double lineEigenThreshold = 0.01
 
uint32_t minimumLinePoints = 4
 

Additional Inherited Members

- Static Public Member Functions inherited from mp2p_icp::Matcher_Points_Base
static TransformedLocalPointCloud transform_local_to_global (const mrpt::maps::CPointsMap &pcLocal, const mrpt::poses::CPose3D &localPose, const std::size_t maxLocalPoints=0, const uint64_t localPointsSampleSeed=0)
 
- Public Attributes inherited from mp2p_icp::Matcher_Points_Base
bool allowMatchAlreadyMatchedGlobalPoints_ = false
 
bool allowMatchAlreadyMatchedPoints_ = false
 
double bounding_box_intersection_check_epsilon_ = 0.20
 
std::optional< std::size_t > kdtree_leaf_max_points_
 
uint64_t localPointsSampleSeed_ = 0
 
uint64_t maxLocalPointsPerLayer_ = 0
 
std::map< std::string, std::map< std::string, double > > weight_pt2pt_layers
 
- Public Attributes inherited from mp2p_icp::Matcher
bool enabled = true
 
uint32_t runFromIteration = 0
 
uint32_t runUpToIteration = 0
 0: no limit More...
 
- Protected Member Functions inherited from mp2p_icp::Matcher_Points_Base
bool impl_match (const metric_map_t &pcGlobal, const metric_map_t &pcLocal, const mrpt::poses::CPose3D &localPose, const MatchContext &mc, MatchState &ms, Pairings &out) const override final
 
- Protected Member Functions inherited from mp2p_icp::Parameterizable
void parseAndDeclareParameter (const std::string &value, double &target)
 
void parseAndDeclareParameter (const std::string &value, float &target)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void parseAndDeclareParameter (const std::string &value, uint32_t &target)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 

Detailed Description

Pointcloud matcher: point to plane-fit of nearby points

Finds point-to-line pairings between local point layers and points fitting a line in layers of the global input metric map.

By default, each local point layer is matched against the layer with the same name in the global map, unless specified otherwise in the base class member weight_pt2pt_layers. Refer to example configuration YAML files for example configurations.

Definition at line 30 of file Matcher_Point2Line.h.

Constructor & Destructor Documentation

◆ Matcher_Point2Line()

Matcher_Point2Line::Matcher_Point2Line ( )

Definition at line 23 of file Matcher_Point2Line.cpp.

Member Function Documentation

◆ implMatchOneLayer()

void Matcher_Point2Line::implMatchOneLayer ( const mrpt::maps::CMetricMap &  pcGlobal,
const mrpt::maps::CPointsMap &  pcLocal,
const mrpt::poses::CPose3D &  localPose,
MatchState ms,
const layer_name_t globalName,
const layer_name_t localName,
Pairings out 
) const
overrideprivatevirtual

Implements mp2p_icp::Matcher_Points_Base.

Definition at line 39 of file Matcher_Point2Line.cpp.

◆ initialize()

void Matcher_Point2Line::initialize ( const mrpt::containers::yaml &  params)
overridevirtual

Parameters:

  • distanceThreshold: Inliers distance threshold [meters][mandatory]
  • knn: Number of neighbors to look for [mandatory]
  • minimumLinePoints: Minimum number of found points [mandatory]
  • lineEigenThreshold: maximum e0/e2 and e1/e2 ratio [mandatory]

Where [e0, e1, e2] are the smallest to largest eigenvalues of the Gaussian covariance fitting the knn closest global points for each local point.

Plus: the parameters of Matcher_Points_Base::initialize()

Reimplemented from mp2p_icp::Matcher.

Definition at line 28 of file Matcher_Point2Line.cpp.

Member Data Documentation

◆ distanceThreshold

double mp2p_icp::Matcher_Point2Line::distanceThreshold = 0.50
private

Definition at line 52 of file Matcher_Point2Line.h.

◆ knn

uint32_t mp2p_icp::Matcher_Point2Line::knn = 4
private

Definition at line 53 of file Matcher_Point2Line.h.

◆ lineEigenThreshold

double mp2p_icp::Matcher_Point2Line::lineEigenThreshold = 0.01
private

Definition at line 55 of file Matcher_Point2Line.h.

◆ minimumLinePoints

uint32_t mp2p_icp::Matcher_Point2Line::minimumLinePoints = 4
private

Definition at line 54 of file Matcher_Point2Line.h.


The documentation for this class was generated from the following files:


mp2p_icp
Author(s): Jose-Luis Blanco-Claraco
autogenerated on Wed Jun 26 2024 02:47:10