You are here: Start » AVL.NET » Function Reference » Computer Vision » Shape Fitting 3D » AVL.FitPathToEdges3D_Direct
Namespace: | AvlNet |
---|---|
Assembly: | AVL.NET.dll |
Syntax
C++
C#
public static void FitPathToEdges3D_Direct ( AvlNet.Surface inSurface, AvlNet.PathFittingField inFittingField, AvlNet.CoordinateSystem2D? inFittingFieldAlignment, float? inScanStep, float? inSamplingStep, int inScanWidth, AvlNet.InterpolationMethod inSurfaceInterpolation, AvlNet.EdgeScanParams3D inEdgeScanParams, AvlNet.Selection inEdgeSelection, AvlNet.LocalBlindness? inLocalBlindness, int? inMaxProfileGapWidth, int? inMaxPathInterpolationLength, float? inMaxDeviationDelta, float inMaxIncompleteness, INullable<List<AvlNet.Point3D>> outPath, NullableRef<List<AvlNet.SurfaceEdge1D?>> outEdges, NullableRef<NullableRef<AvlNet.Profile>> outDeviationProfile, NullableRef<AvlNet.PathFittingField> outAlignedFittingField, NullableRef<SafeList<AvlNet.Profile>> outHeightProfiles, NullableRef<SafeList<AvlNet.Profile>> outResponseProfiles, NullableRef<NullableRef<List<AvlNet.Segment3D>>> outPathSegments, IList<AvlNet.Segment2D> diagScanSegments, IList<AvlNet.Rectangle2D> diagSamplingAreas )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
inSurface | AvlNet.Surface | Surface to fit path to | |||
inFittingField | AvlNet.PathFittingField | Path fitting field | |||
inFittingFieldAlignment | AvlNet.CoordinateSystem2D? | Adjusts the fitting field to the position of the inspected object | |||
inScanStep | float? | <0.0f, INF> | 5.0f | Optional implicit conversion of the input path to an equidistant one | |
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 | |
inMaxPathInterpolationLength | int? | <0, INF> | 1 | Maximal number of consecutive points not found | |
inMaxDeviationDelta | float? | <0.0f, INF> | Maximal difference between deviations of consecutive path points | ||
inMaxIncompleteness | float | <0.0f, 0.999f> | 0.1f | Maximal fraction of edge points not found | |
outPath | AvlNet.INullable<System.Collections.Generic.List<AvlNet.Point3D>> | Fitted path or nothing if the fitting failed | |||
outEdges | AvlNet.NullableRef<System.Collections.Generic.List<AvlNet.SurfaceEdge1D?>> | Found edges | |||
outDeviationProfile | AvlNet.NullableRef<AvlNet.NullableRef<AvlNet.Profile>> | Profile of distances between the actual path points and the corresponding reference path points | |||
outAlignedFittingField | AvlNet.NullableRef<AvlNet.PathFittingField> | Fitting field used; in the image coordinate system | |||
outHeightProfiles | AvlNet.NullableRef<AvlNet.SafeList<AvlNet.Profile>> | Extracted surface height profiles | |||
outResponseProfiles | AvlNet.NullableRef<AvlNet.SafeList<AvlNet.Profile>> | Profiles of the edge (derivative) operator response | |||
outPathSegments | AvlNet.NullableRef<AvlNet.NullableRef<System.Collections.Generic.List<AvlNet.Segment3D>>> | Segments of the fitted path or nothing if the fitting failed | |||
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 FitPathToEdges3D. |
Function Overrides
- FitPathToEdges3D_Direct(Surface, PathFittingField, Int32, InterpolationMethod, EdgeScanParams3D, Selection, Single, INullable<List<Point3D>>)
- FitPathToEdges3D_Direct(Surface, PathFittingField, Nullable<CoordinateSystem2D>, Nullable<Single>, Nullable<Single>, Int32, InterpolationMethod, EdgeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Nullable<Int32>, Nullable<Single>, Single, INullable<List<Point3D>>)
- FitPathToEdges3D_Direct(Surface, PathFittingField, Nullable<CoordinateSystem2D>, Nullable<Single>, Nullable<Single>, Int32, InterpolationMethod, EdgeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Nullable<Int32>, Nullable<Single>, Single, INullable<List<Point3D>>, NullableRef<List<Nullable<SurfaceEdge1D>>>, NullableRef<NullableRef<Profile>>, NullableRef<PathFittingField>, NullableRef<SafeList<Profile>>, NullableRef<SafeList<Profile>>, NullableRef<NullableRef<List<Segment3D>>>)
- FitPathToEdges3D_Direct(Surface, PathFittingField, Nullable<CoordinateSystem2D>, Nullable<Single>, Nullable<Single>, Int32, InterpolationMethod, EdgeScanParams3D, Selection, Nullable<LocalBlindness>, Nullable<Int32>, Nullable<Int32>, Nullable<Single>, Single, INullable<List<Point3D>>, IList<Nullable<SurfaceEdge1D>>, INullable<Profile>, PathFittingField, IList<Profile>, IList<Profile>, INullable<List<Segment3D>>, IList<Segment2D>, IList<Rectangle2D>)