27 #ifndef MLN_MORPHO_THIN_FIT_HH
28 # define MLN_MORPHO_THIN_FIT_HH
35 # include <mln/morpho/hit_or_miss.hh>
51 template <
typename I,
typename Wfg,
typename Wbg>
54 const Window<Wfg>& win_fg, const Window<Wbg>& win_bg);
57 # ifndef MLN_INCLUDE_ONLY
62 template <
typename I,
typename Wfg,
typename Wbg>
65 thin_fit_tests(
const Image<I>& input_,
66 const Window<Wfg>& win_fg_,
67 const Window<Wbg>& win_bg_)
69 const I& input =
exact(input_);
70 const Wfg& win_fg =
exact(win_fg_);
71 const Wbg& win_bg =
exact(win_bg_);
74 mln_precondition(input.is_valid());
75 mln_precondition(win_fg.is_centered());
76 mln_precondition((win_fg && win_bg).is_empty());
87 template <
typename I,
typename Wfg,
typename Wbg>
91 const Window<Wfg>& win_fg, const Window<Wbg>& win_bg)
93 mln_trace(
"morpho::thin_fit");
95 internal::thin_fit_tests(input, win_fg, win_bg);
98 output = morpho::
minus( input,
105 # endif // ! MLN_INCLUDE_ONLY
112 #endif // ! MLN_MORPHO_THIN_FIT_HH