Back to Adaptive Vision Library website
You are here: Start » Function Reference » Shape Fitting 3D » AvsFilter_FitPathToStripe3D
![](../../img/icon/FitPathToStripe.png)
AvsFilter_FitPathToStripe3D
This is Filter Equivalent. This function may be present in generated code, but should not be used in hand-written code.
Header: | AVL.h |
---|---|
Namespace: | avs |
Performs a series of 1D stripe detections in 3D and creates a path from the detected points.
Syntax
void avs::AvsFilter_FitPathToStripe3D ( FitPathToStripe3DState& ioState, const avl::Surface& inSurface, const avl::PathFittingField& inFittingField, atl::Optional<const avl::CoordinateSystem2D&> inFittingFieldAlignment, atl::Optional<float> inScanStep, atl::Optional<float> inSamplingStep, int inScanWidth, const avl::InterpolationMethod::Type inSurfaceInterpolation, const avl::StripeScanParams3D& inStripeScanParams, avl::Selection::Type inStripeSelection, atl::Optional<const avl::LocalBlindness&> inLocalBlindness, atl::Optional<int> inMaxProfileGapWidth, atl::Optional<int> inMaxPathInterpolationLength, atl::Optional<float> inMaxDeviationDelta, float inMaxIncompleteness, atl::Conditional<atl::Array<avl::Point3D> >& outPath, atl::Conditional<atl::Array<avl::Point3D> >& outLeftPath, atl::Conditional<atl::Array<avl::Point3D> >& outRightPath, atl::Optional<atl::Array<atl::Conditional<avl::SurfaceStripe1D> >&> outStripes = atl::NIL, atl::Optional<atl::Conditional<avl::Profile>&> outDeviationProfile = atl::NIL, atl::Optional<avl::PathFittingField&> outAlignedFittingField = atl::NIL, atl::Array<avl::Segment2D>& diagScanSegments, atl::Array<avl::Rectangle2D>& diagSamplingAreas, atl::Array<avl::Profile>& diagHeightProfiles, atl::Array<avl::Profile>& diagResponseProfiles )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
ioState | FitPathToStripe3DState& | Object used to maintain state of the function. | |||
![]() |
inSurface | const Surface& | Surface to fit path to | ||
![]() |
inFittingField | const PathFittingField& | Path fitting field | ||
![]() |
inFittingFieldAlignment | Optional<const CoordinateSystem2D&> | NIL | Adjusts the fitting field to the position of the inspected object | |
![]() |
inScanStep | Optional<float> | 0.0 - ![]() |
5.0f | Optional implicit conversion of the input path to an equidistant one |
![]() |
inSamplingStep | Optional<float> | NIL | 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 - ![]() |
5 | The width of each scan field (in pixels) |
![]() |
inSurfaceInterpolation | const InterpolationMethod::Type | Bilinear | Interpolation method used for extraction of surface points | |
![]() |
inStripeScanParams | const 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 | |
![]() |
inStripeSelection | Selection::Type | Selection mode of stripes | ||
![]() |
inLocalBlindness | Optional<const LocalBlindness&> | NIL | Defines conditions in which weaker edges can be detected in the vicinity of stronger edges | |
![]() |
inMaxProfileGapWidth | Optional<int> | 0 - ![]() |
1 | Maximal number of consecutive not existing profile points |
![]() |
inMaxPathInterpolationLength | Optional<int> | 0 - ![]() |
1 | Maximal number of consecutive points not found |
![]() |
inMaxDeviationDelta | Optional<float> | 0.0 - ![]() |
NIL | Maximal difference between deviations of consecutive path points |
![]() |
inMaxIncompleteness | float | 0.0 - 0.999 | 0.1f | Maximal fraction of stripe points not found |
![]() |
outPath | Conditional<Array<Point3D> >& | Fitted path or nothing if the fitting failed | ||
![]() |
outLeftPath | Conditional<Array<Point3D> >& | Fitted left path | ||
![]() |
outRightPath | Conditional<Array<Point3D> >& | Fitted right path | ||
![]() |
outStripes | Optional<Array<Conditional<SurfaceStripe1D> >&> | NIL | Found stripes | |
![]() |
outDeviationProfile | Optional<Conditional<Profile>&> | NIL | Profile of distances between the actual path points and the corresponding reference path points | |
![]() |
outAlignedFittingField | Optional<PathFittingField&> | NIL | Fitting field used; in the image coordinate system | |
![]() |
diagScanSegments | Array<Segment2D>& | Segments along which the scans were run | ||
![]() |
diagSamplingAreas | Array<Rectangle2D>& | Areas from which the input image is sampled | ||
![]() |
diagHeightProfiles | Array<Profile>& | Extracted surface height profiles | ||
![]() |
diagResponseProfiles | Array<Profile>& | Profiles of the edge (derivative) operator response |
Optional Outputs
The computation of following outputs can be switched off by passing value atl::NIL
to these parameters: outPath, outLeftPath, outRightPath, outStripes, outDeviationProfile, outAlignedFittingField.
Read more about Optional Outputs.
Hardware Acceleration
This operation supports automatic parallelization for multicore and multiprocessor systems.