Namespace of labeling routines. More...
Namespaces | |
namespace | colorize_ |
namespace | impl |
Implementation namespace of labeling namespace. | |
namespace | internal |
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 V , typename L > | |
mln::trait::ch_value< L, V >::ret | colorize (const V &value, const Image< L > &labeled_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, 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 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 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 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 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 > | |
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 > | |
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 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 mln::internal::meta_accu_ret_result_helper < A, typename I::value > ::result >::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 util::array< typename A::result > &a, const Image< L > &labels, const typename L::value &nlabels) |
template<typename I , typename N , typename L > | |
I | 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 , typename L > | |
mln::trait::concrete< I >::ret | mean_colors (const Image< I > &input, const Image< L > &lbl, typename L::value nlabels) |
template<typename I , typename L > | |
mln::trait::concrete< I >::ret | mean_values (const Image< I > &input, const Image< L > &lbl, typename L::value nlabels) |
template<typename L , typename V > | |
util::array< L > | n_max (const util::array< V > &in_arr, unsigned n) |
template<typename L > | |
util::array< typename L::value > | n_max (const Image< L > &lbl, const typename L::value &nlabels, unsigned n) |
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_v2b< F > &fv2b) |
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_v2v< F > &fv2v) |
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 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). | |
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). |
Namespace of labeling routines.
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.
[in] | input | The input image. |
[in] | nbh | The connexity of the background. |
[out] | nlabels | The number of labels. |
This routine actually calls mln::labeling::value with the value set to false
.
References mln::trace::entering(), mln::exact(), mln::trace::exiting(), and value().
Referenced by fill_holes().
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.
[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. |
A fast queue is used so that the algorithm is not recursive and can handle large binary objects (blobs).
References mln::labeling::impl::blobs_(), mln::trace::entering(), mln::exact(), and mln::trace::exiting().
Referenced by mln::graph::labeling(), and mln::my_algorithm().
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(), compute(), mln::trace::entering(), mln::exact(), and mln::trace::exiting().
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().
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.
[in] | value | value type used in the returned image. |
[in] | labeled_image | A labeled image ( |
[in] | nlabels | Number of labels. |
References mln::literal::black, mln::trace::entering(), mln::exact(), mln::trace::exiting(), mln::labeling::internal::random_color(), mln::fun::i2v::array< T >::resize(), mln::fun::i2v::array< T >::size(), and mln::data::transform().
Referenced by colorize().
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
.
[in] | a | A meta-accumulator. |
[in] | input | The input image. |
[in] | label | The labeled image. |
[in] | nlabels | The number of labels in label . |
References compute(), mln::exact(), and mln::accu::unmeta().
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
.
[in] | a | An accumulator. |
[in] | label | The labeled image. |
[in] | nlabels | The number of labels in label . |
References mln::labeling::internal::compute_dispatch(), mln::labeling::internal::compute_tests(), mln::trace::entering(), and mln::trace::exiting().
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
.
[in] | a | A meta-accumulator. |
[in] | label | The labeled image. |
[in] | nlabels | The number of labels in label . |
References compute(), mln::exact(), and mln::accu::unmeta().
util::array< typename A::result > mln::labeling::compute | ( | util::array< 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
.
[in] | a | An array of accumulator. |
[in] | input | The input image. |
[in] | label | The labeled image. |
[in] | nlabels | The number of labels in label . |
References mln::labeling::internal::compute_dispatch(), mln::trace::entering(), and mln::trace::exiting().
Referenced by colorize(), compute(), mln::labeling::internal::compute_dispatch(), compute_image(), fill_holes(), mln::labeling::impl::mean_values_rgb(), mln::my_algorithm(), n_max(), mln::make::p_edges_with_mass_centers(), mln::make::p_vertices_with_mass_centers(), pack(), pack_inplace(), and mln::labeled_image< I >::update_().
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
.
[in] | a | An accumulator. |
[in] | input | The input image. |
[in] | label | The labeled image. |
[in] | nlabels | The number of labels in label . |
References mln::labeling::internal::compute_dispatch(), mln::labeling::internal::compute_tests(), mln::trace::entering(), and mln::trace::exiting().
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 | |||
) |
Compute an accumulator onto the pixel values of the image input
.
for each component of the image label
.
[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. |
Referenced by compute_image().
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
.
[in] | accu | The accumulator. |
[in] | input | The input image (values). |
[in] | labels | The label image. |
[in] | nlabels | The count of labels. |
References compute(), mln::labeling::internal::compute_image(), mln::trace::entering(), and mln::trace::exiting().
mln::trait::ch_value< L, typename mln::internal::meta_accu_ret_result_helper< A, typename I::value >::result >::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
.
[in] | accu | The meta-accumulator. |
[in] | input | The input image (values). |
[in] | labels | The label image. |
[in] | nlabels | The count of labels. |
References compute(), compute_image(), mln::trace::entering(), and mln::trace::exiting().
mln::trait::ch_value< L , typename A ::result >::ret mln::labeling::compute_image | ( | const util::array< typename A::result > & | a, | |
const Image< L > & | labels, | |||
const typename L::value & | nlabels | |||
) | [inline] |
References compute_image(), mln::trace::entering(), and mln::trace::exiting().
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.
[in] | input | The input image. |
[in] | nbh | The connexity of the background. |
[out] | nlabels | The number of labels. |
This routine actually calls mln::labeling::background
References background(), compute(), mln::trace::entering(), mln::exact(), mln::trace::exiting(), mln::data::fill(), mln::initialize(), mln::util::array< T >::nelements(), and mln::pw::value().
mln::trait::ch_value< I, L >::ret mln::labeling::flat_zones | ( | const Image< I > & | input, | |
const Neighborhood< N > & | nbh, | |||
L & | nlabels | |||
) |
Connected component labeling of the flat zones of an image.
[in] | input | The input image. |
[in] | nbh | The connexity of the flat zones. |
[out] | nlabels | The number of labels. |
References mln::trace::entering(), mln::exact(), mln::trace::exiting(), and mln::canvas::labeling_video().
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.
[in] | input | The input image. |
[in] | nbh | The connexity of the foreground. |
[out] | nlabels | The number of labels. |
This routine actually calls mln::labeling::value with the value set to true
.
References mln::trace::entering(), mln::exact(), mln::trace::exiting(), and value().
mln::trait::concrete< I >::ret mln::labeling::mean_colors | ( | const Image< I > & | input, | |
const Image< L > & | lbl, | |||
typename L::value | nlabels | |||
) |
mln::trait::concrete< I >::ret mln::labeling::mean_values | ( | const Image< I > & | input, | |
const Image< L > & | lbl, | |||
typename L::value | nlabels | |||
) |
util::array< L > mln::labeling::n_max | ( | const util::array< V > & | in_arr, | |
unsigned | n | |||
) |
References mln::trace::entering(), mln::trace::exiting(), and mln::util::array< T >::nelements().
util::array< typename L::value > mln::labeling::n_max | ( | const Image< L > & | lbl, | |
const typename L::value & | nlabels, | |||
unsigned | n | |||
) |
References compute(), and mln::exact().
mln::trait::concrete< I >::ret mln::labeling::pack | ( | const Image< I > & | label, | |
typename I::value & | new_nlabels | |||
) |
Relabel a labeled image in order to have a contiguous labeling.
[in] | label | The labeled image. |
[out] | new_nlabels | The number of labels after relabeling. |
References compute(), mln::trace::entering(), mln::trace::exiting(), mln::labeling::internal::pack_tests(), mln::make::relabelfun(), mln::fun::i2v::array< T >::size(), and mln::data::transform().
void mln::labeling::pack_inplace | ( | Image< I > & | label, | |
typename I::value & | new_nlabels | |||
) |
Relabel inplace a labeled image in order to have a contiguous labeling.
[in] | label | The labeled image. |
[out] | new_nlabels | The number of labels after relabeling. |
References compute(), mln::trace::entering(), mln::exact(), mln::trace::exiting(), mln::labeling::internal::pack_tests(), mln::make::relabelfun(), mln::fun::i2v::array< T >::size(), and mln::data::transform().
Referenced by mln::labeled_image< I >::pack_().
mln::trait::ch_value< I, L >::ret mln::labeling::regional_maxima | ( | const Image< I > & | input, | |
const Neighborhood< N > & | nbh, | |||
L & | nlabels | |||
) |
Connected component labeling of the regional maxima of an image.
[in] | input | The input image. |
[in] | nbh | The connexity of the regional maxima. |
[out] | nlabels | The number of labeled regions. |
References mln::trace::entering(), mln::exact(), mln::trace::exiting(), and mln::canvas::labeling_sorted().
mln::trait::ch_value< I, L >::ret mln::labeling::regional_minima | ( | const Image< I > & | input, | |
const Neighborhood< N > & | nbh, | |||
L & | nlabels | |||
) |
Connected component labeling of the regional minima of an image.
[in] | input | The input image. |
[in] | nbh | The connexity of the regional minima. |
[out] | nlabels | The number of labeled regions. |
References mln::trace::entering(), mln::exact(), mln::trace::exiting(), and mln::canvas::labeling_sorted().
Referenced by mln::morpho::watershed::impl::generic::flooding(), mln::morpho::watershed::impl::flooding_fastest(), and mln::morpho::meyer_wst().
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.
[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. |
References mln::trace::entering(), mln::trace::exiting(), mln::labeling::internal::relabel_tests(), and mln::data::transform().
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.
[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. |
References mln::trace::entering(), mln::trace::exiting(), mln::labeling::internal::relabel_tests(), and mln::make::relabelfun().
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.
[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::trace::entering(), mln::trace::exiting(), mln::labeling::internal::relabel_inplace_tests(), and mln::make::relabelfun().
Referenced by mln::labeled_image< I >::relabel().
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.
[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::trace::entering(), mln::trace::exiting(), mln::labeling::internal::relabel_inplace_tests(), and mln::data::transform_inplace().
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 | |||
) |
Connected component labeling of the image sites at a given value.
[in] | input | The input image. |
[in] | val | The value to consider. |
[in] | nbh | The connectivity of components. |
[out] | nlabels | The number of labels. |
References mln::trace::entering(), mln::trace::exiting(), mln::canvas::labeling_video(), and mln::labeling::internal::value_tests().
Referenced by background(), and foreground().
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).
[in] | value_type | The type used to wrap the label type. |
[in] | input | The label image. |
References mln::trace::entering(), mln::exact(), mln::trace::exiting(), and mln::data::transform().
Referenced by wrap().
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.
[in] | input | The label image. |
References wrap().