mln::labeling Namespace Reference

Namespace of labeling routines. More...


Namespaces

namespace  impl
 Implementation namespace of labeling namespace.

Functions

template<typename I , typename N , typename L >
mln::trait::ch_value< I, L >::ret background (const Image< I > &input, const Neighborhood< N > &nbh, L &nlabels)
template<typename I , typename N , typename L >
mln::trait::ch_value< I, L >::ret blobs (const Image< I > &input, const Neighborhood< N > &nbh, L &nlabels)
 Connected component labeling of the binary objects of a binary image.
template<typename L >
mln::trait::ch_value< L,
mln::value::rgb8 >::ret 
colorize (const Image< L > &input, const typename L::value &nlabels)
template<typename V , typename L >
mln::trait::ch_value< L, V >::ret colorize (const V &value, const Image< L > &labeled_image)
template<typename V , typename L >
mln::trait::ch_value< L, V >::ret colorize (const V &value, const Image< L > &labeled_image, const typename L::value &nlabels)
 Create a new color image from a labeled image and fill each component with a random color.
template<typename A , typename L >
util::array
< mln_meta_accu_result(A,
typename L::psite)> 
compute (const Meta_Accumulator< A > &a, const Image< L > &label, const typename L::value &nlabels)
 Compute an accumulator onto the pixel sites of each component domain of label.
template<typename A , typename L >
util::array< typename A::result > compute (const Accumulator< A > &a, const Image< L > &label, const typename L::value &nlabels)
 Compute an accumulator onto the pixel sites of each component domain of label.
template<typename A , typename I , typename L >
util::array
< mln_meta_accu_result(A,
typename I::value)> 
compute (const Meta_Accumulator< A > &a, const Image< I > &input, const Image< L > &label, const typename L::value &nlabels)
 Compute an accumulator onto the pixel values of the image input.
template<typename A , typename I , typename L >
util::array< typename A::result > compute (const Accumulator< A > &a, const Image< I > &input, const Image< L > &label, const typename L::value &nlabels)
 Compute an accumulator onto the pixel values of the image input.
template<typename A , typename I , typename L >
util::array< typename A::result > compute (util::array< A > &a, const Image< I > &input, const Image< L > &label, const typename L::value &nlabels)
 Compute an accumulator onto the pixel values of the image input.
template<typename A , typename I , typename L >
mln::trait::ch_value< L,
mln_meta_accu_result(A,
typename I::value) >::ret 
compute_image (const Meta_Accumulator< A > &accu, const Image< I > &input, const Image< L > &labels, const typename L::value &nlabels)
 Compute an accumulator onto the pixel values of the image input.
template<typename A , typename I , typename L >
mln::trait::ch_value< L,
typename A::result >::ret 
compute_image (const Accumulator< A > &accu, const Image< I > &input, const Image< L > &labels, const typename L::value &nlabels)
 Compute an accumulator onto the pixel values of the image input.
template<typename A , typename I , typename L >
mln::trait::ch_value< L,
typename A::result >::ret 
compute_image (const util::array< typename A::result > &a, const Image< I > &input, const Image< L > &labels, const typename L::value &nlabels)
 Compute an accumulator onto the pixel values of the image input.
template<typename I , typename N , typename L >
fill_holes (const Image< I > &input, const Neighborhood< N > &nbh, L &nlabels)
 Filling holes of a single object in a binary image.
template<typename I , typename N , typename L >
mln::trait::ch_value< I, L >::ret flat_zones (const Image< I > &input, const Neighborhood< N > &nbh, L &nlabels)
 Connected component labeling of the flat zones of an image.
template<typename I , typename N , typename L >
mln::trait::ch_value< I, L >::ret foreground (const Image< I > &input, const Neighborhood< N > &nbh, L &nlabels)
template<typename I >
mln::trait::concrete< I >::ret pack (const Image< I > &label, typename I::value &new_nlabels)
 Relabel a labeled image in order to have a contiguous labeling.
template<typename I >
void pack_inplace (Image< I > &label, typename I::value &new_nlabels)
 Relabel inplace a labeled image in order to have a contiguous labeling.
