struct mp2p_icp_filters::FilterDecimateVoxels::Parameters

Overview

#include <FilterDecimateVoxels.h>

struct Parameters
{
    // fields

    std::vector<std::string> input_pointcloud_layer = {             mp2p_icp::metric_map_t::PT_LAYER_RAW};
    bool error_on_missing_input_layer = true;
    std::string output_pointcloud_layer;
    double voxel_filter_resolution = 1.0;
    uint32_t minimum_input_points_to_filter = 0;
    std::optional<double> flatten_to;
    DecimateMethod decimate_method = DecimateMethod::FirstPoint;

    // methods

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

Fields

std::vector<std::string> input_pointcloud_layer = {             mp2p_icp::metric_map_t::PT_LAYER_RAW}

One or more input layers, from which to read (and merge) input points

bool error_on_missing_input_layer = true

Whether to throw an exception if the input layer does not exist, or, otherwise, it should be silently ignored producing an empty output.

std::string output_pointcloud_layer

The output point cloud layer name

double voxel_filter_resolution = 1.0

Size of each voxel edge [meters]

uint32_t minimum_input_points_to_filter = 0

If !=0 and there are less input points that this number, all points will be just moved through without decimation.

std::optional<double> flatten_to

See description on top of this page.

DecimateMethod decimate_method = DecimateMethod::FirstPoint

The method to pick what point will be used as representative of each voxel