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.