Start » Filter Reference » Image » Image Features » ImageLocalMaxima

ImageLocalMaxima


Module: FoundationBasic

Finds image locations characterized by locally maximal pixel values.

Applications

Detection of characteristic points, usually after some image transformations.
Name Type Range Description
Input value
inImage Image Input image
Input value
inRoi Region* Range of pixels to be processed
Input value
inConsiderPlateaus Bool Consider multi-pixel maxima (plateaus) or not
Input value
inMinValue Real* Minimal value of maximum to be considered
Input value
inMaxValue Real* Maximal value of maximum to be considered
Input value
inMinDistance Real 0.0 - Minimal distance between two found maxima
Input value
inMaximaVerification ImageLocalExtremaVerification* Maxima verification structure
Output value
outLocalMaxima Extremum2DArray Found local maxima
Output value
outMaximaRegions RegionArray Regions of local maxima (plateaus and singletons)

Description

The operation finds local maxima on the image inImage within specific region inRoi.

It returns three arrays of the same length:

  • Subpixel precise positions of the maxima
  • Values of the maxima
  • Regions of equally bright pixels around the maxima

If the given image consists of more than one channel, they are averaged to obtain monochromatic image, so that the values of the extrema are of type float.

There are two types of local extrema:

  • Peak/hole: single pixel (strictly) brighter/darker than its neighbourhood (eight pixels). The extremum's position is determined with subpixel precision using gradient method with Sobel gradient. Returned region contains only one pixel.
  • Plateau/lowland: a connected set of equally bright pixels (strictly) brighter/darker from their neighbourhood. Returned position for this extremum is the center of mass of the plateau.

If parameter inConsiderPlateaus is set to true, the filter finds both types. Otherwise, it finds only strict maxima.

Parameter inMinValue determines the minimal value of the maximum to be considered.

Hints

  • If some points are not detected, try decreasing inMinValue or setting inConsiderPlateaus to True.
  • Consider adding some Gaussian smoothing before this filter.

Examples

Description of usage of this filter can be found in examples and tutorial: Fertilizer Granulation, Pins, Photometric Stereo Braille.

Example image

Output for example image

Remarks

If a plateau/lowland is concave, it's center of mass may lie outside it. In such case, the value of the extremum (which is equal to the common value of its pixels) may be different from the value of pixel indicated by position of the extremum.

Errors

This filter can throw an exception to report error. Read how to deal with errors in Error Handling.

List of possible exceptions:

Error type Description
DomainError Region exceeds an input image in ImageLocalMaxima.

Complexity Level

This filter is available on Advanced Complexity Level.

See Also

  • ImageLocalMinima – Finds image locations characterized by locally minimal pixel values.