Back to Adaptive Vision Library website

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

ScanExactlyNRidges3D_Direct


Header: AVL.h
Namespace: avl
Module: Vision3DStandard

Locates a specified number of the strongest high or low peaks of surface height along a given path.

Syntax

C++
C#
 
void avl::ScanExactlyNRidges3D_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::RidgeScanParams3D& inRidgeScanParams,
	int inRidgeCount,
	avl::Selection::Type inRidgeSelection,
	float inMinDistance,
	atl::Optional<float> inMaxDistance,
	atl::Optional<const avl::LocalBlindness&> inLocalBlindness,
	atl::Optional<int> inMaxProfileGapWidth,
	atl::Conditional<atl::Array<avl::SurfaceRidge1D> >& outRidges,
	atl::Optional<avl::Path&> outAlignedScanPath = atl::NIL,
	avl::Profile& diagHeightProfile,
	avl::Profile& diagResponseProfile,
	atl::Array<avl::Path>& diagSamplingPoints,
	float& diagSamplingStep
)

Parameters

Name Type Range Default Description
inSurface const Surface& Input surface
inScanPath const Path& Path along which the scan is performed
inScanPathAlignment Optional<const CoordinateSystem2D&> NIL Adjusts the scan path to the position of the inspected object
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
inScanWidth int 1 - 5 Width of the scan field in pixels
inSurfaceInterpolation InterpolationMethod::Type Bilinear Interpolation method used for extraction of surface points
inRidgeScanParams const RidgeScanParams3D& RidgeScanParams3D ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 0.6f RidgeWidth: 5.0f RidgeMargin: 2.0f RidgeOperator: Minimum MinMagnitude: 5.0f RidgePolarity: Any ) Parameters controlling the ridge extraction process
inRidgeCount int 0 - 1 Number of ridges to be found
inRidgeSelection Selection::Type Selection mode of the resulting ridges
inMinDistance float 0.0 - 0.0f Minimal distance between consecutive ridges
inMaxDistance Optional<float> 0.0 - NIL Maximal distance between consecutive ridges
inLocalBlindness Optional<const LocalBlindness&> NIL Defines conditions in which weaker ridges can be detected in the vicinity of stronger ridges
inMaxProfileGapWidth Optional<int> 0 - 1 Maximal number of consecutive not existing profile points
outRidges Conditional<Array<SurfaceRidge1D> >& Found surface ridges
outAlignedScanPath Optional<Path&> NIL Path along which the scan is performed; in the image coordinate system
diagHeightProfile Profile& Extracted surface height profile
diagResponseProfile Profile& Profile of the ridge operator response
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
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.

Read more about Optional Outputs.