Back to Aurora 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,
	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
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
Input value
inRidgeCount int 0 - 1 Number of ridges to be found
Input value
inRidgeSelection Selection::Type Selection mode of the resulting ridges
Input value
inMinDistance float 0.0 - 0.0f Minimal distance between consecutive ridges
Input value
inMaxDistance Optional<float> 0.0 - NIL Maximal distance between consecutive ridges
Input value
inLocalBlindness Optional<const LocalBlindness&> NIL Defines conditions in which weaker ridges can be detected in the vicinity of stronger ridges
Input value
inMaxProfileGapWidth Optional<int> 0 - 1 Maximal number of consecutive not existing profile points
Output value
outRidges Conditional<Array<SurfaceRidge1D> >& Found surface ridges
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 ridge 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.