struct mp2p_icp_filters::FilterMLS::Parameters

Overview

#include <FilterMLS.h>

struct Parameters
{
    // fields

    std::string input_pointcloud_layer = mp2p_icp::metric_map_t::PT_LAYER_RAW;
    std::string output_pointcloud_layer = "mls";
    std::string distinct_cloud_layer;
    float search_radius = 0.05f;
    int polynomial_order = 2;
    ProjectionMethod projection_method = ProjectionMethod::SIMPLE;
    UpsamplingMethod upsampling_method = UpsamplingMethod::NONE;
    int min_neighbors_for_fit = 3;
    size_t parallelization_grain_size = 1024UL;

    // methods

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

Fields

std::string distinct_cloud_layer

(Optional) If upsampling_method is DISTINCT_CLOUD, this layer’s points will be projected onto the MLS surface built from input_pointcloud_layer.

float search_radius = 0.05f

Search radius for finding neighbors to fit the MLS surface

int polynomial_order = 2

Order of the polynomial to fit. (1=planar, 2=quadratic)

ProjectionMethod projection_method = ProjectionMethod::SIMPLE

Method to use for projecting points onto the fitted surface.

UpsamplingMethod upsampling_method = UpsamplingMethod::NONE

Method to use for upsampling or smoothing.

int min_neighbors_for_fit = 3

Minimum number of neighbors to compute a fit.

size_t parallelization_grain_size = 1024UL

When TBB is enabled, the grainsize for splitting the input clouds.