struct mp2p_icp_filters::FilterDecimateRangeAdaptive::Parameters

Overview

#include <FilterDecimateRangeAdaptive.h>

struct Parameters
{
    // fields

    std::string input_pointcloud_layer = mp2p_icp::metric_map_t::PT_LAYER_RAW;
    std::string output_pointcloud_layer;
    double vertical_fov_rad = 0;
    unsigned int num_scan_lines = 0;
    double bin_width = 1.0;
    double max_range = 0;
    double min_voxel_size = 0.05;
    double max_voxel_size = 2.0;
    unsigned int min_input_points_per_voxel = 1;
    size_t parallelization_grain_size = 16UL* 1024UL;

    // methods

    void load_from_yaml(const mrpt::containers::yaml& c);
};

Fields

double vertical_fov_rad = 0

LiDAR vertical field-of-view (rad). If 0, auto-derived from ring channel elevation spread.

unsigned int num_scan_lines = 0

Number of scan lines (rings). If 0, auto-derived from max ring id in the input cloud’s ring channel.

double bin_width = 1.0

Radial bin width [m].

double max_range = 0

Maximum range [m]. 0 means use the farthest point in the cloud.

double min_voxel_size = 0.05

Minimum voxel size clamp [m] to avoid degenerate voxels near the sensor.

double max_voxel_size = 2.0

Maximum voxel size clamp [m].

unsigned int min_input_points_per_voxel = 1

Minimum number of points that a voxel must contain to produce an output point.

size_t parallelization_grain_size = 16UL* 1024UL

Grain size for TBB parallelization across bins.