You are here: Start » Function Reference » Computer Vision » 1D Edge Detection » ScanSingleRidge
ScanSingleRidge
| Header: | AVL.h | 
|---|---|
| Namespace: | avl | 
| Module: | MetrologyBasic | 
Locates the strongest dark or bright pixel peak along a given path.
Applications: Very fast detection of a thin structure like a wire or a scale mark.
Syntax
void avl::ScanSingleRidge ( const avl::Image& inImage, const ScanMap& inScanMap, const RidgeScanParams& inRidgeScanParams, avl::Selection::Type inRidgeSelection, atl::Optional<const avl::LocalBlindness&> inLocalBlindness, atl::Conditional<avl::Ridge1D>& outRidge, atl::Optional<avl::Profile&> outBrightnessProfile = atl::NIL, atl::Optional<avl::Profile&> outResponseProfile = atl::NIL )
Parameters
| Name | Type | Default | Description | |
|---|---|---|---|---|
![]()  | 
				inImage | const Image& | Input image | |
![]()  | 
				inScanMap | const ScanMap& | Data precomputed with CreateScanMap | |
![]()  | 
				inRidgeScanParams | const RidgeScanParams& | RidgeScanParams ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 0.6f RidgeWidth: 5 RidgeMargin: 2 MinMagnitude: 5.0f RidgePolarity: Dark ) | Parameters controlling the ridge extraction process | 
![]()  | 
				inRidgeSelection | Selection::Type | Selection::Best | Selection mode of the resulting ridge | 
![]()  | 
				inLocalBlindness | Optional<const LocalBlindness&> | NIL | Defines conditions in which weaker ridges can be detected in the vicinity of stronger ridges | 
![]()  | 
				outRidge | Conditional<Ridge1D>& | Found ridge | |
![]()  | 
				outBrightnessProfile | Optional<Profile&> | NIL | Extracted image profile | 
![]()  | 
				outResponseProfile | Optional<Profile&> | NIL | Profile of the ridge operator response | 
Optional Outputs
The computation of following outputs can be switched off by passing value atl::NIL to these parameters: outBrightnessProfile, outResponseProfile.
Read more about Optional Outputs.
Description
The operation scans the image using inScanMap previously generated from a scan path and locates the strongest ridge of the given characteristics. If there is no such ridge then the outputs are set to NIL.
Hints
- Adjust inRidgeScanParams.RidgeWidth to the expected thickness of the ridge (in pixels).
 - Define inRidgeScanParams.RidgePolarity to detect a particular ridge type, and only that type.
 - If no ridge is found, try decreasing inRidgeScanParams.MinMagnitude.
 - For difficult cases try different settings of the inRidgeScanParams.RidgeOperator parameter.
 
Examples
ScanSingleRidge locates the strongest ridge using a scan map representing the scan path above.
Remarks
Read more about Local Coordinate Systems in Machine Vision Guide: Local Coordinate Systems.
This filter is a part of the 1D Edge Detection toolset. For a comprehensive introduction to this technique please refer to 1D Edge Detection and 1D Edge Detection - Subpixel Precision chapters of our Machine Vision Guide.
See Also
- CreateScanMap – Precomputes a data object that is required for fast 1D edge detection.
 
- ScanMultipleRidges – Locates multiple dark or bright pixel peaks along a given path.
 
- ScanExactlyNRidges – Locates a specified number of the strongest dark or bright pixel peak along a given path.
 
- ScanSingleRidge_Direct – Locates the strongest dark or bright pixel peak along a given path (without a scan map).
 


