28 #include <mln/core/image/image1d.hh>
29 #include <mln/core/image/image2d.hh>
30 #include <mln/core/image/image3d.hh>
31 #include <mln/pw/image.hh>
32 #include <mln/core/image/flat_image.hh>
33 #include <mln/core/image/vmorph/cast_image.hh>
34 #include <mln/core/image/dmorph/image_if.hh>
35 #include <mln/core/image/dmorph/sub_image.hh>
36 #include <mln/core/image/dmorph/extension_val.hh>
38 #include <mln/data/fill.hh>
39 #include <mln/data/transform.hh>
40 #include <mln/data/paste.hh>
41 #include <mln/fun/p2b/chess.hh>
42 #include <mln/fun/p2v/iota.hh>
52 mln_piter(I) p(ima.domain());
62 typedef unsigned short result;
65 result operator()(T c)
const
67 return static_cast<result
>( std::sqrt(
float(c)) );
78 const unsigned size = 5;
90 box_fwd_piter_<point1d> p(out.domain());
92 mln_assertion(ima(p) == out(p) * out(p));
104 box_fwd_piter_<point2d> p(out.domain());
106 mln_assertion(ima(p) == out(p) * out(p));
126 box_fwd_piter_<point3d> p(out.domain());
128 mln_assertion(ima(p) == out(p) * out(p));
151 mln_assertion(ima(p) == out(p) * out(p));
157 typedef image_if<I, fun::p2b::chess> II;
160 II ima_if = ima | fun::p2b::chess();
166 II::piter p(ima_if.domain());
168 mln_assertion(ima_if(p) == out(p) * out(p));
174 typedef cast_image_<int, I> II;
186 II::piter p(cast.domain());
188 mln_assertion(cast(p) == out(p) * out(p));
203 II::piter p(sub_ima.domain());
205 mln_assertion(sub_ima(p) == out(p) * out(p));
215 II extend_ima(ima, 169);
220 II::piter p(extend_ima.domain());
222 mln_assertion(extend_ima(p) == out(p) * out(p));