template<typename I , typename N , typename L >
mln::trait::ch_value< I, L >::ret regional_maxima (const Image< I > &input, const Neighborhood< N > &nbh, L &nlabels)
template<typename I , typename N , typename L >
mln::trait::ch_value< I, L >::ret regional_minima (const Image< I > &input, const Neighborhood< N > &nbh, L &nlabels)
template<typename I , typename F >
mln::trait::concrete< I >::ret relabel (const Image< I > &label, const typename I::value &nlabels, const Function_v2v< F > &fv2v)
 Remove components and relabel a labeled image.
template<typename I , typename F >
mln::trait::concrete< I >::ret relabel (const Image< I > &label, const typename I::value &nlabels, typename I::value &new_nlabels, const Function_v2b< F > &fv2b)
 Remove components and relabel a labeled image.
template<typename I , typename F >
void relabel_inplace (Image< I > &label, typename I::value &nlabels, const Function_v2v< F > &fv2v)
 Remove components and relabel a labeled image inplace.
template<typename I , typename F >
void relabel_inplace (Image< I > &label, typename I::value &nlabels, const Function_v2b< F > &fv2b)
 Remove components and relabel a labeled image inplace.
template<typename I , typename N , typename L >
mln::trait::ch_value< I, L >::ret value (const Image< I > &input, const typename I::value &val, const Neighborhood< N > &nbh, L &nlabels)
 Connected component labeling of the image sites at a given value.
template<typename I >
mln::trait::ch_value< I,
mln::value::label_8 >::ret 
wrap (const Image< I > &input)
 Wrap labels such as 0 -> 0 and [1, lmax] maps to [1, Lmax] (using modulus).
template<typename V , typename I >
mln::trait::ch_value< I, V >::ret wrap (const V &value_type, const Image< I > &input)
 Wrap labels such as 0 -> 0 and [1, lmax] maps to [1, Lmax] (using modulus).


Detailed Description

Namespace of labeling routines.


Function Documentation

template<typename I , typename N , typename L >
mln::trait::ch_value< I, L >::ret mln::labeling::background ( const Image< I > &  input,
const Neighborhood< N > &  nbh,
L &  nlabels 
) [inline]

Connected component labeling of the background part in a binary image.

Parameters:
[in] input The input image.
[in] nbh The connexity of the background.
[out] nlabels The number of labels.
Returns:
The label image.
Precondition:
The input image has to be binary (checked at compile-time).
This routine actually calls mln::labeling::value with the value set to false.

See also:
mln::labeling::value

References value().

Referenced by fill_holes().

template<typename I , typename N , typename L >
mln::trait::ch_value< I, L >::ret mln::labeling::blobs ( const Image< I > &  input,
const Neighborhood< N > &  nbh,
L &  nlabels 
) [inline]

Connected component labeling of the binary objects of a binary image.

Parameters:
[in] input The input image.
[in] nbh The connexity of the objects.
[out] nlabels The Number of labels. Its value is set in the algorithms.
Returns:
The label image.
Precondition:
The input image has to be binary (checked at compile-time).
A fast queue is used so that the algorithm is not recursive and can handle large binary objects (blobs).

Referenced by mln::graph::labeling().

