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

AVL.FitCircleToRidges3D_Direct

Performs a series of 1D ridge 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 FitCircleToRidges3D_Direct
(
	AvlNet.Surface inSurface,
	AvlNet.CircleFittingField inFittingField,
	AvlNet.CoordinateSystem2D? inFittingFieldAlignment,
	int inScanCount,
	float? inSamplingStep,
	int inScanWidth,
	AvlNet.InterpolationMethod inSurfaceInterpolation,
	AvlNet.RidgeScanParams3D inRidgeScanParams,
	AvlNet.Selection inRidgeSelection,
	AvlNet.LocalBlindness? inLocalBlindness,
	int? inMaxProfileGapWidth,
	float inMaxIncompleteness,
	AvlNet.CircleFittingMethod inFittingMethod,
	AvlNet.MEstimator? inOutlierSuppression,
	INullable<AvlNet.Circle3D> outCircle,
	NullableRef<List<AvlNet.SurfaceRidge1D?>> outRidges,
	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.
inRidgeScanParamsAvlNet.RidgeScanParams3DRidgeScanParams3D ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 0.6f RidgeWidth: 5.0f RidgeMargin: 2.0f RidgeOperator: Minimum MinMagnitude: 5.0f RidgePolarity: Low )Parameters controlling the ridge extraction process. Default value: RidgeScanParams3D ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 0.6f RidgeWidth: 5.0f RidgeMargin: 2.0f RidgeOperator: Minimum MinMagnitude: 5.0f RidgePolarity: Low ).
inRidgeSelectionAvlNet.SelectionSelection mode of ridges.
inLocalBlindnessAvlNet.LocalBlindness?Defines conditions in which weaker ridges can be detected in the vicinity of stronger ridges. 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 ridge 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.
outRidgesAvlNet.NullableRef<System.Collections.Generic.List<AvlNet.SurfaceRidge1D?>>Found ridges. 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 Ridge operator parameters are too low in surface ridges detector in FitCircleToRidges3D.
DomainError Sampling step set to zero in FitCircleToRidges3D.

Function Overrides

See also