PCLMovingLeastSquares

MLModule

genre

PCLSurface

author

Wolf Spindler

package

FMEstable/PCL

dll

MLPCLSurface

definition

MLPCLSurface.def

see also

PCLVoxelGrid, PCLBilateralFilter

inherits from

PCLModule

keywords

points, clouds, surface, moving, least, squares, upsampling, voxel, grid, mls, sample, plane

Purpose

Applies the pcl::MovingLeastSquares filter to the input point cloud and provides the filter result at the output. See pcl::MovingLeastSquares for details.

Windows

Default Panel

../../../Projects/MLPCLSurface/Modules/mhelp/Images/Screenshots/PCLMovingLeastSquares._default.png

Input Fields

inputPCLObject0

name: inputPCLObject0, type: PCLBaseObject(MLBase)

Connect the point cloud which shall be processed by the module.

For accessing this object via scripting, see the Scripting Reference: MLPCLBaseObjectWrapper.

inputPCLObject1

name: inputPCLObject1, type: PCLBaseObject(MLBase)

Here the “Distinct Point Cloud” must be connected if the Upsampling Method DISTINCT_POINT_CLOUD is selected. For technical reasons it must have be of the same point cloud type as the one at inputPCLObject0. If Upsampling Method differs from DISTINCT_POINT_CLOUD this connection is ignored.

For accessing this object via scripting, see the Scripting Reference: MLPCLBaseObjectWrapper.

Output Fields

outputPCLObject0

name: outputPCLObject0, type: PCLBaseObject(MLBase)

Provides the result pcl::PointCloud if there is any, otherwise it will contain NULL output data. Corresponding indices produced by the filter are also provided in the output base object; possibly reduced by skipped ones if Skip Nan Points is enabled.

For accessing this object via scripting, see the Scripting Reference: MLPCLBaseObjectWrapper.

Parameter Fields

Field Index

Compute Normals: Bool

Search Method: Enum

Dilation Iterations: Integer

Search Radius: Double

Dilation Voxel Size: Float

Skip Nan Points: Bool

Max Num Points: Integer

Sqr Gauss Param: Double

Max Num Upsampling Steps: Integer

Status: String

Point Density: Integer

Upsampling Method: Enum

Polynomial Fit: Bool

Upsampling Radius: Double

Polynomial Order: Integer

Upsampling Step Size: Double

For the documentation of the filter parameters see pcl::MovingLeastSquares.

Visible Fields

Status

name: status, type: String, persistent: no

see PCLModule.status

Compute Normals

name: computeNormals, type: Bool, default: FALSE

Determines whether the algorithm should also store the normals computed.

Polynomial Order

name: polynomialOrder, type: Integer, default: 2

The order of the polynomial to be fit.

Polynomial Fit

name: polynomialFit, type: Bool, default: TRUE

Defines whether the surface and normal are approximated using a polynomial, or only via tangent estimation.

Search Radius

name: searchRadius, type: Double, default: 0.1

The sphere radius that is to be used for determining the k-nearest neighbors used for fitting; insensitive in case of Search Method “MLS_NUM_POINTS”.

Max Num Points

name: maxNumPoints, type: Integer, default: 5

The number of point used in the case of Search Method “MLS_SEARCH_NUM_POINTS”; insensitive in case of Search Method “MLS_SEARCH_RADIUS” .

Search Method

name: searchMethod, type: Enum, default: SEARCH_RADIUS

Selects the whether the default radius search is performed or the alternative implemented nearestKSearch search.

Values:

Title

Name

Description

​Radius

​SEARCH_RADIUS

​Use the default radius search for in order to find points in the neighborhood.

​Num Points

​SEARCH_NUM_POINTS

​Use the additionally implemented neareastKSearch in order to find points in the neighborhood. This is not part of the default PCL implementation. Instead of Search Radius the value of Max Num Points is used as value for the nearestKSearch.

Sqr Gauss Param

name: sqrGaussParam, type: Double, default: 0.1

The parameter used for distance based weighting of neighbors (the square of the search radius stables best in general).

Upsampling Method

name: upsamplingMethod, type: Enum, default: NONE

The upsampling method to be used.

Values:

Title

Name

Description

​None

​NONE

​No upsampling will be done, only the input points will be projected to their own MLS surfaces.

​Distinct Cloud

​DISTINCT_CLOUD

​Will project the points of the distinct cloud to the closest point on the MLS surface.

​Sample Local Plane

​SAMPLE_LOCAL_PLANE

​The local plane of each input point will be sampled in a circular fashion using Upsampling Radius and Upsampling Step Size.

​Random Uniform Density

​RANDOM_UNIFORM_DENSITY

​The local plane of each input point will be sampled using an uniform random distribution such that the density of points is constant throughout the cloud - given by the Point Density parameter.

​Voxel Grid Dilation

​VOXEL_GRID_DILATION

​The input cloud will be inserted into a voxel grid with voxels of size Dilation Voxel Size this voxel grid will be dilated Dilation Iterations times and the resulting points will be projected to the MLS surface of the closest point in the input cloud; the result is a point cloud with filled holes and a constant point density.

Upsampling Radius

name: upsamplingRadius, type: Double, default: 0.01

The radius of the circle in the local point plane that will be sampled (used only in the case of SAMPLE_LOCAL_PLANE Upsampling Method).

Upsampling Step Size

name: upsamplingStepSize, type: Double, default: 0.01

The step size for the local plane sampling (used only in the case of SAMPLE_LOCAL_PLANE Upsampling Method).

Max Num Upsampling Steps

name: maxNumUpsamplingSteps, type: Integer, default: 50

Upsampling Radius divided by Upsampling Step Size is the number of iterations in both, the x and y dimension, thus it quadratically increases the number of performed calculations, if the Upsampling Method is SAMPLE_LOCAL_PLANE. Since this happens easily, Max Num Upsampling Steps limits the maximum number of performed iterations. If necessary the Upsampling Step Size is adapted automatically. Increase Max Num Upsampling Steps with care to avoid very long calculations. This parameter is only used if Upsampling Method is SAMPLE_LOCAL_PLANE.

Point Density

name: pointDensity, type: Integer, default: 0

Specifies the desired number of points within the search radius (used only in the case of RANDOM_UNIFORM_DENSITY Upsampling Method).

Dilation Voxel Size

name: dilationVoxelSize, type: Float, default: 1

The voxel size for the voxel grid (used only in the VOXEL_GRID_DILATION Upsampling Method).

Dilation Iterations

name: dilationIterations, type: Integer, default: 0

The number of dilation steps of the voxel grid (used only in the VOXEL_GRID_DILATION Upsampling Method).

Skip Nan Points

name: skipNanPoints, type: Bool, default: TRUE

If enabled then points with nan-values in x,y, or z are removed; if disabled then all values are passed unchanged with possible with nan’s.