You are here: Start » AVL.NET » Function Reference » Computer Vision » Shape Fitting 3D » AVL.FitSegmentToStripe3D_Direct
Performs a series of 1D edge detections in 3D and finds a segment that best matches the detected points.
Namespace: | AvlNet |
---|---|
Assembly: | AVL.NET.dll |
Syntax
C++
C#
public static void FitSegmentToStripe3D_Direct ( AvlNet.Surface inSurface, AvlNet.SegmentFittingField inFittingField, AvlNet.CoordinateSystem2D? inFittingFieldAlignment, int inScanCount, float? inSamplingStep, int inScanWidth, AvlNet.InterpolationMethod inSurfaceInterpolation, AvlNet.StripeScanParams3D inStripeScanParams, AvlNet.Selection inStripeSelection, AvlNet.LocalBlindness? inLocalBlindness, int? inMaxProfileGapWidth, float inMaxIncompleteness, AvlNet.MEstimator? inOutlierSuppression, INullable<AvlNet.Segment3D> outSegment, INullable<AvlNet.Segment3D> outLeftSegment, INullable<AvlNet.Segment3D> outRightSegment, NullableRef<List<NullableRef<AvlNet.SurfaceStripe1D>>> outStripes, NullableRef<List<AvlNet.Point3D>> outStripePoints, NullableRef<NullableRef<AvlNet.Profile>> outDeviationProfile, NullableValue<AvlNet.SegmentFittingField> outAlignedFittingField )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
inSurface | AvlNet.Surface | Surface to fit segment to. | |||
inFittingField | AvlNet.SegmentFittingField | Segment fitting field. | |||
inFittingFieldAlignment | AvlNet.CoordinateSystem2D? | Adjusts the fitting field to the position of the inspected object. Default value: atl::NIL. | |||
inScanCount | int | <3, INF> | 10 | The number of points that will be searched to estimate the position of the segment. 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: atl::NIL. | ||
inScanWidth | int | <1, INF> | 5 | The width of each scan field (in pixels). Default value: 5. | |
inSurfaceInterpolation | AvlNet.InterpolationMethod | Bilinear | Interpolation method used for extraction of surface points. Default value: Bilinear. | ||
inStripeScanParams | AvlNet.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 | AvlNet.Selection | Selection mode of stripe. | |||
inLocalBlindness | AvlNet.LocalBlindness? | Defines conditions in which weaker edges can be detected in the vicinity of stronger edges. Default value: atl::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. | |
inOutlierSuppression | AvlNet.MEstimator? | Selects a method for ignoring incorrectly detected points. Default value: atl::NIL. | |||
outSegment | AvlNet.INullable<AvlNet.Segment3D> | Fitted segment or nothing if the fitting fails. This parameter cannot be null. | |||
outLeftSegment | AvlNet.INullable<AvlNet.Segment3D> | Fitted left segment. This parameter cannot be null. | |||
outRightSegment | AvlNet.INullable<AvlNet.Segment3D> | Fitted right segment. This parameter cannot be null. | |||
outStripes | AvlNet.NullableRef<System.Collections.Generic.List<AvlNet.NullableRef<AvlNet.SurfaceStripe1D>>> | Found stripes. Can be null to skip this parameter calculation. | |||
outStripePoints | AvlNet.NullableRef<System.Collections.Generic.List<AvlNet.Point3D>> | Extracted points of middle segment of a surface stripe. Can be null to skip this parameter calculation. | |||
outDeviationProfile | AvlNet.NullableRef<AvlNet.NullableRef<AvlNet.Profile>> | Profile of distances between the actual segment points and the corresponding reference segment points. Can be null to skip this parameter calculation. | |||
outAlignedFittingField | AvlNet.NullableValue<AvlNet.SegmentFittingField> | Fitting field used; in the image coordinate system. 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 | Sampling step set to zero in FitSegmentToStripe3D. |
Function Overrides
- FitSegmentToStripe3D_Direct(Surface, SegmentFittingField, Int32, Int32, InterpolationMethod, StripeScanParams3D, Selection, Single, INullable<Segment3D>, INullable<Segment3D>, INullable<Segment3D>)
- FitSegmentToStripe3D_Direct(Surface, SegmentFittingField, Nullable<CoordinateSystem2D>, Int32, Nullable<Single>, Int32, InterpolationMethod, StripeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Single, Nullable<MEstimator>, INullable<Segment3D>, INullable<Segment3D>, INullable<Segment3D>)
- FitSegmentToStripe3D_Direct(Surface, SegmentFittingField, Nullable<CoordinateSystem2D>, Int32, Nullable<Single>, Int32, InterpolationMethod, StripeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Single, Nullable<MEstimator>, INullable<Segment3D>, INullable<Segment3D>, INullable<Segment3D>, IList<NullableRef<SurfaceStripe1D>>, IList<Point3D>, INullable<Profile>, SegmentFittingField, IList<Segment2D>, IList<Rectangle2D>, IList<Profile>, IList<Profile>)
- FitSegmentToStripe3D_Direct(Surface, SegmentFittingField, Nullable<CoordinateSystem2D>, Int32, Nullable<Single>, Int32, InterpolationMethod, StripeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Single, Nullable<MEstimator>, INullable<Segment3D>, INullable<Segment3D>, INullable<Segment3D>, NullableRef<List<NullableRef<SurfaceStripe1D>>>, NullableRef<List<Point3D>>, NullableRef<NullableRef<Profile>>, NullableValue<SegmentFittingField>, IList<Segment2D>, IList<Rectangle2D>, IList<Profile>, IList<Profile>)