26 #ifndef MLN_MORPHO_CLOSING_SUM_HH
27 # define MLN_MORPHO_CLOSING_SUM_HH
33 # include <mln/morpho/closing/leveling.hh>
34 # include <mln/morpho/attribute/sum.hh>
47 template <
typename I,
typename N>
49 sum(const Image<I>& input, const Neighborhood<N>& nbh,
53 # ifndef MLN_INCLUDE_ONLY
55 template <
typename I,
typename N>
58 sum(const Image<I>& input, const Neighborhood<N>& nbh,
61 trace::entering(
"morpho::closing::sum");
63 mln_precondition(exact(input).is_valid());
65 mln_concrete(I) output;
66 output = closing::leveling(input, nbh, attribute::sum<I,
float>(), lambda);
68 trace::exiting("morpho::closing::sum");
72 # endif // ! MLN_INCLUDE_ONLY
81 #endif // ! MLN_MORPHO_CLOSING_SUM_HH