26 #ifndef MLN_MORPHO_CONTRAST_HH
27 # define MLN_MORPHO_CONTRAST_HH
36 # include <mln/morpho/top_hat.hh>
49 template <
typename I,
typename W>
50 mln_concrete(I)
contrast(const Image<I>& input, const Window<W>& win);
53 # ifndef MLN_INCLUDE_ONLY
55 template <
typename I,
typename W>
59 trace::entering(
"morpho::contrast");
60 mln_precondition(exact(input).is_valid());
61 mln_precondition(! exact(win).is_empty());
63 mln_concrete(I) output =
66 fun::v2v::saturate<mln_value(I)>() );
68 trace::exiting(
"morpho::contrast");
72 # endif // ! MLN_INCLUDE_ONLY
79 #endif // ! MLN_MORPHO_CONTRAST_HH