[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
Classes | |
class | LocalMinmaxOptions |
Options object for localMinima() and localMaxima(). More... |
Functions | |
template<... > | |
void | extendedLocalMaxima (...) |
Find local maximal regions in an image or volume. | |
template<... > | |
void | extendedLocalMaxima3D (...) |
Find local maximal regions in 3D multi array. | |
template<... > | |
void | extendedLocalMinima (...) |
Find local minimal regions in an image or volume. | |
template<... > | |
void | extendedLocalMinima3D (...) |
Find local minimal regions in a volume. | |
template<... > | |
void | localMaxima (...) |
Find local maxima in an image or multi-dimensional array. | |
template<... > | |
void | localMaxima3D (...) |
Find local maxima in a 3D multi array. | |
template<... > | |
void | localMinima (...) |
Find local minima in an image or multi-dimensional array. | |
template<... > | |
void | localMinima3D (...) |
Find local minima in a 3D multi array. |
Detect local minima and maxima in a gray level image, including extremal plateaus larger than 1 pixel
void vigra::localMinima | ( | ... | ) |
Find local minima in an image or multi-dimensional array.
Note: the function is not yet implemented for arbitrary dimensional arrays, but see localMinima3D() for 3D.
By default, minima are defined as points which are not at the array border and whose value is lower than the value of all indirect neighbors (i.e. 8-neighbors in 2D, 26-neighbors in 3D, 3N-1 neighbors in N-D). The detected points will be marked with the default value 1 in the destination array.
The defaults can be overridden in various ways by providing LocalMinmaxOptions : you can switch to the direct neighborhood (i.e. 4-neighborhood in 2D, 6-neighborhood in 3D, 2*N neighborhood in N-D), allow minima at the border, discard minima where the function value is not below a given threshold, allow extended minima (i.e. minima that form minimal plateaus rather than isolated pixels – note that this option is only supported for 2D images), and change the marker in the destination image. See usage examples below for details.
There are also variants of the localMinima() function where parameters are passed explicitly rather than via an option object. These versions of the function are deprecated, but will be kept for compatibility.
Declarations:
use arbitrary-dimensional arrays:
pass image iterators explicitly:
use argument objects in conjunction with Argument Object Factories :
Usage:
#include <vigra/localminmax.hxx>
#include <vigra/multi_localminmax.hxx>
Namespace: vigra
Required Interface:
void vigra::localMinima3D | ( | ... | ) |
Find local minima in a 3D multi array.
By default, minima are defined as points which are not at the array border and whose value is lower than the value of all indirect neighbors. The detected points will be marked. See localMinima() for more details.
void vigra::localMaxima | ( | ... | ) |
Find local maxima in an image or multi-dimensional array.
Note: the function is not yet implemented for arbitrary dimensional arrays, but see localMaxima3D() for 3D.
By default, maxima are defined as points which are not at the array border and whose value is higher than the value of all indirect neighbors (i.e. 8-neighbors in 2D, 26-neighbors in 3D, 3N-1 neighbors in N-D). The detected points will be marked with the default value 1 in the destination array.
The defaults can be overridden in various ways by providing LocalMinmaxOptions : you can switch to the direct neighborhood (i.e. 4-neighborhood in 2D, 6-neighborhood in 3D, 2*N neighborhood in N-D), allow maxima at the border, discard maxima where the function value is not above a given threshold, allow extended maxima (i.e. maxima that form maximal plateaus rather than isolated pixels – note that this option is only supported for 2D images), and change the marker in the destination image. See usage examples below for details.
There are also variants of the localMaxima() function where parameters are passed explicitly rather than via an option object. These versions of the function are deprecated, but will be kept for compatibility.
Declarations:
use arbitrary-dimensional arrays:
pass image iterators explicitly:
use argument objects in conjunction with Argument Object Factories :
Usage:
<b>\#include</b> \<vigra/localminmax.hxx\><br> <b>\#include</b> \<vigra/multi_localminmax.hxx\><br>
Namespace: vigra
Required Interface:
void vigra::localMaxima3D | ( | ... | ) |
Find local maxima in a 3D multi array.
By default, maxima are defined as points which are not at the array border and whose value is higher than the value of all indirect neighbors. The detected points will be marked as specified. See localMaxima() for mor details.
void vigra::extendedLocalMinima | ( | ... | ) |
Find local minimal regions in an image or volume.
Note: the function is not yet implemented for arbitrary dimensional arrays, but see extendedLocalMinima3D() for 3D.
This function finds regions of uniform pixel value whose neighboring regions are all have smaller values (minimal plateaus of arbitrary size). By default, the pixels in a plateau have exactly identical values. By passing an EqualityFunctor
with tolerance, one can allow for plateaus that are not quite constant (this is often necessary with float pixel values). Pass vigra::EightNeighborCode or vigra::FourNeighborCode to determine the neighborhood where pixel values are compared.
Minimal regions are marked in the destination image with the given marker value (default is 1), all other destination pixels remain unchanged. SrcAccessor::value_type
must be equality-comparable and less-comparable. A pixel or region touching the image border will never be marked as minimum or minimal plateau. Use localMinima() with the appropriate options if you need that functionality. Likewise if you want to apply a threshold onl the fly. In fact, all functionality except for 'equality with tolerance' can be accessed via that function in a more readable way, so localMinima() should be preferred. The function uses accessors.
Declarations:
use 3-dimensional arrays:
pass image iterators explicitly:
use argument objects in conjunction with Argument Object Factories :
Usage:
<b>\#include</b> \<vigra/localminmax.hxx\><br>
Namespace: vigra
Required Interface:
void vigra::extendedLocalMinima3D | ( | ... | ) |
Find local minimal regions in a volume.
This function finds regions of uniform pixel value whose neighboring regions are all have smaller values (minimal plateaus of arbitrary size). By default, the pixels in a plateau have exactly identical values. By passing an EqualityFunctor
with tolerance, one can allow for plateaus that are not quite constant (this is often necessary with float pixel values). Pass the neighborhood where pixel values are compared. See extendedLocalMinima() for more details.
void vigra::extendedLocalMaxima | ( | ... | ) |
Find local maximal regions in an image or volume.
Note: the function is not yet implemented for arbitrary dimensional arrays, but see extendedLocalMaxima3D() for 3D.
This function finds regions of uniform pixel value whose neighboring regions are all have smaller values (maximal plateaus of arbitrary size). By default, the pixels in a plateau have exactly identical values. By passing an EqualityFunctor
with tolerance, one can allow for plateaus that are not quite constant (this is often necessary with float pixel values). Pass vigra::EightNeighborCode or vigra::FourNeighborCode to determine the neighborhood where pixel values are compared.
Maximal regions are marked in the destination image with the given marker value (default is 1), all other destination pixels remain unchanged. SrcAccessor::value_type
must be equality-comparable and less-comparable. A pixel or region touching the image border will never be marked as maximum or maximal plateau. Use localMaxima() with the appropriate options if you need that functionality. Likewise if you want to apply a threshold onl the fly. In fact, all functionality except for 'equality with tolerance' can be accessed via that function in a more readable way, so localMaxima() should be preferred. The function uses accessors.
Declarations:
use 3-dimensional arrays:
pass image iterators explicitly:
use argument objects in conjunction with Argument Object Factories :
Usage:
<b>\#include</b> \<vigra/localminmax.hxx\><br>
Namespace: vigra
Required Interface:
void vigra::extendedLocalMaxima3D | ( | ... | ) |
Find local maximal regions in 3D multi array.
This function finds regions of uniform pixel value whose neighboring regions are all have smaller values (maximal plateaus of arbitrary size). By default, the pixels in a plateau have exactly identical values. By passing an EqualityFunctor
with tolerance, one can allow for plateaus that are not quite constant (this is often necessary with float pixel values). Pass the neighborhood where pixel values are compared. See extendedLocalMaxima() for more details.
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |
html generated using doxygen and Python
|