core/vil/algo/vil_suppress_non_max.h File Reference

Suppress all non-maximal points in image. More...

#include <vil/vil_image_view.h>
#include <vil/algo/vil_find_peaks.h>
#include <vil/vil_fill.h>
#include <vcl_cassert.h>

Go to the source code of this file.


template<class T >
void vil_suppress_non_max_3x3 (const vil_image_view< T > &src_im, vil_image_view< T > &dest_im, T threshold=0, T non_max_value=0)
 Suppress all non-maximal (non peaks) pixels in the image.

Detailed Description

Suppress all non-maximal points in image.

Tim Cootes

Definition in file vil_suppress_non_max.h.

Function Documentation

template<class T >
void vil_suppress_non_max_3x3 ( const vil_image_view< T > &  src_im,
vil_image_view< T > &  dest_im,
threshold = 0,
non_max_value = 0 
) [inline]

Suppress all non-maximal (non peaks) pixels in the image.

If image(i,j) is strictly larger than all neighbouring pixels, and is above the threshold, then it is retained. All other pixels are set to non_max_value.

non_max_value must be below the threshold (so the default value of zero is inappropriate if the image contains peaks of interest with negative values)

Note that where there are neighbouring pixels with identical values on a raised plateau, then all the pixels on the plateau will be suppressed. This can cause some peaks to be missed. The effect can be reduced by using float images and pre-smoothing slightly. Alternatively, use vil_suppress_non_plateau_3x3() to retain plateau points as well as strict maxima.

See also:

Definition at line 33 of file vil_suppress_non_max.h.