27 #ifndef MLN_MORPHO_OPENING_HEIGHT_HH
28 # define MLN_MORPHO_OPENING_HEIGHT_HH
34 # include <mln/morpho/opening/leveling.hh>
35 # include <mln/morpho/attribute/height.hh>
51 template <
typename I,
typename N>
53 height(const Image<I>& input, const Neighborhood<N>& nbh,
57 # ifndef MLN_INCLUDE_ONLY
59 template <
typename I,
typename N>
62 height(const Image<I>& input, const Neighborhood<N>& nbh,
65 mln_trace(
"morpho::opening::height");
66 mln_precondition(
exact(input).is_valid());
68 mln_concrete(I) output;
69 output = opening::
leveling(input, nbh, attribute::
height<I>(), lambda);
74 # endif // ! MLN_INCLUDE_ONLY
83 #endif // ! MLN_MORPHO_OPENING_HEIGHT_HH