Back to Aurora Vision Library website

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


Header: AVL.h
Namespace: avl
Module: Vision3DStandard

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


void avl::ScanMultipleStripes3D_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,
	float inMinGapWidth,
	atl::Optional<float> inMaxGapWidth,
	atl::Optional<const avl::LocalBlindness&> inLocalBlindness,
	atl::Optional<int> inMaxProfileGapWidth,
	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


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
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 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.