class mp2p_icp::Matcher_Points_InlierRatio

Overview

Pointcloud matcher: fixed ratio of inliers/outliers by distance

Finds point-to-point pairings between the local and global input metric maps.

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.

#include <Matcher_Points_InlierRatio.h>

class Matcher_Points_InlierRatio: public mp2p_icp::Matcher_Points_Base
{
public:
    // fields

    uint64_t maxLocalPointsPerLayer_ = 0;
    uint64_t localPointsSampleSeed_ = 0;
    uint32_t runFromIteration = 0;
    bool enabled = true;

    // construction

    Matcher_Points_InlierRatio();
    Matcher_Points_InlierRatio(const double ratio);

    // methods

    virtual void initialize(const mrpt::containers::yaml& params);

    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
        );
};

Inherited Members

public:
    // structs

    struct TransformedLocalPointCloud;

    // 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;

    virtual void initialize(const mrpt::containers::yaml& params);

Methods

virtual void initialize(const mrpt::containers::yaml& params)

Parameters : inliersRatio : Inliers distance ratio threshold [0-1]