You are here: Start » AVL.NET » Invoke.FitCircleToEdges3D_Direct

Invoke.FitCircleToEdges3D_Direct

Performs a series of 1D edge detections in 3D and finds a circle that best matches the detected points.

Namespace:Avl
Assembly:AvlNet.dll

Syntax

C++
C#
 
public static void FitCircleToEdges3D_Direct
(
	Avl.Surface inSurface,
	Avl.CircleFittingField inFittingField,
	Optional<Avl.CoordinateSystem2D> inFittingFieldAlignment,
	int inScanCount,
	Optional<float> inSamplingStep,
	int inScanWidth,
	Avl.InterpolationMethod inSurfaceInterpolation,
	Avl.EdgeScanParams3D inEdgeScanParams,
	Avl.Selection inEdgeSelection,
	Optional<Avl.LocalBlindness> inLocalBlindness,
	Optional<int> inMaxProfileGapWidth,
	float inMaxIncompleteness,
	Avl.CircleFittingMethod inFittingMethod,
	Optional<Avl.MEstimator> inOutlierSuppression,
	Conditional<Avl.Circle3D> outCircle,
	Optional<List<Conditional<Avl.SurfaceEdge1D>>> outEdges,
	Optional<Conditional<Avl.Profile>> outDeviationProfile,
	Optional<Avl.CircleFittingField> outAlignedFittingField,
	Optional<List<Avl.Point3D>> outInliers,
	Optional<List<Avl.Profile>> outHeightProfiles,
	Optional<List<Avl.Profile>> outResponseProfiles,
	Diagnostic<List<Avl.Segment2D>> diagScanSegments,
	Diagnostic<List<Avl.Rectangle2D>> diagSamplingAreas
)

Parameters

Name Type Range Default Description
inSurfaceAvl.SurfaceSurface to fit the circle to.
inFittingFieldAvl.CircleFittingFieldCircle fitting field.
inFittingFieldAlignmentAtl.Optional<Avl.CoordinateSystem2D>Adjusts the fitting field to the position of the inspected object. Default value: atl::NIL.
inScanCountint<3, INF>10The number of points that will be searched to estimate the position of the circle. Default value: 10.
inSamplingStepAtl.Optional<float><0.0f, INF>Desired distance between consecutive sampling points on the scan segments; if Nil, the bigger of surface X and Y scales is chosen. Default value: atl::NIL.
inScanWidthint<1, INF>5The width of each scan field (in pixels). Default value: 5.
inSurfaceInterpolationAvl.InterpolationMethodBilinearInterpolation method used for extraction of surface points. Default value: Bilinear.
inEdgeScanParamsAvl.EdgeScanParams3DEdgeScanParams3D ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 1.0f MinMagnitude: 5.0f EdgeTransition: LowToHigh )Parameters controlling the edge extraction process. Default value: EdgeScanParams3D ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 1.0f MinMagnitude: 5.0f EdgeTransition: LowToHigh ).
inEdgeSelectionAvl.SelectionSelection mode of edges.
inLocalBlindnessAtl.Optional<Avl.LocalBlindness>Defines conditions in which weaker edges can be detected in the vicinity of stronger edges. Default value: atl::NIL.
inMaxProfileGapWidthAtl.Optional<int><0, INF>1Maximal number of consecutive not existing profile points. Default value: 1.
inMaxIncompletenessfloat<0.0f, 0.999f>0.1fMaximal fraction of edge points not found. Default value: 0.1f.
inFittingMethodAvl.CircleFittingMethodAlgebraicTaubinMethod used to fit a circle. Default value: AlgebraicTaubin.
inOutlierSuppressionAtl.Optional<Avl.MEstimator>Selects a method for ignoring incorrectly detected points. Default value: atl::NIL.
outCircleAtl.Conditional<Avl.Circle3D>Fitted circle or nothing if the fitting fails.
outEdgesAtl.Optional<System.Collections.Generic.List<Atl.Conditional<Avl.SurfaceEdge1D>>>Found edges.
outDeviationProfileAtl.Optional<Atl.Conditional<Avl.Profile>>Profile of distances between the actual circle points and the corresponding reference circle points.
outAlignedFittingFieldAtl.Optional<Avl.CircleFittingField>Fitting field used; in the image coordinate system.
outInliersAtl.Optional<System.Collections.Generic.List<Avl.Point3D>>Points matching the fitting Circle.
outHeightProfilesAtl.Optional<System.Collections.Generic.List<Avl.Profile>>Extracted surface height profiles.
outResponseProfilesAtl.Optional<System.Collections.Generic.List<Avl.Profile>>Profiles of the edge (derivative) operator response.
diagScanSegmentsAvl.Diagnostic<System.Collections.Generic.List<Avl.Segment2D>>Segments along which the scans were run.
diagSamplingAreasAvl.Diagnostic<System.Collections.Generic.List<Avl.Rectangle2D>>Areas from which the input image is sampled.

See also