You are here: Start » Function Reference » Computer Vision » 1D Edge Detection » ScanSingleRidge
ScanSingleRidge
Header: | FIL.h |
---|---|
Namespace: | fil |
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 fil::ScanSingleRidge ( const fil::Image& inImage, const ScanMap& inScanMap, const RidgeScanParams& inRidgeScanParams, fil::Selection::Type inRidgeSelection, ftl::Optional<const fil::LocalBlindness&> inLocalBlindness, ftl::Conditional<fil::Ridge1D>& outRidge, ftl::Optional<fil::Profile&> outBrightnessProfile = ftl::NIL, ftl::Optional<fil::Profile&> outResponseProfile = ftl::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 ftl::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
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).