30 #include <mln/core/image/complex_image.hh>
31 #include <mln/core/image/complex_neighborhoods.hh>
32 #include <mln/core/image/complex_windows.hh>
34 #include <mln/value/int_u8.hh>
35 #include <mln/value/label_16.hh>
37 #include <mln/data/fill.hh>
38 #include <mln/math/diff_abs.hh>
39 #include <mln/literal/zero.hh>
41 #include <mln/io/off/load.hh>
42 #include <mln/io/off/save.hh>
43 #include <mln/labeling/colorize.hh>
51 template <
unsigned D,
typename G,
typename V>
57 ima_t output (input.
domain());
65 mln_niter(e2t_t) t(e2t, e);
83 mln_assertion(!t.is_valid());
90 int main(
int argc,
char* argv[])
94 std::cerr <<
"usage: " << argv[0] <<
" input.off lambda output.off"
98 std::string input_filename = argv[1];
99 unsigned lambda = atoi(argv[2]);
100 std::string output_filename = argv[3];
108 typedef mln_ch_value_(input, label) output;
109 static const
unsigned dim = input::dim;
110 typedef mln_geom_(input) geom;
121 io::off::
load(ima, input_filename);
124 input g = gradient_on_edges(ima);
125 output s = chain(ima, nbh, lambda, nbasins);