class mp2p_icp_filters::FilterDecimateVoxelsQuadratic

Overview

Builds a new layer with a decimated version of an input layer, with a non-linear spatial lattice with wider voxels near the origin.

This builds a voxel grid from the input point cloud, and then takes either, the mean of the points in the voxel, or one of the points picked at random, depending on the parameter use_voxel_average.

If the given output pointcloud layer already exists, new points will be appended, without clearing the former contents.

Not compatible with calling from different threads simultaneously for different input point clouds. Use independent instances for each thread if needed.

#include <FilterDecimateVoxelsQuadratic.h>

class FilterDecimateVoxelsQuadratic: public mp2p_icp_filters::FilterBase
{
public:
    // structs

    struct Parameters;

    // fields

    Parameters params_;

    // methods

    virtual void initialize(const mrpt::containers::yaml& cfg_block);
    virtual void filter(mp2p_icp::metric_map_t& inOut) const;
    float real2grid(float x) const;
    float grid2real(float y) const;
};

Inherited Members

public:
    // methods

    virtual void initialize(const mrpt::containers::yaml& cfg_block) = 0;
    virtual void filter(mp2p_icp::metric_map_t& inOut) const = 0;

Fields

Parameters params_

Algorithm parameters

Methods

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

Loads, from a YAML configuration block, all the common, and implementation-specific parameters.

virtual void filter(mp2p_icp::metric_map_t& inOut) const

See docs above for FilterBase.