[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
Functions | |
template<... > | |
unsigned int | labelImage (...) |
Find the connected components of a segmented image. More... | |
template<... > | |
unsigned int | labelImageWithBackground (...) |
Find the connected components of a segmented image, excluding the background from labeling. More... | |
template<... > | |
unsigned int | labelVolume (...) |
Find the connected components of a segmented volume. More... | |
template<class SrcIterator , class SrcAccessor , class SrcShape , class DestIterator , class DestAccessor > | |
unsigned int | labelVolumeSix (triple< SrcIterator, SrcShape, SrcAccessor > src, pair< DestIterator, DestAccessor > dest) |
Find the connected components of a segmented volume using the 6-neighborhood. More... | |
template<... > | |
unsigned int | labelVolumeWithBackground (...) |
Find the connected components of a segmented volume, excluding the background from labeling. More... | |
template<... > | |
void | regionImageToCrackEdgeImage (...) |
Transform a labeled image into a crack edge image. More... | |
template<... > | |
void | regionImageToEdgeImage (...) |
Transform a labeled image into an edge image. More... | |
The 2-dimensional connected components algorithms may use either 4 or 8 connectivity. By means of a functor the merge criterion can be defined arbitrarily.
The 3-dimensional connected components algorithms may use either 6 or 26 connectivity. By means of a functor the merge criterion can be defined arbitrarily.
unsigned int vigra::labelImage | ( | ... | ) |
Find the connected components of a segmented image.
Declarations:
pass arguments explicitly:
use argument objects in conjunction with Argument Object Factories :
Connected components are defined as regions with uniform pixel values. Thus, SrcAccessor::value_type
either must be equality comparable (first form), or an EqualityFunctor must be provided that realizes the desired predicate (second form). The destination's value type should be large enough to hold the labels without overflow. Region numbers will be a consecutive sequence starting with one and ending with the region number returned by the function (inclusive). The parameter 'eight_neighbors
' determines whether the regions should be 4-connected or 8-connected. The function uses accessors.
Return: the number of regions found (= largest region label)
Usage:
<b>\#include</b> \<vigra/labelimage.hxx\><br>
Namespace: vigra
Required Interface:
unsigned int vigra::labelImageWithBackground | ( | ... | ) |
Find the connected components of a segmented image, excluding the background from labeling.
Declarations:
pass arguments explicitly:
use argument objects in conjunction with Argument Object Factories :
Connected components are defined as regions with uniform pixel values. Thus, SrcAccessor::value_type
either must be equality comparable (first form), or an EqualityFunctor must be provided that realizes the desired predicate (second form). All pixel equal to the given 'background_value
' are ignored when determining connected components and remain untouched in the destination image and
The destination's value type should be large enough to hold the labels without overflow. Region numbers will be a consecutive sequence starting with one and ending with the region number returned by the function (inclusive). The parameter 'eight_neighbors
' determines whether the regions should be 4-connected or 8-connected. The function uses accessors.
Return: the number of regions found (= largest region label)
Usage:
<b>\#include</b> \<vigra/labelimage.hxx\><br>
Namespace: vigra
Required Interface:
void vigra::regionImageToCrackEdgeImage | ( | ... | ) |
Transform a labeled image into a crack edge image.
Declarations:
pass arguments explicitly:
use argument objects in conjunction with Argument Object Factories :
This algorithm inserts border pixels (so called "crack edges") between regions in a labeled image like this (a
and c
are the original labels, and 0
is the value of edge_marker
and denotes the inserted edges):
The algorithm assumes that the original labeled image contains no background. Therefore, it is suitable as a post-processing operation of labelImage() or seededRegionGrowing().
The destination image must be twice the size of the original (precisely, (2*w-1)
by (2*h-1)
pixels). The source value type (SrcAccessor::value-type
) must be equality-comparable.
Usage:
<b>\#include</b> \<vigra/labelimage.hxx\><br>
Namespace: vigra
Required Interface:
Preconditions:
The destination image must have twice the size of the source:
void vigra::regionImageToEdgeImage | ( | ... | ) |
Transform a labeled image into an edge image.
Declarations:
pass arguments explicitly:
use argument objects in conjunction with Argument Object Factories :
This algorithm marks all pixels with the given edge_marker
which belong to a different region (label) than their right or lower neighbors:
The non-edge pixels of the destination image will not be touched. The source value type (SrcAccessor::value-type
) must be equality-comparable.
Usage:
<b>\#include</b> \<vigra/labelimage.hxx\><br>
Namespace: vigra
Required Interface:
unsigned int vigra::labelVolume | ( | ... | ) |
Find the connected components of a segmented volume.
Declarations:
pass arguments explicitly:
use argument objects in conjunction with Argument Object Factories :
use with 3D-Six-Neighborhood:
Connected components are defined as regions with uniform voxel values. Thus, SrcAccessor::value_type
either must be equality comparable (first form), or an EqualityFunctor must be provided that realizes the desired predicate (second form). The destination's value type should be large enough to hold the labels without overflow. Region numbers will be a consecutive sequence starting with one and ending with the region number returned by the function (inclusive).
Return: the number of regions found (= largest region label)
Usage:
#include <vigra/labelvolume.hxx>
Namespace: vigra
Required Interface:
unsigned int vigra::labelVolumeSix | ( | triple< SrcIterator, SrcShape, SrcAccessor > | src, |
pair< DestIterator, DestAccessor > | dest | ||
) |
Find the connected components of a segmented volume using the 6-neighborhood.
See labelVolume() for detailed documentation.
unsigned int vigra::labelVolumeWithBackground | ( | ... | ) |
Find the connected components of a segmented volume, excluding the background from labeling.
Declarations:
pass arguments explicitly:
use argument objects in conjunction with Argument Object Factories :
Connected components are defined as regions with uniform voxel values. Thus, SrcAccessor::value_type
either must be equality comparable (first form), or an EqualityFunctor must be provided that realizes the desired predicate (second form). All voxel equal to the given 'background_value
' are ignored when determining connected components and remain untouched in the destination volume.
The destination's value type should be large enough to hold the labels without overflow. Region numbers will be a consecutive sequence starting with one and ending with the region number returned by the function (inclusive).
Return: the number of regions found (= largest region label)
Usage:
#include <vigra/labelvolume.hxx>
Namespace: vigra
Required Interface:
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |
html generated using doxygen and Python
|