template<typename L >
mln::trait::ch_value< L, mln::value::rgb8 >::ret mln::labeling::colorize ( const Image< L > &  input,
const typename L::value &  nlabels 
) [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References colorize().

template<typename V , typename L >
mln::trait::ch_value< L, V >::ret mln::labeling::colorize ( const V &  value,
const Image< L > &  labeled_image 
) [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References colorize(), and compute().

template<typename V , typename L >
mln::trait::ch_value< L, V >::ret mln::labeling::colorize ( const V &  value,
const Image< L > &  labeled_image,
const typename L::value &  nlabels 
) [inline]

Create a new color image from a labeled image and fill each component with a random color.

litera::black is used for component 0, e.g. the background. Min and max values for RGB values can be set through the global variables mln::labeling::colorize_::min_value and mln::labeling::colorize_::max_value.

Parameters:
[in] value value type used in the returned image.
[in] labeled_image A labeled image (
See also:
labeling::blobs).
Parameters:
[in] nlabels Number of labels.

References mln::literal::black, and mln::data::transform().

Referenced by colorize().

template<typename A , typename L >
util::array< mln_meta_accu_result(A, typename L::psite)> mln::labeling::compute ( const Meta_Accumulator< A > &  a,
const Image< L > &  label,
const typename L::value &  nlabels 
) [inline]

Compute an accumulator onto the pixel sites of each component domain of label.

Parameters:
[in] a A meta-accumulator.
[in] label The labeled image.
[in] nlabels The number of labels in label.
Returns:
A mln::p_array of accumulator result (one result per label).

References compute().

template<typename A , typename L >
util::array< typename A::result > mln::labeling::compute ( const Accumulator< A > &  a_,
const Image< L > &  label_,
const typename L::value &  nlabels 
) [inline]

Compute an accumulator onto the pixel sites of each component domain of label.

Parameters:
[in] a An accumulator.
[in] label The labeled image.
[in] nlabels The number of labels in label.
Returns:
A mln::p_array of accumulator result (one result per label).
Compute an accumulator onto the pixel sites of each component domain of label.

Parameters:
[in] a_ An accumulator.
[in] label_ The labeled image.
[in] nlabels The number of labels in label.
Returns:
A mln::p_array of accumulator result (one result per label).

template<typename A , typename I , typename L >
util::array< mln_meta_accu_result(A, typename I::value)> mln::labeling::compute ( const Meta_Accumulator< A > &  a,
const Image< I > &  input,
const Image< L > &  label,
const typename L::value &  nlabels 
) [inline]

Compute an accumulator onto the pixel values of the image input.

for each component of the image label.

Parameters:
[in] a A meta-accumulator.
[in] input The input image.
[in] label The labeled image.
[in] nlabels The number of labels in label.
Returns:
A mln::p_array of accumulator result (one result per label).

References compute().

template<typename A , typename I , typename L >
util::array< typename A::result > mln::labeling::compute ( const Accumulator< A > &  a_,
const Image< I > &  input_,
const Image< L > &  label_,
const typename L::value &  nlabels 
) [inline]

Compute an accumulator onto the pixel values of the image input.

for each component of the image label.

Parameters:
[in] a An accumulator.
[in] input The input image.
[in] label The labeled image.
[in] nlabels The number of labels in label.
Returns:
A mln::p_array of accumulator result (one result per label).
Compute an accumulator onto the pixel values of the image input.

Parameters:
[in] a_ An accumulator.
[in] input_ The input image.
[in] label_ The labeled image.
[in] nlabels The number of labels in label.
Returns:
A mln::p_array of accumulator result (one result per label).

template<typename A , typename I , typename L >
util::array< typename A::result > mln::labeling::compute ( util::array< A > &  accus,
const Image< I > &  input_,
const Image< L > &  label_,
const typename L::value &  nlabels 
) [inline]

Compute an accumulator onto the pixel values of the image input.

for each component of the image label.

Parameters:
[in] a An array of accumulator.
[in] input The input image.
[in] label The labeled image.
[in] nlabels The number of labels in label.
Returns:
A mln::p_array of accumulator result (one result per label).
Compute an accumulator onto the pixel values of the image input.

Parameters:
[in] accus An array of accumulators.
[in] input_ The input image.
[in] label_ The labeled image.
[in] nlabels The number of labels in label.
Returns:
A mln::p_array of accumulator result (one result per label).

Referenced by colorize(), compute(), compute_image(), fill_holes(), mln::make::p_edges_with_mass_centers(), mln::make::p_vertices_with_mass_centers(), pack(), and pack_inplace().

template<typename A , typename I , typename L >
mln::trait::ch_value< L, mln_meta_accu_result(A, typename I::value) >::ret mln::labeling::compute_image ( const Meta_Accumulator< A > &  accu,
const Image< I > &  input,
const Image< L > &  labels,
const typename L::value &  nlabels 
) [inline]

Compute an accumulator onto the pixel values of the image input.

for each component of the image label.

Parameters:
[in] accu The meta-accumulator.
[in] input The input image (values).
[in] labels The label image.
[in] nlabels The count of labels.
Returns:
The image where labels are replaced by the result of the accumulator.

References compute(), and compute_image().

template<typename A , typename I , typename L >
mln::trait::ch_value< L, typename A::result >::ret mln::labeling::compute_image ( const Accumulator< A > &  accu,
const Image< I > &  input,
const Image< L > &  labels,
const typename L::value &  nlabels 
) [inline]

Compute an accumulator onto the pixel values of the image input.

for each component of the image label.

Parameters:
[in] accu The accumulator.
[in] input The input image (values).
[in] labels The label image.
[in] nlabels The count of labels.
Returns:
The image where labels are replaced by the result of the accumulator.

References compute(), and compute_image().

template<typename A , typename I , typename L >
mln::trait::ch_value< L , typename A ::result >::ret mln::labeling::compute_image ( const util::array< typename A::result > &  a,
const Image< I > &  input,
const Image< L > &  labels,
const typename L::value &  nlabels 
) [inline]

Compute an accumulator onto the pixel values of the image input.

for each component of the image label.

Parameters:
[in] a The mln::p_array of accumulator result.
[in] input The input image (values).
[in] labels The label image.
[in] nlabels The count of labels.
Returns:
The image where labels are replaced by the result of the accumulator.

Referenced by compute_image().

template<typename I , typename N , typename L >
I mln::labeling::fill_holes ( const Image< I > &  input,
const Neighborhood< N > &  nbh,
L &  nlabels 
) [inline]

Filling holes of a single object in a binary image.

Parameters:
[in] input The input image.
[in] nbh The connexity of the background.
[out] nlabels The number of labels.
Returns:
The binary image with a simple object without holes.
Precondition:
The input image has to be binary (checked at compile-time).
This routine actually calls mln::labeling::background

See also:
mln::labeling::background

References background(), compute(), mln::data::fill(), mln::initialize(), and mln::util::array< T >::nelements().

template<typename I , typename N , typename L >
mln::trait::ch_value< I, L >::ret mln::labeling::flat_zones ( const Image< I > &  input,
const Neighborhood< N > &  nbh,
L &  nlabels 
) [inline]

Connected component labeling of the flat zones of an image.

Parameters:
[in] input The input image.
[in] nbh The connexity of the flat zones.
[out] nlabels The number of labels.
Returns:
The label image.

template<typename I , typename N , typename L >
mln::trait::ch_value< I, L >::ret mln::labeling::foreground ( const Image< I > &  input,
const Neighborhood< N > &  nbh,
L &  nlabels 
) [inline]

Connected component labeling of the object part in a binary image.

Parameters:
[in] input The input image.
[in] nbh The connexity of the foreground.
[out] nlabels The number of labels.
Returns:
The label image.
Precondition:
The input image has to be binary (checked at compile-time).
This routine actually calls mln::labeling::value with the value set to true.

See also:
mln::labeling::value

References value().

template<typename I >
mln::trait::concrete< I >::ret mln::labeling::pack ( const Image< I > &  label,
typename I::value &  new_nlabels 
) [inline]

Relabel a labeled image in order to have a contiguous labeling.

Parameters:
[in] label The labeled image.
[out] new_nlabels The number of labels after relabeling.
Returns:
The relabeled image.

References compute(), mln::make::relabelfun(), and mln::data::transform().

template<typename I >
void mln::labeling::pack_inplace ( Image< I > &  label,
typename I::value &  new_nlabels 
) [inline]

Relabel inplace a labeled image in order to have a contiguous labeling.

Parameters:
[in] label The labeled image.
[out] new_nlabels The number of labels after relabeling.

References compute(), mln::make::relabelfun(), and mln::data::transform().

template<typename I , typename N , typename L >
mln::trait::ch_value< I, L >::ret mln::labeling::regional_maxima ( const Image< I > &  input,
const Neighborhood< N > &  nbh,
L &  nlabels 
) [inline]

Connected component labeling of the regional maxima of an image.

Parameters:
[in] input The input image.
[in] nbh The connexity of the regional maxima.
[out] nlabels The number of labeled regions.
Returns:
The label image.

template<typename I , typename N , typename L >
mln::trait::ch_value< I, L >::ret mln::labeling::regional_minima ( const Image< I > &  input,
const Neighborhood< N > &  nbh,
L &  nlabels 
) [inline]

Connected component labeling of the regional minima of an image.

Parameters:
[in] input The input image.
[in] nbh The connexity of the regional minima.
[out] nlabels The number of labeled regions.
Returns:
The label image.

Referenced by mln::morpho::meyer_wst().

template<typename I , typename F >
mln::trait::concrete< I >::ret mln::labeling::relabel ( const Image< I > &  label,
const typename I::value &  nlabels,
const Function_v2v< F > &  fv2v 
) [inline]

Remove components and relabel a labeled image.

Parameters:
[in] label the labeled image.
[in] nlabels the number of labels in label.
[in] fv2v function returning the new component id for each pixel value.
Returns:
the relabeled image.

References mln::data::transform().

template<typename I , typename F >
mln::trait::concrete< I >::ret mln::labeling::relabel ( const Image< I > &  label,
const typename I::value &  nlabels,
typename I::value &  new_nlabels,
const Function_v2b< F > &  fv2b 
) [inline]

Remove components and relabel a labeled image.

Parameters:
[in] label the labeled image.
[in] nlabels the number of labels in label.
[out] new_nlabels the number of labels after relabeling.
[in] fv2b function returning whether a label must be replaced by the background.
Returns:
the relabeled image.

References mln::make::relabelfun().

template<typename I , typename F >
void mln::labeling::relabel_inplace ( Image< I > &  label,
typename I::value &  nlabels,
const Function_v2v< F > &  fv2v 
) [inline]

Remove components and relabel a labeled image inplace.

Parameters:
[in,out] label the labeled image.
[in,out] nlabels the number of labels in label.
[in] fv2v function returning the new component id for each pixel value.

References mln::data::transform_inplace().

template<typename I , typename F >
void mln::labeling::relabel_inplace ( Image< I > &  label,
typename I::value &  nlabels,
const Function_v2b< F > &  fv2b 
) [inline]

Remove components and relabel a labeled image inplace.

Parameters:
[in,out] label the labeled image.
[in,out] nlabels the number of labels in label.
[in] fv2b function returning whether a label must be replaced by the background.

References mln::make::relabelfun().

Referenced by mln::labeled_image< I >::relabel().

template<typename I , typename N , typename L >
mln::trait::ch_value< I, L >::ret mln::labeling::value ( const Image< I > &  input,
const typename I::value &  val,
const Neighborhood< N > &  nbh,
L &  nlabels 
) [inline]

Connected component labeling of the image sites at a given value.

Parameters:
[in] input The input image.
[in] val The value to consider.
[in] nbh The connectivity of components.
[out] nlabels The number of labels.
Returns:
The label image.

Referenced by background(), and foreground().

template<typename I >
mln::trait::ch_value< I, mln::value::label_8 >::ret mln::labeling::wrap ( const Image< I > &  input  )  [inline]

Wrap labels such as 0 -> 0 and [1, lmax] maps to [1, Lmax] (using modulus).

Use label_8 as label type.

Parameters:
[in] input The label image.
Returns:
A new image with values wrapped with type label_8.

References wrap().

template<typename V , typename I >
mln::trait::ch_value< I, V >::ret mln::labeling::wrap ( const V &  value_type,
const Image< I > &  input 
) [inline]

Wrap labels such as 0 -> 0 and [1, lmax] maps to [1, Lmax] (using modulus).

Parameters:
[in] value_type The type used to wrap the label type.
[in] input The label image.
Returns:
A new image with values wrapped with type V.

References mln::data::transform().

Referenced by wrap().


Generated on Tue Jul 14 16:33:06 2009 for Milena (Olena) by  doxygen 1.5.9