🟠 Point Cloud Axial Merge

Function Description

This operator is used to merge multiple input point cloud clusters along a specified axis. It first calculates the center and dimensions of each point cloud cluster, then sorts them along the specified "merge axis". Then it traverses the sorted point cloud clusters, and if the axial distance between adjacent two clusters is close enough and their sizes are similar enough, it merges them into a larger cluster. This process continues until there are no clusters that can be merged.

Usage Scenarios

Merge multiple independent components arranged along a certain axis that belong to a group into a whole. For example, merge all items detected on the same level of a shelf into an entity of one "level".

Input Output

Input

Scene Point Cloud: Input list of point clouds to be merged.

Output

Merged Point Cloud: Returns a list of point cloud clusters merged according to the specified axis and parameters.

Parameter Description

This operator has two versions:

  • Point Cloud Axial Merge: Processes point clouds without normal information.

  • Point Cloud Axial Merge (With Normals): Processes point clouds with normal information.

Both have identical core functions and parameters, differing only in the type of point cloud data processed.

Axial Distance Threshold

Parameter Description

Defines the maximum axial distance at which two point cloud clusters can be merged. Calculates the projection distance between the centers of two clusters on the "merge axis", and they can only be merged when this distance is less than or equal to this threshold.

Parameter Adjustment

  • Increase this value: Will relax merge conditions, allowing clusters that are relatively far apart to be merged.

  • Decrease this value: Requires clusters to be very close to be merged.

This value should be set according to the actual gap size between object parts.

Parameter Range

[1,5000], Default: 50, Unit: mm

Axial Size Ratio Threshold

Parameter Description

Auxiliary condition for judging size similarity. Compares the bounding box sizes of two clusters to be merged in the "merge axis" direction. Only when the ratio of smaller size to larger size is greater than or equal to this threshold can they be merged.

Parameter Adjustment

  • Set to 0: Will completely disable this size check, and merging will be determined only by "Axial Distance Threshold".

  • Set close to 1 (e.g., 0.8-0.9): Requires the sizes of two clusters to be very close to be merged.

  • Set to smaller values (e.g., 0.1-0.3): Allows clusters with large size differences to be merged.

This parameter helps prevent a large object from incorrectly merging with a small fragment nearby.

Parameter Range

[0,1], Default: 0.1

Merge Axis

Parameter Description

Defines a three-dimensional vector [x,y,z] as the direction reference for distance and size measurement.

Parameter Adjustment

Set the target direction for merge operations.

Minimum Cluster Points

Parameter Description

Post-processing filtering condition. After clustering is complete, clusters with fewer points than this value will be filtered.

Parameter Adjustment

Suitable for filtering out meaningless small noise clusters composed of few points. Appropriately increasing this value ensures that the output consists of meaningful clustering results.

Parameter Range

[1,4000000], Default: 100

Maximum Cluster Points

Parameter Description

Post-processing filtering condition. After clustering is complete, clusters with more points than this value will be filtered.

Parameter Adjustment

Suitable for scenarios where it’s necessary to exclude a very large background or supporting surface. For example, if you want to ignore the tabletop and only analyze small objects on the table, you can set an upper limit to filter out the largest point cloud cluster representing the tabletop.

Parameter Range

[1,4000000], Default: 4000000

Sort Order

Parameter Description

Sets the sorting rule for the output point cloud cluster list.

Parameter Adjustment

The operator calculates the position of each cluster’s center on the "clustering axis" and then sorts based on that position.

"Small to large" means sorting from negative to positive direction along the clustering axis, and vice versa from positive to negative direction along the clustering axis.

Keep All Results

Parameter Description

Controls whether to output all segmentation results for each input point cloud or keep only part of them.

Parameter Adjustment

Enable (True): Default option, keep all found clusters that meet point count limits.

Disable (False): Only keep the first N largest clusters specified by the "Keep Result Count" parameter.

Keep Result Count

Parameter Description

Sets the number of output point clouds.

Parameter Adjustment

For each input point cloud, segmentation results will be sorted by point cloud count from largest to smallest, keeping the first few point clouds. For example, setting to 1 means keeping only the largest result, setting to 2 means keeping the first 2 results, setting to 3 means keeping the first 3 results, and so on.

Parameter Range

[1,1000], Default: 1

Enable Node

Parameter Description

Controls whether this operator performs computation.

Parameter Adjustment

  • Enable (default): Normal operation of the operator function.

  • Disable: The operator does not perform any operations and directly outputs the input data.