32 #include <mln/core/image/image3d.hh>
33 #include <mln/core/alias/neighb3d.hh>
34 #include <mln/make/box3d.hh>
36 #include <mln/core/image/vmorph/fun_image.hh>
37 #include <mln/fun/v2b/lnot.hh>
39 #include <mln/border/fill.hh>
41 #include <mln/labeling/blobs.hh>
43 #include <mln/topo/skeleton/breadth_first_thinning.hh>
45 #include <mln/topo/is_simple_point3d.hh>
46 #include <mln/topo/detach_point.hh>
48 #include <mln/util/timer.hh>
50 #include "apps/data.hh"
52 #include "image3d-skel.hh"
77 I input = make_triple_torus(20);
79 << input.nslis() <<
" x " << input.nrows() <<
" x " << input.ncols()
80 <<
" = " << input.nslis() * input.nrows() * input.ncols() <<
" voxels"
83 std::cerr << input.domain() << std::endl;
84 save_raw_3d(input,
"image3d-skel-unconstrained-input.raw");
85 save_vtk_polyhedrons(input,
"image3d-skel-unconstrained-input.vtk");
105 std::cout << t.read() <<
" s" << std::endl;
107 save_raw_3d(output,
"image3d-skel-unconstrained-skel.raw");
108 save_vtk_polyhedrons(output,
"image3d-skel-unconstrained-skel.vtk");