27 #ifndef MLN_MORPHO_CLOSING_VOLUME_HH
28 # define MLN_MORPHO_CLOSING_VOLUME_HH
34 # include <mln/morpho/closing/leveling.hh>
35 # include <mln/morpho/attribute/volume.hh>
51 template <
typename I,
typename N>
53 volume(const Image<I>& input, const Neighborhood<N>& nbh,
57 # ifndef MLN_INCLUDE_ONLY
59 template <
typename I,
typename N>
62 volume(const Image<I>& input, const Neighborhood<N>& nbh,
65 mln_trace(
"morpho::closing::volume");
67 mln_precondition(
exact(input).is_valid());
69 mln_concrete(I) output;
70 output = closing::
leveling(input, nbh, attribute::
volume<I>(), lambda);
75 # endif // ! MLN_INCLUDE_ONLY
84 #endif // ! MLN_MORPHO_CLOSING_VOLUME_HH