You are here: Start » FIL.NET » Invoke.FitCircleToStripe3D_Direct
Performs a series of 1D edge detections in 3D and finds a circle that best matches the detected points.
Namespace: | Fil |
---|---|
Assembly: | FilNet.dll |
Syntax
C++
C#
public static void FitCircleToStripe3D_Direct ( Fil.Surface inSurface, Fil.CircleFittingField inFittingField, Optional<Fil.CoordinateSystem2D> inFittingFieldAlignment, int inScanCount, Optional<float> inSamplingStep, int inScanWidth, Fil.InterpolationMethod inSurfaceInterpolation, Fil.StripeScanParams3D inStripeScanParams, Fil.Selection inStripeSelection, Optional<Fil.LocalBlindness> inLocalBlindness, Optional<int> inMaxProfileGapWidth, float inMaxIncompleteness, Fil.CircleFittingMethod inFittingMethod, Optional<Fil.MEstimator> inOutlierSuppression, Conditional<Fil.Circle3D> outCircle, Conditional<Fil.Circle3D> outInnerCircle, Conditional<Fil.Circle3D> outOuterCircle, Optional<List<Conditional<Fil.SurfaceStripe1D>>> outStripes, Optional<List<Fil.Point3D>> outStripePoints, Optional<Conditional<Fil.Profile>> outDeviationProfile, Optional<Fil.CircleFittingField> outAlignedFittingField, Optional<List<Fil.Profile>> outHeightProfiles, Optional<List<Fil.Profile>> outResponseProfiles, Diagnostic<List<Fil.Segment2D>> diagScanSegments, Diagnostic<List<Fil.Rectangle2D>> diagSamplingAreas )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() | inSurface | Fil.Surface | Surface to fit the circle to. | ||
![]() | inFittingField | Fil.CircleFittingField | Circle fitting field. | ||
![]() | inFittingFieldAlignment | Ftl.Optional<Fil.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 | Ftl.Optional<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 | Fil.InterpolationMethod | Bilinear | Interpolation method used for extraction of surface points. Default value: Bilinear. | |
![]() | inStripeScanParams | Fil.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 | Fil.Selection | Selection mode of stripe. | ||
![]() | inLocalBlindness | Ftl.Optional<Fil.LocalBlindness> | Defines conditions in which weaker edges can be detected in the vicinity of stronger edges. Default value: ftl::NIL. | ||
![]() | inMaxProfileGapWidth | Ftl.Optional<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 | Fil.CircleFittingMethod | AlgebraicTaubin | Method used to fit a circle. Default value: AlgebraicTaubin. | |
![]() | inOutlierSuppression | Ftl.Optional<Fil.MEstimator> | Selects a method for ignoring incorrectly detected points. Default value: ftl::NIL. | ||
![]() | outCircle | Ftl.Conditional<Fil.Circle3D> | Fitted circle in the middle of found stripe or nothing if the fitting fails. | ||
![]() | outInnerCircle | Ftl.Conditional<Fil.Circle3D> | Fitted inner circle. | ||
![]() | outOuterCircle | Ftl.Conditional<Fil.Circle3D> | Fitted outer circle. | ||
![]() | outStripes | Ftl.Optional<System.Collections.Generic.List<Ftl.Conditional<Fil.SurfaceStripe1D>>> | Found stripes. | ||
![]() | outStripePoints | Ftl.Optional<System.Collections.Generic.List<Fil.Point3D>> | Extracted points of middle circle of a surface stripe. | ||
![]() | outDeviationProfile | Ftl.Optional<Ftl.Conditional<Fil.Profile>> | Profile of distances between the actual circle points and the corresponding reference circle points. | ||
![]() | outAlignedFittingField | Ftl.Optional<Fil.CircleFittingField> | Fitting field used; in the image coordinate system. | ||
![]() | outHeightProfiles | Ftl.Optional<System.Collections.Generic.List<Fil.Profile>> | Extracted surface height profiles. | ||
![]() | outResponseProfiles | Ftl.Optional<System.Collections.Generic.List<Fil.Profile>> | Profiles of the edge (derivative) operator response. | ||
![]() | diagScanSegments | Fil.Diagnostic<System.Collections.Generic.List<Fil.Segment2D>> | Segments along which the scans were run. | ||
![]() | diagSamplingAreas | Fil.Diagnostic<System.Collections.Generic.List<Fil.Rectangle2D>> | Areas from which the input image is sampled. |