Point Cloud Edge Detection - Unordered (Legacy)

Functional Description

This operator is used to extract edge points from an input unordered point cloud with normals. It identifies edges by analyzing the differences in normal vector directions between each point in the point cloud and its neighboring points. It can optionally use K-Nearest Neighbors (KNN) or Radius Search (RADIUS) to define the neighborhood. If the maximum angle difference between a point and the normal vectors of points within its neighborhood exceeds the set "Edge angle threshold", that point is identified as an edge point. The operator can also choose whether to adjust the normal vector direction of the output edge points.

Usage Scenarios

  • Suitable for scenarios requiring compatibility with legacy workflows.

  • Feature Extraction: Extract contour lines or geometric edges of an unordered point cloud.

  • Visualization: Highlight the contours of objects.

Inputs and Outputs

Input Items

With Normal Point Cloud: Input must be an unordered point cloud or list of point clouds with normal vector information.

Output Items

Point cloud edge: A list of point clouds composed of the extracted edge points. The output point cloud only contains points identified as edges and retains their original coordinate and normal vector information (normals may have been adjusted).

Parameter Description

Edge angle threshold

Parameter Description

The normal vector angle difference threshold for determining if a point is an edge point.

Tuning Description

The operator calculates the angle difference between each point and the normal vectors of its neighboring points. If the maximum of these angle differences exceeds the threshold set here, the point is considered an edge point.

  • Decreasing the threshold: More sensitive to normal changes, will extract more edges.

  • Increasing the threshold: Only points with very sharp normal changes will be identified as edges, resulting in fewer extracted edges.

Parameter Range

[0, 180], Default: 90, Unit: degrees

Adjust edge normal

Parameter Description

Choose whether to adjust the normal vectors of the edge points after extraction.

Tuning Description

  • Enabled (default): Recalculates and adjusts the normal vectors of the identified edge points to be as perpendicular as possible to the edge direction and point in a consistent direction (outward or inward).

  • Disabled: Retains the original normal vectors of the edge points.

Neighbor search method

Parameter Description

Selects the method for defining the neighborhood range for each point.

Tuning Description

  • Number search (Default): Finds the K nearest points to the current point as the neighborhood. This means always taking a fixed number of neighboring points, regardless of the actual distance between these points. The value of K is specified by the "Number of neighbor searches" parameter.

  • Radius search: Finds all points that fall within a radius of a fixed physical distance. The radius value is specified by the "Neighbor search radius" parameter.

Number of neighbor searches

Parameter Description

Effective when "Neighbor search method" is set to "Number search".

Tuning Description

Controls the number of neighboring points:

  • Smaller number: More sensitive to edge changes in local details, but also more sensitive to noise, and prone to misjudgment in sparse areas.

  • Larger number: Less sensitive to noise, resulting in smoother results. A larger number increases computation and is suitable for low-density or non-uniform point clouds.

Parameter Range

[0, 100000], Default: 20

Neighbor search radius

Parameter Description

Effective when "Neighbor search method" is set to "Radius search".

Tuning Description

Controls the spatial range of the neighborhood used to calculate angle differences:

  • Smaller radius: Considers only very close neighboring points, allowing for more acute capture of local details and edge changes, but is more sensitive to noise. Sparse areas may have insufficient neighboring points, leading to unstable estimates.

  • Larger radius: Covers a wider neighborhood, resulting in smoother and more robust calculations. Suitable for low-density or non-uniform point clouds, but may obscure details and blur edges.

Parameter Range

[0, 1000], Default: 10

Enable node

Parameter Description

Controls whether this operator performs calculations.

Tuning Description

  • Enabled (default): The operator functions normally.

  • Disabled: The operator performs no operations and directly outputs the input data.