# ProfileExtractCircle3D

The ProfileExtractCircle3D function allows you to extract circles from a profile.

The ProfileExtractCircle3D function requires an existing Profile3D structure as input. You can also define a Region of Interest within the profile to narrow down the analysis provide more accurate results. The circle extraction function creates a circle that best fits the profile points in the defined region.

3D Point Cloud with ProfileExtractCircle3D | Profile View

The ProfileExtractCircle3D function also allows you to use an external ProfileFixture3D input, which ensures that the function extracts the same profile feature for each acquisition. The ProfileExtractCircle3D function can use the profile fixture to align the Region of Interest in the profile, and produce consistent results regardless of positioning inconsistencies in the acquisition.

The ProfileExtractCircle3D function produces a Circle3D structure that you can use as input for other functions.

## ProfileExtractCircle3D Inputs

The ProfileExtractCircle3D function has the following syntax:

ProfileExtractCircle3D(Profile3D, ProfileFixture3D, ExternalProfileFixture3D, ProfileRegion, FitMode, OutlierDistanceThreshold, UseSpecifiedRadius, Radius, Show)

See the table for a description of the available parameters.

Parameter | Description
External Profile | Specifies the Profile3D structure to use.
Profile Fixture | Specifies the coordinates defining the profile fixture. It is offset from the profile origin in the following format with the following arguments: {Xp, Zp, Angle}
X | Offset on the X-axis from the profile origin.
Z | Offset on the Z-axis from the profile origin.
Angle | Specifies the in-plane rotation in degrees around the Y-axis of the profile origin. The value range is 0 to 180.
Note: This parameter is only available if you set External Profile Fixture to 0.
External Profile Fixture | Specifies a reference to a ProfileFixture3D structure defined in another cell. The function uses the ProfileFixture3D cell as the profile fixture of the function. Set to 0 (OFF) to use the internal profile fixture of the function instead.
Profile Region | Specifies the dimensions, offset and angle for the Profile Region of the function. The Profile Region is offset from the profile origin or the external fixture in the following format with the following arguments: {SizeXp, SizeZp, Xp, Zp, Angle}
SizeXp | The size of the Profile Region along the profile X-axis.
SizeZp | The size of the Profile Region along the profile Z-axis.
Xp | Offset on the X-axis from the profile origin.
Zp | Offset on the Z-axis from the profile origin.
Angle | Specifies the in-plane rotation in degrees around the profile Z-axis. The value range is 0 to 180.
Fit Mode | Specifies the fit mode: Quick (0) - uses all profile points in the defined region to find the best fit in a single pass. High-Accuracy (1) - uses a two-pass fitting process to find the best fit, with the Outlier Distance Threshold acting as a filter for the second pass.
Outlier Distance Threshold | Specifies the threshold for filtering outliers when using High-Accuracy fit mode. Note: This parameter is only available if you set Fit Mode to High-Accuracy.
Use Specified Radius | Enables or disables manual definition of the radius for the extracted circle.
Radius | Specifies the radius of the extracted circle. Note: This parameter is only available if you enable Use Specified Radius.
Show | Selects the type of graphics to overlay on the image.
0 = hide all (default) | All graphics are hidden, except when the cell containing the function is highlighted in the spreadsheet.
1 = result graphics only | The result graphics of the function are displayed at all times.
2 = input and result graphics | The region of interest, the input data and the results are displayed at all times.

## ProfileExtractCircle3D Outputs

Returns | A Circle3D data structure containing the extracted circle, or #ERR if any of the input parameters are invalid.
Results | When initially inserted into a cell, the following functions are automatically inserted into the spreadsheet to create a result table:
| Circle | Radius | Center | X | Y | Z
❒ProfileCircle3D | ❒Circle3D | GetRadius(Circle3D) | ❒Point3D | GetX(Circle3D) | GetY(Circle3D) | GetZ(Circle3D)

## ProfileExtractCircle3D Vision Data Access Functions

The following Circle3D Vision Data Access Functions are automatically inserted into the spreadsheet to create the result table:

Function | Description
GetCircle(ProfileCircle3D) | Returns a Circle3D structure for the extracted circle.
GetRadius(Circle3D) | Returns the radius of the extracted circle.
GetCenter(Circle3D) | Returns a Point3D structure for the center point of the extracted circle.
GetX(Circle3D) | Returns the X coordinate in the 3D point cloud for the center point of the extracted circle.
GetY(Circle3D) | Returns the Y coordinate in the 3D point cloud for the center point of the extracted circle.
GetZ(Circle3D) | Returns the Z coordinate in the 3D point cloud for the center point of the extracted circle.