Back to Aurora Vision Library website

You are here: Start » Function Reference » Computer Vision » 1D Edge Detection 3D » ScanExactlyNStripes3D_Direct

ScanExactlyNStripes3D_Direct


Header: AVL.h
Namespace: avl
Module: Vision3DStandard

Locates a specified number of multiple pairs of changes of surface height along a given path.

Syntax

C++
C#
 
void avl::ScanExactlyNStripes3D_Direct
(
	const avl::Surface& inSurface,
	const avl::Path& inScanPath,
	atl::Optional<const avl::CoordinateSystem2D&> inScanPathAlignment,
	atl::Optional<float> inSamplingStep,
	int inScanWidth,
	avl::InterpolationMethod::Type inSurfaceInterpolation,
	const avl::StripeScanParams3D& inStripeScanParams,
	int inStripeCount,
	avl::Selection::Type inStripeSelection,
	float inMinGapWidth,
	atl::Optional<float> inMaxGapWidth,
	atl::Optional<const avl::LocalBlindness&> inLocalBlindness,
	atl::Optional<int> inMaxProfileGapWidth,
	atl::Conditional<atl::Array<avl::SurfaceStripe1D> >& outStripes,
	atl::Optional<avl::Path&> outAlignedScanPath = atl::NIL,
	atl::Optional<avl::Profile&> outHeightProfile = atl::NIL,
	atl::Optional<avl::Profile&> outResponseProfile = atl::NIL,
	atl::Array<avl::Path>& diagSamplingPoints,
	float& diagSamplingStep
)

Parameters

Name Type Range Default Description
Input value inSurface const Surface& Input surface
Input value inScanPath const Path& Path along which the scan is performed
Input value inScanPathAlignment Optional<const CoordinateSystem2D&> NIL Adjusts the scan path to the position of the inspected object
Input value 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
Input value inScanWidth int 1 - 5 Width of the scan field in pixels
Input value inSurfaceInterpolation InterpolationMethod::Type Bilinear Interpolation method used for extraction of surface points
Input value inStripeScanParams const StripeScanParams3D& StripeScanParams3D ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 0.6f MinMagnitude: 5.0f MaxInnerEdgeMagnitude: Nil StripePolarity: Low MinStripeWidth: 0.0f MaxStripeWidth: Nil ) Parameters controlling the surface stripe extraction process
Input value inStripeCount int 0 - 1 Number of surface stripes to be found
Input value inStripeSelection Selection::Type Selection mode of the resulting stripes
Input value inMinGapWidth float 0.0 - 0.0f Minimal distance between consecutive surface stripes
Input value inMaxGapWidth Optional<float> 0.0 - NIL Maximal distance between consecutive surface stripes
Input value inLocalBlindness Optional<const LocalBlindness&> NIL Defines conditions in which weaker edges can be detected in the vicinity of stronger edges
Input value inMaxProfileGapWidth Optional<int> 0 - 1 Maximal number of consecutive not existing profile points
Output value outStripes Conditional<Array<SurfaceStripe1D> >& Found surface stripes
Output value outAlignedScanPath Optional<Path&> NIL Path along which the scan is performed; in the image coordinate system
Output value outHeightProfile Optional<Profile&> NIL Extracted surface height profile
Output value outResponseProfile Optional<Profile&> NIL Profile of the edge (derivative) operator response
Diagnostic input 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
Diagnostic input diagSamplingStep float& Used distance between consecutive sampling points on the scan path

Optional Outputs

The computation of following outputs can be switched off by passing value atl::NIL to these parameters: outAlignedScanPath, outHeightProfile, outResponseProfile.

Read more about Optional Outputs.