last-svn-commit-238-gf825089 Merge branch 'vtk-format' into skeletons+vtk-format

This is a merge commit message of the following branches: Merge: 1bfe4f9... 6629f93... ChangeLog | 4 + configure.ac | 1 + milena/ChangeLog | 82 ++++ milena/apps/mesh-segm-skel/save_bin_alt.hh | 310 +++++++++++++- milena/headers.mk | 2 + milena/mesh/Makefile.am | 20 +- milena/mesh/pseudo-manifold.vtk | 188 ++++++++ milena/mesh/tetrahedron.vtk | 48 ++ milena/mln/geom/complex_geometry.hh | 17 +- milena/mln/io/off/load.hh | 30 +- milena/mln/io/vtk/all.hh | 47 ++ milena/mln/io/vtk/load.hh | 615 ++++++++++++++++++++++++++ milena/mln/io/vtk/save.hh | 649 ++++++++++++++++++++++++++++ milena/tests/io/Makefile.am | 3 +- milena/tests/io/vtk/Makefile.am | 33 ++ milena/tests/io/vtk/load_bin.cc | 60 +++ milena/tests/io/vtk/load_save_bin.cc | 48 ++ milena/tests/io/vtk/save.cc | 106 +++++ milena/tests/unit_test/unit-tests.mk | 4 + 19 files changed, 2240 insertions(+), 27 deletions(-) diff --cc milena/ChangeLog index 5670671,690a83b..b1b2d74 --- a/milena/ChangeLog +++ b/milena/ChangeLog @@@ -1,274 -1,85 +1,356 @@@ + 2011-03-01 Roland Levillain <roland@lrde.epita.fr> + + Add preliminary VTK input for binary images. + + * mln/io/vtk/load.hh: New file. + Include it... + * mln/io/vtk/all.hh: ...here. + * tests/io/vtk/load_bin.cc, + * tests/io/vtk/load_save_bin.cc: + New. + * tests/io/vtk/Makefile.am (check_PROGRAMS): Add load_bin and + load_save_bin. + (load_bin_SOURCES, load_save_bin_SOURCES): New. + (MOSTLYCLEANFILES): Add load_save_bin-out.vtk. + + 2011-03-01 Roland Levillain <roland@lrde.epita.fr> + + Add VTK-format meshes. + + * mesh/tetrahedron.vtk, + * mesh/pseudo-manifold.vtk: + New. + * mesh/Makefile.am (dist_mesh_DATA): Add tetrahedron.vtk and + pseudo-manifold.vtk. + + 2011-03-01 Roland Levillain <roland@lrde.epita.fr> + + Add a pre-allocation routine to mln::geom::complex_geometry. + + * mln/geom/complex_geometry.hh + (mln::geom::complex_geometry<D, P>::reserve): New. + Use it... + * mln/io/off/load.hh: ...here. + Aesthetic changes. + + 2010-07-28 Roland Levillain <roland@lrde.epita.fr> + + Regen Milena's Makefile helpers. + + * headers.mk, tests/unit_test/unit-tests.mk: Here. + + 2010-07-28 Roland Levillain <roland@lrde.epita.fr> + + Add a VTK output for images of unsigned integers. + + * mln/io/vtk/save.hh + (io::vtk::save(const unsigned_2complex_image3df&, const std::string&)): + New function. + (io::vtk::internal::unsigned_vtk_saver): New structure. + * tests/io/vtk/save.cc: Add a tests case for images of unsigneds. + * tests/io/vtk/Makefile.am (MOSTLYCLEANFILES): + Add save-tetrahedron-unsigned.vtk. + + 2010-07-28 Roland Levillain <roland@lrde.epita.fr> + + * mln/io/vtk/save.hh: Fix documentation. + + 2010-07-27 Roland Levillain <roland@lrde.epita.fr> + + * mln/io/vtk/all.hh: New. + + 2010-06-24 Roland Levillain <roland@lrde.epita.fr> + + Add a specific (temporary) VTK output routine for binary mesh images. + + * apps/mesh-segm-skel/save_bin_alt.hh + (mln::io::vtk::save_bin_alt): New function. + + 2010-06-24 Roland Levillain <roland@lrde.epita.fr> + + Exercise mln::io::vtk::save. + + * tests/io/vtk/save.cc: New. + * tests/io/vtk/Makefile.am: New. + * tests/io/Makefile.am (SUBDIRS): Add vtk. + + 2010-06-24 Roland Levillain <roland@lrde.epita.fr> + + Start a VTK output for complex-based images. + + * mln/io/vtk/save.hh: New. + +2011-02-25 Roland Levillain <roland@lrde.epita.fr> + + Small corrections in apps/mesh-segm-skel. + + * apps/mesh-segm-skel/test-mesh-segm.in: Remove erroneous + execution permission. + * apps/mesh-segm-skel/test-mesh-complex-max-curv-extrema.in: + Add a missing copyright header. + +2011-02-24 Roland Levillain <roland@lrde.epita.fr> + + Exercise topology-related routines. + + * tests/core/image/complex_image.hh + (make_test_bin_2complex_image2d): New function. + * tests/topo/is_facet.cc, + * tests/make/detachment.cc, + * tests/make/attachment.cc: + New. + * tests/topo/Makefile.am (check_PROGRAMS): Add is_facet. + (is_facet_SOURCES): New. + * tests/make/Makefile.am (check_PROGRAMS): Add attachment and + detachment. + (attachment_SOURCES, detachment_SOURCES): New. + +2011-02-24 Roland Levillain <roland@lrde.epita.fr> + + New complex image alias: mln::bin_2complex_image2d. + + * mln/core/alias/complex_image.hh (mln::bin_2complex_image2d): + New typedef. + +2011-02-24 Roland Levillain <roland@lrde.epita.fr> + + Revamp mln::topo::is_simple_cell. + + * mln/topo/is_simple_cell.hh + (mln::topo::is_simple_cell<I, N, NL, NH>::operator()): + Replace ad hoc code by a call to is_facet. + +2011-02-24 Roland Levillain <roland@lrde.epita.fr> + + Have is_facet take into account the values of a (complex) image. + + * mln/topo/is_facet.hh (mln::topo::is_facet): Take a binary image + and a neighborhood as arguments and take the image's values into + account. + +2011-02-24 Roland Levillain <roland@lrde.epita.fr> + + Revamp topology-related routines. + + * mln/make/attachment.hh, + * mln/make/cell.hh, + * mln/make/detachment.hh, + * mln/topo/detach_cell.hh: + Do not require the face passed as argument to be a facet. + +2011-02-24 Roland Levillain <roland@lrde.epita.fr> + + Make the interface of thinning algorithms uniform w.r.t. functors. + + * mln/topo/skeleton/priority_driven_thinning.hh + (mln::topo::skeleton::priority_driven_thinning): Catch up + with mln::topo::skeleton::breadth_first_thinning. + * mln/topo/detach_point.hh: Turn into a functor to match the new + interface of thinning algorithms. + * tests/topo/skeleton/breadth_first_thinning.cc + * tests/topo/skeleton/breadth_first_thinning_constrained.cc + * tests/topo/skeleton/priority_driven_thinning.cc + * tests/topo/skeleton/priority_driven_thinning_constrained.cc: + Adjust. + +2011-02-24 Roland Levillain <roland@lrde.epita.fr> + + State a cell is not simple if it does not correspond to a facet. + + * mln/topo/is_simple_cell.hh + (mln::topo::is_simple_cell<I, N, NL, NH>::operator()): Here. + +2010-09-09 Roland Levillain <roland@lrde.epita.fr> + + Use mln::data::paste to simplify mesh skeleton applications. + + * apps/mesh-segm-skel/mesh-complex-skel.cc, + * apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc, + * apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc: + Here. + +2010-09-09 Roland Levillain <roland@lrde.epita.fr> + + Update mesh skeleton applications. + + * apps/mesh-segm-skel/mesh-complex-skel.cc, + * apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc, + * apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc: + Catch up with the new interface of breadth-first thinning and + auxiliary routines. + +2010-09-09 Roland Levillain <roland@lrde.epita.fr> + + More generic breadth-first-thinning-based skeleton transformations. + + * mln/topo/is_simple_cell.hh: Make this functor more generic. + * mln/topo/detach_cell.hh (detach): Turn this function into a + more generic functor. + * mln/make/attachment.hh (mln::make::attachment) + * mln/make/detachment.hh (mln::make::detachment): + Make these routines more generic. + * mln/topo/skeleton/breadth_first_thinning.hh + (mln::topo::skeleton::breadth_first_thinning): + Adjust. + * headers.mk: Regen. + +2010-09-09 Roland Levillain <roland@lrde.epita.fr> + + Introduce a helper to build an mln::mutable_extension_ima. + + * mln/core/routine/mutable_extend.hh: New. + * headers.mk: Regen. + +2010-09-09 Roland Levillain <roland@lrde.epita.fr> + + Introduce an extension-by-mutable-image morpher. + + * mln/core/image/dmorph/mutable_extension_ima.hh: New. + * headers.mk: Regen. + +2010-09-20 Roland Levillain <roland@lrde.epita.fr> + + Get the `detach' argument of thinning algorithms by reference. + + * mln/topo/skeleton/breadth_first_thinning.hh + (topo::skeleton::breadth_first_thinning) + * mln/topo/skeleton/priority_driven_thinning.hh + (topo::skeleton::priority_driven_thinning): + Here. + +2010-09-19 Roland Levillain <roland@lrde.epita.fr> + + Get rid of intermediate psites in thinning algorithms. + + * mln/topo/skeleton/breadth_first_thinning.hh, + * mln/topo/skeleton/priority_driven_thinning.hh: + Here. + +2010-09-19 Roland Levillain <roland@lrde.epita.fr> + + Have topo::is_n_face take a psite type as class parameter. + + * mln/topo/is_n_face.hh: Here, so that the argument of this + functor (e.g., an iterator) is always converted to the psite + type. + * apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc, + * apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc, + * apps/mesh-segm-skel/mesh-complex-skel.cc: + Adjust. + +2010-09-17 Roland Levillain <roland@lrde.epita.fr> + + Aesthetic changes in thinning algorithms. + + * mln/topo/skeleton/breadth_first_thinning.hh: Remove a comment. + * mln/topo/skeleton/priority_driven_thinning.hh: Likewise. + Rename p_queue to queue to avoid confusions with mln::p_queue and + improve uniformity w.r.t. topo::breadth_first_thinning. + +2010-09-17 Roland Levillain <roland@lrde.epita.fr> + + Fix the processing order in topo::breadth_first_thinning. + + * mln/topo/skeleton/breadth_first_thinning.hh: Use a p_queue_fast + site set instead of a pair of p_set's to ensure an actual + breadth-first processing of sites. + +2010-09-16 Roland Levillain <roland@lrde.epita.fr> + + Split interface and implementation of topo::is_not_end_point. + + * mln/topo/is_not_end_point.hh: Here. + +2010-09-15 Roland Levillain <roland@lrde.epita.fr> + + Catch up with the renaming to detach_cell. + + * apps/mesh-segm-skel/mesh-complex-max-curv-skel.cc, + * apps/mesh-segm-skel/mesh-complex-pinv-curv-skel.cc, + * apps/mesh-segm-skel/mesh-complex-skel.cc: + s/detach/detach_cell/. + +2010-09-15 Roland Levillain <roland@lrde.epita.fr> + + Rename topo::detach as topo::detach_cell. + + * mln/topo/detach.hh (detach): Rename as... + * mln/topo/detach_cell.hh (detach_cell): ...this, to prevent + confusions with detach_point. + * headers.mk: Regen. + +2010-09-15 Roland Levillain <roland@lrde.epita.fr> + + Exercise breadth-first and priority-driven thinnings. + + * tests/topo/skeleton/breadth_first_thinning.cc, + * tests/topo/skeleton/breadth_first_thinning_constrained.cc, + * tests/topo/skeleton/priority_driven_thinning.cc, + * tests/topo/skeleton/priority_driven_thinning_constrained.cc: + New. + * tests/topo/skeleton/Makefile.am (check_PROGRAMS): Add + breadth_first_thinning, breadth_first_thinning_constrained, + priority_driven_thinning and priority_driven_thinning_constrained. + (breadth_first_thinning_SOURCES) + (breadth_first_thinning_constrained_SOURCES) + (priority_driven_thinning_SOURCES) + (priority_driven_thinning_constrained_SOURCES): + New. + (MOSTLYCLEANFILES): Add breadth_first_thinning-small.pbm, + breadth_first_thinning_constrained-small.pbm, + priority_driven_thinning-small.pbm and + priority_driven_thinning_constrained-small.pbm. + +2010-09-15 Roland Levillain <roland@lrde.epita.fr> + + New skeletonization algorithm: priority-driven thinning. + + * mln/topo/skeleton/priority_driven_thinning.hh: New. + * headers.mk: Regen. + +2010-09-15 Roland Levillain <roland@lrde.epita.fr> + + Add helpers to compute skeletons by thinning on regular 2D images. + + * mln/topo/is_simple_point2d.hh, + * mln/topo/detach_point.hh, + * mln/topo/is_not_end_point.hh: + New. + * headers.mk: Regen. + +2010-09-15 Roland Levillain <roland@lrde.epita.fr> + + Add tracing mechanism to breadth-first thinning. + + * mln/topo/skeleton/breadth_first_thinning.hh: Here. + Typos and aesthetic changes. + +2010-09-15 Roland Levillain <roland@lrde.epita.fr> + + Small fix in breadth-first thinning. + + * mln/topo/skeleton/breadth_first_thinning.hh: Do not try to + detach an aldready processed site. + +2010-09-09 Roland Levillain <roland@lrde.epita.fr> + + Make the 5th argument of breadth_first_thinning truly optional. + + * mln/topo/skeleton/breadth_first_thinning.hh + (mln::topo::skeleton::breadth_first_thinning): + Disable the default value of the 5th argument, which cannot be + used in practice, since it depends on the parameter H. + Add a 4-argument overloading to make the `constraint' argument + optional. + +2010-09-01 Roland Levillain <roland@lrde.epita.fr> + + Add more documentation on the detach procedure. + + * mln/make/detachment.hh: Here. + Typo. + * mln/topo/detach.hh: Typo. + 2010-08-18 Roland Levillain <roland@lrde.epita.fr> * mln/topo/skeleton/breadth_first_thinning.hh: Reindent. hooks/post-receive -- Olena, a generic and efficient image processing platform
participants (1)
-
Roland Levillain