28 #include <mln/core/image/image2d.hh>
29 #include <mln/core/alias/neighb2d.hh>
30 #include <mln/io/pbm/load.hh>
31 #include <mln/value/label_8.hh>
32 #include <mln/value/label_32.hh>
33 #include <mln/data/convert.hh>
34 #include <mln/data/wrap.hh>
36 #include <scribo/filter/objects_with_holes.hh>
37 #include <scribo/primitive/extract/components.hh>
38 #include <scribo/primitive/link/with_single_left_link_dmax_ratio.hh>
39 #include <scribo/primitive/link/with_single_right_link_dmax_ratio.hh>
40 #include <scribo/primitive/link/merge_double_link.hh>
41 #include <scribo/primitive/link/internal/dmax_width_and_height.hh>
43 #include "tests/data.hh"
49 using namespace scribo;
51 std::string img = SCRIBO_IMG_DIR
"/pixels.pbm";
53 unsigned ref_left[] = {0, 1, 1, 2, 4, 5, 6, 7, 7, 9};
54 unsigned ref_right[] = {0, 2, 3, 3, 4, 5, 6, 7, 8, 9};
55 unsigned ref_merged[] = {0, 1, 1, 2, 4, 5, 6, 7, 8, 9};
61 value::label_16 nlabels;
69 = primitive::link::with_single_left_link_dmax_ratio(comps,
73 = primitive::link::with_single_right_link_dmax_ratio(comps,
79 merged_links = primitive::link::merge_double_link(left_link,
82 for_all_links(i, left_link)
83 mln_assertion(ref_left[i] == left_link(i));
85 for_all_links(i, right_link)
86 mln_assertion(ref_right[i] == right_link(i));
88 for_all_links(i, merged_links)
89 mln_assertion(ref_merged[i] == merged_links(i));