26 #ifndef MLN_WORLD_INTER_PIXEL_COMPUTE_HH
27 # define MLN_WORLD_INTER_PIXEL_COMPUTE_HH
33 # include <mln/core/concept/image.hh>
34 # include <mln/core/concept/function.hh>
36 # include <mln/core/image/dmorph/image_if.hh>
37 # include <mln/trait/ch_value.hh>
39 # include <mln/world/inter_pixel/is_separator.hh>
40 # include <mln/world/inter_pixel/separator_to_pixels.hh>
53 template <
typename I,
typename F>
59 # ifndef MLN_INCLUDE_ONLY
61 template <
typename I,
typename F>
66 mln_trace(
"world::inter_pixel::compute");
68 const I& input =
exact(input_);
69 const F& f =
exact(f_);
71 mln_precondition(input.is_valid());
73 typedef mln_unmorph(I) I_;
74 typedef mln_ch_value(I_, mln_result(F)) O_;
81 mln_piter(O) e(output.domain());
86 output(e) = f(input(p1), input(p2));
92 # endif // ! MLN_INCLUDE_ONLY
100 #endif // ! MLN_WORLD_INTER_PIXEL_COMPUTE_HH