Back to FabImage Library website
You are here: Start » Function Reference » Computer Vision » Shape Fitting 3D » MeasureObjectWidth3D
MeasureObjectWidth3D
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | Vision3DStandard |
Measures the width of an object using stripe detection.
Applications: Easy and precise measurement of distances between to straight parallel edges.
Syntax
C++
C#
void fil::MeasureObjectWidth3D ( const fil::Surface& inSurface, const ftl::Array<fil::ScanMap>& inMeasurementMap, 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<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 )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
inSurface | const Surface& | Input surface | |||
inMeasurementMap | const Array<ScanMap>& | Input measurement map | |||
inStripeScanParams | const StripeScanParams3D& | Parameters controlling the object stripe extraction process | |||
inMeasureMethod | MeasureObjectMethod::Type | Method used to measure the object | |||
inStripeSelection | Selection::Type | Selection::Best | 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 outlying points are rejected before the 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 | |||
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 |
Optional Outputs
The computation of following outputs can be switched off by passing value ftl::NIL
to these parameters: outStripes, outHeightProfiles, outResponseProfiles.
Read more about Optional Outputs.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Invalid MeasurementMap in MeasureObjectWidth3D function. Use CreateSurfaceMeasurementMap function to create it properly. |