You are here: Start » AVL.NET » Function Reference » Computer Vision » Shape Fitting 3D » AVL.FitSegmentToEdges3D_Direct
Namespace: | AvlNet |
---|---|
Assembly: | AVL.NET.dll |
Syntax
C++
C#
public static void FitSegmentToEdges3D_Direct ( AvlNet.Surface inSurface, AvlNet.SegmentFittingField inFittingField, AvlNet.CoordinateSystem2D? inFittingFieldAlignment, int inScanCount, float? inSamplingStep, int inScanWidth, AvlNet.InterpolationMethod inSurfaceInterpolation, AvlNet.EdgeScanParams3D inEdgeScanParams, AvlNet.Selection inEdgeSelection, AvlNet.LocalBlindness? inLocalBlindness, int? inMaxProfileGapWidth, float inMaxIncompleteness, AvlNet.MEstimator? inOutlierSuppression, INullable<AvlNet.Segment3D> outSegment, IList<AvlNet.SurfaceEdge1D?> outEdges, INullable<AvlNet.Profile> outDeviationProfile, out AvlNet.SegmentFittingField outAlignedFittingField, IList<AvlNet.Point3D> outInliers, IList<AvlNet.Profile> outHeightProfiles, IList<AvlNet.Profile> outResponseProfiles, IList<AvlNet.Segment2D> diagScanSegments, IList<AvlNet.Rectangle2D> diagSamplingAreas )
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 | ||
![]() | inScanCount | int | <3, INF> | 10 | The number of points that will be searched to estimate the position of the segment |
![]() | 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 | |
![]() | inEdgeScanParams | AvlNet.EdgeScanParams3D | EdgeScanParams3D ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 1.0f MinMagnitude: 5.0f EdgeTransition: LowToHigh ) | Parameters controlling the edge extraction process | |
![]() | inEdgeSelection | AvlNet.Selection | Selection mode of edges | ||
![]() | inLocalBlindness | AvlNet.LocalBlindness? | Defines conditions in which weaker edges can be detected in the vicinity of stronger edges | ||
![]() | inMaxProfileGapWidth | int? | <0, INF> | 1 | Maximal number of consecutive not existing profile points |
![]() | inMaxIncompleteness | float | <0.0f, 0.999f> | 0.1f | Maximal fraction of edge points not found |
![]() | inOutlierSuppression | AvlNet.MEstimator? | Selects a method for ignoring incorrectly detected points | ||
![]() | outSegment | AvlNet.INullable<AvlNet.Segment3D> | Fitted segment or nothing if the fitting fails | ||
![]() | outEdges | System.Collections.Generic.IList<AvlNet.SurfaceEdge1D?> | Found edges | ||
![]() | outDeviationProfile | AvlNet.INullable<AvlNet.Profile> | Profile of distances between the actual segment points and the corresponding reference segment points | ||
![]() | outAlignedFittingField | AvlNet.SegmentFittingField | Fitting field used; in the image coordinate system | ||
![]() | outInliers | System.Collections.Generic.IList<AvlNet.Point3D> | Points matching the fitting segment | ||
![]() | outHeightProfiles | System.Collections.Generic.IList<AvlNet.Profile> | Extracted surface height profiles | ||
![]() | outResponseProfiles | System.Collections.Generic.IList<AvlNet.Profile> | Profiles of the edge (derivative) operator response | ||
![]() | diagScanSegments | System.Collections.Generic.IList<AvlNet.Segment2D> | Segments along which the scans were run | ||
![]() | diagSamplingAreas | System.Collections.Generic.IList<AvlNet.Rectangle2D> | Areas from which the input image is sampled |
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 FitSegmentToEdges3D. |
Function Overrides
- FitSegmentToEdges3D_Direct(Surface, SegmentFittingField, Int32, Int32, InterpolationMethod, EdgeScanParams3D, Selection, Single, INullable<Segment3D>)
- FitSegmentToEdges3D_Direct(Surface, SegmentFittingField, Nullable<CoordinateSystem2D>, Int32, Nullable<Single>, Int32, InterpolationMethod, EdgeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Single, Nullable<MEstimator>, INullable<Segment3D>)
- FitSegmentToEdges3D_Direct(Surface, SegmentFittingField, Nullable<CoordinateSystem2D>, Int32, Nullable<Single>, Int32, InterpolationMethod, EdgeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Single, Nullable<MEstimator>, INullable<Segment3D>, NullableRef<List<Nullable<SurfaceEdge1D>>>, NullableRef<NullableRef<Profile>>, NullableValue<SegmentFittingField>, NullableRef<List<Point3D>>, NullableRef<SafeList<Profile>>, NullableRef<SafeList<Profile>>)
- FitSegmentToEdges3D_Direct(Surface, SegmentFittingField, Nullable<CoordinateSystem2D>, Int32, Nullable<Single>, Int32, InterpolationMethod, EdgeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Single, Nullable<MEstimator>, INullable<Segment3D>, NullableRef<List<Nullable<SurfaceEdge1D>>>, NullableRef<NullableRef<Profile>>, NullableValue<SegmentFittingField>, NullableRef<List<Point3D>>, NullableRef<SafeList<Profile>>, NullableRef<SafeList<Profile>>, IList<Segment2D>, IList<Rectangle2D>)