Back to FabImage Library website
You are here: Start » Function Reference » Surface » Surface Features » SurfaceProfileAlongPath

SurfaceProfileAlongPath
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | Vision3DStandard |
Creates a series of segments across the input path, measures the average surface height on each of the segments, and creates the final profile from those values.
Applications: This is the first step of all 1D Edge Detection 3D operations. Here available for direct use by the user.
Syntax
C++
C#
void fil::SurfaceProfileAlongPath ( ScanMapState& ioState, const fil::Surface& inSurface, const fil::Path& inScanPath, ftl::Optional<const fil::CoordinateSystem2D&> inScanPathAlignment, ftl::Optional<float> inSamplingStep, int inScanWidth, fil::InterpolationMethod::Type inSurfaceInterpolation, ftl::Optional<int> inMaxInterpolationLength, float inSmoothingStdDev, fil::Profile& outProfile, fil::Path& outPath, ftl::Optional<fil::Path&> outAlignedScanPath = ftl::NIL, ftl::Array<fil::Path>& diagSamplingPoints )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() |
ioState | ScanMapState& | Object used to maintain state of the function. | ||
![]() |
inSurface | const Surface& | Input surface | ||
![]() |
inScanPath | const Path& | Path along which the profile is extracted | ||
![]() |
inScanPathAlignment | Optional<const CoordinateSystem2D&> | NIL | Adjusts the scan path to the position of the inspected object | |
![]() |
inSamplingStep | Optional<float> | 0.0 - ![]() |
NIL | Distance between consecutive sampling points on the scan path; if Nil, the bigger of surface X and Y scales is chosen |
![]() |
inScanWidth | int | 1 - ![]() |
5 | Width of the scan field |
![]() |
inSurfaceInterpolation | InterpolationMethod::Type | Bilinear | Interpolation method used for extraction of surface points | |
![]() |
inMaxInterpolationLength | Optional<int> | NIL | Maximal number of consecutive not existing profile points | |
![]() |
inSmoothingStdDev | float | 0.0 - ![]() |
0.6f | Standard deviation of the gaussian smoothing applied to the extracted profile |
![]() |
outProfile | Profile& | The resulting profile of the surface height | ||
![]() |
outPath | Path& | The path consisting of the points from which the resulting profile is extracted | ||
![]() |
outAlignedScanPath | Optional<Path&> | NIL | Path along which the scan is performed | |
![]() |
diagSamplingPoints | Array<Path>& | Array of paths each one containing the sampling points that contributed to a single value of the extracted profile; in the image coordinate system |
Optional Outputs
The computation of following outputs can be switched off by passing value ftl::NIL
to these parameters: outAlignedScanPath.
Read more about Optional Outputs.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Non-positive sampling step on input in SurfaceProfileAlongPath. |
DomainError | Non-positive scale on input in SurfaceProfileAlongPath. |