Back to Adaptive Vision Library website

You are here: Start » Function Reference » Shape Fitting 3D » AvsFilter_MeasureObjectWidth3D

AvsFilter_MeasureObjectWidth3D


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

Measures the width of an object using stripe detection.

Syntax

void avs::AvsFilter_MeasureObjectWidth3D
(
	MeasureObjectWidth3DState& ioState,
	const avl::Surface& inSurface,
	const avl::SegmentScanField& inScanField,
	atl::Optional<const avl::CoordinateSystem2D&> inScanFieldAlignment,
	int inScanCount,
	atl::Optional<float> inSamplingStep,
	int inScanWidth,
	avl::InterpolationMethod::Type inSurfaceInterpolation,
	const avl::StripeScanParams3D& inStripeScanParams,
	avl::MeasureObjectMethod::Type inMeasureMethod,
	avl::Selection::Type inStripeSelection,
	atl::Optional<const avl::LocalBlindness&> inLocalBlindness,
	atl::Optional<int> inMaxProfileGapWidth,
	atl::Optional<avl::MEstimator::Type> inOutlierSuppression,
	int inOutlierCount,
	atl::Conditional<float>& outObjectWidth,
	atl::Conditional<avl::Segment2D>& outSegment1,
	atl::Conditional<avl::Segment2D>& outSegment2,
	atl::Optional<avl::SegmentScanField&> outAlignedScanField = atl::NIL,
	atl::Array<avl::Segment2D>& diagScanSegments,
	atl::Array<avl::Point3D>& diagPoints1,
	atl::Array<avl::Point3D>& diagPoints2
)

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
diagScanSegments Array<Segment2D>& Segments along which the scans are performed
diagPoints1 Array<Point3D>& Detected edge points on the first side
diagPoints2 Array<Point3D>& Detected edge points on the second side

Optional Outputs

The computation of following outputs can be switched off by passing value atl::NIL to these parameters: outAlignedScanField.

Read more about Optional Outputs.