You are here: Start » AVL.NET » Function Reference » Computer Vision » Shape Fitting 3D » AVL.FitCircleToRidges3D_Direct
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, NullableRef<SafeList<AvlNet.Profile>> outHeightProfiles, NullableRef<SafeList<AvlNet.Profile>> outResponseProfiles )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
inSurface | AvlNet.Surface | Surface to fit the circle to | |||
inFittingField | AvlNet.CircleFittingField | Circle fitting field | |||
inFittingFieldAlignment | AvlNet.CoordinateSystem2D? | Adjusts the fitting field to the position of the inspected object | |||
inScanCount | int | <3, INF> | 10 | The number of points that will be searched to estimate the position of the circle | |
inSamplingStep | 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 | ||
inScanWidth | int | <1, INF> | 5 | The width of each scan field (in pixels) | |
inSurfaceInterpolation | AvlNet.InterpolationMethod | Bilinear | Interpolation method used for extraction of surface points | ||
inRidgeScanParams | AvlNet.RidgeScanParams3D | RidgeScanParams3D ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 0.6f RidgeWidth: 5.0f RidgeMargin: 2.0f RidgeOperator: Minimum MinMagnitude: 5.0f RidgePolarity: Low ) | Parameters controlling the ridge extraction process | ||
inRidgeSelection | AvlNet.Selection | Selection mode of ridges | |||
inLocalBlindness | AvlNet.LocalBlindness? | Defines conditions in which weaker ridges can be detected in the vicinity of stronger ridges | |||
inMaxProfileGapWidth | int? | <0, INF> | 1 | Maximal number of consecutive not existing profile points | |
inMaxIncompleteness | float | <0.0f, 0.999f> | 0.1f | Maximal fraction of ridge points not found | |
inFittingMethod | AvlNet.CircleFittingMethod | AlgebraicTaubin | Method used to fit a circle | ||
inOutlierSuppression | AvlNet.MEstimator? | Selects a method for ignoring incorrectly detected points | |||
outCircle | AvlNet.INullable<AvlNet.Circle3D> | Fitted circle or nothing if the fitting fails | |||
outRidges | AvlNet.NullableRef<System.Collections.Generic.List<AvlNet.SurfaceRidge1D?>> | Found ridges | |||
outDeviationProfile | AvlNet.NullableRef<AvlNet.NullableRef<AvlNet.Profile>> | Profile of distances between the actual circle points and the corresponding reference circle points | |||
outAlignedFittingField | AvlNet.NullableValue<AvlNet.CircleFittingField> | Fitting field used; in the image coordinate system | |||
outInliers | AvlNet.NullableRef<System.Collections.Generic.List<AvlNet.Point3D>> | Points matching the fitting Circle | |||
outHeightProfiles | AvlNet.NullableRef<AvlNet.SafeList<AvlNet.Profile>> | Extracted surface height profiles | |||
outResponseProfiles | AvlNet.NullableRef<AvlNet.SafeList<AvlNet.Profile>> | Profiles of the ridge operator response |
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
- FitCircleToRidges3D_Direct(Surface, CircleFittingField, Int32, Int32, InterpolationMethod, RidgeScanParams3D, Selection, Single, CircleFittingMethod, INullable<Circle3D>)
- FitCircleToRidges3D_Direct(Surface, CircleFittingField, Nullable<CoordinateSystem2D>, Int32, Nullable<Single>, Int32, InterpolationMethod, RidgeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Single, CircleFittingMethod, Nullable<MEstimator>, INullable<Circle3D>)
- FitCircleToRidges3D_Direct(Surface, CircleFittingField, Nullable<CoordinateSystem2D>, Int32, Nullable<Single>, Int32, InterpolationMethod, RidgeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Single, CircleFittingMethod, Nullable<MEstimator>, INullable<Circle3D>, IList<Nullable<SurfaceRidge1D>>, INullable<Profile>, CircleFittingField, IList<Point3D>, IList<Profile>, IList<Profile>, IList<Segment2D>, IList<Rectangle2D>)
- FitCircleToRidges3D_Direct(Surface, CircleFittingField, Nullable<CoordinateSystem2D>, Int32, Nullable<Single>, Int32, InterpolationMethod, RidgeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Single, CircleFittingMethod, Nullable<MEstimator>, INullable<Circle3D>, NullableRef<List<Nullable<SurfaceRidge1D>>>, NullableRef<NullableRef<Profile>>, NullableValue<CircleFittingField>, NullableRef<List<Point3D>>, NullableRef<SafeList<Profile>>, NullableRef<SafeList<Profile>>, IList<Segment2D>, IList<Rectangle2D>)