PCLEuclideanClusterExtraction

MLModule

genre

PCLSegmentation

author

Wolf Spindler

package

FMEstable/PCL

dll

MLPCLSegmentation

definition

MLPCLSegmentation.def

see also

ConnectedComponentsInfo, ConnectedComponentsInspector, ConnectedComponentsToImage, ComputeConnectedComponents

inherits from

PCLModule

keywords

points, clouds, PCL, cluster

Purpose

Applies the pcl::EuclideanClusterExtraction filter to the input point cloud and determines clusters according to the module parameters. Indices of each extracted cluster are also provided as PointIndices vector in the output base object. See outputPCLObject0 for the structure of the result point cloud.

See pcl::EuclideanClusterExtraction for details.

Windows

Default Panel

../../../Projects/MLPCLSegmentation/Modules/mhelp/Images/Screenshots/PCLEuclideanClusterExtraction._default.png

Input Fields

inputPCLObject0

name: inputPCLObject0, type: MLBase

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

Output Fields

outputPCLObject0

name: outputPCLObject0, type: MLBase

The output point cloud will be a copy of the input point cloud with the following changes: The entry of each point in the cloud which is comparable to an intensity (such as label, curvature, intensity etc.) is set to the index of the cluster it belongs to divided by the number of found clusters. If the input point cloud does not have such a member then an unchanged copy is passed to the output. If no result pcl::PointCloud can be created then the output is set to NULL. Indices of each extracted cluster are also provided as indices vector in the output base object.

Parameter Fields

Field Index

Cluster Max Size: Integer

Status: String

Cluster Min Extents: Vector3

Cluster Min Size: Integer

Cluster Tolerance: Double

Num Found Clusters: Integer

Pass Only Cluster Points: Bool

Pre Scale: Vector3

Start Cluster Counting At One: Bool

Visible Fields

Status

name: status, type: String, persistent: no

see PCLModule.status

Cluster Tolerance

name: clusterTolerance, type: Double, default: 0

The spatial cluster tolerance as a measure in the L2 Euclidean space.

Cluster Min Size

name: clusterMinSize, type: Integer, default: 1

The minimum number of points that a cluster needs to contain in order to be considered valid.

Cluster Max Size

name: clusterMaxSize, type: Integer, default: 2147483647

The maximum number of points that a cluster needs to contain in order to be considered valid.

Cluster Min Extents

name: clusterMinExtents, type: Vector3, default: 0 0 0

The minimum x-, y, and z-extents a cluster must have to be accepted as cluster. Leave values on 0 to skip cluster extent check at all which saves performance.

Pre Scale

name: preScale, type: Vector3, default: 1 1 1

If any of the three values differs from 1, all x-, y-, and z-coordinates of the input point cloud will be multiplied with them before performing the cluster operation. The scale values have no further influence: any generated output point will have its original coordinates as it came into the module independent on Pre Scale, only the clustering is influenced. Using values differing from 1 can be used to compensate non uniform point distances in x-, y-, and-z-dimensions.

Pass Only Cluster Points

name: passOnlyClusterPoints, type: Bool, default: FALSE

If enabled then only points belonging to a cluster are passed to the output, if disabled then all points pass through.

Start Cluster Counting At One

name: startClusterCountingAtOne, type: Bool, default: FALSE

If off then cluster counting starts at 0 for the first (largest) cluster, otherwise at 1, which results to output values of 0 / NumClusters or 1 / NumClusters for the first cluster, respectively, and (NumClusters-1) / NumClusters or 1 (=NumClusters / NumClusters) for the last one, respectively.

Num Found Clusters

name: numFoundClusters, type: Integer, persistent: no

Shows the number of found clusters in the connected point cloud.