26 #ifndef MLN_MORPHO_OPENING_HEIGHT_HH
27 # define MLN_MORPHO_OPENING_HEIGHT_HH
33 # include <mln/morpho/opening/leveling.hh>
34 # include <mln/morpho/attribute/height.hh>
47 template <
typename I,
typename N>
49 height(const Image<I>& input, const Neighborhood<N>& nbh,
53 # ifndef MLN_INCLUDE_ONLY
55 template <
typename I,
typename N>
58 height(const Image<I>& input, const Neighborhood<N>& nbh,
61 trace::entering(
"morpho::opening::height");
62 mln_precondition(exact(input).is_valid());
64 mln_concrete(I) output;
65 output = opening::leveling(input, nbh, attribute::height<I>(), lambda);
67 trace::exiting("morpho::opening::height");
71 # endif // ! MLN_INCLUDE_ONLY
80 #endif // ! MLN_MORPHO_OPENING_HEIGHT_HH