27 #ifndef MLN_MORPHO_OPENING_APPROX_STRUCTURAL_HH
28 # define MLN_MORPHO_OPENING_APPROX_STRUCTURAL_HH
34 # include <mln/morpho/approx/dilation.hh>
35 # include <mln/morpho/approx/erosion.hh>
56 template <
typename I,
typename W>
62 # ifndef MLN_INCLUDE_ONLY
65 template <
typename I,
typename W>
68 structural(const Image<I>& input, const Window<W>& win)
70 mln_trace(
"morpho::opening::approx::structural");
72 mln_precondition(
exact(input).is_valid());
73 mln_precondition(!
exact(win).is_empty());
82 mln_postcondition(output <= input);
88 # endif // ! MLN_INCLUDE_ONLY
99 #endif // ! MLN_MORPHO_OPENING_APPROX_STRUCTURAL_HH