FitCircleToStripe3D
Performs a series of 1D edge detections and finds a circle that best matches the detected points.
Applications:Precise detection of a circular object or hole, whose rough location is known beforehand.
Syntax
C++
C#
Python
def FitCircleToStripe3D( inSurface: Surface, inFittingMap: CircleFittingMap, inStripeScanParams: StripeScanParams3D, inStripeSelection: Selection, inMaxIncompleteness: float, inFittingMethod: CircleFittingMethod, /, *, inLocalBlindness: LocalBlindness | None = None, inMaxProfileGapWidth: int | None = 1, inOutlierSuppression: MEstimator | None = None ) -> ( outCircle: Circle3D | None, outInnerCircle: Circle3D | None, outOuterCircle: Circle3D | None, outStripes: list[SurfaceStripe1D | None], outStripePoints: list[Point3D], outDeviationProfile: Profile | None, outHeightProfiles: list[Profile], outResponseProfiles: list[Profile] )
Parameters
| Name | Type | Range | Default | Description | |
|---|---|---|---|---|---|
![]() |
inSurface | Surface | Surface to fit the circle to | ||
![]() |
inFittingMap | CircleFittingMap | Input fitting map | ||
![]() |
inStripeScanParams | StripeScanParams3D | Parameters controlling the stripe extraction process | ||
![]() |
inStripeSelection | Selection | Selection mode of stripe | ||
![]() |
inLocalBlindness | LocalBlindness | None | None | Defines conditions in which weaker edges can be detected in the vicinity of stronger edges | |
![]() |
inMaxProfileGapWidth | int | None | 0 - ![]() |
1 | Maximal number of consecutive not existing profile points |
![]() |
inMaxIncompleteness | float | 0.0 - 0.999 | Maximal fraction of stripe points not found | |
![]() |
inFittingMethod | CircleFittingMethod | Method used to fit a circle | ||
![]() |
inOutlierSuppression | MEstimator | None | None | Selects a method for ignoring incorrectly detected points | |
![]() |
outCircle | Circle3D | None | Fitted circle in the middle of found stripe or nothing if the fitting fails | ||
![]() |
outInnerCircle | Circle3D | None | Fitted inner circle | ||
![]() |
outOuterCircle | Circle3D | None | Fitted outer circle | ||
![]() |
outStripes | list[SurfaceStripe1D | None] | Found stripes | ||
![]() |
outStripePoints | list[Point3D] | Extracted points of middle circle of a surface stripe | ||
![]() |
outDeviationProfile | Profile | None | Profile of distances between the actual circle points and the corresponding reference circle points | ||
![]() |
outHeightProfiles | list[Profile] | Extracted surface height profiles | ||
![]() |
outResponseProfiles | list[Profile] | Profiles of the edge (derivative) operator response |
Hardware Acceleration
This operation supports automatic parallelization for multicore and multiprocessor systems.



