27 #ifndef MLN_MORPHO_OPENING_VOLUME_HH
28 # define MLN_MORPHO_OPENING_VOLUME_HH
34 # include <mln/morpho/opening/leveling.hh>
35 # include <mln/morpho/attribute/volume.hh>
49 template <
typename I,
typename N>
51 volume(const Image<I>& input, const Neighborhood<N>& nbh,
55 # ifndef MLN_INCLUDE_ONLY
57 template <
typename I,
typename N>
60 volume(const Image<I>& input, const Neighborhood<N>& nbh,
63 mln_trace(
"morpho::opening::volume");
64 mln_precondition(
exact(input).is_valid());
66 mln_concrete(I) output;
67 output = opening::
leveling(input, nbh, attribute::
volume<I>(), lambda);
72 # endif // ! MLN_INCLUDE_ONLY
81 #endif // ! MLN_MORPHO_OPENING_VOLUME_HH