Back to FabImage Library website
You are here: Start » Function Reference » All Functions » Shape Fitting 3D » FisFilter_MeasureObjectWidth3D

FisFilter_MeasureObjectWidth3D
This is Filter Equivalent. This function may be present in generated code, but should not be used in hand-written code.
Header: | FIL.h |
---|---|
Namespace: | fis |
Module: | Vision3DStandard |
Measures the width of an object using stripe detection.
Syntax
void fis::FisFilter_MeasureObjectWidth3D ( MeasureObjectWidth3DState& ioState, const fil::Surface& inSurface, const fil::SegmentScanField& inScanField, ftl::Optional<const fil::CoordinateSystem2D&> inScanFieldAlignment, int inScanCount, ftl::Optional<float> inSamplingStep, int inScanWidth, fil::InterpolationMethod::Type inSurfaceInterpolation, const fil::StripeScanParams3D& inStripeScanParams, fil::MeasureObjectMethod::Type inMeasureMethod, fil::Selection::Type inStripeSelection, ftl::Optional<const fil::LocalBlindness&> inLocalBlindness, ftl::Optional<int> inMaxProfileGapWidth, ftl::Optional<fil::MEstimator::Type> inOutlierSuppression, int inOutlierCount, ftl::Conditional<float>& outObjectWidth, ftl::Conditional<fil::Segment2D>& outSegment1, ftl::Conditional<fil::Segment2D>& outSegment2, ftl::Optional<fil::SegmentScanField&> outAlignedScanField = ftl::NIL, ftl::Optional<ftl::Array<ftl::Conditional<fil::SurfaceStripe1D>>&> outStripes = ftl::NIL, ftl::Optional<ftl::Array<fil::Profile>&> outHeightProfiles = ftl::NIL, ftl::Optional<ftl::Array<fil::Profile>&> outResponseProfiles = ftl::NIL, ftl::Array<fil::Segment2D>& diagScanSegments )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() |
ioState | MeasureObjectWidth3DState& | Object used to maintain state of the function. | ||
![]() |
inSurface | const Surface& | Input surface | ||
![]() |
inScanField | const SegmentScanField& | Field in which measurement scans are performed | ||
![]() |
inScanFieldAlignment | Optional<const CoordinateSystem2D&> | NIL | Adjusts the scan field to the position of the inspected object | |
![]() |
inScanCount | int | 2 - ![]() |
5 | Number of scans to be performed |
![]() |
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 | Width of each single scan |
![]() |
inSurfaceInterpolation | 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 object stripe extraction process | |
![]() |
inMeasureMethod | MeasureObjectMethod::Type | Method used to measure the object | ||
![]() |
inStripeSelection | Selection::Type | Selection mode of edges of the object | ||
![]() |
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 |
![]() |
inOutlierSuppression | Optional<MEstimator::Type> | NIL | Selects a method for ignoring incorrectly detected points | |
![]() |
inOutlierCount | int | 0 - ![]() |
Determines how many points are not count when object width is measured | |
![]() |
outObjectWidth | Conditional<float>& | Width of the object | ||
![]() |
outSegment1 | Conditional<Segment2D>& | First edge of the object | ||
![]() |
outSegment2 | Conditional<Segment2D>& | Second edge of the object | ||
![]() |
outAlignedScanField | Optional<SegmentScanField&> | NIL | Field in which the scans are performed | |
![]() |
outStripes | Optional<Array<Conditional<SurfaceStripe1D>>&> | NIL | Detected stripes | |
![]() |
outHeightProfiles | Optional<Array<Profile>&> | NIL | Extracted surface height profiles | |
![]() |
outResponseProfiles | Optional<Array<Profile>&> | NIL | Profiles of the edge (derivative) operator response | |
![]() |
diagScanSegments | Array<Segment2D>& | Segments along which the scans are performed |
Optional Outputs
The computation of following outputs can be switched off by passing value ftl::NIL
to these parameters: outAlignedScanField, outStripes, outHeightProfiles, outResponseProfiles.
Read more about Optional Outputs.