You are here: Start » FIL.NET » Function Reference » Computer Vision » Shape Fitting 3D » FIL.FitCircleToRidges3D
Performs a series of 1D ridge detections and finds a circle that best matches the detected points.
Namespace: | FilNet |
---|---|
Assembly: | FIL.NET.dll |
Syntax
C++
C#
public static void FitCircleToRidges3D ( FilNet.Surface inSurface, FilNet.CircleFittingMap inFittingMap, FilNet.RidgeScanParams3D inRidgeScanParams, FilNet.Selection inRidgeSelection, FilNet.LocalBlindness? inLocalBlindness, int? inMaxProfileGapWidth, float inMaxIncompleteness, FilNet.CircleFittingMethod inFittingMethod, FilNet.MEstimator? inOutlierSuppression, INullable<FilNet.Circle3D> outCircle, NullableRef<List<FilNet.SurfaceRidge1D?>> outRidges, NullableRef<NullableRef<FilNet.Profile>> outDeviationProfile, NullableRef<List<FilNet.Point3D>> outInliers, NullableRef<SafeList<FilNet.Profile>> outHeightProfiles, NullableRef<SafeList<FilNet.Profile>> outResponseProfiles )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() | inSurface | FilNet.Surface | Surface to fit the circle to. | ||
![]() | inFittingMap | FilNet.CircleFittingMap | Input fitting map. | ||
![]() | inRidgeScanParams | FilNet.RidgeScanParams3D | Parameters controlling the ridge extraction process. | ||
![]() | inRidgeSelection | FilNet.Selection | fil::SelectionBest | Selection mode of ridges. Default value: fil::SelectionBest. | |
![]() | inLocalBlindness | FilNet.LocalBlindness? | Defines conditions in which weaker ridges can be detected in the vicinity of stronger ridges. Default value: ftl::NIL. | ||
![]() | inMaxProfileGapWidth | int? | <0, INF> | 1 | Maximal number of consecutive not existing profile points. Default value: 1. |
![]() | inMaxIncompleteness | float | <0.0f, 0.999f> | 0.1f | Maximal fraction of ridge points not found. Default value: 0.1f. |
![]() | inFittingMethod | FilNet.CircleFittingMethod | AlgebraicTaubin | Method used to fit a circle. Default value: AlgebraicTaubin. | |
![]() | inOutlierSuppression | FilNet.MEstimator? | Selects a method for ignoring incorrectly detected points. Default value: ftl::NIL. | ||
![]() | outCircle | FilNet.INullable<FilNet.Circle3D> | Fitted circle or nothing if the fitting fails. This parameter cannot be null. | ||
![]() | outRidges | FilNet.NullableRef<System.Collections.Generic.List<FilNet.SurfaceRidge1D?>> | Found ridges. Can be null to skip this parameter calculation. | ||
![]() | outDeviationProfile | FilNet.NullableRef<FilNet.NullableRef<FilNet.Profile>> | Profile of distances between the actual circle points and the corresponding reference circle points. Can be null to skip this parameter calculation. | ||
![]() | outInliers | FilNet.NullableRef<System.Collections.Generic.List<FilNet.Point3D>> | Points matching the fitting Circle. Can be null to skip this parameter calculation. | ||
![]() | outHeightProfiles | FilNet.NullableRef<FilNet.SafeList<FilNet.Profile>> | Extracted surface height profiles. Can be null to skip this parameter calculation. | ||
![]() | outResponseProfiles | FilNet.NullableRef<FilNet.SafeList<FilNet.Profile>> | Profiles of the ridge operator response. 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. |
Function Overrides
- FitCircleToRidges3D(Surface, CircleFittingMap, RidgeScanParams3D, Selection, Single, CircleFittingMethod, INullable<Circle3D>)
- FitCircleToRidges3D(Surface, CircleFittingMap, RidgeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Single, CircleFittingMethod, Nullable<MEstimator>, INullable<Circle3D>)
- FitCircleToRidges3D(Surface, CircleFittingMap, RidgeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Single, CircleFittingMethod, Nullable<MEstimator>, INullable<Circle3D>, IList<Nullable<SurfaceRidge1D>>, INullable<Profile>, IList<Point3D>, IList<Profile>, IList<Profile>)