FitArcToStripe_Direct


Performs a series of 1D stripe detections and finds an arc that best matches the detected points.

Applications:Precise detection of a ring section, whose rough location is known beforehand.

Syntax

C++
C#
Python
 
def FitArcToStripe_Direct(
	inImage: Image,
	inFittingField: ArcFittingField,
	/,
	*,
	inFittingFieldAlignment: CoordinateSystem2D | None = None,
	inScanCount: int = 10,
	inScanWidth: int = 5,
	inSamplingParams: SamplingParams = SamplingParams(InterpolationMethod.Bilinear, 1.0, None),
	inStripeScanParams: StripeScanParams = StripeScanParams(ProfileInterpolationMethod.Quadratic4, 0.6, 5.0, None, Polarity.Dark, 0.0, None),
	inStripeSelection: Selection = Selection.Best,
	inLocalBlindness: LocalBlindness | None = None,
	inMaxIncompleteness: float = 0.1,
	inFittingMethod: CircleFittingMethod = CircleFittingMethod.AlgebraicTaubin,
	inOutlierSuppression: MEstimator | None = None,
	outAlignedFittingField: ArcFittingField | None = None
)
-> (
	outArc: Arc2D | None,
	outInnerArc: Arc2D | None,
	outOuterArc: Arc2D | None,
	outStripes: list[Stripe1D | None],
	outStripePoints: list[Point2D],
	outDeviationProfile: Profile | None,
	outBrightnessProfiles: list[Profile],
	outResponseProfiles: list[Profile],
	diagScanSegments: list[Segment2D],
	diagSamplingAreas: list[Rectangle2D]
)

Parameters

Name Type Range Default Description
Input value inImage Image Input image to fit arc to
Input value inFittingField ArcFittingField Arc fitting field
Input value inFittingFieldAlignment CoordinateSystem2D | None None Adjusts the fitting field to the position of the inspected object
Input value inScanCount int 3 - 10 The number of points that will be searched to estimate the position of the arc
Input value inScanWidth int 1 - 5 The width of each scan field (in pixels)
Input value inSamplingParams SamplingParams SamplingParams(InterpolationMethod.Bilinear, 1.0, None) Parameters controlling the sampling process
Input value inStripeScanParams StripeScanParams StripeScanParams(ProfileInterpolationMethod.Quadratic4, 0.6, 5.0, None, Polarity.Dark, 0.0, None) Parameters controlling the stripe extraction process
Input value inStripeSelection Selection Selection.Best 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 inMaxIncompleteness float 0.0 - 0.999 0.1 Maximal fraction of stripe points not found
Input value inFittingMethod CircleFittingMethod CircleFittingMethod.AlgebraicTaubin Method used to fit an arc
Input value inOutlierSuppression MEstimator | None None Selects a method for ignoring incorrectly detected points
Output value outArc Arc2D | None Fitted arc in the middle of found stripe
Output value outInnerArc Arc2D | None Fitted inner arc
Output value outOuterArc Arc2D | None Fitted outer arc
Output value outStripes list[Stripe1D | None] Found stripes
Output value outStripePoints list[Point2D] Extracted points of middle arc of an image stripe
Output value outDeviationProfile Profile | None Profile of distances between the actual arc points and the corresponding reference arc points
Output value outAlignedFittingField ArcFittingField | None None Fitting field used; in the image coordinate system
Output value outBrightnessProfiles list[Profile] Extracted image profiles
Output value outResponseProfiles list[Profile] Profiles of the edge (derivative) operator response
Diagnostic input diagScanSegments list[Segment2D] Segments along which the scans were run
Diagnostic input diagSamplingAreas list[Rectangle2D] Areas from which the input image is sampled

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.