Skip to content

3D Surface Unwrapping

Operator Function

As shown in the figure, this operator implements the process of projecting a cylinder onto a plane. Based on the input point cloud and fitting parameters, it unwraps the point cloud and outputs the unwrapped planar point cloud.

Cylinder

Parameter Introduction

Input Parameters

ParameterRangeDefault ValueDescriptionIllustration
Input Image0-80The IM number for image input

Calculation Parameters

Cylinder Source: Fitting

ParameterRangeDefault ValueDescriptionIllustration
Cylinder SourceFitting/InputFittingFitting: Select the point cloud to be fitted, then fit and unwrap this portion
Input: Obtain cylinder parameters from registers or manually, then unwrap the input image
Region2D Window/2D Circular Window/2D Polygon Window/Box/Cylinder Box/Rotated Box/Point Set (binding only)BoxManual selection: Set the ROI region for cylinder fitting
> Note: Ensure the ROI center point is within the circle.
Can bind to select existing ROI regions
Statistical Filteringtrue/falsefalseApply statistical filtering to input point cloud
Standard Deviation Multiple Threshold0.1-100.150Input parameter n, any point exceeding n standard deviations from the mean will be considered an outlier and removed
Neighborhood Points3-500100Number of neighbor points to consider during filtering (must be less than input point cloud count)
K-Nearest Neighbors3-50020When calculating normal for a point in the point cloud, number of surrounding points to search. If set too high, may include distant points causing inaccuracies; if set too low, may ignore nearby points affecting normal estimation accuracy.
Distance Threshold0-100000.15When the distance between a data point and the fitted model is less than this threshold, the data point is considered an inlier (conforms to the model); otherwise, it's considered an outlier (does not conform).
Minimum Points0Set the minimum number of input point cloud points
Maximum Points1000000Set the maximum number of input point cloud points
Target PlaneXY Plane/XZ Plane/YZ PlaneXZ PlaneXY Plane: Unwrap point cloud to XY plane
XZ Plane: Unwrap point cloud to XZ plane
YZ Plane: Unwrap point cloud to YZ plane
Output Image0-80The IM number for image output

Cylinder Source: Input

ParameterRangeDefault ValueDescriptionIllustration
Cylinder SourceFitting/InputFittingFitting: Select the point cloud to be fitted, then fit and unwrap this portion
Input: Obtain cylinder parameters from registers or manually, then unwrap the input image
GeometryCylinderSet cylinder information: base circle center, radius

Can bind to select fitted cylinder
Target PlaneXY Plane/XZ Plane/YZ PlaneXZ PlaneXY Plane: Unwrap point cloud to XY plane
XZ Plane: Unwrap point cloud to XZ plane
YZ Plane: Unwrap point cloud to YZ plane
Output Image0-80The IM number for image output

Output Parameters

NameTypeRangeDescription
Resultbooltrue/falsetrue for success
false for failure
Warningbooltrue/falsetrue indicates there is a warning
false indicates there is none
MessagestringOutputs success, error, or warning information; if there is no error or warning, it is empty
TimefloatOperator execution time, unit: ms

Exception Troubleshooting

No.Exception InformationCorresponding ParameterSolution
1Input region type is {0}, invalid region typeRegion TypeRegion input type must be one of: 2D Window/2D Circular Window/2D Polygon Window/Box/Cylinder Box/Rotated Box/Point Set
2Region is empty1. Check if selection is empty
2. Check if point set is empty
3Point cloud input is emptyConfirm if IM contains valid points; if no valid points, load point cloud or switch to IM with valid points
4Point count limit invalidSet point cloud minimum less than maximum
5Filter parameters invalidAdjust statistical filtering parameters:
1. Increase standard deviation multiple threshold
2. Decrease neighborhood points (neighborhood points must be less than selected point cloud count)
6Input point cloud count exceeds limitAdjust point count limit range or replace with point cloud that meets limits
7Input geometry is {0}, invalid geometry typeGeometry TypeGeometry must be Cylinder
8Input cylinder source is {0}, invalid cylinder sourceCylinder SourceImage source must be Fitting/Input
9Input polygon vertex count less than 3, cannot form polygonAdd 2D polygon window vertices so vertex count is at least three

Example Introduction

Engineering Design

  1. Select the Load Point Cloud tool to load the 3D point cloud image to be processed into IM0.

  2. Select the 3D Crop tool to copy IM0 to IM1.

  3. Set up the 3D Cylinder tool to fit the point cloud as a cylindrical surface.

  4. Select two 3D Unwrapping tools, setting different cylinder sources for each.

Tool Usage

  1. Select the input image for operation; the image number must match the IM number where the image is located in the project.

  2. Set cylinder source

When setting cylinder source to Fitting, set region as Box, move the box to the position to be measured, enclosing the point cloud to be measured.

When setting cylinder source to Input, bind the cylindrical surface output from the 3D Cylinder tool as input.

Usage Tips

  1. Use the ROI controller on the image window to drag or scale the box;
  2. Directly modify the start or end coordinates of the box in the calculation parameters to adjust the box position and size;
  1. Set parameters

  2. Click Test to check if the image window and parameters meet expectations

  3. If there are no issues, click Save, then run the operator in the run list to view the results in the corresponding IM

Local Image

AI-Vision, Making 3D Measurement Easier