You are here: Start » FIL.NET » Function Reference » Computer Vision » Shape Fitting 3D » FIL.FitCircleToStripe3D_Direct
Performs a series of 1D edge detections in 3D and finds a circle that best matches the detected points.
Namespace: | FilNet |
---|---|
Assembly: | FIL.NET.dll |
Syntax
C++
C#
public static void FitCircleToStripe3D_Direct ( FilNet.Surface inSurface, FilNet.CircleFittingField inFittingField, FilNet.CoordinateSystem2D? inFittingFieldAlignment, int inScanCount, float? inSamplingStep, int inScanWidth, FilNet.InterpolationMethod inSurfaceInterpolation, FilNet.StripeScanParams3D inStripeScanParams, FilNet.Selection inStripeSelection, FilNet.LocalBlindness? inLocalBlindness, int? inMaxProfileGapWidth, float inMaxIncompleteness, FilNet.CircleFittingMethod inFittingMethod, FilNet.MEstimator? inOutlierSuppression, INullable<FilNet.Circle3D> outCircle, INullable<FilNet.Circle3D> outInnerCircle, INullable<FilNet.Circle3D> outOuterCircle )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() | inSurface | FilNet.Surface | Surface to fit the circle to. | ||
![]() | inFittingField | FilNet.CircleFittingField | Circle fitting field. | ||
![]() | inFittingFieldAlignment | FilNet.CoordinateSystem2D? | Adjusts the fitting field to the position of the inspected object. Default value: ftl::NIL. | ||
![]() | inScanCount | int | <3, INF> | 10 | The number of points that will be searched to estimate the position of the circle. Default value: 10. |
![]() | 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. Default value: ftl::NIL. | |
![]() | inScanWidth | int | <1, INF> | 5 | The width of each scan field (in pixels). Default value: 5. |
![]() | inSurfaceInterpolation | FilNet.InterpolationMethod | Bilinear | Interpolation method used for extraction of surface points. Default value: Bilinear. | |
![]() | inStripeScanParams | FilNet.StripeScanParams3D | StripeScanParams3D ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 1.0f MinMagnitude: 5.0f MaxInnerEdgeMagnitude: Nil MinStripeWidth: 0.0f MaxStripeWidth: Nil StripePolarity: High ) | Parameters controlling the stripe extraction process. Default value: StripeScanParams3D ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 1.0f MinMagnitude: 5.0f MaxInnerEdgeMagnitude: Nil MinStripeWidth: 0.0f MaxStripeWidth: Nil StripePolarity: High ). | |
![]() | inStripeSelection | FilNet.Selection | Selection mode of stripe. | ||
![]() | inLocalBlindness | FilNet.LocalBlindness? | Defines conditions in which weaker edges can be detected in the vicinity of stronger edges. 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 stripe 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 in the middle of found stripe or nothing if the fitting fails. This parameter cannot be null. | ||
![]() | outInnerCircle | FilNet.INullable<FilNet.Circle3D> | Fitted inner circle. This parameter cannot be null. | ||
![]() | outOuterCircle | FilNet.INullable<FilNet.Circle3D> | Fitted outer circle. This parameter cannot be null. |
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 FitCircleToStripe3D. |
Function Overrides
- FitCircleToStripe3D_Direct(Surface, CircleFittingField, Int32, Int32, InterpolationMethod, StripeScanParams3D, Selection, Single, CircleFittingMethod, INullable<Circle3D>, INullable<Circle3D>, INullable<Circle3D>)
- FitCircleToStripe3D_Direct(Surface, CircleFittingField, Nullable<CoordinateSystem2D>, Int32, Nullable<Single>, Int32, InterpolationMethod, StripeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Single, CircleFittingMethod, Nullable<MEstimator>, INullable<Circle3D>, INullable<Circle3D>, INullable<Circle3D>, NullableRef<List<NullableRef<SurfaceStripe1D>>>, NullableRef<List<Point3D>>, NullableRef<NullableRef<Profile>>, NullableValue<CircleFittingField>, NullableRef<SafeList<Profile>>, NullableRef<SafeList<Profile>>)
- FitCircleToStripe3D_Direct(Surface, CircleFittingField, Nullable<CoordinateSystem2D>, Int32, Nullable<Single>, Int32, InterpolationMethod, StripeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Single, CircleFittingMethod, Nullable<MEstimator>, INullable<Circle3D>, INullable<Circle3D>, INullable<Circle3D>, IList<NullableRef<SurfaceStripe1D>>, IList<Point3D>, INullable<Profile>, CircleFittingField, IList<Profile>, IList<Profile>, IList<Segment2D>, IList<Rectangle2D>)
- FitCircleToStripe3D_Direct(Surface, CircleFittingField, Nullable<CoordinateSystem2D>, Int32, Nullable<Single>, Int32, InterpolationMethod, StripeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Single, CircleFittingMethod, Nullable<MEstimator>, INullable<Circle3D>, INullable<Circle3D>, INullable<Circle3D>, NullableRef<List<NullableRef<SurfaceStripe1D>>>, NullableRef<List<Point3D>>, NullableRef<NullableRef<Profile>>, NullableValue<CircleFittingField>, NullableRef<SafeList<Profile>>, NullableRef<SafeList<Profile>>, IList<Segment2D>, IList<Rectangle2D>)