26 #ifndef MLN_MORPHO_THIN_FIT_HH
27 # define MLN_MORPHO_THIN_FIT_HH
34 # include <mln/morpho/hit_or_miss.hh>
48 template <
typename I,
typename Wfg,
typename Wbg>
51 const Window<Wfg>& win_fg, const Window<Wbg>& win_bg);
54 # ifndef MLN_INCLUDE_ONLY
59 template <
typename I,
typename Wfg,
typename Wbg>
62 thin_fit_tests(
const Image<I>& input_,
63 const Window<Wfg>& win_fg_,
64 const Window<Wbg>& win_bg_)
66 const I& input = exact(input_);
67 const Wfg& win_fg = exact(win_fg_);
68 const Wbg& win_bg = exact(win_bg_);
71 mln_precondition(input.is_valid());
72 mln_precondition(win_fg.is_centered());
73 mln_precondition((win_fg && win_bg).is_empty());
84 template <
typename I,
typename Wfg,
typename Wbg>
90 trace::entering(
"morpho::thin_fit");
92 internal::thin_fit_tests(input, win_fg, win_bg);
99 trace::exiting(
"morpho::thin_fit");
103 # endif // ! MLN_INCLUDE_ONLY
110 #endif // ! MLN_MORPHO_THIN_FIT_HH