You are here: Start » AVL.NET » Function Reference » Computer Vision » Shape Fitting 3D » AVL.FitCircleToEdges3D_Direct

AVL.FitCircleToEdges3D_Direct

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

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

C++
C#
 
public static void FitCircleToEdges3D_Direct
(
	AvlNet.Surface inSurface,
	AvlNet.CircleFittingField inFittingField,
	AvlNet.CoordinateSystem2D? inFittingFieldAlignment,
	int inScanCount,
	float? inSamplingStep,
	int inScanWidth,
	AvlNet.InterpolationMethod inSurfaceInterpolation,
	AvlNet.EdgeScanParams3D inEdgeScanParams,
	AvlNet.Selection inEdgeSelection,
	AvlNet.LocalBlindness? inLocalBlindness,
	int? inMaxProfileGapWidth,
	float inMaxIncompleteness,
	AvlNet.CircleFittingMethod inFittingMethod,
	AvlNet.MEstimator? inOutlierSuppression,
	INullable<AvlNet.Circle3D> outCircle,
	NullableRef<List<AvlNet.SurfaceEdge1D?>> outEdges,
	NullableRef<NullableRef<AvlNet.Profile>> outDeviationProfile,
	NullableValue<AvlNet.CircleFittingField> outAlignedFittingField,
	NullableRef<List<AvlNet.Point3D>> outInliers
)

Parameters

Name Type Range Default Description
inSurfaceAvlNet.SurfaceSurface to fit the circle to.
inFittingFieldAvlNet.CircleFittingFieldCircle fitting field.
inFittingFieldAlignmentAvlNet.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.
inSamplingStepfloat?<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.
inSurfaceInterpolationAvlNet.InterpolationMethodBilinearInterpolation method used for extraction of surface points. Default value: Bilinear.
inEdgeScanParamsAvlNet.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 ).
inEdgeSelectionAvlNet.SelectionSelection mode of edges.
inLocalBlindnessAvlNet.LocalBlindness?Defines conditions in which weaker edges can be detected in the vicinity of stronger edges. Default value: atl::NIL.
inMaxProfileGapWidthint?<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.
inFittingMethodAvlNet.CircleFittingMethodAlgebraicTaubinMethod used to fit a circle. Default value: AlgebraicTaubin.
inOutlierSuppressionAvlNet.MEstimator?Selects a method for ignoring incorrectly detected points. Default value: atl::NIL.
outCircleAvlNet.INullable<AvlNet.Circle3D>Fitted circle or nothing if the fitting fails. This parameter cannot be null.
outEdgesAvlNet.NullableRef<System.Collections.Generic.List<AvlNet.SurfaceEdge1D?>>Found edges. Can be null to skip this parameter calculation.
outDeviationProfileAvlNet.NullableRef<AvlNet.NullableRef<AvlNet.Profile>>Profile of distances between the actual circle points and the corresponding reference circle points. Can be null to skip this parameter calculation.
outAlignedFittingFieldAvlNet.NullableValue<AvlNet.CircleFittingField>Fitting field used; in the image coordinate system. Can be null to skip this parameter calculation.
outInliersAvlNet.NullableRef<System.Collections.Generic.List<AvlNet.Point3D>>Points matching the fitting Circle. Can be null to skip this parameter calculation.

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.

Hardware acceleration settings may be manipulated with Settings class.

Errors

List of possible exceptions:

Error type Description
DomainError Sampling step set to zero in FitCircleToEdges3D.

Function Overrides

See also