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
Input value inSurface Surface Surface to fit the circle to
Input value inFittingMap CircleFittingMap Input fitting map
Input value inStripeScanParams StripeScanParams3D Parameters controlling the stripe extraction process
Input value inStripeSelection Selection Selection mode of stripe
Input value inLocalBlindness LocalBlindness | None None Defines conditions in which weaker edges can be detected in the vicinity of stronger edges
Input value inMaxProfileGapWidth int | None 0 - 1 Maximal number of consecutive not existing profile points
Input value inMaxIncompleteness float 0.0 - 0.999 Maximal fraction of stripe points not found
Input value inFittingMethod CircleFittingMethod Method used to fit a circle
Input value inOutlierSuppression MEstimator | None None Selects a method for ignoring incorrectly detected points
Output value outCircle Circle3D | None Fitted circle in the middle of found stripe or nothing if the fitting fails
Output value outInnerCircle Circle3D | None Fitted inner circle
Output value outOuterCircle Circle3D | None Fitted outer circle
Output value outStripes list[SurfaceStripe1D | None] Found stripes
Output value outStripePoints list[Point3D] Extracted points of middle circle of a surface stripe
Output value outDeviationProfile Profile | None Profile of distances between the actual circle points and the corresponding reference circle points
Output value outHeightProfiles list[Profile] Extracted surface height profiles
Output value outResponseProfiles list[Profile] Profiles of the edge (derivative) operator response

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.