37 #include <mln/core/alias/point2d.hh>
39 #include <mln/util/graph.hh>
40 #include <mln/util/line_graph.hh>
41 #include <mln/fun/i2v/array.hh>
42 #include <mln/util/site_pair.hh>
43 #include <mln/core/image/vertex_image.hh>
44 #include <mln/make/vertex_image.hh>
105 viota_t
iota(g.v_nmax());
106 for (
unsigned i = 0; i <
iota.size(); ++i)
117 const unsigned X = mln_max(
unsigned);
121 const unsigned expected_fwd_nbh[5][3] = { { 1, 2, X },
127 const unsigned expected_bkd_nbh[5][3] = { { 2, 1, X },
134 mln_piter_(ima_t)
p(ima.domain());
137 mln_assertion(ima(
p) == i++);
140 typedef ima_t::win_t win_t;
145 mln_fwd_qiter_(win_t) q(win,
p);
151 mln_assertion(expected_fwd_nbh[p.id()][i] == q.id());
159 mln_bkd_qiter_(win_t) q(win, p);
165 mln_assertion(expected_bkd_nbh[p.id()][i] == q.id());
173 typedef ima_t::nbh_t nbh_t;
178 mln_fwd_niter_(nbh_t) n(nbh, p);
184 mln_assertion(expected_fwd_nbh[p.id()][i] == n.id());
192 mln_bkd_niter_(nbh_t) n(nbh, p);
198 mln_assertion(expected_bkd_nbh[p.id()][i] == n.id());