33 #include <mln/core/image/image2d.hh>
35 #include <mln/util/graph.hh>
36 #include <mln/fun/i2v/array.hh>
37 #include <mln/util/site_pair.hh>
38 #include <mln/core/image/edge_image.hh>
40 #include <mln/accu/shape/bbox.hh>
41 #include <mln/debug/draw_graph.hh>
98 viota_t
iota(g.v_nmax());
99 for (
unsigned i = 0; i <
iota.size(); ++i)
103 ima_t ima(g, sites,
iota);
111 mln_piter_(ima_t)
p(ima.domain());
150 const unsigned X = mln_max(
unsigned);
154 const unsigned expected_fwd_nbh[5][3] = { { 1, 2, X },
160 const unsigned expected_bkd_nbh[5][3] = { { 2, 1, X },
167 mln_piter_(ima_t) p(ima.domain());
170 mln_assertion(ima(p) == i++);
173 typedef ima_t::win_t win_t;
178 mln_fwd_qiter_(win_t) q(win, p);
184 mln_assertion(expected_fwd_nbh[p.id()][i] == q.id());
192 mln_bkd_qiter_(win_t) q(win, p);
198 mln_assertion(expected_bkd_nbh[p.id()][i] == q.id());
206 typedef ima_t::nbh_t nbh_t;
211 mln_fwd_niter_(nbh_t) n(nbh, p);
217 mln_assertion(expected_fwd_nbh[p.id()][i] == n.id());
225 mln_bkd_niter_(nbh_t) n(nbh, p);
231 mln_assertion(expected_bkd_nbh[p.id()][i] == n.id());