Olena-patches
Threads by month
- ----- 2025 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
May 2009
- 11 participants
- 312 discussions
---
ChangeLog | 4 ++++
configure.ac | 4 ++++
2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 7e05b35..cac5c73 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-05-28 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+
+ * configure.ac: Configure new test directories.
+
2009-05-28 Edwin Carlinet <carlinet(a)lrde.epita.fr>
Update configure.ac.
diff --git a/configure.ac b/configure.ac
index aa3534f..43e0452 100644
--- a/configure.ac
+++ b/configure.ac
@@ -242,7 +242,10 @@ AC_CONFIG_FILES([
milena/tests/core/Makefile
milena/tests/core/alias/Makefile
milena/tests/core/image/Makefile
+ milena/tests/core/image/morph/Makefile
milena/tests/core/image/dmorph/Makefile
+ milena/tests/core/image/imorph/Makefile
+ milena/tests/core/image/vmorph/Makefile
milena/tests/core/other/Makefile
milena/tests/core/routine/Makefile
milena/tests/core/site_set/Makefile
@@ -330,6 +333,7 @@ AC_CONFIG_FILES([
milena/tests/value/concept/Makefile
milena/tests/win/Makefile
milena/tests/world/Makefile
+ milena/tests/world/binary_2d/Makefile
milena/tests/world/inter_pixel/Makefile
milena/tests/world/inter_pixel/dim2/Makefile
])
--
1.5.6.5
1
0
* mln/world/binary_2d/enlarge.hh: new routine.
* tests/world/Makefile.am,
* tests/world/binary_2d/Makefile.am: new makefiles.
* tests/world/binary_2d/enlarge.cc: new associated test.
---
milena/ChangeLog | 11 +
milena/mln/world/binary_2d/enlarge.hh | 380 ++++++++++++++++++++++++++++++
milena/tests/world/Makefile.am | 1 +
milena/tests/world/binary_2d/Makefile.am | 12 +
milena/tests/world/binary_2d/enlarge.cc | 47 ++++
5 files changed, 451 insertions(+), 0 deletions(-)
create mode 100644 milena/mln/world/binary_2d/enlarge.hh
create mode 100644 milena/tests/world/binary_2d/Makefile.am
create mode 100644 milena/tests/world/binary_2d/enlarge.cc
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 87735dc..c68baff 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,16 @@
2009-05-28 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+ Add world::binary_2d::enlarge.
+
+ * mln/world/binary_2d/enlarge.hh: new routine.
+
+ * tests/world/Makefile.am,
+ * tests/world/binary_2d/Makefile.am: new makefiles.
+
+ * tests/world/binary_2d/enlarge.cc: new associated test.
+
+2009-05-28 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+
Add debug::superpose.
* mln/debug/all.hh: update includes.
diff --git a/milena/mln/world/binary_2d/enlarge.hh b/milena/mln/world/binary_2d/enlarge.hh
new file mode 100644
index 0000000..6094a51
--- /dev/null
+++ b/milena/mln/world/binary_2d/enlarge.hh
@@ -0,0 +1,380 @@
+// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+#ifndef MLN_WORLD_BINARY_2D_ENLARGE_HH
+# define MLN_WORLD_BINARY_2D_ENLARGE_HH
+
+/// \file mln/world/binary_2d/enlarge.hh
+///
+/// Enlarge 2^n times a binary image.
+///
+/// \todo Make it much more generic.
+
+
+# include <iostream>
+
+# include <mln/core/image/image2d.hh>
+# include <mln/core/routine/initialize.hh>
+
+# include <mln/value/int_u8.hh>
+# include <mln/fun/p2v/ternary.hh>
+# include <mln/fun/v2b/threshold.hh>
+
+# include <mln/level/transform.hh>
+
+# include <mln/pw/image.hh>
+# include <mln/pw/cst.hh>
+# include <mln/pw/value.hh>
+# include <mln/opt/at.hh>
+
+# include <mln/geom/min_row.hh>
+# include <mln/geom/min_col.hh>
+
+# include <mln/core/routine/duplicate.hh>
+
+
+namespace mln
+{
+
+ namespace world
+ {
+
+ namespace binary_2d
+ {
+
+ /// Enlarge a binary image 2^n times
+ ///
+ /// \param[in] input A binary image.
+ /// \param[in] n The power of 2 setting up the enlargement.
+ ///
+ /// \return A binary image with a domain 2^\p n times larger.
+ //
+ template <typename I>
+ mln_concrete(I)
+ enlarge(const Image<I>& input, unsigned n);
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+
+ // Internal routines.
+
+ namespace internal
+ {
+
+ inline
+ float
+ val(bool b)
+ {
+ return b ? 1 : 0;
+ }
+
+ inline
+ int
+ do_threshold(float value)
+ {
+ return 255.f * value;
+ }
+
+ } // end of namespace mln::world::binary_2d
+
+
+
+
+ // Implementation.
+
+ namespace impl
+ {
+
+ ///FIXME: works only on 2d images.
+ inline
+ image2d<value::int_u8>
+ enlargex2(const image2d<bool>& input)
+ {
+ using value::int_u8;
+
+ mln_precondition(input.is_valid());
+
+ unsigned
+ mrow = geom::min_row(input),
+ mcol = geom::min_col(input);
+
+ image2d<int_u8> output(make::box2d(mrow, mcol,
+ mrow + 2 * input.nrows() - 1,
+ mcol + 2 * input.ncols() - 1));
+ float value;
+
+ // row 0
+ opt::at(output, mrow, mcol) = internal::do_threshold(opt::at(input, mrow, mcol));
+
+ for (unsigned col = 2; col < output.ncols(); col += 2)
+ {
+ value = internal::val(opt::at(input, mrow, mcol + col / 2));
+ value += internal::val(opt::at(input, mrow, mcol + col / 2 - 1));
+ opt::at(output, mrow, mcol + col) = internal::do_threshold(value / 2);
+ }
+
+ for (unsigned col = 1; col < output.ncols(); col += 2)
+ opt::at(output, mrow, mcol + col)
+ = internal::do_threshold(opt::at(input, mrow, mcol + col / 2));
+
+ // col 0
+
+ for (unsigned row = 2; row < output.nrows(); row += 2)
+ {
+ value = internal::val(opt::at(input, mrow + row / 2, mcol));
+ value += internal::val(opt::at(input, mrow + row / 2 - 1, mcol));
+ opt::at(output, mrow + row, mcol) = internal::do_threshold(value / 2);
+ }
+
+ for (unsigned row = 1; row < output.nrows(); row += 2)
+ opt::at(output, mrow + row, mcol)
+ = internal::do_threshold(opt::at(input, mrow + row / 2, mcol));
+
+ // others
+
+ for (unsigned row = 2; row < output.nrows(); row += 2)
+ {
+ for (unsigned col = 2; col < output.ncols(); col += 2)
+ {
+ value = internal::val(opt::at(input, mrow + row / 2, mcol + col / 2));
+ value += internal::val(opt::at(input, mrow + row / 2 - 1, mcol + col / 2));
+ value += internal::val(opt::at(input, mrow + row / 2, mcol + col / 2 - 1));
+ value += internal::val(opt::at(input, mrow + row / 2 - 1, mcol + col / 2 - 1));
+ opt::at(output, mrow + row, mcol + col)
+ = internal::do_threshold(value / 4);
+ }
+ for (unsigned col = 1; col < output.ncols(); col += 2)
+ {
+ value = internal::val(opt::at(input, mrow + row / 2, mcol + col / 2));
+ value += internal::val(opt::at(input, mrow + row / 2 - 1, mcol + col / 2));
+ opt::at(output, mrow + row, mcol + col) = internal::do_threshold(value / 2);
+ }
+ }
+
+ for (unsigned row = 1; row < output.nrows(); row += 2)
+ {
+ for (unsigned col = 2; col < output.ncols(); col += 2)
+ {
+ value = internal::val(opt::at(input, mrow + row / 2, mcol + col / 2));
+ value += internal::val(opt::at(input, mrow + row / 2, mcol + col / 2 - 1));
+ opt::at(output, mrow + row, mcol + col) = internal::do_threshold(value / 2);
+ }
+ for (unsigned col = 1; col < output.ncols(); col += 2)
+ opt::at(output, mrow + row, mcol + col)
+ = internal::do_threshold(opt::at(input, mrow + row / 2, mcol + col / 2));
+ }
+
+ return output;
+ }
+
+
+
+ inline
+ image2d<value::int_u8>
+ enlargex2(const image2d<value::int_u8>& input)
+ {
+ using value::int_u8;
+
+ unsigned
+ mrow = geom::min_row(input),
+ mcol = geom::min_col(input);
+
+ image2d<int_u8> output(make::box2d(mrow, mcol,
+ mrow + 2 * input.nrows() - 1,
+ mcol + 2 * input.ncols() - 1));
+ unsigned value;
+
+ // row 0
+ opt::at(output, mrow, mcol) = (opt::at(input, mrow, mcol));
+
+ for (unsigned col = 2; col < output.ncols(); col += 2)
+ {
+ value = (opt::at(input, mrow, mcol + col / 2));
+ value += (opt::at(input, mrow, mcol + col / 2 - 1));
+ opt::at(output, mrow, mcol + col) = (value / 2);
+ }
+
+ for (unsigned col = 1; col < output.ncols(); col += 2)
+ opt::at(output, mrow, mcol + col) = (opt::at(input, mrow, mcol + col / 2));
+
+ // col 0
+
+ for (unsigned row = 2; row < output.nrows(); row += 2)
+ {
+ value = (opt::at(input, mrow + row / 2, mcol));
+ value += (opt::at(input, mrow + row / 2 - 1, mcol));
+ opt::at(output, mrow + row, mcol) = (value / 2);
+ }
+
+ for (unsigned row = 1; row < output.nrows(); row += 2)
+ opt::at(output, mrow + row, mcol) = (opt::at(input, mrow + row / 2, mcol));
+
+ // others
+
+ for (unsigned row = 2; row < output.nrows(); row += 2)
+ {
+ for (unsigned col = 2; col < output.ncols(); col += 2)
+ {
+ value = (opt::at(input, mrow + row / 2, mcol + col / 2));
+ value += (opt::at(input, mrow + row / 2 - 1, mcol + col / 2));
+ value += (opt::at(input, mrow + row / 2, mcol + col / 2 - 1));
+ value += (opt::at(input, mrow + row / 2 - 1, mcol + col / 2 - 1));
+ opt::at(output, mrow + row, mcol + col) = ((unsigned(value)+2) / 4);
+ }
+ for (unsigned col = 1; col < output.ncols(); col += 2)
+ {
+ value = (opt::at(input, mrow + row / 2, mcol + col / 2));
+ value += (opt::at(input, mrow + row / 2 - 1, mcol + col / 2));
+ opt::at(output, mrow + row, mcol + col) = (value / 2);
+ }
+ }
+
+ for (unsigned row = 1; row < output.nrows(); row += 2)
+ {
+ for (unsigned col = 2; col < output.ncols(); col += 2)
+ {
+ value = (opt::at(input, mrow + row / 2, mcol + col / 2));
+ value += (opt::at(input, mrow + row / 2, mcol + col / 2 - 1));
+ opt::at(output, mrow + row, mcol + col) = (value / 2);
+ }
+ for (unsigned col = 1; col < output.ncols(); col += 2)
+ opt::at(output, mrow + row, mcol + col)
+ = (opt::at(input, mrow + row / 2, mcol + col / 2));
+ }
+
+ return output;
+ }
+
+
+ template <typename I>
+ inline
+ mln_ch_value(I,value::int_u8)
+ do_enlarge_gl(const I& input, unsigned n)
+ {
+ using value::int_u8;
+
+ mln_ch_value(I,int_u8) output = enlargex2(input);
+
+ while (--n)
+ output = enlargex2(output);
+
+ return output;
+ }
+
+
+ template <typename I>
+ inline
+ mln_concrete(I)
+ do_enlarge_bool(const I& input, unsigned n)
+ {
+ mln_ch_value(I,value::int_u8) tmp = do_enlarge_gl(input, n);
+ I output
+ = level::transform(tmp, fun::v2b::threshold<value::int_u8>(150));
+ return output;
+ }
+
+
+ } // end of namespace mln::world::binary_2d::impl
+
+
+
+
+ // Dispatch
+
+ namespace internal
+ {
+
+ template<typename I>
+ inline
+ mln_concrete(I)
+ enlarge_dispatch(const I& input, const bool&, unsigned n)
+ {
+ return impl::do_enlarge_bool(input, n);
+ }
+
+ template<typename I>
+ inline
+ mln_concrete(I)
+ enlarge_dispatch(const I& input, const value::int_u8&, unsigned n)
+ {
+ return impl::do_enlarge_gl(input, n);
+ }
+
+ template<typename I>
+ inline
+ mln_concrete(I)
+ enlarge_dispatch(const I& input, const mln_value(I)&, unsigned n)
+ {
+ mlc_abort(I)::check();
+ return mln_concrete(I)();
+ }
+
+ template<typename I>
+ inline
+ mln_concrete(I)
+ enlarge_dispatch(const Image<I>& input, unsigned n)
+ {
+ return enlarge_dispatch(exact(input), mln_value(I)(), n);
+ }
+
+ } // end of namespace mln::world::binary_2d::internal
+
+
+
+ // Facade
+
+ template <typename I>
+ inline
+ mln_concrete(I)
+ enlarge(const Image<I>& input, unsigned n)
+ {
+ trace::entering("mln::world::binary_2d::enlarge");
+
+ mln_precondition(exact(input).is_valid());
+ mlc_bool(mln_site_(I)::dim == 2)::check();
+
+ mln_concrete(I) output;
+ if (n == 0)
+ output = duplicate(input);
+ else
+ output = internal::enlarge_dispatch(input, n);
+
+ trace::exiting("mln::world::binary_2d::enlarge");
+ return output;
+ }
+
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::world::binary_2d
+
+ } // end of namespace mln::world
+
+} // mln
+
+#endif // ! MLN_WORLD_BINARY_2D_ENLARGE_HH
diff --git a/milena/tests/world/Makefile.am b/milena/tests/world/Makefile.am
index 7a41ecd..75f3a7a 100644
--- a/milena/tests/world/Makefile.am
+++ b/milena/tests/world/Makefile.am
@@ -1,2 +1,3 @@
SUBDIRS = \
+ binary_2d \
inter_pixel
diff --git a/milena/tests/world/binary_2d/Makefile.am b/milena/tests/world/binary_2d/Makefile.am
new file mode 100644
index 0000000..e04c66a
--- /dev/null
+++ b/milena/tests/world/binary_2d/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file through Automake to create Makefile.in -*- Makefile -*-
+
+include $(top_srcdir)/milena/tests/tests.mk
+
+check_PROGRAMS = \
+ enlarge \
+ enlarge_hq2x
+
+enlarge_SOURCES = enlarge.cc
+enlarge_hq2x_SOURCES = enlarge_hq2x.cc
+
+TESTS = $(check_PROGRAMS)
diff --git a/milena/tests/world/binary_2d/enlarge.cc b/milena/tests/world/binary_2d/enlarge.cc
new file mode 100644
index 0000000..0ef1981
--- /dev/null
+++ b/milena/tests/world/binary_2d/enlarge.cc
@@ -0,0 +1,47 @@
+#include <mln/core/image/image2d.hh>
+#include <mln/level/compare.hh>
+#include <mln/world/binary_2d/enlarge.hh>
+#include <mln/make/image.hh>
+#include <mln/value/int_u8.hh>
+
+#include "tests/data.hh"
+
+mln::value::int_u8 vals_i[][4] = { { 4, 4, 4, 5 },
+ { 4, 4, 4, 5 },
+ { 3, 3, 4, 3 },
+ { 3, 3, 2, 2 } };
+
+bool vals_b[][4] = { { 0, 0, 0, 1 },
+ { 0, 0, 0, 1 },
+ { 0, 0, 0, 0 },
+ { 1, 1, 0, 0 } };
+
+int main()
+{
+ using namespace mln;
+
+ {
+ value::int_u8 vals[][2] = { { 4, 5 },
+ { 3, 2 } } ;
+
+ image2d<value::int_u8> input = make::image(vals);
+ image2d<value::int_u8> input_2x = world::binary_2d::enlarge(input,1);
+
+ image2d<value::int_u8> ref = make::image(vals_i);
+
+ mln_assertion(ref == input_2x);
+ }
+
+ {
+ bool vals[][2] = { { 0, 1 },
+ { 1, 0 } } ;
+
+ image2d<bool> input = make::image(vals);
+ image2d<bool> input_2x = world::binary_2d::enlarge(input,1);
+
+ image2d<bool> ref = make::image(vals_b);
+
+ mln_assertion(ref == input_2x);
+ }
+
+}
--
1.5.6.5
1
0
* mln/debug/all.hh: update includes.
* mln/debug/superpose.hh: new routine.
---
milena/ChangeLog | 8 +++
milena/mln/debug/all.hh | 1 +
milena/mln/debug/superpose.hh | 114 +++++++++++++++++++++++++++++++++++++++++
3 files changed, 123 insertions(+), 0 deletions(-)
create mode 100644 milena/mln/debug/superpose.hh
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 36ff601..87735dc 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,13 @@
2009-05-28 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+ Add debug::superpose.
+
+ * mln/debug/all.hh: update includes.
+
+ * mln/debug/superpose.hh: new routine.
+
+2009-05-28 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+
Add labeled_image type.
* mln/core/image/imorph/labeled_image.hh: new image type.
diff --git a/milena/mln/debug/all.hh b/milena/mln/debug/all.hh
index e65e907..ea0c25e 100644
--- a/milena/mln/debug/all.hh
+++ b/milena/mln/debug/all.hh
@@ -57,5 +57,6 @@ namespace mln
# include <mln/debug/put_word.hh>
# include <mln/debug/quiet.hh>
# include <mln/debug/slices_2d.hh>
+# include <mln/debug/superpose.hh>
#endif // ! MLN_DEBUG_ALL_HH
diff --git a/milena/mln/debug/superpose.hh b/milena/mln/debug/superpose.hh
new file mode 100644
index 0000000..f24e49d
--- /dev/null
+++ b/milena/mln/debug/superpose.hh
@@ -0,0 +1,114 @@
+// Copyright (C) 2009 EPITA Research and Development Laboratory
+// (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+#ifndef MLN_DEBUG_SUPERPOSE_HH
+# define MLN_DEBUG_SUPERPOSE_HH
+
+/// \file mln/debug/superpose.hh
+///
+/// Superpose two images.
+
+# include <mln/core/concept/image.hh>
+# include <mln/core/image/dmorph/image_if.hh>
+# include <mln/value/rgb8.hh>
+# include <mln/data/fill.hh>
+# include <mln/level/convert.hh>
+# include <mln/pw/all.hh>
+# include <mln/literal/colors.hh>
+
+namespace mln
+{
+
+ namespace debug
+ {
+
+ /// Superpose two images.
+ ///
+ /// \param[in] input_ An image. Its value type must be convertible
+ /// toward value::rgb8 thanks to a conversion
+ /// operator or convert::from_to.
+ /// \param[in] object_ A binary image. Objects used for superposition
+ /// are set to 'true'.
+ /// \param[in] object_color The color used to draw the objects in
+ /// \p object_.
+ ///
+ /// @pre \p input_ and \p object_ must have the same domain.
+ ///
+ /// \result A color image.
+ //
+ template <typename I, typename J>
+ mln_ch_value(I,value::rgb8)
+ superpose(const Image<I>& input_, const Image<J>& object_,
+ const value::rgb8& object_color);
+
+
+ /// \overload
+ template <typename I, typename J>
+ mln_ch_value(I,value::rgb8)
+ superpose(const Image<I>& input, const Image<J>& object);
+
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+ template <typename I, typename J>
+ mln_ch_value(I,value::rgb8)
+ superpose(const Image<I>& input_, const Image<J>& object_,
+ const value::rgb8& object_color)
+ {
+ trace::entering("debug::superpose");
+
+ const I& input = exact(input_);
+ const J& object = exact(object_);
+
+ mlc_equal(mln_value(J), bool)::check();
+ mln_precondition(input.is_valid());
+ mln_precondition(object.is_valid());
+ mln_precondition(input.domain() == object.domain());
+
+ mln_ch_value(I,value::rgb8) output = level::convert(value::rgb8(), input);
+ data::fill((output | pw::value(object)).rw(), object_color);
+
+ trace::exiting("debug::superpose");
+ return output;
+ }
+
+ template <typename I, typename J>
+ mln_ch_value(I,value::rgb8)
+ superpose(const Image<I>& input, const Image<J>& object)
+ {
+ return superpose(input, object, literal::red);
+ }
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::debug
+
+} // end of namespace mln
+
+#endif // ! MLN_DEBUG_SUPERPOSE_HH
--
1.5.6.5
1
0
* mln/core/image/imorph/labeled_image.hh: new image type.
* mln/trait/ch_value.hh: Specialize ch_value trait for this type.
* tests/core/image/imorph/labeled_image.cc: new associated test.
---
milena/ChangeLog | 10 +
milena/mln/core/image/imorph/labeled_image.hh | 398 +++++++++++++++++++++++
milena/mln/trait/ch_value.hh | 9 +
milena/tests/core/image/imorph/labeled_image.cc | 110 +++++++
4 files changed, 527 insertions(+), 0 deletions(-)
create mode 100644 milena/mln/core/image/imorph/labeled_image.hh
create mode 100644 milena/tests/core/image/imorph/labeled_image.cc
diff --git a/milena/ChangeLog b/milena/ChangeLog
index e006366..36ff601 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,15 @@
2009-05-28 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+ Add labeled_image type.
+
+ * mln/core/image/imorph/labeled_image.hh: new image type.
+
+ * mln/trait/ch_value.hh: Specialize ch_value trait for this type.
+
+ * tests/core/image/imorph/labeled_image.cc: new associated test.
+
+2009-05-28 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+
Move morphers in core/image subdirectories.
diff --git a/milena/mln/core/image/imorph/labeled_image.hh b/milena/mln/core/image/imorph/labeled_image.hh
new file mode 100644
index 0000000..c81f331
--- /dev/null
+++ b/milena/mln/core/image/imorph/labeled_image.hh
@@ -0,0 +1,398 @@
+// Copyright (C) 2009 EPITA Research and Development Laboratory
+// (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+#ifndef MLN_CORE_IMAGE_IMORPH_LABELED_IMAGE_HH
+# define MLN_CORE_IMAGE_IMORPH_LABELED_IMAGE_HH
+
+/// \file mln/core/image/imorph/labeled_image.hh
+///
+/// Definition of a morpher on a labeled image.
+
+# include <mln/core/image/dmorph/image_if.hh>
+
+# include <mln/core/concept/function.hh>
+
+# include <mln/core/internal/image_identity.hh>
+
+# include <mln/core/site_set/box.hh>
+
+# include <mln/accu/pair.hh>
+# include <mln/accu/nil.hh>
+# include <mln/accu/center.hh>
+
+# include <mln/labeling/compute.hh>
+# include <mln/labeling/pack.hh>
+# include <mln/labeling/relabel.hh>
+
+# include <mln/util/array.hh>
+
+# ifndef NDEBUG
+# include <mln/accu/max.hh>
+# include <mln/level/compute.hh>
+# endif // ! NDEBUG
+
+
+namespace mln
+{
+
+ // Forward declarations.
+ template <typename I> struct labeled_image;
+ namespace accu
+ {
+ template <typename T> struct nil;
+ template <typename T> struct bbox;
+ }
+
+
+ namespace internal
+ {
+
+ /// Data structure for \c mln::labeled_image<I>.
+ template <typename I>
+ struct data< labeled_image<I> >
+ {
+ data(const I& ima, const mln_value(I)& nlabels);
+
+ I ima_;
+ mln_value(I) nlabels_;
+ mutable util::array< box<mln_psite(I)> > bboxes_;
+ };
+
+ } // end of namespace mln::internal
+
+
+ namespace trait
+ {
+
+ template <typename I>
+ struct image_< labeled_image<I> > : image_< I > // Same as I except...
+ {
+ // ...these changes.
+ typedef trait::image::category::identity_morpher category;
+ typedef mln_internal_trait_image_speed_from(I) speed; // Un-fastest.
+ typedef trait::image::value_access::indirect value_access;
+
+ typedef trait::image::value_io::read_only value_io;
+ typedef trait::image::pw_io::read pw_io;
+
+ // extended domain
+ typedef trait::image::ext_value::multiple ext_value;
+ typedef trait::image::ext_io::read_only ext_io;
+ };
+
+ } // end of namespace mln::trait
+
+
+
+ /// Morpher providing an improved interface for labeled image.
+ ///
+ /// \tparam I The label image type.
+ /// \tparam A An accumulator type.
+ ///
+ /// This image type allows to pre-compute components attributes. These
+ /// attributes can be set through the template parameter \p A. This
+ /// accumulator type can be a simple accumulator, a pair of accumulators or
+ /// a tuple.
+ ///
+ /// This image type guaranties that the labeling is always contiguous.
+ ///
+ /// \sa accu::pair, accu::tuple, mln::accu
+ ///
+ ///
+ /// \ingroup modimageidmorpher
+ //
+ template <typename I>
+ class labeled_image
+ : public internal::image_identity< const I, mln_domain(I), labeled_image<I> >
+ {
+ typedef internal::image_identity< const I, mln_domain(I), labeled_image<I> >
+ super_;
+
+ public:
+
+ /// Skeleton.
+ typedef labeled_image< tag::image_<I> > skeleton;
+
+ /// Type of the bounding component bounding boxes.
+ typedef mln_result(accu::bbox<mln_psite(I)>) bbox_t;
+
+ /// Constructors
+ /// @{
+ /// Constructor without argument.
+ labeled_image();
+
+ /// Constructor from an image \p ima and the number of labels \p nlabels.
+ labeled_image(const I& ima, const mln_value(I)& nlabels);
+ /// @}
+
+ /// Deferred initialization from a labeled image \p ima and the number
+ /// of labels \p nlabels.
+ void init_(const I& ima, const mln_value(I)& nlabels);
+
+ /// Duplicate the underlying image and create a new labeled_image.
+ void init_from_(const labeled_image<I>& model);
+
+ /// Relabel according to a function.
+ /// @{
+ //
+ /// Labels may be removed and the labeling may not be contiguous
+ /// afterwards.
+ /// FIXME: currently the labels are packed after relabeling for
+ /// performance reasons. Do we want to be less restrictive?
+ /// \sa pack_().
+ template <typename F>
+ void relabel(const Function_v2v<F>& f);
+ //
+ /// Labels may be removed. This overload make sure the labeling is still
+ /// contiguous.
+ template <typename F>
+ void relabel(const Function_v2b<F>& f);
+ /// @}
+
+ /// Pack labeling. Relabel if the labeling is not contiguous.
+ void pack_();
+
+ /// Return the number of labels;
+ mln_value(I) nlabels() const;
+
+ /// Update bounding boxes information.
+ void update_();
+
+ /// Return the bounding box of the component \p label.
+ const bbox_t& bbox(const mln_value(I)& label) const;
+
+ const util::array<bbox_t>& bboxes() const
+ {
+ return this->data_->bboxes_;
+ }
+
+ /// Return the domain of the component with label \p label.
+ /// This is an optimized version.
+// p_if<mln_psite(I)> domain(const mln_value(I)& label) const;
+ };
+
+
+ // init_
+
+ //FIXME: not enough generic? We would like 'J' instead of
+ // 'labeled_image<I>'.
+ template <typename I, typename J>
+ void init_(tag::image_t, labeled_image<I>& target,
+ const labeled_image<J>& model);
+
+
+
+ namespace make
+ {
+
+ template <typename I>
+ mln::labeled_image<I>
+ labeled_image(const Image<I>& ima, const mln_value(I)& nlabels);
+
+ } // end of namespace mln::make
+
+
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+
+ // internal::data< labeled_image<I> >
+
+ namespace internal
+ {
+
+
+ // data< labeled_image<I> >
+
+ template <typename I>
+ inline
+ data< labeled_image<I> >::data(const I& ima, const mln_value(I)& nlabels)
+ : ima_(ima), nlabels_(nlabels)
+ {
+ }
+
+ } // end of namespace mln::internal
+
+
+ template <typename I>
+ inline
+ labeled_image<I>::labeled_image()
+ {
+ }
+
+ template <typename I>
+ inline
+ labeled_image<I>::labeled_image(const I& ima, const mln_value(I)& nlabels)
+ {
+ init_(ima, nlabels);
+ }
+
+ template <typename I>
+ inline
+ void
+ labeled_image<I>::init_(const I& ima, const mln_value(I)& nlabels)
+ {
+ mln_precondition(level::compute(accu::meta::max(), ima) == nlabels);
+ this->data_ = new internal::data< labeled_image<I> >(ima, nlabels);
+ this->update_();
+ }
+
+ template <typename I>
+ inline
+ void
+ labeled_image<I>::init_from_(const labeled_image<I>& model)
+ {
+ this->data_
+ = new internal::data< labeled_image<I> >(duplicate(model.hook_data_()->ima_),
+ model.nlabels());
+ this->data_->bboxes_ = model.hook_data_()->bboxes_;
+ }
+
+ template <typename I>
+ template <typename F>
+ inline
+ void
+ labeled_image<I>::relabel(const Function_v2v<F>& f_)
+ {
+ const F& f = exact(f_);
+ labeling::relabel_inplace(this->data_->ima_, this->data_->nlabels_, f);
+
+ /// We MUST be sure that the labeling is contiguous in order to compute
+ /// attributes.
+ ///FIXME: do we want to be less restrictive?
+ pack_();
+
+ /// FIXME: could be highly improved: reorder the attributes according to
+ /// the function f.
+ this->update_();
+ }
+
+ template <typename I>
+ template <typename F>
+ inline
+ void
+ labeled_image<I>::relabel(const Function_v2b<F>& f_)
+ {
+ const F& f = exact(f_);
+ labeling::relabel_inplace(this->data_->ima_, this->data_->nlabels_, f);
+
+ /// FIXME: could be highly improved: reorder the attributes according to
+ /// the function f.
+ this->update_();
+ }
+
+ template <typename I>
+ inline
+ void
+ labeled_image<I>::pack_()
+ {
+ labeling::pack_inplace(this->data_->ima_, this->data_->nlabels_);
+
+ /// FIXME: could be highly improved: reorder the attributes according to
+ /// the way the labels are packed.
+ this->update_();
+ }
+
+
+ template <typename I>
+ inline
+ mln_value(I)
+ labeled_image<I>::nlabels() const
+ {
+ return this->data_->nlabels_;
+ }
+
+
+ // init_
+
+ template <typename I, typename J>
+ void init_(tag::image_t, labeled_image<I>& target,
+ const labeled_image<J>& model)
+ {
+ I ima;
+ init_(tag::image, ima, model);
+ target.init_(ima, model.nlabels());
+ }
+
+
+ template <typename I>
+ void
+ labeled_image<I>::update_()
+ {
+ this->data_->bboxes_
+ = labeling::compute(accu::meta::bbox(), this->data_->ima_,
+ this->data_->nlabels_);
+ }
+
+
+ template <typename I>
+ const typename labeled_image<I>::bbox_t&
+ labeled_image<I>::bbox(const mln_value(I)& label) const
+ {
+ return this->data_->bboxes_[label];
+ }
+
+
+// template <typename I, typename V, typename E>
+//// p_if<mln_psite(I)>
+// unsigned
+// extended_impl_selector<I,
+// accu::pair<accu::bbox<mln_psite(I)>,
+// accu::center<mln_psite(I),V> >,
+// E>::domain(const mln_value(I)& label) const
+// {
+// const E& ima = internal::force_exact<E>(*this);
+// return ((ima.hook_data_() | bbox(label))
+// | (pw::value(ima.hook_data_()) == pw::cst(label))).domain();
+// }
+
+
+ // Make routines.
+
+ namespace make
+ {
+
+ template <typename I>
+ mln::labeled_image<I>
+ labeled_image(const Image<I>& ima, const mln_value(I)& nlabels)
+ {
+ mln_precondition(exact(ima).is_valid());
+ mln::labeled_image<I> tmp(exact(ima), nlabels);
+ return tmp;
+ }
+
+ } // end of namespace mln::make
+
+
+# endif // ! MLN_INCLUDE_ONLY
+
+} // end of namespace mln
+
+
+#endif // ! MLN_CORE_IMAGE_IMORPH_LABELED_IMAGE_HH
diff --git a/milena/mln/trait/ch_value.hh b/milena/mln/trait/ch_value.hh
index 388520a..6e5caf1 100644
--- a/milena/mln/trait/ch_value.hh
+++ b/milena/mln/trait/ch_value.hh
@@ -52,6 +52,7 @@ namespace mln
template <typename G, typename F> class p_vertices;
template <typename P, typename V, typename G> class vertex_image;
template <typename P, typename V, typename G> class edge_image;
+ template <typename I> class labeled_image;
namespace pw { template <typename F, typename S> class image; }
@@ -207,6 +208,14 @@ namespace mln
typedef edge_image< P, V2, G > ret;
};
+ // Labeled image
+ template < typename I, typename V>
+ struct ch_value_< labeled_image< tag::image_<I> >,
+ V >
+ {
+ typedef mln_ch_value(I,V) ret;
+ };
+
template < template <class, class> class M, typename T, typename S,
typename V >
diff --git a/milena/tests/core/image/imorph/labeled_image.cc b/milena/tests/core/image/imorph/labeled_image.cc
new file mode 100644
index 0000000..e34692d
--- /dev/null
+++ b/milena/tests/core/image/imorph/labeled_image.cc
@@ -0,0 +1,110 @@
+// Copyright (C) 2009 EPITA Research and Development Laboratory
+// (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+/// \file tests/core/image/imorph/labeled_image.cc
+///
+/// Tests on mln::labeled_image.
+
+
+#include <mln/core/image/image2d.hh>
+#include <mln/core/image/imorph/labeled_image.hh>
+#include <mln/core/routine/duplicate.hh>
+
+#include <mln/make/image.hh>
+
+#include <mln/make/box2d.hh>
+
+#include <mln/value/label_8.hh>
+
+#include <mln/accu/pair.hh>
+#include <mln/accu/center.hh>
+#include <mln/accu/bbox.hh>
+
+
+static const unsigned bboxes_1[][4] = { { 1,1, 1,1 },
+ { 2,0, 2,1 },
+ { 0,0, 0,1 },
+ { 2,2, 2,2 } };
+
+
+static const unsigned bboxes_2[][4] = { { 1,1, 1,1 },
+ { 2,2, 2,2 },
+ { 2,0, 2,1 },
+ { 0,0, 0,1 } };
+
+
+
+
+namespace mln
+{
+
+ template <typename I>
+ void test_image(const labeled_image<I>& lbl_i,
+ const unsigned bboxes[][4])
+ {
+ unsigned j = 0;
+ for (unsigned i = 1; i < 5; ++i, ++j)
+ mln_assertion(lbl_i.bbox(i) == make::box2d(bboxes[j][0], bboxes[j][1],
+ bboxes[j][2], bboxes[j][3]));
+ }
+
+} // end of namespace mln
+
+
+
+
+int main()
+{
+ using namespace mln;
+ using value::label_8;
+
+
+ label_8 lbl_values[][3] = { { 3, 3, 0 },
+ { 0, 1, 0 },
+ { 2, 2, 4 } };
+
+ typedef image2d<label_8> lbl_t;
+ lbl_t lbl = make::image(lbl_values);
+
+ labeled_image<lbl_t> lbl_i(lbl, 4);
+
+
+ test_image(lbl_i, bboxes_1);
+
+ fun::i2v::array<label_8> f(5);
+ f(0) = 0;
+ f(1) = 1;
+ f(2) = 5;
+ f(3) = 9;
+ f(4) = 2;
+
+ lbl_i.relabel(f);
+
+ test_image(lbl_i, bboxes_2);
+
+}
--
1.5.6.5
1
0
* abraham/tests/core/image/fun_image_const.cc,
* abraham/tests/core/image/fun_image_norm.cc,
* abraham/tests/core/image/fun_image_v2v.cc,
* abraham/tests/core/image/thru_const.cc,
* abraham/tests/core/image/thru_norm.cc,
* abraham/tests/core/image/thru_v2v.cc,
* abraham/tests/core/image/thru_v2w2v.cc,
* abraham/tests/core/image/violent_cast_image.cc,
* abraham/tests/fun/meta/red.cc,
* abraham/tests/morpho/levelings.cc,
* abraham/tests/morpho/red_erosion.cc,
* abraham/tests/morpho/red_erosion3.cc,
* aroumougame/skeleton/sedt.hh,
* aroumougame/skeleton/test.cc,
* aroumougame/skeleton/test_image2d.cc,
* beguin/fusion_graph.hh,
* beguin/irm.cc,
* beguin/irm_g.cc,
* bugs/piter_slice.cc,
* bugs/piter_slice.solved.cc,
* delmon/minsurf/main.cc,
* duhamel/chamfer.cc,
* duhamel/color_sub.cc,
* duhamel/graph_labeling.hh,
* duhamel/labeling_algo.cc,
* duhamel/labeling_algo.hh,
* duhamel/main.cc,
* duhamel/main_mesh_image.cc,
* duhamel/slow_seed2tiling.cc,
* edwin/tests/sharp.cc,
* exec/histo_save.cc,
* fabien/bin/dump2pbm.cc,
* fabien/bin/dump_mask.cc,
* fabien/igr/fixed_seg/main.cc,
* fabien/igr/fun_labels.cc,
* fabien/igr/graph.cc,
* fabien/igr/label2gif.cc,
* fabien/igr/mat2mln/raw2mlndata.cc,
* fabien/igr/matlab.cc,
* fabien/igr/mean_slices.cc,
* fabien/igr/med.cc,
* fabien/igr/nbasins_finder.cc,
* fabien/igr/norm.cc,
* fabien/igr/plot_label.hh,
* fabien/igr/seg_fixed.cc,
* fabien/igr/smooth_fixed_seg/main.cc,
* fabien/igr/space_smooth/linear.cc,
* fabien/igr/space_smooth/median.cc,
* fabien/igr/space_smooth/morpho.cc,
* fabien/igr/thres.cc,
* fabien/igr/time_max.cc,
* fabien/igr/time_max_norm.cc,
* fabien/igr/time_smooth/linear.cc,
* fabien/igr/time_smooth/median.cc,
* fabien/igr/time_smooth/morpho.cc,
* fabien/igr/watershed.hh,
* fabien/igr/watershed2d.cc,
* fabien/igr/watershed3d.cc,
* folio/test/dt/dt.cc,
* folio/test/dt/dt_bench.cc,
* folio/test/dt/dt_maze.cc,
* folio/test/dt/psn.cc,
* folio/test/dt/psn_log.cc,
* folio/test/histo/projected3d.cc,
* fred/tests/thru.cc,
* garrigues/fllt/essai.cc,
* garrigues/fllt/fllt.hh,
* garrigues/fllt/fllt_simple.cc,
* garrigues/fllt/fllt_simple.svg.1.cc,
* garrigues/fllt/fllt_simple.svg.2.cc,
* garrigues/fllt/fllt_simple.svg.3.cc,
* garrigues/fllt/fllt_theo.cc,
* garrigues/fllt/test.cc,
* garrigues/level_set.hh,
* garrigues/tiled_image2d/tiled_image2d.cc,
* garrigues/union_find/self_dual_reconstruction.hh,
* icdar/2009/dibco/binarization.cc,
* icdar/2009/dibco/quasi.cc,
* icdar/2009/dibco/svg.1.binarization.cc,
* icdar/2009/dibco/svg.2.binarization.cc,
* icdar/2009/dibco/svg.3.binarization.cc,
* icdar/2009/hsc/clean_lines.hh,
* icdar/2009/hsc/clean_lines_with_grouped_bboxes.hh,
* icdar/2009/hsc/first_attempts/exec/iz_lines.cc,
* icdar/2009/hsc/first_attempts/exec/relabel_lines.cc,
* icdar/2009/hsc/first_attempts/main.cc,
* icdar/2009/hsc/get_line_images.hh,
* icdar/2009/hsc/input_lines_to_lines.cc,
* icdar/2009/hsc/input_to_lines.hh,
* icdar/2009/hsc/input_to_ws.hh,
* icdar/2009/hsc/lines_to_boxes.cc,
* icdar/2009/hsc/old_input_to_lines.cc,
* icdar/2009/hsc/ws_to_wsl.hh,
* inim/2009/color/laplacien.cc,
* inim/2009/color/min_tree_area_filter.cc,
* inim/2009/color/min_tree_color.cc,
* inim/2009/color/min_tree_color_v2.cc,
* inim/2009/color/min_tree_height_filter.cc,
* inim/2009/color/min_tree_volume_filter.cc,
* inim/2009/color/reference.cc,
* inim/2009/color/reference2.cc,
* inim/2009/nature/histo_hsi.cc,
* inim/2009/nature/mco.cc,
* inim/2009/nature/nature.cc,
* inim/2009/nature/proj.cc,
* inim/2009/ocr/Makefile,
* inim/2009/ocr/ocr_with_preprocess.cc,
* inim/2009/ocr/ocr_without_preprocess.cc,
* inim/2009/ocr/skeleton.hh,
* inim/2009/ocr/skeleton.old.cc,
* inim/2010/cag/superpose.hh,
* inim/2010/rag/rag.hh,
* inim/2011/fredwin/inim.cc,
* jardonnet/n_cmpt/fused_filter.cc,
* jardonnet/n_cmpt/n_cmpt5.hh,
* jardonnet/test/big_chess.cc,
* jardonnet/test/registration.cc,
* jardonnet/virtual/access.cc,
* laurent/ismm2009.hh,
* laurent/memo/ismm2009.v0.cc,
* lazzara/igr/igr-biggest-comp.cc,
* lazzara/igr/igr-cloud.cc,
* lazzara/igr/igr.cc,
* lazzara/igr/irm/grad_clo_and_wshd.cc,
* lazzara/igr/irm/hsl_grad_and_wst.cc,
* lazzara/igr/irm_seg_with_mm_and_rag.mine.cc,
* lazzara/igr/tr_image.cc,
* nivault/extract_character.cc,
* nivault/extract_score.cc,
* nivault/median.hh,
* nivault/rotation.cc,
* theo/color/filter_blen_rgb_edges.cc,
* theo/color/filter_meandist_rgb_pixels.cc,
* theo/color/segment_gl_pixels.cc,
* theo/color/segment_rgb_edges.cc,
* theo/color/segment_rgb_pixels.cc,
* theo/cs2d/cs2d.hh,
* theo/cs2d/kruskal.cc,
* theo/cs2d/tuto.cc,
* theo/esiee/laurent/ismm09/cplx2d.hh,
* theo/esiee/laurent/presentation/wst_edge.cc,
* theo/exec/superpose.cc,
* theo/experimental/projected_histo.cc,
* theo/fllt.svg.6.cc,
* theo/fllt.svg.7.hh,
* theo/fllt/fllt.hh,
* theo/fllt/fllt.svg.3.cc,
* theo/fllt/fllt.svg.4.cc,
* theo/fllt/fllt.svg.5.cc,
* theo/fllt/fllt.svg.6.cc,
* theo/fllt/fllt.svg.7.hh,
* theo/fllt/fllt_test.hh,
* theo/igr/dump_to_dist.cc,
* theo/igr/irm_seg_with_mm_and_rag.cc,
* theo/publis/icip2009/compute_a.cc,
* vigouroux/color/rgb_to_cmy.hh,
* vigouroux/color/rgb_to_hsi.hh,
* vigouroux/color/rgb_to_xyz.hh,
* vigouroux/color/rgb_to_yuv.hh,
* vigouroux/tests.cc: update image includes.
---
milena/sandbox/ChangeLog | 169 ++++++++++++++++++++
.../abraham/tests/core/image/fun_image_const.cc | 5 +-
.../abraham/tests/core/image/fun_image_norm.cc | 5 +-
.../abraham/tests/core/image/fun_image_v2v.cc | 5 +-
.../sandbox/abraham/tests/core/image/thru_const.cc | 3 +-
.../sandbox/abraham/tests/core/image/thru_norm.cc | 5 +-
.../sandbox/abraham/tests/core/image/thru_v2v.cc | 3 +-
.../sandbox/abraham/tests/core/image/thru_v2w2v.cc | 3 +-
.../abraham/tests/core/image/violent_cast_image.cc | 5 +-
milena/sandbox/abraham/tests/fun/meta/red.cc | 2 +-
milena/sandbox/abraham/tests/morpho/levelings.cc | 4 +-
milena/sandbox/abraham/tests/morpho/red_erosion.cc | 2 +-
.../sandbox/abraham/tests/morpho/red_erosion3.cc | 4 +-
milena/sandbox/aroumougame/skeleton/sedt.hh | 2 +-
milena/sandbox/aroumougame/skeleton/test.cc | 2 +-
.../sandbox/aroumougame/skeleton/test_image2d.cc | 2 +-
milena/sandbox/beguin/fusion_graph.hh | 2 +-
milena/sandbox/beguin/irm.cc | 2 +-
milena/sandbox/beguin/irm_g.cc | 2 +-
milena/sandbox/bugs/piter_slice.cc | 2 +-
milena/sandbox/bugs/piter_slice.solved.cc | 2 +-
milena/sandbox/delmon/minsurf/main.cc | 2 +-
milena/sandbox/duhamel/chamfer.cc | 2 +-
milena/sandbox/duhamel/color_sub.cc | 4 +-
milena/sandbox/duhamel/graph_labeling.hh | 2 +-
milena/sandbox/duhamel/labeling_algo.cc | 2 +-
milena/sandbox/duhamel/labeling_algo.hh | 2 +-
milena/sandbox/duhamel/main.cc | 2 +-
milena/sandbox/duhamel/main_mesh_image.cc | 2 +-
milena/sandbox/duhamel/slow_seed2tiling.cc | 4 +-
milena/sandbox/edwin/tests/sharp.cc | 2 +-
milena/sandbox/exec/histo_save.cc | 2 +-
milena/sandbox/fabien/bin/dump2pbm.cc | 2 +-
milena/sandbox/fabien/bin/dump_mask.cc | 2 +-
milena/sandbox/fabien/igr/fixed_seg/main.cc | 4 +-
milena/sandbox/fabien/igr/fun_labels.cc | 4 +-
milena/sandbox/fabien/igr/graph.cc | 2 +-
milena/sandbox/fabien/igr/label2gif.cc | 4 +-
milena/sandbox/fabien/igr/mat2mln/raw2mlndata.cc | 2 +-
milena/sandbox/fabien/igr/matlab.cc | 6 +-
milena/sandbox/fabien/igr/mean_slices.cc | 4 +-
milena/sandbox/fabien/igr/med.cc | 2 +-
milena/sandbox/fabien/igr/nbasins_finder.cc | 2 +-
milena/sandbox/fabien/igr/norm.cc | 2 +-
milena/sandbox/fabien/igr/plot_label.hh | 4 +-
milena/sandbox/fabien/igr/smooth_fixed_seg/main.cc | 4 +-
milena/sandbox/fabien/igr/space_smooth/linear.cc | 6 +-
milena/sandbox/fabien/igr/space_smooth/median.cc | 6 +-
milena/sandbox/fabien/igr/space_smooth/morpho.cc | 6 +-
milena/sandbox/fabien/igr/thres.cc | 2 +-
milena/sandbox/fabien/igr/time_max.cc | 6 +-
milena/sandbox/fabien/igr/time_max_norm.cc | 6 +-
milena/sandbox/fabien/igr/time_smooth/linear.cc | 6 +-
milena/sandbox/fabien/igr/time_smooth/median.cc | 6 +-
milena/sandbox/fabien/igr/time_smooth/morpho.cc | 6 +-
milena/sandbox/fabien/igr/watershed.hh | 2 +-
milena/sandbox/fabien/igr/watershed2d.cc | 2 +-
milena/sandbox/fabien/igr/watershed3d.cc | 2 +-
milena/sandbox/fabien/level.cc | 2 +-
milena/sandbox/folio/mln/dt/dt_old/dt.cc | 4 +-
milena/sandbox/folio/mln/dt/dt_old/psn.cc | 7 +-
milena/sandbox/folio/mln/dt/dt_old/psn_log.cc | 8 +-
milena/sandbox/folio/test/dt/dt.cc | 4 +-
milena/sandbox/folio/test/dt/dt_bench.cc | 4 +-
milena/sandbox/folio/test/dt/dt_maze.cc | 4 +-
milena/sandbox/folio/test/dt/psn.cc | 7 +-
milena/sandbox/folio/test/dt/psn_log.cc | 8 +-
milena/sandbox/folio/test/histo/projected3d.cc | 4 +-
milena/sandbox/fred/tests/thru.cc | 6 +-
milena/sandbox/garrigues/fllt/essai.cc | 2 +-
milena/sandbox/garrigues/fllt/fllt.hh | 4 +-
milena/sandbox/garrigues/fllt/fllt_simple.cc | 4 +-
milena/sandbox/garrigues/fllt/fllt_simple.svg.1.cc | 4 +-
milena/sandbox/garrigues/fllt/fllt_simple.svg.2.cc | 4 +-
milena/sandbox/garrigues/fllt/fllt_simple.svg.3.cc | 4 +-
milena/sandbox/garrigues/fllt/fllt_theo.cc | 2 +-
milena/sandbox/garrigues/fllt/test.cc | 2 +-
milena/sandbox/garrigues/level_set.hh | 4 +-
.../garrigues/tiled_image2d/tiled_image2d.cc | 2 +-
.../union_find/self_dual_reconstruction.hh | 2 +-
milena/sandbox/icdar/2009/dibco/binarization.cc | 2 +-
milena/sandbox/icdar/2009/dibco/quasi.cc | 2 +-
.../sandbox/icdar/2009/dibco/svg.1.binarization.cc | 2 +-
.../sandbox/icdar/2009/dibco/svg.2.binarization.cc | 2 +-
.../sandbox/icdar/2009/dibco/svg.3.binarization.cc | 2 +-
milena/sandbox/icdar/2009/hsc/clean_lines.hh | 2 +-
.../2009/hsc/clean_lines_with_grouped_bboxes.hh | 2 +-
.../icdar/2009/hsc/first_attempts/exec/iz_lines.cc | 2 +-
.../2009/hsc/first_attempts/exec/relabel_lines.cc | 2 +-
.../sandbox/icdar/2009/hsc/first_attempts/main.cc | 2 +-
milena/sandbox/icdar/2009/hsc/get_line_images.hh | 4 +-
.../sandbox/icdar/2009/hsc/input_lines_to_lines.cc | 2 +-
milena/sandbox/icdar/2009/hsc/input_to_lines.hh | 2 +-
milena/sandbox/icdar/2009/hsc/input_to_ws.hh | 2 +-
milena/sandbox/icdar/2009/hsc/lines_to_boxes.cc | 2 +-
.../sandbox/icdar/2009/hsc/old_input_to_lines.cc | 2 +-
milena/sandbox/icdar/2009/hsc/ws_to_wsl.hh | 2 +-
milena/sandbox/inim/2009/color/laplacien.cc | 2 +-
.../inim/2009/color/min_tree_area_filter.cc | 4 +-
milena/sandbox/inim/2009/color/min_tree_color.cc | 4 +-
.../sandbox/inim/2009/color/min_tree_color_v2.cc | 4 +-
.../inim/2009/color/min_tree_height_filter.cc | 4 +-
.../inim/2009/color/min_tree_volume_filter.cc | 4 +-
milena/sandbox/inim/2009/color/reference.cc | 4 +-
milena/sandbox/inim/2009/color/reference2.cc | 4 +-
milena/sandbox/inim/2009/nature/histo_hsi.cc | 2 +-
milena/sandbox/inim/2009/nature/mco.cc | 2 +-
milena/sandbox/inim/2009/nature/nature.cc | 2 +-
milena/sandbox/inim/2009/nature/proj.cc | 2 +-
milena/sandbox/inim/2009/ocr/Makefile | 2 +-
.../sandbox/inim/2009/ocr/ocr_with_preprocess.cc | 5 +-
.../inim/2009/ocr/ocr_without_preprocess.cc | 2 +-
milena/sandbox/inim/2009/ocr/skeleton.hh | 6 +-
milena/sandbox/inim/2009/ocr/skeleton.old.cc | 2 +-
milena/sandbox/inim/2010/cag/superpose.hh | 2 +-
milena/sandbox/inim/2010/rag/rag.hh | 2 +-
milena/sandbox/inim/2011/fredwin/inim.cc | 2 +-
milena/sandbox/jardonnet/n_cmpt/fused_filter.cc | 2 +-
milena/sandbox/jardonnet/n_cmpt/n_cmpt5.hh | 2 +-
milena/sandbox/jardonnet/test/big_chess.cc | 4 +-
milena/sandbox/jardonnet/test/registration.cc | 2 +-
milena/sandbox/jardonnet/virtual/access.cc | 4 +-
milena/sandbox/laurent/ismm2009.hh | 2 +-
milena/sandbox/laurent/memo/ismm2009.v0.cc | 2 +-
milena/sandbox/lazzara/igr/igr-biggest-comp.cc | 6 +-
milena/sandbox/lazzara/igr/igr-cloud.cc | 6 +-
milena/sandbox/lazzara/igr/igr.cc | 6 +-
.../sandbox/lazzara/igr/irm/grad_clo_and_wshd.cc | 2 +-
milena/sandbox/lazzara/igr/irm/hsl_grad_and_wst.cc | 2 +-
.../lazzara/igr/irm_seg_with_mm_and_rag.mine.cc | 6 +-
milena/sandbox/lazzara/igr/tr_image.cc | 4 +-
milena/sandbox/nivault/extract_character.cc | 2 +-
milena/sandbox/nivault/extract_score.cc | 2 +-
milena/sandbox/nivault/median.hh | 2 +-
milena/sandbox/nivault/rotation.cc | 2 +-
milena/sandbox/theo/color/filter_blen_rgb_edges.cc | 2 +-
.../theo/color/filter_meandist_rgb_pixels.cc | 2 +-
milena/sandbox/theo/color/segment_gl_pixels.cc | 2 +-
milena/sandbox/theo/color/segment_rgb_edges.cc | 2 +-
milena/sandbox/theo/color/segment_rgb_pixels.cc | 2 +-
milena/sandbox/theo/cs2d/cs2d.hh | 2 +-
milena/sandbox/theo/cs2d/kruskal.cc | 4 +-
milena/sandbox/theo/cs2d/tuto.cc | 2 +-
milena/sandbox/theo/esiee/laurent/ismm09/cplx2d.hh | 2 +-
.../theo/esiee/laurent/presentation/wst_edge.cc | 4 +-
milena/sandbox/theo/exec/superpose.cc | 2 +-
.../sandbox/theo/experimental/projected_histo.cc | 4 +-
milena/sandbox/theo/fllt.svg.6.cc | 4 +-
milena/sandbox/theo/fllt.svg.7.hh | 4 +-
milena/sandbox/theo/fllt/fllt.hh | 4 +-
milena/sandbox/theo/fllt/fllt.svg.3.cc | 2 +-
milena/sandbox/theo/fllt/fllt.svg.4.cc | 2 +-
milena/sandbox/theo/fllt/fllt.svg.5.cc | 2 +-
milena/sandbox/theo/fllt/fllt.svg.6.cc | 4 +-
milena/sandbox/theo/fllt/fllt.svg.7.hh | 4 +-
milena/sandbox/theo/fllt/fllt_test.hh | 4 +-
milena/sandbox/theo/igr/dump_to_dist.cc | 2 +-
milena/sandbox/theo/igr/irm_seg_with_mm_and_rag.cc | 2 +-
milena/sandbox/theo/publis/icip2009/compute_a.cc | 2 +-
milena/sandbox/vigouroux/color/rgb_to_cmy.hh | 2 +-
milena/sandbox/vigouroux/color/rgb_to_hsi.hh | 2 +-
milena/sandbox/vigouroux/color/rgb_to_xyz.hh | 2 +-
milena/sandbox/vigouroux/color/rgb_to_yuv.hh | 2 +-
milena/sandbox/vigouroux/tests.cc | 2 +-
164 files changed, 431 insertions(+), 249 deletions(-)
diff --git a/milena/sandbox/ChangeLog b/milena/sandbox/ChangeLog
index 40309a4..6123dcf 100644
--- a/milena/sandbox/ChangeLog
+++ b/milena/sandbox/ChangeLog
@@ -1,3 +1,172 @@
+2009-05-28 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+
+ Update image includes in sandbox.
+
+ * abraham/tests/core/image/fun_image_const.cc,
+ * abraham/tests/core/image/fun_image_norm.cc,
+ * abraham/tests/core/image/fun_image_v2v.cc,
+ * abraham/tests/core/image/thru_const.cc,
+ * abraham/tests/core/image/thru_norm.cc,
+ * abraham/tests/core/image/thru_v2v.cc,
+ * abraham/tests/core/image/thru_v2w2v.cc,
+ * abraham/tests/core/image/violent_cast_image.cc,
+ * abraham/tests/fun/meta/red.cc,
+ * abraham/tests/morpho/levelings.cc,
+ * abraham/tests/morpho/red_erosion.cc,
+ * abraham/tests/morpho/red_erosion3.cc,
+ * aroumougame/skeleton/sedt.hh,
+ * aroumougame/skeleton/test.cc,
+ * aroumougame/skeleton/test_image2d.cc,
+ * beguin/fusion_graph.hh,
+ * beguin/irm.cc,
+ * beguin/irm_g.cc,
+ * bugs/piter_slice.cc,
+ * bugs/piter_slice.solved.cc,
+ * delmon/minsurf/main.cc,
+ * duhamel/chamfer.cc,
+ * duhamel/color_sub.cc,
+ * duhamel/graph_labeling.hh,
+ * duhamel/labeling_algo.cc,
+ * duhamel/labeling_algo.hh,
+ * duhamel/main.cc,
+ * duhamel/main_mesh_image.cc,
+ * duhamel/slow_seed2tiling.cc,
+ * edwin/tests/sharp.cc,
+ * exec/histo_save.cc,
+ * fabien/bin/dump2pbm.cc,
+ * fabien/bin/dump_mask.cc,
+ * fabien/igr/fixed_seg/main.cc,
+ * fabien/igr/fun_labels.cc,
+ * fabien/igr/graph.cc,
+ * fabien/igr/label2gif.cc,
+ * fabien/igr/mat2mln/raw2mlndata.cc,
+ * fabien/igr/matlab.cc,
+ * fabien/igr/mean_slices.cc,
+ * fabien/igr/med.cc,
+ * fabien/igr/nbasins_finder.cc,
+ * fabien/igr/norm.cc,
+ * fabien/igr/plot_label.hh,
+ * fabien/igr/seg_fixed.cc,
+ * fabien/igr/smooth_fixed_seg/main.cc,
+ * fabien/igr/space_smooth/linear.cc,
+ * fabien/igr/space_smooth/median.cc,
+ * fabien/igr/space_smooth/morpho.cc,
+ * fabien/igr/thres.cc,
+ * fabien/igr/time_max.cc,
+ * fabien/igr/time_max_norm.cc,
+ * fabien/igr/time_smooth/linear.cc,
+ * fabien/igr/time_smooth/median.cc,
+ * fabien/igr/time_smooth/morpho.cc,
+ * fabien/igr/watershed.hh,
+ * fabien/igr/watershed2d.cc,
+ * fabien/igr/watershed3d.cc,
+ * fabien/level.cc,
+ * folio/mln/dt/dt_old/dt.cc,
+ * folio/mln/dt/dt_old/psn.cc,
+ * folio/mln/dt/dt_old/psn_log.cc,
+ * folio/test/dt/dt.cc,
+ * folio/test/dt/dt_bench.cc,
+ * folio/test/dt/dt_maze.cc,
+ * folio/test/dt/psn.cc,
+ * folio/test/dt/psn_log.cc,
+ * folio/test/histo/projected3d.cc,
+ * fred/tests/thru.cc,
+ * garrigues/fllt/essai.cc,
+ * garrigues/fllt/fllt.hh,
+ * garrigues/fllt/fllt_simple.cc,
+ * garrigues/fllt/fllt_simple.svg.1.cc,
+ * garrigues/fllt/fllt_simple.svg.2.cc,
+ * garrigues/fllt/fllt_simple.svg.3.cc,
+ * garrigues/fllt/fllt_theo.cc,
+ * garrigues/fllt/test.cc,
+ * garrigues/level_set.hh,
+ * garrigues/tiled_image2d/tiled_image2d.cc,
+ * garrigues/union_find/self_dual_reconstruction.hh,
+ * icdar/2009/dibco/binarization.cc,
+ * icdar/2009/dibco/quasi.cc,
+ * icdar/2009/dibco/svg.1.binarization.cc,
+ * icdar/2009/dibco/svg.2.binarization.cc,
+ * icdar/2009/dibco/svg.3.binarization.cc,
+ * icdar/2009/hsc/clean_lines.hh,
+ * icdar/2009/hsc/clean_lines_with_grouped_bboxes.hh,
+ * icdar/2009/hsc/first_attempts/exec/iz_lines.cc,
+ * icdar/2009/hsc/first_attempts/exec/relabel_lines.cc,
+ * icdar/2009/hsc/first_attempts/main.cc,
+ * icdar/2009/hsc/get_line_images.hh,
+ * icdar/2009/hsc/input_lines_to_lines.cc,
+ * icdar/2009/hsc/input_to_lines.hh,
+ * icdar/2009/hsc/input_to_ws.hh,
+ * icdar/2009/hsc/lines_to_boxes.cc,
+ * icdar/2009/hsc/old_input_to_lines.cc,
+ * icdar/2009/hsc/ws_to_wsl.hh,
+ * inim/2009/color/laplacien.cc,
+ * inim/2009/color/min_tree_area_filter.cc,
+ * inim/2009/color/min_tree_color.cc,
+ * inim/2009/color/min_tree_color_v2.cc,
+ * inim/2009/color/min_tree_height_filter.cc,
+ * inim/2009/color/min_tree_volume_filter.cc,
+ * inim/2009/color/reference.cc,
+ * inim/2009/color/reference2.cc,
+ * inim/2009/nature/histo_hsi.cc,
+ * inim/2009/nature/mco.cc,
+ * inim/2009/nature/nature.cc,
+ * inim/2009/nature/proj.cc,
+ * inim/2009/ocr/Makefile,
+ * inim/2009/ocr/ocr_with_preprocess.cc,
+ * inim/2009/ocr/ocr_without_preprocess.cc,
+ * inim/2009/ocr/skeleton.hh,
+ * inim/2009/ocr/skeleton.old.cc,
+ * inim/2010/cag/superpose.hh,
+ * inim/2010/rag/rag.hh,
+ * inim/2011/fredwin/inim.cc,
+ * jardonnet/n_cmpt/fused_filter.cc,
+ * jardonnet/n_cmpt/n_cmpt5.hh,
+ * jardonnet/test/big_chess.cc,
+ * jardonnet/test/registration.cc,
+ * jardonnet/virtual/access.cc,
+ * laurent/ismm2009.hh,
+ * laurent/memo/ismm2009.v0.cc,
+ * lazzara/igr/igr-biggest-comp.cc,
+ * lazzara/igr/igr-cloud.cc,
+ * lazzara/igr/igr.cc,
+ * lazzara/igr/irm/grad_clo_and_wshd.cc,
+ * lazzara/igr/irm/hsl_grad_and_wst.cc,
+ * lazzara/igr/irm_seg_with_mm_and_rag.mine.cc,
+ * lazzara/igr/tr_image.cc,
+ * nivault/extract_character.cc,
+ * nivault/extract_score.cc,
+ * nivault/median.hh,
+ * nivault/rotation.cc,
+ * theo/color/filter_blen_rgb_edges.cc,
+ * theo/color/filter_meandist_rgb_pixels.cc,
+ * theo/color/segment_gl_pixels.cc,
+ * theo/color/segment_rgb_edges.cc,
+ * theo/color/segment_rgb_pixels.cc,
+ * theo/cs2d/cs2d.hh,
+ * theo/cs2d/kruskal.cc,
+ * theo/cs2d/tuto.cc,
+ * theo/esiee/laurent/ismm09/cplx2d.hh,
+ * theo/esiee/laurent/presentation/wst_edge.cc,
+ * theo/exec/superpose.cc,
+ * theo/experimental/projected_histo.cc,
+ * theo/fllt.svg.6.cc,
+ * theo/fllt.svg.7.hh,
+ * theo/fllt/fllt.hh,
+ * theo/fllt/fllt.svg.3.cc,
+ * theo/fllt/fllt.svg.4.cc,
+ * theo/fllt/fllt.svg.5.cc,
+ * theo/fllt/fllt.svg.6.cc,
+ * theo/fllt/fllt.svg.7.hh,
+ * theo/fllt/fllt_test.hh,
+ * theo/igr/dump_to_dist.cc,
+ * theo/igr/irm_seg_with_mm_and_rag.cc,
+ * theo/publis/icip2009/compute_a.cc,
+ * vigouroux/color/rgb_to_cmy.hh,
+ * vigouroux/color/rgb_to_hsi.hh,
+ * vigouroux/color/rgb_to_xyz.hh,
+ * vigouroux/color/rgb_to_yuv.hh,
+ * vigouroux/tests.cc: update image includes.
+
2009-05-27 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Create tools for processing chain on edge images.
diff --git a/milena/sandbox/abraham/tests/core/image/fun_image_const.cc b/milena/sandbox/abraham/tests/core/image/fun_image_const.cc
index d0bf643..307b778 100644
--- a/milena/sandbox/abraham/tests/core/image/fun_image_const.cc
+++ b/milena/sandbox/abraham/tests/core/image/fun_image_const.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -26,7 +27,7 @@
// Public License.
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/fun_image.hh>
+# include <mln/core/image/dmorph/fun_image.hh>
# include <mln/fun/v2w2v/cos.hh>
int main ()
diff --git a/milena/sandbox/abraham/tests/core/image/fun_image_norm.cc b/milena/sandbox/abraham/tests/core/image/fun_image_norm.cc
index 1da57a6..4058f9d 100644
--- a/milena/sandbox/abraham/tests/core/image/fun_image_norm.cc
+++ b/milena/sandbox/abraham/tests/core/image/fun_image_norm.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -30,7 +31,7 @@
# include <mln/fun/v2w_w2v/norm.hh>
# include <mln/algebra/vec.hh>
# include <mln/data/fill.hh>
-# include <mln/core/image/violent_cast_image.hh>
+# include <mln/core/image/vmorph/violent_cast_image.hh>
#include <mln/morpho/erosion.hh>
diff --git a/milena/sandbox/abraham/tests/core/image/fun_image_v2v.cc b/milena/sandbox/abraham/tests/core/image/fun_image_v2v.cc
index 948a25b..2ff772c 100644
--- a/milena/sandbox/abraham/tests/core/image/fun_image_v2v.cc
+++ b/milena/sandbox/abraham/tests/core/image/fun_image_v2v.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -26,7 +27,7 @@
// Public License.
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/fun_image.hh>
+# include <mln/core/image/dmorph/fun_image.hh>
# include <mln/fun/v2v/abs.hh>
int main ()
diff --git a/milena/sandbox/abraham/tests/core/image/thru_const.cc b/milena/sandbox/abraham/tests/core/image/thru_const.cc
index 7079e3c..0670246 100644
--- a/milena/sandbox/abraham/tests/core/image/thru_const.cc
+++ b/milena/sandbox/abraham/tests/core/image/thru_const.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/milena/sandbox/abraham/tests/core/image/thru_norm.cc b/milena/sandbox/abraham/tests/core/image/thru_norm.cc
index c23ea22..8d372d4 100644
--- a/milena/sandbox/abraham/tests/core/image/thru_norm.cc
+++ b/milena/sandbox/abraham/tests/core/image/thru_norm.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -30,7 +31,7 @@
# include <mln/fun/v2w_w2v/norm.hh>
# include <mln/algebra/vec.hh>
# include <mln/data/fill.hh>
-# include <mln/core/image/violent_cast_image.hh>
+# include <mln/core/image/vmorph/violent_cast_image.hh>
int main ()
diff --git a/milena/sandbox/abraham/tests/core/image/thru_v2v.cc b/milena/sandbox/abraham/tests/core/image/thru_v2v.cc
index ec0a88e..7343606 100644
--- a/milena/sandbox/abraham/tests/core/image/thru_v2v.cc
+++ b/milena/sandbox/abraham/tests/core/image/thru_v2v.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/milena/sandbox/abraham/tests/core/image/thru_v2w2v.cc b/milena/sandbox/abraham/tests/core/image/thru_v2w2v.cc
index 854eb16..2e88c07 100644
--- a/milena/sandbox/abraham/tests/core/image/thru_v2w2v.cc
+++ b/milena/sandbox/abraham/tests/core/image/thru_v2w2v.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/milena/sandbox/abraham/tests/core/image/violent_cast_image.cc b/milena/sandbox/abraham/tests/core/image/violent_cast_image.cc
index 2d510ed..3c0ff93 100644
--- a/milena/sandbox/abraham/tests/core/image/violent_cast_image.cc
+++ b/milena/sandbox/abraham/tests/core/image/violent_cast_image.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -26,7 +27,7 @@
// Public License.
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/violent_cast_image.hh>
+# include <mln/core/image/vmorph/violent_cast_image.hh>
int main ()
{
diff --git a/milena/sandbox/abraham/tests/fun/meta/red.cc b/milena/sandbox/abraham/tests/fun/meta/red.cc
index 963d983..6b8559d 100644
--- a/milena/sandbox/abraham/tests/fun/meta/red.cc
+++ b/milena/sandbox/abraham/tests/fun/meta/red.cc
@@ -1,6 +1,6 @@
#include <mln/fun/meta/red.hh>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/fun_image.hh>
+#include <mln/core/image/dmorph/fun_image.hh>
namespace mln
{
diff --git a/milena/sandbox/abraham/tests/morpho/levelings.cc b/milena/sandbox/abraham/tests/morpho/levelings.cc
index 211cd63..798c11f 100644
--- a/milena/sandbox/abraham/tests/morpho/levelings.cc
+++ b/milena/sandbox/abraham/tests/morpho/levelings.cc
@@ -8,8 +8,8 @@
#include <mln/fun/meta/red.hh>
#include <mln/value/rgb8.hh>
#include <mln/value/mixin.hh>
-#include <mln/core/image/fun_image.hh>
-#include <mln/core/image/violent_cast_image.hh>
+#include <mln/core/image/dmorph/fun_image.hh>
+#include <mln/core/image/vmorph/violent_cast_image.hh>
int main (int argc, const char * argv[])
{
diff --git a/milena/sandbox/abraham/tests/morpho/red_erosion.cc b/milena/sandbox/abraham/tests/morpho/red_erosion.cc
index 13ca3fc..768e0ab 100644
--- a/milena/sandbox/abraham/tests/morpho/red_erosion.cc
+++ b/milena/sandbox/abraham/tests/morpho/red_erosion.cc
@@ -5,7 +5,7 @@
#include <mln/morpho/erosion.hh>
#include <mln/fun/meta/red.hh>
#include <mln/value/rgb8.hh>
-#include <mln/core/image/fun_image.hh>
+#include <mln/core/image/dmorph/fun_image.hh>
int main (int argc, const char * argv[])
{
diff --git a/milena/sandbox/abraham/tests/morpho/red_erosion3.cc b/milena/sandbox/abraham/tests/morpho/red_erosion3.cc
index 252ccd6..ccfb58f 100644
--- a/milena/sandbox/abraham/tests/morpho/red_erosion3.cc
+++ b/milena/sandbox/abraham/tests/morpho/red_erosion3.cc
@@ -6,8 +6,8 @@
#include <mln/fun/meta/red.hh>
#include <mln/value/rgb8.hh>
#include <mln/value/mixin.hh>
-#include <mln/core/image/fun_image.hh>
-#include <mln/core/image/violent_cast_image.hh>
+#include <mln/core/image/dmorph/fun_image.hh>
+#include <mln/core/image/vmorph/violent_cast_image.hh>
namespace mln
{
diff --git a/milena/sandbox/aroumougame/skeleton/sedt.hh b/milena/sandbox/aroumougame/skeleton/sedt.hh
index 9a224ab..4368790 100644
--- a/milena/sandbox/aroumougame/skeleton/sedt.hh
+++ b/milena/sandbox/aroumougame/skeleton/sedt.hh
@@ -5,7 +5,7 @@
#include <mln/math/min.hh>
#include <mln/math/sqr.hh>
# include <mln/value/int_u.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/io/pgm/save.hh>
#include <mln/io/pbm/save.hh>
#include <mln/io/pbm/load.hh>
diff --git a/milena/sandbox/aroumougame/skeleton/test.cc b/milena/sandbox/aroumougame/skeleton/test.cc
index bd58317..90a39db 100644
--- a/milena/sandbox/aroumougame/skeleton/test.cc
+++ b/milena/sandbox/aroumougame/skeleton/test.cc
@@ -3,7 +3,7 @@
#include "thinning.hh"
#include <mln/data/paste.hh>
#include <mln/data/fill.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/io/pgm/save.hh>
#include <mln/io/pbm/save.hh>
#include <mln/io/pbm/load.hh>
diff --git a/milena/sandbox/aroumougame/skeleton/test_image2d.cc b/milena/sandbox/aroumougame/skeleton/test_image2d.cc
index b83bed8..8d19fb0 100755
--- a/milena/sandbox/aroumougame/skeleton/test_image2d.cc
+++ b/milena/sandbox/aroumougame/skeleton/test_image2d.cc
@@ -1,6 +1,6 @@
#include "thinning.hh"
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/io/pbm/save.hh>
#include <mln/io/pbm/load.hh>
#include <mln/data/paste.hh>
diff --git a/milena/sandbox/beguin/fusion_graph.hh b/milena/sandbox/beguin/fusion_graph.hh
index f0b3b3f..39fcff2 100644
--- a/milena/sandbox/beguin/fusion_graph.hh
+++ b/milena/sandbox/beguin/fusion_graph.hh
@@ -11,7 +11,7 @@
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/alias/window2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/win/rectangle2d.hh>
//#include "map.hh"
diff --git a/milena/sandbox/beguin/irm.cc b/milena/sandbox/beguin/irm.cc
index 7ba074d..7dfb874 100644
--- a/milena/sandbox/beguin/irm.cc
+++ b/milena/sandbox/beguin/irm.cc
@@ -12,7 +12,7 @@
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/alias/window2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/win/rectangle2d.hh>
#include <mln/io/pgm/load.hh>
diff --git a/milena/sandbox/beguin/irm_g.cc b/milena/sandbox/beguin/irm_g.cc
index 844d7fc..e7015fb 100644
--- a/milena/sandbox/beguin/irm_g.cc
+++ b/milena/sandbox/beguin/irm_g.cc
@@ -7,7 +7,7 @@
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/alias/window2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/win/rectangle2d.hh>
#include <mln/io/pgm/load.hh>
diff --git a/milena/sandbox/bugs/piter_slice.cc b/milena/sandbox/bugs/piter_slice.cc
index c5b42d7..9d39432 100644
--- a/milena/sandbox/bugs/piter_slice.cc
+++ b/milena/sandbox/bugs/piter_slice.cc
@@ -5,7 +5,7 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/value/int_u12.hh>
diff --git a/milena/sandbox/bugs/piter_slice.solved.cc b/milena/sandbox/bugs/piter_slice.solved.cc
index 6f91eb0..a8043d5 100644
--- a/milena/sandbox/bugs/piter_slice.solved.cc
+++ b/milena/sandbox/bugs/piter_slice.solved.cc
@@ -5,7 +5,7 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/value/int_u12.hh>
diff --git a/milena/sandbox/delmon/minsurf/main.cc b/milena/sandbox/delmon/minsurf/main.cc
index 205dfbe..5d8944a 100644
--- a/milena/sandbox/delmon/minsurf/main.cc
+++ b/milena/sandbox/delmon/minsurf/main.cc
@@ -8,7 +8,7 @@
#include <mln/core/var.hh>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/routine/extend.hh>
#include <mln/io/pgm/all.hh>
diff --git a/milena/sandbox/duhamel/chamfer.cc b/milena/sandbox/duhamel/chamfer.cc
index 5a0084b..cb2ce2a 100644
--- a/milena/sandbox/duhamel/chamfer.cc
+++ b/milena/sandbox/duhamel/chamfer.cc
@@ -1,5 +1,5 @@
#include <mln/core/image2d_b.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/image_if_value.hh>
diff --git a/milena/sandbox/duhamel/color_sub.cc b/milena/sandbox/duhamel/color_sub.cc
index 99ea0e4..ed799cf 100644
--- a/milena/sandbox/duhamel/color_sub.cc
+++ b/milena/sandbox/duhamel/color_sub.cc
@@ -31,7 +31,7 @@
*/
# include <mln/core/image2d_b.hh>
-# include <mln/core/image/sub_image.hh>
+# include <mln/core/image/dmorph/sub_image.hh>
# include <mln/value/int_u8.hh>
# include <mln/value/rgb8.hh>
@@ -41,7 +41,7 @@
# include <mln/debug/println.hh>
# include <mln/io/ppm/save.hh>
# include <mln/core/image_if_value.hh>
-# include <mln/core/image/sub_image.hh>
+# include <mln/core/image/dmorph/sub_image.hh>
# include <mln/core/image_if_value.hh>
diff --git a/milena/sandbox/duhamel/graph_labeling.hh b/milena/sandbox/duhamel/graph_labeling.hh
index 2b4475f..4e28b97 100644
--- a/milena/sandbox/duhamel/graph_labeling.hh
+++ b/milena/sandbox/duhamel/graph_labeling.hh
@@ -1,5 +1,5 @@
#include <mln/core/image2d_b.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/value/int_u8.hh>
#include <mln/io/pgm/load.hh>
diff --git a/milena/sandbox/duhamel/labeling_algo.cc b/milena/sandbox/duhamel/labeling_algo.cc
index 384a8d9..3534ab9 100644
--- a/milena/sandbox/duhamel/labeling_algo.cc
+++ b/milena/sandbox/duhamel/labeling_algo.cc
@@ -31,7 +31,7 @@
*/
# include <mln/core/image2d_b.hh>
-# include <mln/core/image/sub_image.hh>
+# include <mln/core/image/dmorph/sub_image.hh>
# include <mln/core/alias/neighb2d.hh>
# include <mln/value/int_u8.hh>
# include <mln/data/fill.hh>
diff --git a/milena/sandbox/duhamel/labeling_algo.hh b/milena/sandbox/duhamel/labeling_algo.hh
index ec94321..333d9b3 100644
--- a/milena/sandbox/duhamel/labeling_algo.hh
+++ b/milena/sandbox/duhamel/labeling_algo.hh
@@ -5,7 +5,7 @@
#include <mln/core/image2d_b.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/value/int_u8.hh>
#include <mln/io/pgm/load.hh>
diff --git a/milena/sandbox/duhamel/main.cc b/milena/sandbox/duhamel/main.cc
index c80c795..c9328eb 100644
--- a/milena/sandbox/duhamel/main.cc
+++ b/milena/sandbox/duhamel/main.cc
@@ -1,5 +1,5 @@
#include <mln/core/image2d_b.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/value/int_u8.hh>
#include <mln/data/fill.hh>
diff --git a/milena/sandbox/duhamel/main_mesh_image.cc b/milena/sandbox/duhamel/main_mesh_image.cc
index 53e4094..4feb181 100644
--- a/milena/sandbox/duhamel/main_mesh_image.cc
+++ b/milena/sandbox/duhamel/main_mesh_image.cc
@@ -6,7 +6,7 @@
#include <mln/core/mesh_psite.hh>
#include <mln/draw/mesh.hh>
#include <mln/core/mesh_image.hh>
-#include <mln/core/image/interpolated.hh>
+#include <mln/core/image/imorph/interpolated.hh>
using namespace mln;
diff --git a/milena/sandbox/duhamel/slow_seed2tiling.cc b/milena/sandbox/duhamel/slow_seed2tiling.cc
index aab58f2..077cb3e 100644
--- a/milena/sandbox/duhamel/slow_seed2tiling.cc
+++ b/milena/sandbox/duhamel/slow_seed2tiling.cc
@@ -32,7 +32,7 @@
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/sub_image.hh>
+# include <mln/core/image/dmorph/sub_image.hh>
# include <mln/core/alias/neighb2d.hh>
# include <mln/value/int_u8.hh>
# include <mln/data/fill.hh>
@@ -48,7 +48,7 @@
# include <mln/make/voronoi.hh>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/image_if_value.hh>
diff --git a/milena/sandbox/edwin/tests/sharp.cc b/milena/sandbox/edwin/tests/sharp.cc
index 9ff72c3..21d8978 100644
--- a/milena/sandbox/edwin/tests/sharp.cc
+++ b/milena/sandbox/edwin/tests/sharp.cc
@@ -1,6 +1,6 @@
/* mln core */
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/var.hh>
diff --git a/milena/sandbox/exec/histo_save.cc b/milena/sandbox/exec/histo_save.cc
index 8b1d2ee..ccd7325 100644
--- a/milena/sandbox/exec/histo_save.cc
+++ b/milena/sandbox/exec/histo_save.cc
@@ -3,7 +3,7 @@
#include <mln/histo/compute.hh>
#include <mln/debug/histo.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/pw/all.hh>
diff --git a/milena/sandbox/fabien/bin/dump2pbm.cc b/milena/sandbox/fabien/bin/dump2pbm.cc
index 2afc984..869eb93 100644
--- a/milena/sandbox/fabien/bin/dump2pbm.cc
+++ b/milena/sandbox/fabien/bin/dump2pbm.cc
@@ -1,6 +1,6 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/make/image3d.hh>
#include <mln/debug/slices_2d.hh>
diff --git a/milena/sandbox/fabien/bin/dump_mask.cc b/milena/sandbox/fabien/bin/dump_mask.cc
index 9511478..85ccd18 100644
--- a/milena/sandbox/fabien/bin/dump_mask.cc
+++ b/milena/sandbox/fabien/bin/dump_mask.cc
@@ -1,7 +1,7 @@
#include <mln/core/concept/image.hh>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/alias/neighb3d.hh>
#include <mln/core/var.hh>
diff --git a/milena/sandbox/fabien/igr/fixed_seg/main.cc b/milena/sandbox/fabien/igr/fixed_seg/main.cc
index f270123..67a2786 100644
--- a/milena/sandbox/fabien/igr/fixed_seg/main.cc
+++ b/milena/sandbox/fabien/igr/fixed_seg/main.cc
@@ -5,8 +5,8 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/slice_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/routine/extend.hh>
#include <mln/core/var.hh>
diff --git a/milena/sandbox/fabien/igr/fun_labels.cc b/milena/sandbox/fabien/igr/fun_labels.cc
index 82b1a0e..30f98f1 100644
--- a/milena/sandbox/fabien/igr/fun_labels.cc
+++ b/milena/sandbox/fabien/igr/fun_labels.cc
@@ -2,8 +2,8 @@
#include <sstream>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/routine/extend.hh>
#include <mln/core/var.hh>
diff --git a/milena/sandbox/fabien/igr/graph.cc b/milena/sandbox/fabien/igr/graph.cc
index 7402f23..4a17f21 100644
--- a/milena/sandbox/fabien/igr/graph.cc
+++ b/milena/sandbox/fabien/igr/graph.cc
@@ -1,7 +1,7 @@
#include <iostream>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/alias/window2d.hh>
diff --git a/milena/sandbox/fabien/igr/label2gif.cc b/milena/sandbox/fabien/igr/label2gif.cc
index b48326c..22fea43 100644
--- a/milena/sandbox/fabien/igr/label2gif.cc
+++ b/milena/sandbox/fabien/igr/label2gif.cc
@@ -2,8 +2,8 @@
#include <sstream>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/routine/extend.hh>
#include <mln/core/var.hh>
diff --git a/milena/sandbox/fabien/igr/mat2mln/raw2mlndata.cc b/milena/sandbox/fabien/igr/mat2mln/raw2mlndata.cc
index 53c5f5c..2d38a8b 100644
--- a/milena/sandbox/fabien/igr/mat2mln/raw2mlndata.cc
+++ b/milena/sandbox/fabien/igr/mat2mln/raw2mlndata.cc
@@ -7,7 +7,7 @@
#include <mln/io/pgm/save.hh>
#include <mln/value/int_u8.hh>
#include <mln/level/stretch.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/image/image2d.hh>
diff --git a/milena/sandbox/fabien/igr/matlab.cc b/milena/sandbox/fabien/igr/matlab.cc
index e1fbdce..d1d29cd 100644
--- a/milena/sandbox/fabien/igr/matlab.cc
+++ b/milena/sandbox/fabien/igr/matlab.cc
@@ -1,8 +1,8 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/cast_image.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/value/int_u12.hh>
diff --git a/milena/sandbox/fabien/igr/mean_slices.cc b/milena/sandbox/fabien/igr/mean_slices.cc
index 656d5ba..4843e49 100644
--- a/milena/sandbox/fabien/igr/mean_slices.cc
+++ b/milena/sandbox/fabien/igr/mean_slices.cc
@@ -2,8 +2,8 @@
#include <sstream>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/routine/extend.hh>
#include <mln/core/var.hh>
diff --git a/milena/sandbox/fabien/igr/med.cc b/milena/sandbox/fabien/igr/med.cc
index 0da6f86..1bc5a1f 100644
--- a/milena/sandbox/fabien/igr/med.cc
+++ b/milena/sandbox/fabien/igr/med.cc
@@ -1,7 +1,7 @@
#include <iostream>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/alias/window2d.hh>
diff --git a/milena/sandbox/fabien/igr/nbasins_finder.cc b/milena/sandbox/fabien/igr/nbasins_finder.cc
index aecfbfa..5b1bc4a 100644
--- a/milena/sandbox/fabien/igr/nbasins_finder.cc
+++ b/milena/sandbox/fabien/igr/nbasins_finder.cc
@@ -3,7 +3,7 @@
#include <mln/core/alias/neighb3d.hh>
#include <mln/core/alias/window3d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/io/pgm/load.hh>
#include <mln/io/dicom/load.hh>
diff --git a/milena/sandbox/fabien/igr/norm.cc b/milena/sandbox/fabien/igr/norm.cc
index 2850097..0dba363 100644
--- a/milena/sandbox/fabien/igr/norm.cc
+++ b/milena/sandbox/fabien/igr/norm.cc
@@ -1,7 +1,7 @@
#include <iostream>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/alias/window2d.hh>
diff --git a/milena/sandbox/fabien/igr/plot_label.hh b/milena/sandbox/fabien/igr/plot_label.hh
index 47fefdb..27a9b0f 100644
--- a/milena/sandbox/fabien/igr/plot_label.hh
+++ b/milena/sandbox/fabien/igr/plot_label.hh
@@ -5,8 +5,8 @@
#include <sstream>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/geom/bbox.hh>
diff --git a/milena/sandbox/fabien/igr/smooth_fixed_seg/main.cc b/milena/sandbox/fabien/igr/smooth_fixed_seg/main.cc
index 80bb6da..78206a9 100644
--- a/milena/sandbox/fabien/igr/smooth_fixed_seg/main.cc
+++ b/milena/sandbox/fabien/igr/smooth_fixed_seg/main.cc
@@ -5,8 +5,8 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/slice_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/routine/extend.hh>
#include <mln/core/var.hh>
diff --git a/milena/sandbox/fabien/igr/space_smooth/linear.cc b/milena/sandbox/fabien/igr/space_smooth/linear.cc
index bf25dbf..d2e0f02 100644
--- a/milena/sandbox/fabien/igr/space_smooth/linear.cc
+++ b/milena/sandbox/fabien/igr/space_smooth/linear.cc
@@ -1,8 +1,8 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/cast_image.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/value/int_u12.hh>
diff --git a/milena/sandbox/fabien/igr/space_smooth/median.cc b/milena/sandbox/fabien/igr/space_smooth/median.cc
index c8d1b5b..b716e7a 100644
--- a/milena/sandbox/fabien/igr/space_smooth/median.cc
+++ b/milena/sandbox/fabien/igr/space_smooth/median.cc
@@ -1,8 +1,8 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/cast_image.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/value/int_u12.hh>
diff --git a/milena/sandbox/fabien/igr/space_smooth/morpho.cc b/milena/sandbox/fabien/igr/space_smooth/morpho.cc
index 5c0878a..4736b84 100644
--- a/milena/sandbox/fabien/igr/space_smooth/morpho.cc
+++ b/milena/sandbox/fabien/igr/space_smooth/morpho.cc
@@ -2,9 +2,9 @@
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/cast_image.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/value/int_u12.hh>
diff --git a/milena/sandbox/fabien/igr/thres.cc b/milena/sandbox/fabien/igr/thres.cc
index 95639ca..09f2ecc 100644
--- a/milena/sandbox/fabien/igr/thres.cc
+++ b/milena/sandbox/fabien/igr/thres.cc
@@ -1,7 +1,7 @@
#include <iostream>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/alias/window2d.hh>
diff --git a/milena/sandbox/fabien/igr/time_max.cc b/milena/sandbox/fabien/igr/time_max.cc
index ab09e9c..4c8800b 100644
--- a/milena/sandbox/fabien/igr/time_max.cc
+++ b/milena/sandbox/fabien/igr/time_max.cc
@@ -1,8 +1,8 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/cast_image.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/value/int_u8.hh>
diff --git a/milena/sandbox/fabien/igr/time_max_norm.cc b/milena/sandbox/fabien/igr/time_max_norm.cc
index 6714542..5749c8b 100644
--- a/milena/sandbox/fabien/igr/time_max_norm.cc
+++ b/milena/sandbox/fabien/igr/time_max_norm.cc
@@ -2,9 +2,9 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/cast_image.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/value/int_u8.hh>
diff --git a/milena/sandbox/fabien/igr/time_smooth/linear.cc b/milena/sandbox/fabien/igr/time_smooth/linear.cc
index 12cd475..440581e 100644
--- a/milena/sandbox/fabien/igr/time_smooth/linear.cc
+++ b/milena/sandbox/fabien/igr/time_smooth/linear.cc
@@ -1,8 +1,8 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/cast_image.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/value/int_u12.hh>
diff --git a/milena/sandbox/fabien/igr/time_smooth/median.cc b/milena/sandbox/fabien/igr/time_smooth/median.cc
index 2c6eb66..291677d 100644
--- a/milena/sandbox/fabien/igr/time_smooth/median.cc
+++ b/milena/sandbox/fabien/igr/time_smooth/median.cc
@@ -1,8 +1,8 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/cast_image.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/value/int_u12.hh>
diff --git a/milena/sandbox/fabien/igr/time_smooth/morpho.cc b/milena/sandbox/fabien/igr/time_smooth/morpho.cc
index 7ba26d6..6115e84 100644
--- a/milena/sandbox/fabien/igr/time_smooth/morpho.cc
+++ b/milena/sandbox/fabien/igr/time_smooth/morpho.cc
@@ -2,9 +2,9 @@
#include <mln/core/alias/neighb1d.hh>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/cast_image.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/value/int_u12.hh>
diff --git a/milena/sandbox/fabien/igr/watershed.hh b/milena/sandbox/fabien/igr/watershed.hh
index 9906b5e..094130b 100644
--- a/milena/sandbox/fabien/igr/watershed.hh
+++ b/milena/sandbox/fabien/igr/watershed.hh
@@ -3,7 +3,7 @@
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/alias/window2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/io/ppm/save.hh>
#include <mln/io/ppm/load.hh>
diff --git a/milena/sandbox/fabien/igr/watershed2d.cc b/milena/sandbox/fabien/igr/watershed2d.cc
index 9906b5e..094130b 100644
--- a/milena/sandbox/fabien/igr/watershed2d.cc
+++ b/milena/sandbox/fabien/igr/watershed2d.cc
@@ -3,7 +3,7 @@
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/alias/window2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/io/ppm/save.hh>
#include <mln/io/ppm/load.hh>
diff --git a/milena/sandbox/fabien/igr/watershed3d.cc b/milena/sandbox/fabien/igr/watershed3d.cc
index 73036ba..745a922 100644
--- a/milena/sandbox/fabien/igr/watershed3d.cc
+++ b/milena/sandbox/fabien/igr/watershed3d.cc
@@ -6,7 +6,7 @@
#include <mln/core/alias/window2d.hh>
#include <mln/core/alias/neighb3d.hh>
#include <mln/core/alias/window3d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/io/ppm/save.hh>
#include <mln/io/ppm/load.hh>
diff --git a/milena/sandbox/fabien/level.cc b/milena/sandbox/fabien/level.cc
index 7170a01..70967ec 100644
--- a/milena/sandbox/fabien/level.cc
+++ b/milena/sandbox/fabien/level.cc
@@ -41,7 +41,7 @@
#include "level.hh"
#include <mln/pw/all.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/debug/println.hh>
diff --git a/milena/sandbox/folio/mln/dt/dt_old/dt.cc b/milena/sandbox/folio/mln/dt/dt_old/dt.cc
index e2c1c60..036ed09 100644
--- a/milena/sandbox/folio/mln/dt/dt_old/dt.cc
+++ b/milena/sandbox/folio/mln/dt/dt_old/dt.cc
@@ -15,8 +15,8 @@
#include <mln/level/stretch.hh>
#include <mln/value/int_u8.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/pw/value.hh>
#include "dt.hh"
diff --git a/milena/sandbox/folio/mln/dt/dt_old/psn.cc b/milena/sandbox/folio/mln/dt/dt_old/psn.cc
index b9c9e7f..0e75232 100644
--- a/milena/sandbox/folio/mln/dt/dt_old/psn.cc
+++ b/milena/sandbox/folio/mln/dt/dt_old/psn.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -161,8 +162,8 @@ namespace mln
#include <mln/level/stretch.hh>
#include <mln/value/int_u8.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/pw/value.hh>
int main()
diff --git a/milena/sandbox/folio/mln/dt/dt_old/psn_log.cc b/milena/sandbox/folio/mln/dt/dt_old/psn_log.cc
index 5f0816c..e280c43 100644
--- a/milena/sandbox/folio/mln/dt/dt_old/psn_log.cc
+++ b/milena/sandbox/folio/mln/dt/dt_old/psn_log.cc
@@ -1,5 +1,5 @@
-
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -248,8 +248,8 @@ namespace mln
#include <mln/level/stretch.hh>
#include <mln/value/int_u8.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/pw/value.hh>
int main()
diff --git a/milena/sandbox/folio/test/dt/dt.cc b/milena/sandbox/folio/test/dt/dt.cc
index 7692453..447b1cd 100644
--- a/milena/sandbox/folio/test/dt/dt.cc
+++ b/milena/sandbox/folio/test/dt/dt.cc
@@ -16,8 +16,8 @@
#include <mln/data/paste.hh>
#include <mln/value/int_u8.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/pw/value.hh>
#include "../dt/dmap.hh"
diff --git a/milena/sandbox/folio/test/dt/dt_bench.cc b/milena/sandbox/folio/test/dt/dt_bench.cc
index 5c52a9e..2779c2f 100644
--- a/milena/sandbox/folio/test/dt/dt_bench.cc
+++ b/milena/sandbox/folio/test/dt/dt_bench.cc
@@ -16,8 +16,8 @@
#include <mln/data/paste.hh>
#include <mln/value/int_u8.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/pw/value.hh>
// #include "../dt/dmap.hh"
diff --git a/milena/sandbox/folio/test/dt/dt_maze.cc b/milena/sandbox/folio/test/dt/dt_maze.cc
index 579d740..a590fea 100644
--- a/milena/sandbox/folio/test/dt/dt_maze.cc
+++ b/milena/sandbox/folio/test/dt/dt_maze.cc
@@ -18,8 +18,8 @@
#include <mln/value/int_u8.hh>
#include <mln/value/rgb8.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/pw/all.hh>
#include "../dt/path.hh"
diff --git a/milena/sandbox/folio/test/dt/psn.cc b/milena/sandbox/folio/test/dt/psn.cc
index b9c9e7f..0e75232 100644
--- a/milena/sandbox/folio/test/dt/psn.cc
+++ b/milena/sandbox/folio/test/dt/psn.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -161,8 +162,8 @@ namespace mln
#include <mln/level/stretch.hh>
#include <mln/value/int_u8.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/pw/value.hh>
int main()
diff --git a/milena/sandbox/folio/test/dt/psn_log.cc b/milena/sandbox/folio/test/dt/psn_log.cc
index 5f0816c..e280c43 100644
--- a/milena/sandbox/folio/test/dt/psn_log.cc
+++ b/milena/sandbox/folio/test/dt/psn_log.cc
@@ -1,5 +1,5 @@
-
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -248,8 +248,8 @@ namespace mln
#include <mln/level/stretch.hh>
#include <mln/value/int_u8.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/pw/value.hh>
int main()
diff --git a/milena/sandbox/folio/test/histo/projected3d.cc b/milena/sandbox/folio/test/histo/projected3d.cc
index a8d103f..78ba33c 100644
--- a/milena/sandbox/folio/test/histo/projected3d.cc
+++ b/milena/sandbox/folio/test/histo/projected3d.cc
@@ -2,10 +2,10 @@
#include <mln/core/image/image1d.hh>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/unproject_image.hh>
+#include <mln/core/image/dmorph/unproject_image.hh>
#include <mln/fun/v2v/projection.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/pw/value.hh>
#include <mln/level/transform.hh>
#include <mln/level/stretch.hh>
diff --git a/milena/sandbox/fred/tests/thru.cc b/milena/sandbox/fred/tests/thru.cc
index 7837fe0..981189a 100644
--- a/milena/sandbox/fred/tests/thru.cc
+++ b/milena/sandbox/fred/tests/thru.cc
@@ -1,8 +1,8 @@
// Meta functions test
#include <mln/fun/v2v/convert.hh>
#include <mln/fun/math/cos.hh>
-#include <mln/core/image/thru_morpher.hh>
-#include <mln/core/image/thrubin_morpher.hh>
+#include <mln/core/image/vmorph/thru_image.hh>
+#include <mln/core/image/vmorph/thrubin_image.hh>
#include <mln/fun/compose.hh>
#include <mln/core/var.hh>
@@ -47,4 +47,4 @@ int main()
std::cout << row(p);
debug::println(ima2);
-}
\ No newline at end of file
+}
diff --git a/milena/sandbox/garrigues/fllt/essai.cc b/milena/sandbox/garrigues/fllt/essai.cc
index 7dc9d0a..a4774f8 100644
--- a/milena/sandbox/garrigues/fllt/essai.cc
+++ b/milena/sandbox/garrigues/fllt/essai.cc
@@ -1,6 +1,6 @@
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/image_if_value.hh>
diff --git a/milena/sandbox/garrigues/fllt/fllt.hh b/milena/sandbox/garrigues/fllt/fllt.hh
index a106266..55cc94f 100644
--- a/milena/sandbox/garrigues/fllt/fllt.hh
+++ b/milena/sandbox/garrigues/fllt/fllt.hh
@@ -41,8 +41,8 @@
# include <mln/core/alias/neighb2d.hh>
# include <mln/core/p_if_piter.hh>
# include <mln/core/site_set/p_if.hh>
-# include <mln/core/image/sub_image.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/sub_image.hh>
+# include <mln/core/image/dmorph/image_if.hh>
# include <mln/core/routine/duplicate.hh>
# include <mln/core/a_point_of.hh>
diff --git a/milena/sandbox/garrigues/fllt/fllt_simple.cc b/milena/sandbox/garrigues/fllt/fllt_simple.cc
index 86f7752..a4b5cd8 100644
--- a/milena/sandbox/garrigues/fllt/fllt_simple.cc
+++ b/milena/sandbox/garrigues/fllt/fllt_simple.cc
@@ -30,12 +30,12 @@
#include <sstream>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/site_set/p_array.hh>
#include <mln/core/routine/duplicate.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/core/site_set/p_queue_fast.hh>
#include <mln/util/array.hh>
diff --git a/milena/sandbox/garrigues/fllt/fllt_simple.svg.1.cc b/milena/sandbox/garrigues/fllt/fllt_simple.svg.1.cc
index f06812f..d466b78 100644
--- a/milena/sandbox/garrigues/fllt/fllt_simple.svg.1.cc
+++ b/milena/sandbox/garrigues/fllt/fllt_simple.svg.1.cc
@@ -30,7 +30,7 @@
#include <sstream>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/site_set/p_array.hh>
#include <mln/core/routine/duplicate.hh>
@@ -47,7 +47,7 @@
#include <mln/io/pgm/save.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
namespace mln
{
diff --git a/milena/sandbox/garrigues/fllt/fllt_simple.svg.2.cc b/milena/sandbox/garrigues/fllt/fllt_simple.svg.2.cc
index de6f34a..fef09cf 100644
--- a/milena/sandbox/garrigues/fllt/fllt_simple.svg.2.cc
+++ b/milena/sandbox/garrigues/fllt/fllt_simple.svg.2.cc
@@ -30,7 +30,7 @@
#include <sstream>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/site_set/p_array.hh>
#include <mln/core/routine/duplicate.hh>
@@ -47,7 +47,7 @@
#include <mln/io/pgm/save.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
namespace mln
{
diff --git a/milena/sandbox/garrigues/fllt/fllt_simple.svg.3.cc b/milena/sandbox/garrigues/fllt/fllt_simple.svg.3.cc
index a2ccd6c..3dc4628 100644
--- a/milena/sandbox/garrigues/fllt/fllt_simple.svg.3.cc
+++ b/milena/sandbox/garrigues/fllt/fllt_simple.svg.3.cc
@@ -30,7 +30,7 @@
#include <sstream>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/site_set/p_array.hh>
#include <mln/core/routine/duplicate.hh>
@@ -51,7 +51,7 @@
#include <mln/util/tree_to_image.hh>
#include <mln/util/branch_iter_ind.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/core/site_set/p_queue_fast.hh>
namespace mln
diff --git a/milena/sandbox/garrigues/fllt/fllt_theo.cc b/milena/sandbox/garrigues/fllt/fllt_theo.cc
index 211bcad..ebb1e19 100644
--- a/milena/sandbox/garrigues/fllt/fllt_theo.cc
+++ b/milena/sandbox/garrigues/fllt/fllt_theo.cc
@@ -46,7 +46,7 @@
#include <mln/io/pgm/save.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
namespace mln
{
diff --git a/milena/sandbox/garrigues/fllt/test.cc b/milena/sandbox/garrigues/fllt/test.cc
index df61704..3ae6ac3 100644
--- a/milena/sandbox/garrigues/fllt/test.cc
+++ b/milena/sandbox/garrigues/fllt/test.cc
@@ -4,7 +4,7 @@
# include "compute_level_set_fast2.hh"
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/cast_image.hh>
+# include <mln/core/image/vmorph/cast_image.hh>
# include <mln/core/routine/duplicate.hh>
# include <mln/value/int_u8.hh>
# include <mln/debug/println.hh>
diff --git a/milena/sandbox/garrigues/level_set.hh b/milena/sandbox/garrigues/level_set.hh
index 52e855b..e0ae3ee 100644
--- a/milena/sandbox/garrigues/level_set.hh
+++ b/milena/sandbox/garrigues/level_set.hh
@@ -48,8 +48,8 @@
# include <mln/core/clock_neighb2d.hh>
# include <mln/core/p_if_piter.hh>
# include <mln/core/site_set/p_if.hh>
-# include <mln/core/image/sub_image.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/sub_image.hh>
+# include <mln/core/image/dmorph/image_if.hh>
# include <mln/core/routine/duplicate.hh>
# include <mln/core/a_point_of.hh>
diff --git a/milena/sandbox/garrigues/tiled_image2d/tiled_image2d.cc b/milena/sandbox/garrigues/tiled_image2d/tiled_image2d.cc
index 13eea0a..7d11bc7 100644
--- a/milena/sandbox/garrigues/tiled_image2d/tiled_image2d.cc
+++ b/milena/sandbox/garrigues/tiled_image2d/tiled_image2d.cc
@@ -32,7 +32,7 @@
#include "tiled_image2d.hh"
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/data/fill.hh>
#include <mln/value/int_u8.hh>
diff --git a/milena/sandbox/garrigues/union_find/self_dual_reconstruction.hh b/milena/sandbox/garrigues/union_find/self_dual_reconstruction.hh
index 38418a0..8868e98 100644
--- a/milena/sandbox/garrigues/union_find/self_dual_reconstruction.hh
+++ b/milena/sandbox/garrigues/union_find/self_dual_reconstruction.hh
@@ -44,7 +44,7 @@
# include <tests/timer.hh>
# include <mln/pw/value.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/image_if.hh>
# include "canvas/self_dual_reconstruction.hh"
# include "reconstructions_on_function.hh"
diff --git a/milena/sandbox/icdar/2009/dibco/binarization.cc b/milena/sandbox/icdar/2009/dibco/binarization.cc
index 786df7a..fb6cc6c 100644
--- a/milena/sandbox/icdar/2009/dibco/binarization.cc
+++ b/milena/sandbox/icdar/2009/dibco/binarization.cc
@@ -10,7 +10,7 @@
#include <mln/core/image/vertex_image.hh>
#include <mln/pw/all.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/site_set/p_queue.hh>
#include <mln/core/routine/extend.hh>
diff --git a/milena/sandbox/icdar/2009/dibco/quasi.cc b/milena/sandbox/icdar/2009/dibco/quasi.cc
index 6ad69fc..39f06f0 100644
--- a/milena/sandbox/icdar/2009/dibco/quasi.cc
+++ b/milena/sandbox/icdar/2009/dibco/quasi.cc
@@ -2,7 +2,7 @@
#include <mln/core/alias/neighb2d.hh>
#include <mln/pw/all.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/site_set/p_queue.hh>
#include <mln/core/site_set/p_array.hh>
diff --git a/milena/sandbox/icdar/2009/dibco/svg.1.binarization.cc b/milena/sandbox/icdar/2009/dibco/svg.1.binarization.cc
index f6824ea..5f44a06 100644
--- a/milena/sandbox/icdar/2009/dibco/svg.1.binarization.cc
+++ b/milena/sandbox/icdar/2009/dibco/svg.1.binarization.cc
@@ -8,7 +8,7 @@
#include <mln/core/site_set/p_queue.hh>
#include <mln/pw/all.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/data/fill.hh>
diff --git a/milena/sandbox/icdar/2009/dibco/svg.2.binarization.cc b/milena/sandbox/icdar/2009/dibco/svg.2.binarization.cc
index daebc17..695c14e 100644
--- a/milena/sandbox/icdar/2009/dibco/svg.2.binarization.cc
+++ b/milena/sandbox/icdar/2009/dibco/svg.2.binarization.cc
@@ -8,7 +8,7 @@
#include <mln/make/double_neighb2d.hh>
#include <mln/pw/all.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/site_set/p_queue.hh>
#include <mln/core/routine/extend.hh>
diff --git a/milena/sandbox/icdar/2009/dibco/svg.3.binarization.cc b/milena/sandbox/icdar/2009/dibco/svg.3.binarization.cc
index 1fa40d7..6bef1fb 100644
--- a/milena/sandbox/icdar/2009/dibco/svg.3.binarization.cc
+++ b/milena/sandbox/icdar/2009/dibco/svg.3.binarization.cc
@@ -11,7 +11,7 @@
#include <mln/core/image/edge_image.hh>
#include <mln/pw/all.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/site_set/p_queue.hh>
#include <mln/core/routine/extend.hh>
diff --git a/milena/sandbox/icdar/2009/hsc/clean_lines.hh b/milena/sandbox/icdar/2009/hsc/clean_lines.hh
index 956c150..bc07af7 100644
--- a/milena/sandbox/icdar/2009/hsc/clean_lines.hh
+++ b/milena/sandbox/icdar/2009/hsc/clean_lines.hh
@@ -11,7 +11,7 @@
#include <mln/io/pgm/all.hh>
#include <mln/labeling/compute.hh>
#include <mln/pw/all.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/data/fill.hh>
#include "label_maj.hh"
diff --git a/milena/sandbox/icdar/2009/hsc/clean_lines_with_grouped_bboxes.hh b/milena/sandbox/icdar/2009/hsc/clean_lines_with_grouped_bboxes.hh
index 8942e83..d5839b8 100644
--- a/milena/sandbox/icdar/2009/hsc/clean_lines_with_grouped_bboxes.hh
+++ b/milena/sandbox/icdar/2009/hsc/clean_lines_with_grouped_bboxes.hh
@@ -11,7 +11,7 @@
#include <mln/io/pgm/all.hh>
#include <mln/labeling/compute.hh>
#include <mln/pw/all.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/data/fill.hh>
#include <mln/literal/colors.hh>
#include <mln/logical/not.hh>
diff --git a/milena/sandbox/icdar/2009/hsc/first_attempts/exec/iz_lines.cc b/milena/sandbox/icdar/2009/hsc/first_attempts/exec/iz_lines.cc
index 7df51ef..dc59912 100644
--- a/milena/sandbox/icdar/2009/hsc/first_attempts/exec/iz_lines.cc
+++ b/milena/sandbox/icdar/2009/hsc/first_attempts/exec/iz_lines.cc
@@ -3,7 +3,7 @@
#include <mln/core/alias/point2d.hh>
#include <mln/core/alias/dpoint2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/data/fill.hh>
#include <mln/data/paste.hh>
diff --git a/milena/sandbox/icdar/2009/hsc/first_attempts/exec/relabel_lines.cc b/milena/sandbox/icdar/2009/hsc/first_attempts/exec/relabel_lines.cc
index 6f86fbe..34664bf 100644
--- a/milena/sandbox/icdar/2009/hsc/first_attempts/exec/relabel_lines.cc
+++ b/milena/sandbox/icdar/2009/hsc/first_attempts/exec/relabel_lines.cc
@@ -4,7 +4,7 @@
#include <mln/core/alias/dpoint2d.hh>
#include <mln/value/label_8.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/data/fill.hh>
#include <mln/pw/all.hh>
diff --git a/milena/sandbox/icdar/2009/hsc/first_attempts/main.cc b/milena/sandbox/icdar/2009/hsc/first_attempts/main.cc
index 8c4b331..d1b6cb3 100644
--- a/milena/sandbox/icdar/2009/hsc/first_attempts/main.cc
+++ b/milena/sandbox/icdar/2009/hsc/first_attempts/main.cc
@@ -2,7 +2,7 @@
#include <vector>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/pw/all.hh>
diff --git a/milena/sandbox/icdar/2009/hsc/get_line_images.hh b/milena/sandbox/icdar/2009/hsc/get_line_images.hh
index 506a64b..732e7c3 100644
--- a/milena/sandbox/icdar/2009/hsc/get_line_images.hh
+++ b/milena/sandbox/icdar/2009/hsc/get_line_images.hh
@@ -3,7 +3,7 @@
#include <mln/core/concept/image.hh>
#include <mln/core/site_set/box.hh>
-#include <mln/core/image/extended.hh>
+#include <mln/core/image/dmorph/extended.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/routine/extend.hh>
#include <mln/core/var.hh>
@@ -19,7 +19,7 @@
#include <mln/util/array.hh>
#include <mln/pw/all.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
namespace mln
diff --git a/milena/sandbox/icdar/2009/hsc/input_lines_to_lines.cc b/milena/sandbox/icdar/2009/hsc/input_lines_to_lines.cc
index 18f7d3a..05c8daf 100644
--- a/milena/sandbox/icdar/2009/hsc/input_lines_to_lines.cc
+++ b/milena/sandbox/icdar/2009/hsc/input_lines_to_lines.cc
@@ -8,7 +8,7 @@
#include <mln/io/pgm/all.hh>
#include <mln/labeling/compute.hh>
#include <mln/pw/all.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/data/fill.hh>
#include "label_maj.hh"
#include "clean_lines.hh"
diff --git a/milena/sandbox/icdar/2009/hsc/input_to_lines.hh b/milena/sandbox/icdar/2009/hsc/input_to_lines.hh
index a3e03a4..360a97e 100644
--- a/milena/sandbox/icdar/2009/hsc/input_to_lines.hh
+++ b/milena/sandbox/icdar/2009/hsc/input_to_lines.hh
@@ -7,7 +7,7 @@
#include <mln/value/int_u8.hh>
#include <mln/value/label.hh>
#include <mln/labeling/pack.hh>
-#include <mln/core/image/violent_cast_image.hh>
+#include <mln/core/image/vmorph/violent_cast_image.hh>
#include <mln/io/pgm/save.hh>
diff --git a/milena/sandbox/icdar/2009/hsc/input_to_ws.hh b/milena/sandbox/icdar/2009/hsc/input_to_ws.hh
index a1ea537..bd419e6 100644
--- a/milena/sandbox/icdar/2009/hsc/input_to_ws.hh
+++ b/milena/sandbox/icdar/2009/hsc/input_to_ws.hh
@@ -20,7 +20,7 @@
#include <mln/level/convert.hh>
#include <mln/labeling/wrap.hh>
#include <mln/pw/all.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
namespace mln
diff --git a/milena/sandbox/icdar/2009/hsc/lines_to_boxes.cc b/milena/sandbox/icdar/2009/hsc/lines_to_boxes.cc
index cb035be..f3c2723 100644
--- a/milena/sandbox/icdar/2009/hsc/lines_to_boxes.cc
+++ b/milena/sandbox/icdar/2009/hsc/lines_to_boxes.cc
@@ -8,7 +8,7 @@
#include <mln/value/label_8.hh>
#include <mln/estim/min_max.hh>
-#include <mln/core/image/violent_cast_image.hh>
+#include <mln/core/image/vmorph/violent_cast_image.hh>
#include <mln/core/var.hh>
#include <scribo/draw/bounding_boxes.hh>
diff --git a/milena/sandbox/icdar/2009/hsc/old_input_to_lines.cc b/milena/sandbox/icdar/2009/hsc/old_input_to_lines.cc
index 212b077..1f76f68 100644
--- a/milena/sandbox/icdar/2009/hsc/old_input_to_lines.cc
+++ b/milena/sandbox/icdar/2009/hsc/old_input_to_lines.cc
@@ -2,7 +2,7 @@
#include <vector>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/pw/all.hh>
diff --git a/milena/sandbox/icdar/2009/hsc/ws_to_wsl.hh b/milena/sandbox/icdar/2009/hsc/ws_to_wsl.hh
index 1f27525..706199d 100644
--- a/milena/sandbox/icdar/2009/hsc/ws_to_wsl.hh
+++ b/milena/sandbox/icdar/2009/hsc/ws_to_wsl.hh
@@ -33,7 +33,7 @@
#include <mln/literal/colors.hh>
#include <mln/level/convert.hh>
#include <mln/pw/all.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/i2v/array.hh>
#include <mln/level/transform.hh>
diff --git a/milena/sandbox/inim/2009/color/laplacien.cc b/milena/sandbox/inim/2009/color/laplacien.cc
index dc5e5b9..7bc7544 100644
--- a/milena/sandbox/inim/2009/color/laplacien.cc
+++ b/milena/sandbox/inim/2009/color/laplacien.cc
@@ -1,5 +1,5 @@
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
# include <mln/core/alias/neighb2d.hh>
# include <mln/make/double_neighb2d.hh>
diff --git a/milena/sandbox/inim/2009/color/min_tree_area_filter.cc b/milena/sandbox/inim/2009/color/min_tree_area_filter.cc
index 0604c92..cb35e64 100644
--- a/milena/sandbox/inim/2009/color/min_tree_area_filter.cc
+++ b/milena/sandbox/inim/2009/color/min_tree_area_filter.cc
@@ -1,8 +1,8 @@
# include <mln/core/var.hh>
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/image_if.hh>
-# include <mln/core/image/extended.hh>
+# include <mln/core/image/dmorph/image_if.hh>
+# include <mln/core/image/dmorph/extended.hh>
# include <mln/core/routine/extend.hh>
# include <mln/core/alias/window2d.hh>
diff --git a/milena/sandbox/inim/2009/color/min_tree_color.cc b/milena/sandbox/inim/2009/color/min_tree_color.cc
index 98b6793..67279f3 100644
--- a/milena/sandbox/inim/2009/color/min_tree_color.cc
+++ b/milena/sandbox/inim/2009/color/min_tree_color.cc
@@ -1,8 +1,8 @@
# include <mln/core/var.hh>
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/image_if.hh>
-# include <mln/core/image/extended.hh>
+# include <mln/core/image/dmorph/image_if.hh>
+# include <mln/core/image/dmorph/extended.hh>
# include <mln/core/routine/extend.hh>
# include <mln/core/alias/window2d.hh>
diff --git a/milena/sandbox/inim/2009/color/min_tree_color_v2.cc b/milena/sandbox/inim/2009/color/min_tree_color_v2.cc
index d22460c..a75419e 100644
--- a/milena/sandbox/inim/2009/color/min_tree_color_v2.cc
+++ b/milena/sandbox/inim/2009/color/min_tree_color_v2.cc
@@ -1,8 +1,8 @@
# include <mln/core/var.hh>
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/image_if.hh>
-# include <mln/core/image/extended.hh>
+# include <mln/core/image/dmorph/image_if.hh>
+# include <mln/core/image/dmorph/extended.hh>
# include <mln/core/routine/extend.hh>
# include <mln/core/alias/window2d.hh>
diff --git a/milena/sandbox/inim/2009/color/min_tree_height_filter.cc b/milena/sandbox/inim/2009/color/min_tree_height_filter.cc
index bdee88a..1f38689 100644
--- a/milena/sandbox/inim/2009/color/min_tree_height_filter.cc
+++ b/milena/sandbox/inim/2009/color/min_tree_height_filter.cc
@@ -1,8 +1,8 @@
# include <mln/core/var.hh>
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/image_if.hh>
-# include <mln/core/image/extended.hh>
+# include <mln/core/image/dmorph/image_if.hh>
+# include <mln/core/image/dmorph/extended.hh>
# include <mln/core/routine/extend.hh>
# include <mln/core/alias/window2d.hh>
diff --git a/milena/sandbox/inim/2009/color/min_tree_volume_filter.cc b/milena/sandbox/inim/2009/color/min_tree_volume_filter.cc
index f9f4457..59c1045 100644
--- a/milena/sandbox/inim/2009/color/min_tree_volume_filter.cc
+++ b/milena/sandbox/inim/2009/color/min_tree_volume_filter.cc
@@ -1,8 +1,8 @@
# include <mln/core/var.hh>
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/image_if.hh>
-# include <mln/core/image/extended.hh>
+# include <mln/core/image/dmorph/image_if.hh>
+# include <mln/core/image/dmorph/extended.hh>
# include <mln/core/routine/extend.hh>
# include <mln/core/alias/window2d.hh>
diff --git a/milena/sandbox/inim/2009/color/reference.cc b/milena/sandbox/inim/2009/color/reference.cc
index 411cd20..2ad7cc6 100644
--- a/milena/sandbox/inim/2009/color/reference.cc
+++ b/milena/sandbox/inim/2009/color/reference.cc
@@ -1,8 +1,8 @@
# include <mln/core/var.hh>
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/image_if.hh>
-# include <mln/core/image/extended.hh>
+# include <mln/core/image/dmorph/image_if.hh>
+# include <mln/core/image/dmorph/extended.hh>
# include <mln/core/routine/extend.hh>
# include <mln/core/alias/window2d.hh>
diff --git a/milena/sandbox/inim/2009/color/reference2.cc b/milena/sandbox/inim/2009/color/reference2.cc
index ec6c512..65a01ec 100644
--- a/milena/sandbox/inim/2009/color/reference2.cc
+++ b/milena/sandbox/inim/2009/color/reference2.cc
@@ -1,8 +1,8 @@
# include <mln/core/var.hh>
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/image_if.hh>
-# include <mln/core/image/extended.hh>
+# include <mln/core/image/dmorph/image_if.hh>
+# include <mln/core/image/dmorph/extended.hh>
# include <mln/core/routine/extend.hh>
# include <mln/core/alias/window2d.hh>
diff --git a/milena/sandbox/inim/2009/nature/histo_hsi.cc b/milena/sandbox/inim/2009/nature/histo_hsi.cc
index bba9624..5ed4677 100644
--- a/milena/sandbox/inim/2009/nature/histo_hsi.cc
+++ b/milena/sandbox/inim/2009/nature/histo_hsi.cc
@@ -29,7 +29,7 @@
#include <string>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/core/image/thru.hh>
#include <mln/core/alias/window2d.hh>
#include <mln/core/alias/neighb2d.hh>
diff --git a/milena/sandbox/inim/2009/nature/mco.cc b/milena/sandbox/inim/2009/nature/mco.cc
index ded27e7..fb9ce94 100644
--- a/milena/sandbox/inim/2009/nature/mco.cc
+++ b/milena/sandbox/inim/2009/nature/mco.cc
@@ -1,7 +1,7 @@
#include <iostream>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/value/int_u16.hh>
#include "co_occurence.hh"
#include <mln/core/alias/dpoint2d.hh>
diff --git a/milena/sandbox/inim/2009/nature/nature.cc b/milena/sandbox/inim/2009/nature/nature.cc
index a1bca29..bd4d9bb 100644
--- a/milena/sandbox/inim/2009/nature/nature.cc
+++ b/milena/sandbox/inim/2009/nature/nature.cc
@@ -27,7 +27,7 @@
// Public License.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/core/image/thru.hh>
#include <mln/core/alias/neighb2d.hh>
diff --git a/milena/sandbox/inim/2009/nature/proj.cc b/milena/sandbox/inim/2009/nature/proj.cc
index d1cab03..cf9e362 100644
--- a/milena/sandbox/inim/2009/nature/proj.cc
+++ b/milena/sandbox/inim/2009/nature/proj.cc
@@ -28,7 +28,7 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image1d.hh>
#include <mln/win/rectangle2d.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/io/pgm/load.hh>
#include <mln/io/pgm/save.hh>
diff --git a/milena/sandbox/inim/2009/ocr/Makefile b/milena/sandbox/inim/2009/ocr/Makefile
index 2b61618..55fa29f 100644
--- a/milena/sandbox/inim/2009/ocr/Makefile
+++ b/milena/sandbox/inim/2009/ocr/Makefile
@@ -1,4 +1,4 @@
-CXXFLAGS=-I../../.. -I${HOME}/local/include
+CXXFLAGS=-I../../../.. -I${HOME}/local/include
LFLAGS=-L${HOME}/local/lib -ltesseract_full -lpthread
all: ocr_without_preprocess ocr_with_preprocess
diff --git a/milena/sandbox/inim/2009/ocr/ocr_with_preprocess.cc b/milena/sandbox/inim/2009/ocr/ocr_with_preprocess.cc
index 271b946..d79d9b2 100644
--- a/milena/sandbox/inim/2009/ocr/ocr_with_preprocess.cc
+++ b/milena/sandbox/inim/2009/ocr/ocr_with_preprocess.cc
@@ -31,7 +31,7 @@
#include <mln/core/alias/window2d.hh>
#include <mln/core/alias/neighb2d.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/value/int_u8.hh>
@@ -143,6 +143,9 @@ int main(int argc, char** argv)
OCR_TEST(K);
io::pbm::save(K, std::string(argv[2]) + "_6_K.pbm");
+ io::pgm::save(blur, std::string(argv[2]) + "_6_blur_revert.pgm");
+ io::pgm::save(arith::revert(blur), std::string(argv[2]) + "_6_blur_revert.pgm");
+
image2d<bool> skel_on_gaussian = skeleton_with_constraint(big, 8, K, arith::revert(blur));
OCR_TEST(skel_on_gaussian);
io::pbm::save(skel_on_gaussian, std::string(argv[2]) + "_7_skeleton_on_gaussian.pbm");
diff --git a/milena/sandbox/inim/2009/ocr/ocr_without_preprocess.cc b/milena/sandbox/inim/2009/ocr/ocr_without_preprocess.cc
index d895a05..ac65458 100644
--- a/milena/sandbox/inim/2009/ocr/ocr_without_preprocess.cc
+++ b/milena/sandbox/inim/2009/ocr/ocr_without_preprocess.cc
@@ -31,7 +31,7 @@
#include <mln/core/alias/window2d.hh>
#include <mln/core/alias/neighb2d.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/value/int_u8.hh>
diff --git a/milena/sandbox/inim/2009/ocr/skeleton.hh b/milena/sandbox/inim/2009/ocr/skeleton.hh
index 2f2a3f8..c39c9f5 100644
--- a/milena/sandbox/inim/2009/ocr/skeleton.hh
+++ b/milena/sandbox/inim/2009/ocr/skeleton.hh
@@ -35,14 +35,14 @@
# include <mln/core/var.hh>
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/cast_image.hh>
+# include <mln/core/image/vmorph/cast_image.hh>
# include <mln/core/alias/neighb2d.hh>
# include <mln/core/site_set/p_queue_fast.hh>
# include <mln/core/site_set/p_priority.hh>
# include <mln/value/int_u8.hh>
# include <mln/arith/revert.hh>
-# include <mln/transform/distance.hh>
+# include <mln/transform/distance_front.hh>
# include <mln/make/w_window2d_int.hh>
@@ -182,7 +182,7 @@ namespace mln
9, 6, 4, 6, 9,
0, 9, 0, 9, 0 };
- image2d<value::int_u8> dist_map_n = transform::distance(value::int_u8(), logical::not_(input), nbh, make::w_window2d_int(vals));
+ image2d<value::int_u8> dist_map_n = transform::distance_front(logical::not_(input), nbh, make::w_window2d_int(vals), mln_max(value::int_u8));
image2d<value::int_u8> dist_map = arith::revert(dist_map_n);
io::pgm::save(dist_map, "distance.pgm");
diff --git a/milena/sandbox/inim/2009/ocr/skeleton.old.cc b/milena/sandbox/inim/2009/ocr/skeleton.old.cc
index 2f33102..077e74f 100644
--- a/milena/sandbox/inim/2009/ocr/skeleton.old.cc
+++ b/milena/sandbox/inim/2009/ocr/skeleton.old.cc
@@ -3,7 +3,7 @@
#include "skeleton.hh"
#include <mln/data/paste.hh>
#include <mln/data/fill.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/io/pgm/save.hh>
#include <mln/io/pbm/save.hh>
#include <mln/io/pbm/load.hh>
diff --git a/milena/sandbox/inim/2010/cag/superpose.hh b/milena/sandbox/inim/2010/cag/superpose.hh
index a05b105..f5ec1dd 100644
--- a/milena/sandbox/inim/2010/cag/superpose.hh
+++ b/milena/sandbox/inim/2010/cag/superpose.hh
@@ -35,7 +35,7 @@
/// whose value is less that mln_max(...).
# include <mln/core/concept/image.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/image_if.hh>
# include <mln/level/convert.hh>
# include <mln/data/fill.hh>
# include <mln/value/rgb8.hh>
diff --git a/milena/sandbox/inim/2010/rag/rag.hh b/milena/sandbox/inim/2010/rag/rag.hh
index 295aaee..bd6e2c6 100644
--- a/milena/sandbox/inim/2010/rag/rag.hh
+++ b/milena/sandbox/inim/2010/rag/rag.hh
@@ -40,7 +40,7 @@
# include "center_weight.hh"
# include "p_vertices_with_accu.hh"
-# include <mln/core/image/extended.hh>
+# include <mln/core/image/dmorph/extended.hh>
# include <mln/canvas/browsing/depth_first_search.hh>
diff --git a/milena/sandbox/inim/2011/fredwin/inim.cc b/milena/sandbox/inim/2011/fredwin/inim.cc
index 57eb27b..4670aec 100644
--- a/milena/sandbox/inim/2011/fredwin/inim.cc
+++ b/milena/sandbox/inim/2011/fredwin/inim.cc
@@ -1,6 +1,6 @@
/* mln core */
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/alias/window2d.hh>
#include <mln/core/alias/w_window2d_int.hh>
diff --git a/milena/sandbox/jardonnet/n_cmpt/fused_filter.cc b/milena/sandbox/jardonnet/n_cmpt/fused_filter.cc
index fb4af39..c08c76f 100644
--- a/milena/sandbox/jardonnet/n_cmpt/fused_filter.cc
+++ b/milena/sandbox/jardonnet/n_cmpt/fused_filter.cc
@@ -19,7 +19,7 @@
#include <mln/debug/iota.hh>
#include <mln/pw/all.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/opt/at.hh>
diff --git a/milena/sandbox/jardonnet/n_cmpt/n_cmpt5.hh b/milena/sandbox/jardonnet/n_cmpt/n_cmpt5.hh
index 804cec7..ee0cc86 100644
--- a/milena/sandbox/jardonnet/n_cmpt/n_cmpt5.hh
+++ b/milena/sandbox/jardonnet/n_cmpt/n_cmpt5.hh
@@ -41,7 +41,7 @@
# include <mln/pw/all.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/image_if.hh>
namespace mln
{
diff --git a/milena/sandbox/jardonnet/test/big_chess.cc b/milena/sandbox/jardonnet/test/big_chess.cc
index 4d746ad..2f4e366 100644
--- a/milena/sandbox/jardonnet/test/big_chess.cc
+++ b/milena/sandbox/jardonnet/test/big_chess.cc
@@ -1,8 +1,8 @@
#include <iostream>
-# include <mln/core/image/sub_image_if.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/sub_image_if.hh>
+# include <mln/core/image/dmorph/image_if.hh>
#include <mln/debug/println.hh>
diff --git a/milena/sandbox/jardonnet/test/registration.cc b/milena/sandbox/jardonnet/test/registration.cc
index e63c19f..762ee4b 100644
--- a/milena/sandbox/jardonnet/test/registration.cc
+++ b/milena/sandbox/jardonnet/test/registration.cc
@@ -5,7 +5,7 @@
#include <mln/io/ppm/save.hh>
#include <mln/convert/to_p_array.hh>
#include <mln/norm/l2.hh>
-#include <mln/core/image/lazy_image.hh>
+#include <mln/core/image/imorph/lazy_image.hh>
#include <sandbox/jardonnet/registration/registration.hh>
#include <sandbox/jardonnet/registration/tools.hh>
diff --git a/milena/sandbox/jardonnet/virtual/access.cc b/milena/sandbox/jardonnet/virtual/access.cc
index 4239f35..6ba552e 100644
--- a/milena/sandbox/jardonnet/virtual/access.cc
+++ b/milena/sandbox/jardonnet/virtual/access.cc
@@ -10,8 +10,8 @@
#include <mln/border/adjust.hh>
#include <mln/border/fill.hh>
#include <mln/literal/all.hh>
-#include <mln/core/image/interpolated.hh>
-#include <mln/core/image/tr_image.hh>
+#include <mln/core/image/imorph/interpolated.hh>
+#include <mln/core/image/imorph/tr_image.hh>
#include <mln/core/var.hh>
#include <mln/data/fill.hh>
diff --git a/milena/sandbox/laurent/ismm2009.hh b/milena/sandbox/laurent/ismm2009.hh
index 1f00d1c..1404b85 100644
--- a/milena/sandbox/laurent/ismm2009.hh
+++ b/milena/sandbox/laurent/ismm2009.hh
@@ -3,7 +3,7 @@
#include <mln/core/var.hh>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/make/double_neighb2d.hh>
diff --git a/milena/sandbox/laurent/memo/ismm2009.v0.cc b/milena/sandbox/laurent/memo/ismm2009.v0.cc
index a3ec9a9..ca9d71d 100644
--- a/milena/sandbox/laurent/memo/ismm2009.v0.cc
+++ b/milena/sandbox/laurent/memo/ismm2009.v0.cc
@@ -3,7 +3,7 @@
#include <mln/core/var.hh>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/make/double_neighb2d.hh>
diff --git a/milena/sandbox/lazzara/igr/igr-biggest-comp.cc b/milena/sandbox/lazzara/igr/igr-biggest-comp.cc
index a59176f..c4a1641 100644
--- a/milena/sandbox/lazzara/igr/igr-biggest-comp.cc
+++ b/milena/sandbox/lazzara/igr/igr-biggest-comp.cc
@@ -9,9 +9,9 @@
#include <mln/essential/3d.hh>
-#include <mln/core/image/slice_image.hh>
-#include <mln/core/image/tr_image.hh>
-#include <mln/core/image/interpolated.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
+#include <mln/core/image/imorph/tr_image.hh>
+#include <mln/core/image/imorph/interpolated.hh>
#include <mln/io/cloud/load.hh>
#include <mln/util/timer.hh>
diff --git a/milena/sandbox/lazzara/igr/igr-cloud.cc b/milena/sandbox/lazzara/igr/igr-cloud.cc
index df4b7c8..ae54aa3 100644
--- a/milena/sandbox/lazzara/igr/igr-cloud.cc
+++ b/milena/sandbox/lazzara/igr/igr-cloud.cc
@@ -26,11 +26,11 @@
# include <mln/literal/white.hh>
# include <mln/literal/colors.hh>
-# include <mln/core/image/slice_image.hh>
+# include <mln/core/image/dmorph/slice_image.hh>
# include <mln/util/timer.hh>
-#include <mln/core/image/tr_image.hh>
-#include <mln/core/image/extension_fun.hh>
+#include <mln/core/image/imorph/tr_image.hh>
+#include <mln/core/image/dmorph/extension_fun.hh>
#include <mln/accu/histo.hh>
#include <mln/accu/sum.hh>
diff --git a/milena/sandbox/lazzara/igr/igr.cc b/milena/sandbox/lazzara/igr/igr.cc
index fffd88f..3af2801 100644
--- a/milena/sandbox/lazzara/igr/igr.cc
+++ b/milena/sandbox/lazzara/igr/igr.cc
@@ -10,9 +10,9 @@
//#include <mln/registration/multiscale.hh>
#include <mln/essential/3d.hh>
-#include <mln/core/image/slice_image.hh>
-#include <mln/core/image/tr_image.hh>
-#include <mln/core/image/interpolated.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
+#include <mln/core/image/imorph/tr_image.hh>
+#include <mln/core/image/imorph/interpolated.hh>
#include <mln/io/cloud/load.hh>
#include <mln/util/timer.hh>
diff --git a/milena/sandbox/lazzara/igr/irm/grad_clo_and_wshd.cc b/milena/sandbox/lazzara/igr/irm/grad_clo_and_wshd.cc
index 49fdb1a..854e41c 100644
--- a/milena/sandbox/lazzara/igr/irm/grad_clo_and_wshd.cc
+++ b/milena/sandbox/lazzara/igr/irm/grad_clo_and_wshd.cc
@@ -3,7 +3,7 @@
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/alias/window2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/io/ppm/save.hh>
#include <mln/io/ppm/load.hh>
diff --git a/milena/sandbox/lazzara/igr/irm/hsl_grad_and_wst.cc b/milena/sandbox/lazzara/igr/irm/hsl_grad_and_wst.cc
index 3fb657d..24cff5b 100644
--- a/milena/sandbox/lazzara/igr/irm/hsl_grad_and_wst.cc
+++ b/milena/sandbox/lazzara/igr/irm/hsl_grad_and_wst.cc
@@ -1,6 +1,6 @@
#include <mln/essential/2d.hh>
-#include <mln/core/image/violent_cast_image.hh>
+#include <mln/core/image/vmorph/violent_cast_image.hh>
#include <mln/extract/all.hh>
diff --git a/milena/sandbox/lazzara/igr/irm_seg_with_mm_and_rag.mine.cc b/milena/sandbox/lazzara/igr/irm_seg_with_mm_and_rag.mine.cc
index 5b54eca..0c68b34 100644
--- a/milena/sandbox/lazzara/igr/irm_seg_with_mm_and_rag.mine.cc
+++ b/milena/sandbox/lazzara/igr/irm_seg_with_mm_and_rag.mine.cc
@@ -7,9 +7,9 @@
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/alias/window2d.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/extension_fun.hh>
-#include <mln/core/image/tr_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/dmorph/extension_fun.hh>
+#include <mln/core/image/imorph/tr_image.hh>
#include <mln/core/var.hh>
#include <mln/win/rectangle2d.hh>
diff --git a/milena/sandbox/lazzara/igr/tr_image.cc b/milena/sandbox/lazzara/igr/tr_image.cc
index d1a8056..48c3c99 100644
--- a/milena/sandbox/lazzara/igr/tr_image.cc
+++ b/milena/sandbox/lazzara/igr/tr_image.cc
@@ -3,10 +3,10 @@
#include <mln/fun/x2x/composed.hh>
#include <mln/fun/x2x/rotation.hh>
#include <mln/fun/x2x/translation.hh>
-#include <mln/core/image/interpolated.hh>
+#include <mln/core/image/imorph/interpolated.hh>
#include <mln/fun/x2v/trilinear.hh>
#include <mln/fun/x2v/bilinear.hh>
-#include <mln/core/image/tr_image.hh>
+#include <mln/core/image/imorph/tr_image.hh>
#include <mln/io/cloud/save.hh>
#include <mln/debug/slices_2d.hh>
diff --git a/milena/sandbox/nivault/extract_character.cc b/milena/sandbox/nivault/extract_character.cc
index 1629a4c..db6932d 100644
--- a/milena/sandbox/nivault/extract_character.cc
+++ b/milena/sandbox/nivault/extract_character.cc
@@ -64,7 +64,7 @@
# include <mln/level/stretch.hh>
# include <mln/core/image_if_value.hh>
-# include <mln/core/image/sub_image.hh>
+# include <mln/core/image/dmorph/sub_image.hh>
# include <mln/data/paste.hh>
# include <mln/literal/all.hh>
# include <mln/value/rgb8.hh>
diff --git a/milena/sandbox/nivault/extract_score.cc b/milena/sandbox/nivault/extract_score.cc
index 7f42105..5704e05 100644
--- a/milena/sandbox/nivault/extract_score.cc
+++ b/milena/sandbox/nivault/extract_score.cc
@@ -68,7 +68,7 @@
# include <mln/linear/gaussian.hh>
# include <mln/core/image_if_value.hh>
-# include <mln/core/image/sub_image.hh>
+# include <mln/core/image/dmorph/sub_image.hh>
# include <mln/data/paste.hh>
# include <mln/literal/all.hh>
# include <mln/value/rgb8.hh>
diff --git a/milena/sandbox/nivault/median.hh b/milena/sandbox/nivault/median.hh
index 3e68877..0c4515a 100644
--- a/milena/sandbox/nivault/median.hh
+++ b/milena/sandbox/nivault/median.hh
@@ -39,7 +39,7 @@
# include <mln/core/alias/window2d.hh>
# include <mln/win/hline2d.hh>
# include <mln/win/vline2d.hh>
-# include <mln/core/image/t_image.hh>
+# include <mln/core/image/morph/t_image.hh>
# include <mln/core/dpoint.hh>
# include <mln/accu/median.hh>
diff --git a/milena/sandbox/nivault/rotation.cc b/milena/sandbox/nivault/rotation.cc
index 104dc1c..ca87166 100644
--- a/milena/sandbox/nivault/rotation.cc
+++ b/milena/sandbox/nivault/rotation.cc
@@ -37,7 +37,7 @@
#include <mln/io/pgm/load.hh>
#include <mln/core/image2d_b.hh>
#include <mln/value/int_u8.hh>
-#include <mln/core/image/interpolated.hh>
+#include <mln/core/image/imorph/interpolated.hh>
int main()
diff --git a/milena/sandbox/theo/color/filter_blen_rgb_edges.cc b/milena/sandbox/theo/color/filter_blen_rgb_edges.cc
index 3d91a0a..b64b8cb 100644
--- a/milena/sandbox/theo/color/filter_blen_rgb_edges.cc
+++ b/milena/sandbox/theo/color/filter_blen_rgb_edges.cc
@@ -8,7 +8,7 @@
#include <mln/value/label_8.hh>
#include <mln/value/label_16.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/routine/extend.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/data/paste.hh>
diff --git a/milena/sandbox/theo/color/filter_meandist_rgb_pixels.cc b/milena/sandbox/theo/color/filter_meandist_rgb_pixels.cc
index 9d198ca..d66e980 100644
--- a/milena/sandbox/theo/color/filter_meandist_rgb_pixels.cc
+++ b/milena/sandbox/theo/color/filter_meandist_rgb_pixels.cc
@@ -1,6 +1,6 @@
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/value/int_u8.hh>
diff --git a/milena/sandbox/theo/color/segment_gl_pixels.cc b/milena/sandbox/theo/color/segment_gl_pixels.cc
index 29e1912..5ab0fc5 100644
--- a/milena/sandbox/theo/color/segment_gl_pixels.cc
+++ b/milena/sandbox/theo/color/segment_gl_pixels.cc
@@ -1,6 +1,6 @@
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/value/int_u8.hh>
diff --git a/milena/sandbox/theo/color/segment_rgb_edges.cc b/milena/sandbox/theo/color/segment_rgb_edges.cc
index bc4d076..a08651d 100644
--- a/milena/sandbox/theo/color/segment_rgb_edges.cc
+++ b/milena/sandbox/theo/color/segment_rgb_edges.cc
@@ -7,7 +7,7 @@
#include <mln/value/label_8.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/routine/extend.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/data/paste.hh>
diff --git a/milena/sandbox/theo/color/segment_rgb_pixels.cc b/milena/sandbox/theo/color/segment_rgb_pixels.cc
index 442ccca..8215bfe 100644
--- a/milena/sandbox/theo/color/segment_rgb_pixels.cc
+++ b/milena/sandbox/theo/color/segment_rgb_pixels.cc
@@ -1,6 +1,6 @@
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/value/int_u8.hh>
diff --git a/milena/sandbox/theo/cs2d/cs2d.hh b/milena/sandbox/theo/cs2d/cs2d.hh
index f4b30b3..d792443 100644
--- a/milena/sandbox/theo/cs2d/cs2d.hh
+++ b/milena/sandbox/theo/cs2d/cs2d.hh
@@ -3,7 +3,7 @@
# include <mln/core/alias/window2d.hh>
# include <mln/convert/to_window.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/image_if.hh>
# include <mln/debug/println.hh>
diff --git a/milena/sandbox/theo/cs2d/kruskal.cc b/milena/sandbox/theo/cs2d/kruskal.cc
index f45bc48..67691e8 100644
--- a/milena/sandbox/theo/cs2d/kruskal.cc
+++ b/milena/sandbox/theo/cs2d/kruskal.cc
@@ -1,8 +1,8 @@
# include <vector>
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/sub_image.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/sub_image.hh>
+# include <mln/core/image/dmorph/image_if.hh>
# include <mln/core/image_if_value.hh>
# include <mln/core/alias/neighb2d.hh>
diff --git a/milena/sandbox/theo/cs2d/tuto.cc b/milena/sandbox/theo/cs2d/tuto.cc
index 99868d4..8cb814d 100644
--- a/milena/sandbox/theo/cs2d/tuto.cc
+++ b/milena/sandbox/theo/cs2d/tuto.cc
@@ -1,5 +1,5 @@
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/image_if.hh>
# include <mln/core/alias/neighb2d.hh>
# include <mln/core/alias/window2d.hh>
diff --git a/milena/sandbox/theo/esiee/laurent/ismm09/cplx2d.hh b/milena/sandbox/theo/esiee/laurent/ismm09/cplx2d.hh
index 264f1f2..35458be 100644
--- a/milena/sandbox/theo/esiee/laurent/ismm09/cplx2d.hh
+++ b/milena/sandbox/theo/esiee/laurent/ismm09/cplx2d.hh
@@ -4,7 +4,7 @@
#include <mln/make/double_neighb2d.hh>
#include <mln/pw/all.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/routine/extend.hh>
#include <mln/data/paste.hh>
diff --git a/milena/sandbox/theo/esiee/laurent/presentation/wst_edge.cc b/milena/sandbox/theo/esiee/laurent/presentation/wst_edge.cc
index b8e636e..b54705a 100644
--- a/milena/sandbox/theo/esiee/laurent/presentation/wst_edge.cc
+++ b/milena/sandbox/theo/esiee/laurent/presentation/wst_edge.cc
@@ -1,8 +1,8 @@
# include <mln/core/var.hh>
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/image_if.hh>
-# include <mln/core/image/extended.hh>
+# include <mln/core/image/dmorph/image_if.hh>
+# include <mln/core/image/dmorph/extended.hh>
# include <mln/core/routine/extend.hh>
# include <mln/core/alias/window2d.hh>
diff --git a/milena/sandbox/theo/exec/superpose.cc b/milena/sandbox/theo/exec/superpose.cc
index c3fb1db..630295b 100644
--- a/milena/sandbox/theo/exec/superpose.cc
+++ b/milena/sandbox/theo/exec/superpose.cc
@@ -1,6 +1,6 @@
#include "filetype.hh"
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/data/fill.hh>
#include <mln/pw/all.hh>
diff --git a/milena/sandbox/theo/experimental/projected_histo.cc b/milena/sandbox/theo/experimental/projected_histo.cc
index ffca527..4f3ec9d 100644
--- a/milena/sandbox/theo/experimental/projected_histo.cc
+++ b/milena/sandbox/theo/experimental/projected_histo.cc
@@ -2,10 +2,10 @@
#include <mln/core/image/image1d.hh>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/unproject_image.hh>
+#include <mln/core/image/dmorph/unproject_image.hh>
#include <mln/fun/v2v/projection.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/pw/value.hh>
#include <mln/accu/count.hh>
diff --git a/milena/sandbox/theo/fllt.svg.6.cc b/milena/sandbox/theo/fllt.svg.6.cc
index 1e2708f..65a6cee 100644
--- a/milena/sandbox/theo/fllt.svg.6.cc
+++ b/milena/sandbox/theo/fllt.svg.6.cc
@@ -32,9 +32,9 @@
#include <mln/core/site_set/p_array.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/image_if_value.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/site_set/p_queue_fast.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/value/int_u8.hh>
#include <mln/value/rgb8.hh>
diff --git a/milena/sandbox/theo/fllt.svg.7.hh b/milena/sandbox/theo/fllt.svg.7.hh
index 653f513..9437c55 100644
--- a/milena/sandbox/theo/fllt.svg.7.hh
+++ b/milena/sandbox/theo/fllt.svg.7.hh
@@ -36,9 +36,9 @@
#include <mln/core/site_set/p_array.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/image_if_value.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/site_set/p_queue_fast.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/value/int_u8.hh>
#include <mln/value/rgb8.hh>
diff --git a/milena/sandbox/theo/fllt/fllt.hh b/milena/sandbox/theo/fllt/fllt.hh
index 0f4ae96..60a78ec 100644
--- a/milena/sandbox/theo/fllt/fllt.hh
+++ b/milena/sandbox/theo/fllt/fllt.hh
@@ -33,9 +33,9 @@
#include <mln/core/site_set/p_array.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/image_if_value.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/site_set/p_queue_fast.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/opt/at.hh>
#include <mln/value/int_u8.hh>
diff --git a/milena/sandbox/theo/fllt/fllt.svg.3.cc b/milena/sandbox/theo/fllt/fllt.svg.3.cc
index 3ecd05b..e791bda 100644
--- a/milena/sandbox/theo/fllt/fllt.svg.3.cc
+++ b/milena/sandbox/theo/fllt/fllt.svg.3.cc
@@ -30,7 +30,7 @@
#include <mln/core/site_set/p_array.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/image_if_value.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/value/int_u8.hh>
# include <mln/value/rgb8.hh>
diff --git a/milena/sandbox/theo/fllt/fllt.svg.4.cc b/milena/sandbox/theo/fllt/fllt.svg.4.cc
index 7bb79b0..9c774d6 100644
--- a/milena/sandbox/theo/fllt/fllt.svg.4.cc
+++ b/milena/sandbox/theo/fllt/fllt.svg.4.cc
@@ -30,7 +30,7 @@
#include <mln/core/site_set/p_array.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/image_if_value.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/value/int_u8.hh>
# include <mln/value/rgb8.hh>
diff --git a/milena/sandbox/theo/fllt/fllt.svg.5.cc b/milena/sandbox/theo/fllt/fllt.svg.5.cc
index 62e0f8f..2147921 100644
--- a/milena/sandbox/theo/fllt/fllt.svg.5.cc
+++ b/milena/sandbox/theo/fllt/fllt.svg.5.cc
@@ -30,7 +30,7 @@
#include <mln/core/site_set/p_array.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/image_if_value.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/value/int_u8.hh>
# include <mln/value/rgb8.hh>
diff --git a/milena/sandbox/theo/fllt/fllt.svg.6.cc b/milena/sandbox/theo/fllt/fllt.svg.6.cc
index 05eedb0..147892a 100644
--- a/milena/sandbox/theo/fllt/fllt.svg.6.cc
+++ b/milena/sandbox/theo/fllt/fllt.svg.6.cc
@@ -32,9 +32,9 @@
#include <mln/core/site_set/p_array.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/image_if_value.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/site_set/p_queue_fast.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/value/int_u8.hh>
#include <mln/value/rgb8.hh>
diff --git a/milena/sandbox/theo/fllt/fllt.svg.7.hh b/milena/sandbox/theo/fllt/fllt.svg.7.hh
index 60d054b..900d05e 100644
--- a/milena/sandbox/theo/fllt/fllt.svg.7.hh
+++ b/milena/sandbox/theo/fllt/fllt.svg.7.hh
@@ -36,9 +36,9 @@
#include <mln/core/site_set/p_array.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/image_if_value.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/site_set/p_queue_fast.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/opt/at.hh>
diff --git a/milena/sandbox/theo/fllt/fllt_test.hh b/milena/sandbox/theo/fllt/fllt_test.hh
index 209eb9e..186db00 100644
--- a/milena/sandbox/theo/fllt/fllt_test.hh
+++ b/milena/sandbox/theo/fllt/fllt_test.hh
@@ -32,9 +32,9 @@
#include <mln/core/site_set/p_array.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/image_if_value.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/site_set/p_queue_fast.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/opt/at.hh>
diff --git a/milena/sandbox/theo/igr/dump_to_dist.cc b/milena/sandbox/theo/igr/dump_to_dist.cc
index a7ea633..3947428 100644
--- a/milena/sandbox/theo/igr/dump_to_dist.cc
+++ b/milena/sandbox/theo/igr/dump_to_dist.cc
@@ -3,7 +3,7 @@
#include <mln/core/var.hh>
#include <mln/core/image/image3d.hh>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/core/concept/function.hh>
diff --git a/milena/sandbox/theo/igr/irm_seg_with_mm_and_rag.cc b/milena/sandbox/theo/igr/irm_seg_with_mm_and_rag.cc
index 74b89e8..1475367 100644
--- a/milena/sandbox/theo/igr/irm_seg_with_mm_and_rag.cc
+++ b/milena/sandbox/theo/igr/irm_seg_with_mm_and_rag.cc
@@ -7,7 +7,7 @@
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/alias/window2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/win/rectangle2d.hh>
#include <mln/io/pgm/load.hh>
diff --git a/milena/sandbox/theo/publis/icip2009/compute_a.cc b/milena/sandbox/theo/publis/icip2009/compute_a.cc
index 9f91ef1..fd84701 100644
--- a/milena/sandbox/theo/publis/icip2009/compute_a.cc
+++ b/milena/sandbox/theo/publis/icip2009/compute_a.cc
@@ -29,7 +29,7 @@
/// \file sandbox/theo/publis/icip2009/compute_a.cc
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/pw/all.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/value/int_u8.hh>
diff --git a/milena/sandbox/vigouroux/color/rgb_to_cmy.hh b/milena/sandbox/vigouroux/color/rgb_to_cmy.hh
index f2ac8a0..b71dc2e 100644
--- a/milena/sandbox/vigouroux/color/rgb_to_cmy.hh
+++ b/milena/sandbox/vigouroux/color/rgb_to_cmy.hh
@@ -1,4 +1,4 @@
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/w_window2d_int.hh>
#include <mln/display/show.hh>
diff --git a/milena/sandbox/vigouroux/color/rgb_to_hsi.hh b/milena/sandbox/vigouroux/color/rgb_to_hsi.hh
index 221f203..5899b06 100644
--- a/milena/sandbox/vigouroux/color/rgb_to_hsi.hh
+++ b/milena/sandbox/vigouroux/color/rgb_to_hsi.hh
@@ -1,7 +1,7 @@
#include <cmath>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/w_window2d_int.hh>
#include <mln/display/show.hh>
diff --git a/milena/sandbox/vigouroux/color/rgb_to_xyz.hh b/milena/sandbox/vigouroux/color/rgb_to_xyz.hh
index a379922..d25fd54 100644
--- a/milena/sandbox/vigouroux/color/rgb_to_xyz.hh
+++ b/milena/sandbox/vigouroux/color/rgb_to_xyz.hh
@@ -1,7 +1,7 @@
#ifndef OLENA_CONVERT_RGBXYZ_HH
# define OLENA_CONVERT_RGBXYZ_HH
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/image_if.hh>
# include <mln/core/alias/w_window2d_int.hh>
# include <mln/display/show.hh>
diff --git a/milena/sandbox/vigouroux/color/rgb_to_yuv.hh b/milena/sandbox/vigouroux/color/rgb_to_yuv.hh
index f122e23..ddcdba4 100644
--- a/milena/sandbox/vigouroux/color/rgb_to_yuv.hh
+++ b/milena/sandbox/vigouroux/color/rgb_to_yuv.hh
@@ -1,4 +1,4 @@
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/w_window2d_int.hh>
#include <mln/display/show.hh>
diff --git a/milena/sandbox/vigouroux/tests.cc b/milena/sandbox/vigouroux/tests.cc
index 35c9b8b..7c9435a 100644
--- a/milena/sandbox/vigouroux/tests.cc
+++ b/milena/sandbox/vigouroux/tests.cc
@@ -1,4 +1,4 @@
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/w_window2d_int.hh>
#include <mln/display/show.hh>
--
1.5.6.5
1
0
Special headers:
* mln/core/image/essential.hh,
* mln/core/image/all.hh: update.
* mln/core/image/dmorph/all.hh,
* mln/core/image/imorph/all.hh,
* mln/core/image/morph/all.hh,
* mln/core/image/vmorph/all.hh: new.
Makefiles:
* tests/core/image/Makefile.am: add new subdirs.
* tests/core/image/dmorph/Makefile.am,
* tests/core/image/imorph/Makefile.am,
* tests/core/image/morph/Makefile.am,
* tests/core/image/vmorph/Makefile.am: new.
Domain morphers:
* mln/core/image/extended.hh
* mln/core/image/extension_fun.hh
* mln/core/image/extension_ima.hh
* mln/core/image/extension_val.hh
* mln/core/image/hexa.hh
* mln/core/image/hexa_piter.hh
* mln/core/image/image2d_h.hh
* mln/core/image/image_if.hh
* mln/core/image/p2p_image.hh
* mln/core/image/slice_image.hh
* mln/core/image/sub_image.hh
* mln/core/image/sub_image_if.hh
* mln/core/image/unproject_image.hh: move...
* mln/core/image/dmorph/extended.hh
* mln/core/image/dmorph/extension_fun.hh
* mln/core/image/dmorph/extension_ima.hh
* mln/core/image/dmorph/extension_val.hh
* mln/core/image/dmorph/hexa.hh
* mln/core/image/dmorph/hexa_piter.hh
* mln/core/image/dmorph/image2d_h.hh
* mln/core/image/dmorph/image_if.hh
* mln/core/image/dmorph/p2p_image.hh
* mln/core/image/dmorph/slice_image.hh
* mln/core/image/dmorph/sub_image.hh
* mln/core/image/dmorph/sub_image_if.hh
* mln/core/image/dmorph/unproject_image.hh: ... here.
Identity morphers:
* mln/core/image/decorated_image.hh
* mln/core/image/interpolated.hh
* mln/core/image/lazy_image.hh
* mln/core/image/plain.hh
* mln/core/image/safe.hh
* mln/core/image/tr_image.hh: Move...
* mln/core/image/imorph/decorated_image.hh
* mln/core/image/imorph/interpolated.hh
* mln/core/image/imorph/lazy_image.hh
* mln/core/image/imorph/plain.hh
* mln/core/image/imorph/safe.hh
* mln/core/image/imorph/tr_image.hh: ... here.
Image morpher:
* mln/core/image/t_image.hh: Move...
* mln/core/image/morph/t_image.hh: ... here.
Value morphers:
* mln/core/image/cast_image.hh
* mln/core/image/fun_image.hh
* mln/core/image/thru_morpher.hh
* mln/core/image/thrubin_morpher.hh
* mln/core/image/violent_cast_image.hh: Move...
* mln/core/image/vmorph/cast_image.hh
* mln/core/image/vmorph/fun_image.hh
* mln/core/image/vmorph/thru_image.hh
* mln/core/image/vmorph/thrubin_image.hh
* mln/core/image/vmorph/violent_cast_image.h: ... here.
Tests:
* tests/core/image/hexa.cc ,
* tests/core/image/image2d_h.cc ,
* tests/core/image/image_if.cc ,
* tests/core/image/p2p_image.cc ,
* tests/core/image/slice_image.cc ,
* tests/core/image/sub_image.cc,
* tests/core/image/unproject_image.cc,
* tests/core/image/decorated_image.cc,
* tests/core/image/interpolated.cc ,
* tests/core/image/safe_image.cc ,
* tests/core/image/tr_image.cc,
* tests/core/image/t_image.cc,
* tests/core/image/cast_image.cc: Move...
* tests/core/image/dmorph/hexa.cc,
* tests/core/image/dmorph/image2d_h.cc,
* tests/core/image/dmorph/image_if.cc,
* tests/core/image/dmorph/p2p_image.cc,
* tests/core/image/dmorph/slice_image.cc,
* tests/core/image/dmorph/sub_image.cc,
* tests/core/image/dmorph/unproject_image.cc,
* tests/core/image/imorph/decorated_image.cc,
* tests/core/image/imorph/interpolated.cc,
* tests/core/image/imorph/safe_image.cc,
* tests/core/image/imorph/tr_image.cc,
* tests/core/image/morph/t_image.cc,
* tests/core/image/vmorph/cast_image.cc: ... here.
Includes.
* tests/core/image/plain.cc,
* tests/core/image/image_if_interval.cc,
* mln/convert/impl/from_site_set_to_image.hh,
* mln/core/routine/extend.hh,
* mln/debug/slices_2d.hh,
* mln/draw/line.hh,
* mln/extract/blue.hh,
* mln/extract/green.hh,
* mln/extract/hue.hh,
* mln/extract/lum.hh,
* mln/extract/red.hh,
* mln/extract/sat.hh,
* mln/labeling/fill_holes.hh,
* mln/level/replace.hh,
* mln/make/image3d.hh,
* mln/registration/icp.hh,
* mln/transformation/rotate.hh,
* mln/world/inter_pixel/dim2/make_edge_image.hh,
* mln/world/inter_pixel/display_edge.hh,
* mln/world/inter_pixel/is_pixel.hh,
* mln/world/inter_pixel/is_separator.hh,
* tests/arith/minus_full.cc,
* tests/arith/plus_full.cc,
* tests/arith/revert_full.cc,
* tests/arith/times_full.cc,
* tests/border/find.cc,
* tests/border/find_full.cc,
* tests/border/get.cc,
* tests/border/get_full.cc,
* tests/border/resize_image_if.cc,
* tests/border/resize_sub_image.cc,
* tests/canvas/chamfer.cc,
* tests/convert/to_p_set.cc,
* tests/convert/to_window.cc,
* tests/labeling/level.cc,
* tests/level/abs_full.cc,
* tests/level/compare_full.cc,
* tests/level/compute.cc,
* tests/level/compute_full.cc,
* tests/level/transform.cc,
* tests/level/transform_full.cc,
* tests/level/transform_inplace.cc,
* tests/morpho/elementary/gradient.cc,
* tests/morpho/elementary/gradient_external.cc,
* tests/morpho/elementary/gradient_internal.cc,
* tests/morpho/laplacian.cc,
* tests/morpho/meyer_wst_long.cc,
* tests/morpho/skeleton_constrained.cc,
* tests/morpho/tree/compute_parent.cc,
* tests/opt/at.cc,
* tests/trait/image/images.cc,
* tests/core/routine/duplicate.cc,
* tests/core/routine/extend.cc,
* tests/core/routine/initialize.cc,
* tests/core/routine/primary.cc,
* tests/data/fill_full.cc,
* tests/data/fill_with_image.cc,
* tests/data/fill_with_value.cc,
* tests/data/paste.cc,
* tests/data/paste_full.cc,
* tests/draw/line.cc,
* tests/extension/fill.cc,
* tools/seed2tiling.cc: update includes.
---
milena/ChangeLog | 194 ++++++++++++++++++++
milena/mln/convert/impl/from_site_set_to_image.hh | 2 +-
milena/mln/core/image/all.hh | 45 +----
milena/mln/core/image/dmorph/all.hh | 12 ++
milena/mln/core/image/{ => dmorph}/extended.hh | 13 +-
.../mln/core/image/{ => dmorph}/extension_fun.hh | 10 +-
.../mln/core/image/{ => dmorph}/extension_ima.hh | 13 +-
.../mln/core/image/{ => dmorph}/extension_val.hh | 13 +-
milena/mln/core/image/{ => dmorph}/hexa.hh | 10 +-
milena/mln/core/image/{ => dmorph}/hexa_piter.hh | 8 +-
milena/mln/core/image/{ => dmorph}/image2d_h.hh | 17 +-
milena/mln/core/image/{ => dmorph}/image_if.hh | 10 +-
milena/mln/core/image/{ => dmorph}/p2p_image.hh | 10 +-
milena/mln/core/image/{ => dmorph}/slice_image.hh | 10 +-
milena/mln/core/image/{ => dmorph}/sub_image.hh | 12 +-
milena/mln/core/image/{ => dmorph}/sub_image_if.hh | 14 +-
milena/mln/core/image/dmorph/transformed_image.hh | 2 +-
.../mln/core/image/{ => dmorph}/unproject_image.hh | 11 +-
milena/mln/core/image/essential.hh | 12 +-
milena/mln/core/image/{dmorph => imorph}/all.hh | 18 ++-
.../mln/core/image/{ => imorph}/decorated_image.hh | 10 +-
milena/mln/core/image/{ => imorph}/interpolated.hh | 11 +-
milena/mln/core/image/{ => imorph}/lazy_image.hh | 10 +-
milena/mln/core/image/{ => imorph}/plain.hh | 10 +-
milena/mln/core/image/{ => imorph}/safe.hh | 11 +-
milena/mln/core/image/{ => imorph}/tr_image.hh | 10 +-
milena/mln/core/image/{dmorph => morph}/all.hh | 12 +-
milena/mln/core/image/{ => morph}/t_image.hh | 12 +-
milena/mln/core/image/{dmorph => vmorph}/all.hh | 16 +-
milena/mln/core/image/{ => vmorph}/cast_image.hh | 8 +-
milena/mln/core/image/{ => vmorph}/fun_image.hh | 10 +-
.../{thru_morpher.hh => vmorph/thru_image.hh} | 11 +-
.../thrubin_image.hh} | 10 +-
.../core/image/{ => vmorph}/violent_cast_image.hh | 10 +-
milena/mln/core/routine/extend.hh | 9 +-
milena/mln/debug/slices_2d.hh | 7 +-
milena/mln/draw/line.hh | 2 +-
milena/mln/extract/blue.hh | 2 +-
milena/mln/extract/green.hh | 2 +-
milena/mln/extract/hue.hh | 2 +-
milena/mln/extract/lum.hh | 2 +-
milena/mln/extract/red.hh | 2 +-
milena/mln/extract/sat.hh | 2 +-
milena/mln/labeling/fill_holes.hh | 2 +-
milena/mln/level/replace.hh | 6 +-
milena/mln/make/image3d.hh | 2 +-
milena/mln/morpho/watershed/superpose.hh | 2 +-
milena/mln/registration/icp.hh | 6 +-
milena/mln/transformation/rotate.hh | 2 +-
.../mln/world/inter_pixel/dim2/make_edge_image.hh | 4 +-
milena/mln/world/inter_pixel/display_edge.hh | 2 +-
milena/mln/world/inter_pixel/is_pixel.hh | 2 +-
milena/mln/world/inter_pixel/is_separator.hh | 2 +-
milena/tests/arith/minus_full.cc | 14 +-
milena/tests/arith/plus_full.cc | 14 +-
milena/tests/arith/revert_full.cc | 8 +-
milena/tests/arith/times_full.cc | 14 +-
milena/tests/border/find.cc | 12 +-
milena/tests/border/find_full.cc | 8 +-
milena/tests/border/get.cc | 8 +-
milena/tests/border/get_full.cc | 8 +-
milena/tests/border/resize_image_if.cc | 8 +-
milena/tests/border/resize_sub_image.cc | 14 +-
milena/tests/canvas/chamfer.cc | 12 +-
milena/tests/convert/to_p_set.cc | 6 +-
milena/tests/convert/to_window.cc | 6 +-
milena/tests/core/image/Makefile.am | 33 +---
milena/tests/core/image/dmorph/Makefile.am | 16 ++-
milena/tests/core/image/{ => dmorph}/hexa.cc | 8 +-
milena/tests/core/image/{ => dmorph}/image2d_h.cc | 8 +-
milena/tests/core/image/{ => dmorph}/image_if.cc | 8 +-
milena/tests/core/image/{ => dmorph}/p2p_image.cc | 13 +-
.../tests/core/image/{ => dmorph}/slice_image.cc | 7 +-
milena/tests/core/image/{ => dmorph}/sub_image.cc | 12 +-
.../core/image/{ => dmorph}/unproject_image.cc | 4 +-
milena/tests/core/image/image_if_interval.cc | 55 ------
milena/tests/core/image/image_if_value.cc | 55 ------
milena/tests/core/image/imorph/Makefile.am | 18 ++
.../core/image/{ => imorph}/decorated_image.cc | 10 +-
.../tests/core/image/{ => imorph}/interpolated.cc | 8 +-
milena/tests/core/image/{ => imorph}/safe_image.cc | 5 +-
milena/tests/core/image/{ => imorph}/tr_image.cc | 4 +-
.../tests/core/image/{dmorph => morph}/Makefile.am | 4 +-
milena/tests/core/image/{ => morph}/t_image.cc | 13 +-
milena/tests/core/image/plain.cc | 12 +-
.../core/image/{dmorph => vmorph}/Makefile.am | 4 +-
milena/tests/core/image/{ => vmorph}/cast_image.cc | 22 ++-
milena/tests/core/routine/duplicate.cc | 6 +-
milena/tests/core/routine/extend.cc | 4 +-
milena/tests/core/routine/initialize.cc | 12 +-
milena/tests/core/routine/primary.cc | 5 +-
milena/tests/data/fill_full.cc | 14 +-
milena/tests/data/fill_with_image.cc | 12 +-
milena/tests/data/fill_with_value.cc | 10 +-
milena/tests/data/paste.cc | 12 +-
milena/tests/data/paste_full.cc | 14 +-
milena/tests/draw/line.cc | 12 +-
milena/tests/extension/fill.cc | 12 +-
milena/tests/labeling/level.cc | 6 +-
milena/tests/level/abs_full.cc | 14 +-
milena/tests/level/compare_full.cc | 11 +-
milena/tests/level/compute.cc | 10 +-
milena/tests/level/compute_full.cc | 8 +-
milena/tests/level/transform.cc | 8 +-
milena/tests/level/transform_full.cc | 14 +-
milena/tests/level/transform_inplace.cc | 9 +-
milena/tests/morpho/elementary/gradient.cc | 2 +-
.../tests/morpho/elementary/gradient_external.cc | 2 +-
.../tests/morpho/elementary/gradient_internal.cc | 2 +-
milena/tests/morpho/laplacian.cc | 12 +-
milena/tests/morpho/meyer_wst_long.cc | 2 +-
milena/tests/morpho/skeleton_constrained.cc | 2 +-
milena/tests/morpho/tree/compute_parent.cc | 2 +-
milena/tests/opt/at.cc | 10 +-
milena/tests/trait/image/images.cc | 10 +-
milena/tools/seed2tiling.cc | 10 +-
116 files changed, 718 insertions(+), 627 deletions(-)
rename milena/mln/core/image/{ => dmorph}/extended.hh (94%)
rename milena/mln/core/image/{ => dmorph}/extension_fun.hh (96%)
rename milena/mln/core/image/{ => dmorph}/extension_ima.hh (95%)
rename milena/mln/core/image/{ => dmorph}/extension_val.hh (95%)
rename milena/mln/core/image/{ => dmorph}/hexa.hh (97%)
rename milena/mln/core/image/{ => dmorph}/hexa_piter.hh (94%)
rename milena/mln/core/image/{ => dmorph}/image2d_h.hh (87%)
rename milena/mln/core/image/{ => dmorph}/image_if.hh (96%)
rename milena/mln/core/image/{ => dmorph}/p2p_image.hh (96%)
rename milena/mln/core/image/{ => dmorph}/slice_image.hh (96%)
rename milena/mln/core/image/{ => dmorph}/sub_image.hh (95%)
rename milena/mln/core/image/{ => dmorph}/sub_image_if.hh (94%)
rename milena/mln/core/image/{ => dmorph}/unproject_image.hh (96%)
copy milena/mln/core/image/{dmorph => imorph}/all.hh (71%)
rename milena/mln/core/image/{ => imorph}/decorated_image.hh (96%)
rename milena/mln/core/image/{ => imorph}/interpolated.hh (95%)
rename milena/mln/core/image/{ => imorph}/lazy_image.hh (97%)
rename milena/mln/core/image/{ => imorph}/plain.hh (95%)
rename milena/mln/core/image/{ => imorph}/safe.hh (96%)
rename milena/mln/core/image/{ => imorph}/tr_image.hh (96%)
copy milena/mln/core/image/{dmorph => morph}/all.hh (83%)
rename milena/mln/core/image/{ => morph}/t_image.hh (97%)
copy milena/mln/core/image/{dmorph => vmorph}/all.hh (74%)
rename milena/mln/core/image/{ => vmorph}/cast_image.hh (96%)
rename milena/mln/core/image/{ => vmorph}/fun_image.hh (95%)
rename milena/mln/core/image/{thru_morpher.hh => vmorph/thru_image.hh} (97%)
rename milena/mln/core/image/{thrubin_morpher.hh => vmorph/thrubin_image.hh} (96%)
rename milena/mln/core/image/{ => vmorph}/violent_cast_image.hh (95%)
rename milena/tests/core/image/{ => dmorph}/hexa.cc (91%)
rename milena/tests/core/image/{ => dmorph}/image2d_h.cc (91%)
rename milena/tests/core/image/{ => dmorph}/image_if.cc (91%)
rename milena/tests/core/image/{ => dmorph}/p2p_image.cc (85%)
rename milena/tests/core/image/{ => dmorph}/slice_image.cc (90%)
rename milena/tests/core/image/{ => dmorph}/sub_image.cc (88%)
rename milena/tests/core/image/{ => dmorph}/unproject_image.cc (94%)
delete mode 100644 milena/tests/core/image/image_if_interval.cc
delete mode 100644 milena/tests/core/image/image_if_value.cc
create mode 100644 milena/tests/core/image/imorph/Makefile.am
rename milena/tests/core/image/{ => imorph}/decorated_image.cc (90%)
rename milena/tests/core/image/{ => imorph}/interpolated.cc (91%)
rename milena/tests/core/image/{ => imorph}/safe_image.cc (94%)
rename milena/tests/core/image/{ => imorph}/tr_image.cc (96%)
copy milena/tests/core/image/{dmorph => morph}/Makefile.am (69%)
rename milena/tests/core/image/{ => morph}/t_image.cc (89%)
copy milena/tests/core/image/{dmorph => vmorph}/Makefile.am (69%)
rename milena/tests/core/image/{ => vmorph}/cast_image.cc (78%)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 346ec2a..e006366 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,197 @@
+2009-05-28 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+
+ Move morphers in core/image subdirectories.
+
+
+ Special headers:
+
+ * mln/core/image/essential.hh,
+ * mln/core/image/all.hh: update.
+
+ * mln/core/image/dmorph/all.hh,
+ * mln/core/image/imorph/all.hh,
+ * mln/core/image/morph/all.hh,
+ * mln/core/image/vmorph/all.hh: new.
+
+
+ Makefiles:
+
+ * tests/core/image/Makefile.am: add new subdirs.
+
+ * tests/core/image/dmorph/Makefile.am,
+ * tests/core/image/imorph/Makefile.am,
+ * tests/core/image/morph/Makefile.am,
+ * tests/core/image/vmorph/Makefile.am: new.
+
+
+ Domain morphers:
+
+ * mln/core/image/extended.hh
+ * mln/core/image/extension_fun.hh
+ * mln/core/image/extension_ima.hh
+ * mln/core/image/extension_val.hh
+ * mln/core/image/hexa.hh
+ * mln/core/image/hexa_piter.hh
+ * mln/core/image/image2d_h.hh
+ * mln/core/image/image_if.hh
+ * mln/core/image/p2p_image.hh
+ * mln/core/image/slice_image.hh
+ * mln/core/image/sub_image.hh
+ * mln/core/image/sub_image_if.hh
+ * mln/core/image/unproject_image.hh: move...
+
+ * mln/core/image/dmorph/extended.hh
+ * mln/core/image/dmorph/extension_fun.hh
+ * mln/core/image/dmorph/extension_ima.hh
+ * mln/core/image/dmorph/extension_val.hh
+ * mln/core/image/dmorph/hexa.hh
+ * mln/core/image/dmorph/hexa_piter.hh
+ * mln/core/image/dmorph/image2d_h.hh
+ * mln/core/image/dmorph/image_if.hh
+ * mln/core/image/dmorph/p2p_image.hh
+ * mln/core/image/dmorph/slice_image.hh
+ * mln/core/image/dmorph/sub_image.hh
+ * mln/core/image/dmorph/sub_image_if.hh
+ * mln/core/image/dmorph/unproject_image.hh: ... here.
+
+
+ Identity morphers:
+
+ * mln/core/image/decorated_image.hh
+ * mln/core/image/interpolated.hh
+ * mln/core/image/lazy_image.hh
+ * mln/core/image/plain.hh
+ * mln/core/image/safe.hh
+ * mln/core/image/tr_image.hh: Move...
+
+ * mln/core/image/imorph/decorated_image.hh
+ * mln/core/image/imorph/interpolated.hh
+ * mln/core/image/imorph/lazy_image.hh
+ * mln/core/image/imorph/plain.hh
+ * mln/core/image/imorph/safe.hh
+ * mln/core/image/imorph/tr_image.hh: ... here.
+
+
+ Image morpher:
+
+ * mln/core/image/t_image.hh: Move...
+ * mln/core/image/morph/t_image.hh: ... here.
+
+
+ Value morphers:
+
+ * mln/core/image/cast_image.hh
+ * mln/core/image/fun_image.hh
+ * mln/core/image/thru_morpher.hh
+ * mln/core/image/thrubin_morpher.hh
+ * mln/core/image/violent_cast_image.hh: Move...
+
+ * mln/core/image/vmorph/cast_image.hh
+ * mln/core/image/vmorph/fun_image.hh
+ * mln/core/image/vmorph/thru_image.hh
+ * mln/core/image/vmorph/thrubin_image.hh
+ * mln/core/image/vmorph/violent_cast_image.h: ... here.
+
+
+ Tests:
+
+ * tests/core/image/hexa.cc ,
+ * tests/core/image/image2d_h.cc ,
+ * tests/core/image/image_if.cc ,
+ * tests/core/image/p2p_image.cc ,
+ * tests/core/image/slice_image.cc ,
+ * tests/core/image/sub_image.cc,
+ * tests/core/image/unproject_image.cc,
+ * tests/core/image/decorated_image.cc,
+ * tests/core/image/interpolated.cc ,
+ * tests/core/image/safe_image.cc ,
+ * tests/core/image/tr_image.cc,
+ * tests/core/image/t_image.cc,
+ * tests/core/image/cast_image.cc: Move...
+
+
+ * tests/core/image/dmorph/hexa.cc,
+ * tests/core/image/dmorph/image2d_h.cc,
+ * tests/core/image/dmorph/image_if.cc,
+ * tests/core/image/dmorph/p2p_image.cc,
+ * tests/core/image/dmorph/slice_image.cc,
+ * tests/core/image/dmorph/sub_image.cc,
+ * tests/core/image/dmorph/unproject_image.cc,
+ * tests/core/image/imorph/decorated_image.cc,
+ * tests/core/image/imorph/interpolated.cc,
+ * tests/core/image/imorph/safe_image.cc,
+ * tests/core/image/imorph/tr_image.cc,
+ * tests/core/image/morph/t_image.cc,
+ * tests/core/image/vmorph/cast_image.cc: ... here.
+
+
+ Includes.
+
+ * tests/core/image/plain.cc,
+ * tests/core/image/image_if_interval.cc,
+ * mln/convert/impl/from_site_set_to_image.hh,
+ * mln/core/routine/extend.hh,
+ * mln/debug/slices_2d.hh,
+ * mln/draw/line.hh,
+ * mln/extract/blue.hh,
+ * mln/extract/green.hh,
+ * mln/extract/hue.hh,
+ * mln/extract/lum.hh,
+ * mln/extract/red.hh,
+ * mln/extract/sat.hh,
+ * mln/labeling/fill_holes.hh,
+ * mln/level/replace.hh,
+ * mln/make/image3d.hh,
+ * mln/registration/icp.hh,
+ * mln/transformation/rotate.hh,
+ * mln/world/inter_pixel/dim2/make_edge_image.hh,
+ * mln/world/inter_pixel/display_edge.hh,
+ * mln/world/inter_pixel/is_pixel.hh,
+ * mln/world/inter_pixel/is_separator.hh,
+ * tests/arith/minus_full.cc,
+ * tests/arith/plus_full.cc,
+ * tests/arith/revert_full.cc,
+ * tests/arith/times_full.cc,
+ * tests/border/find.cc,
+ * tests/border/find_full.cc,
+ * tests/border/get.cc,
+ * tests/border/get_full.cc,
+ * tests/border/resize_image_if.cc,
+ * tests/border/resize_sub_image.cc,
+ * tests/canvas/chamfer.cc,
+ * tests/convert/to_p_set.cc,
+ * tests/convert/to_window.cc,
+ * tests/labeling/level.cc,
+ * tests/level/abs_full.cc,
+ * tests/level/compare_full.cc,
+ * tests/level/compute.cc,
+ * tests/level/compute_full.cc,
+ * tests/level/transform.cc,
+ * tests/level/transform_full.cc,
+ * tests/level/transform_inplace.cc,
+ * tests/morpho/elementary/gradient.cc,
+ * tests/morpho/elementary/gradient_external.cc,
+ * tests/morpho/elementary/gradient_internal.cc,
+ * tests/morpho/laplacian.cc,
+ * tests/morpho/meyer_wst_long.cc,
+ * tests/morpho/skeleton_constrained.cc,
+ * tests/morpho/tree/compute_parent.cc,
+ * mln/morpho/watershed/superpose.hh,
+ * tests/opt/at.cc,
+ * tests/trait/image/images.cc,
+ * tests/core/routine/duplicate.cc,
+ * tests/core/routine/extend.cc,
+ * tests/core/routine/initialize.cc,
+ * tests/core/routine/primary.cc,
+ * tests/data/fill_full.cc,
+ * tests/data/fill_with_image.cc,
+ * tests/data/fill_with_value.cc,
+ * tests/data/paste.cc,
+ * tests/data/paste_full.cc,
+ * tests/draw/line.cc,
+ * tests/extension/fill.cc,
+ * tools/seed2tiling.cc: update includes.
+
2009-05-28 Edwin Carlinet <carlinet(a)lrde.epita.fr>
Move tests for component tree filtering.
diff --git a/milena/mln/convert/impl/from_site_set_to_image.hh b/milena/mln/convert/impl/from_site_set_to_image.hh
index 915049c..d80b7ee 100644
--- a/milena/mln/convert/impl/from_site_set_to_image.hh
+++ b/milena/mln/convert/impl/from_site_set_to_image.hh
@@ -32,7 +32,7 @@
///
/// General conversion procedure from a site_set to an image.
-# include <mln/core/image/sub_image.hh>
+# include <mln/core/image/dmorph/sub_image.hh>
# include <mln/geom/bbox.hh>
# include <mln/trait/image_from_grid.hh>
# include <mln/data/fill.hh>
diff --git a/milena/mln/core/image/all.hh b/milena/mln/core/image/all.hh
index 52ebc9d..c973d55 100644
--- a/milena/mln/core/image/all.hh
+++ b/milena/mln/core/image/all.hh
@@ -36,12 +36,14 @@
// Sub-directories.
+# include <mln/core/image/morph/all.hh>
# include <mln/core/image/dmorph/all.hh>
+# include <mln/core/image/imorph/all.hh>
+# include <mln/core/image/vmorph/all.hh>
// Files.
-# include <mln/core/image/cast_image.hh>
# include <mln/core/image/ch_piter.hh>
# include <mln/core/image/complex_image.hh>
# include <mln/core/image/complex_neighborhood_piter.hh>
@@ -49,60 +51,21 @@
# include <mln/core/image/complex_window_piter.hh>
# include <mln/core/image/complex_windows.hh>
# include <mln/core/image/edge_image.hh>
-# include <mln/core/image/image2d.hh>
-# include <mln/core/image/flat_image.hh>
-# include <mln/core/image/image_if.hh>
-# include <mln/core/image/sub_image.hh>
-# include <mln/core/image/image1d.hh>
-# include <mln/core/image/decorated_image.hh>
-# include <mln/core/image/extended.hh>
-# include <mln/core/image/extension_fun.hh>
-# include <mln/core/image/extension_ima.hh>
-# include <mln/core/image/extension_val.hh>
# include <mln/core/image/flat_image.hh>
# include <mln/core/image/graph_elt_neighborhood.hh>
# include <mln/core/image/graph_elt_neighborhood_if.hh>
# include <mln/core/image/graph_elt_window.hh>
# include <mln/core/image/graph_elt_window_if.hh>
-# include <mln/core/image/graph_window_piter.hh>
# include <mln/core/image/graph_window_if_piter.hh>
+# include <mln/core/image/graph_window_piter.hh>
# include <mln/core/image/image1d.hh>
# include <mln/core/image/image2d.hh>
# include <mln/core/image/image3d.hh>
-# include <mln/core/image/image_if.hh>
-# include <mln/core/image/interpolated.hh>
-# include <mln/core/image/lazy_image.hh>
-# include <mln/core/image/p2p_image.hh>
-# include <mln/core/image/plain.hh>
-# include <mln/core/image/safe.hh>
-# include <mln/core/image/slice_image.hh>
# include <mln/core/image/sparse_encode.hh>
# include <mln/core/image/sparse_image.hh>
-# include <mln/core/image/sub_image.hh>
-# include <mln/core/image/sub_image_if.hh>
# include <mln/core/image/t_image.hh>
-# include <mln/core/image/tr_image.hh>
# include <mln/core/image/tr_mesh.hh>
-# include <mln/core/image/unproject_image.hh>
# include <mln/core/image/vertex_image.hh>
-//# include <mln/core/image/bgraph_image.hh>
-//# include <mln/core/image/bgraph_psite.hh>
-//# include <mln/core/image/fi_adaptor.hh>
-//# include <mln/core/image/graph_image.hh>
-//# include <mln/core/image/hexa.hh>
-//# include <mln/core/image/hexa_piter.hh>
-//# include <mln/core/image/image2d_h.hh>
-//# include <mln/core/image/mono_obased_rle_encode.hh>
-//# include <mln/core/image/mono_obased_rle_image.hh>
-//# include <mln/core/image/mono_rle_encode.hh>
-//# include <mln/core/image/mono_rle_image.hh>
-//# include <mln/core/image/obased_rle_encode.hh>
-//# include <mln/core/image/obased_rle_image.hh>
-//# include <mln/core/image/rle_encode.hh>
-//# include <mln/core/image/rle_image.hh>
-//# include <mln/core/image/value_enc_image.hh>
-//# include <mln/core/image/value_encode.hh>
-
#endif // ! MLN_CORE_IMAGE_ALL_HH
diff --git a/milena/mln/core/image/dmorph/all.hh b/milena/mln/core/image/dmorph/all.hh
index 18c8f34..3d822e6 100644
--- a/milena/mln/core/image/dmorph/all.hh
+++ b/milena/mln/core/image/dmorph/all.hh
@@ -34,6 +34,18 @@
# include <mln/core/image/dmorph/transformed_image.hh>
+# include <mln/core/image/dmorph/extended.hh>
+# include <mln/core/image/dmorph/extension_fun.hh>
+# include <mln/core/image/dmorph/extension_ima.hh>
+# include <mln/core/image/dmorph/extension_val.hh>
+# include <mln/core/image/dmorph/hexa.hh>
+# include <mln/core/image/dmorph/image_if.hh>
+# include <mln/core/image/dmorph/image2d_h.hh>
+# include <mln/core/image/dmorph/p2p_image.hh>
+# include <mln/core/image/dmorph/slice_image.hh>
+# include <mln/core/image/dmorph/sub_image.hh>
+# include <mln/core/image/dmorph/sub_image_if.hh>
+# include <mln/core/image/dmorph/unproject_image.hh>
#endif // ! MLN_CORE_IMAGE_DMORPH_ALL_HH
diff --git a/milena/mln/core/image/extended.hh b/milena/mln/core/image/dmorph/extended.hh
similarity index 94%
rename from milena/mln/core/image/extended.hh
rename to milena/mln/core/image/dmorph/extended.hh
index cde8009..2af4137 100644
--- a/milena/mln/core/image/extended.hh
+++ b/milena/mln/core/image/dmorph/extended.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_EXTENDED_HH
-# define MLN_CORE_IMAGE_EXTENDED_HH
+#ifndef MLN_CORE_IMAGE_DMORPH_EXTENDED_HH
+# define MLN_CORE_IMAGE_DMORPH_EXTENDED_HH
-/// \file mln/core/image/extended.hh
+/// \file mln/core/image/dmorph/extended.hh
///
/// Definition of morpher that makes an image become restricted
/// given by a point set.
@@ -86,7 +87,7 @@ namespace mln
- /// \brief Makes an image become restricted by a point set.
+ /// Makes an image become restricted by a point set.
///
/// \ingroup modimagedomainmorpher
//
@@ -223,4 +224,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_EXTENDED_HH
+#endif // ! MLN_CORE_IMAGE_DMORPH_EXTENDED_HH
diff --git a/milena/mln/core/image/extension_fun.hh b/milena/mln/core/image/dmorph/extension_fun.hh
similarity index 96%
rename from milena/mln/core/image/extension_fun.hh
rename to milena/mln/core/image/dmorph/extension_fun.hh
index 9992e33..4165dfc 100644
--- a/milena/mln/core/image/extension_fun.hh
+++ b/milena/mln/core/image/dmorph/extension_fun.hh
@@ -26,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_EXTENSION_FUN_HH
-# define MLN_CORE_IMAGE_EXTENSION_FUN_HH
+#ifndef MLN_CORE_IMAGE_DMORPH_EXTENSION_FUN_HH
+# define MLN_CORE_IMAGE_DMORPH_EXTENSION_FUN_HH
-/// \file mln/core/image/extension_fun.hh
+/// \file mln/core/image/dmorph/extension_fun.hh
///
/// definition of a morpher that extends the domain of an image
/// with a function.
@@ -94,7 +94,7 @@ namespace mln
- /// \brief Extends the domain of an image with a function.
+ /// Extends the domain of an image with a function.
///
/// \ingroup modimagedomainmorpher
//
@@ -271,4 +271,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_EXTENSION_FUN_HH
+#endif // ! MLN_CORE_IMAGE_DMORPH_EXTENSION_FUN_HH
diff --git a/milena/mln/core/image/extension_ima.hh b/milena/mln/core/image/dmorph/extension_ima.hh
similarity index 95%
rename from milena/mln/core/image/extension_ima.hh
rename to milena/mln/core/image/dmorph/extension_ima.hh
index 2a9f7d1..788dab9 100644
--- a/milena/mln/core/image/extension_ima.hh
+++ b/milena/mln/core/image/dmorph/extension_ima.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_EXTENSION_IMA_HH
-# define MLN_CORE_IMAGE_EXTENSION_IMA_HH
+#ifndef MLN_CORE_IMAGE_DMORPH_EXTENSION_IMA_HH
+# define MLN_CORE_IMAGE_DMORPH_EXTENSION_IMA_HH
-/// \file mln/core/image/extension_ima.hh
+/// \file mln/core/image/dmorph/extension_ima.hh
///
/// Definition of a morpher that extends the domain of an image
/// with an image.
@@ -90,7 +91,7 @@ namespace mln
- /// \brief Extends the domain of an image with an image.
+ /// Extends the domain of an image with an image.
///
/// \ingroup modimagedomainmorpher
//
@@ -275,4 +276,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_EXTENSION_IMA_HH
+#endif // ! MLN_CORE_IMAGE_DMORPH_EXTENSION_IMA_HH
diff --git a/milena/mln/core/image/extension_val.hh b/milena/mln/core/image/dmorph/extension_val.hh
similarity index 95%
rename from milena/mln/core/image/extension_val.hh
rename to milena/mln/core/image/dmorph/extension_val.hh
index 8a376fc..483e623 100644
--- a/milena/mln/core/image/extension_val.hh
+++ b/milena/mln/core/image/dmorph/extension_val.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_EXTENSION_VAL_HH
-# define MLN_CORE_IMAGE_EXTENSION_VAL_HH
+#ifndef MLN_CORE_IMAGE_DMORPH_EXTENSION_VAL_HH
+# define MLN_CORE_IMAGE_DMORPH_EXTENSION_VAL_HH
-/// \file mln/core/image/extension_val.hh
+/// \file mln/core/image/dmorph/extension_val.hh
///
/// \brief Definition of a morpher that extends the domain of an image.
///
@@ -92,7 +93,7 @@ namespace mln
- /// \brief Extends the domain of an image with a value.
+ /// Extends the domain of an image with a value.
///
/// \ingroup modimagedomainmorpher
//
@@ -275,4 +276,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_EXTENSION_VAL_HH
+#endif // ! MLN_CORE_IMAGE_DMORPH_EXTENSION_VAL_HH
diff --git a/milena/mln/core/image/hexa.hh b/milena/mln/core/image/dmorph/hexa.hh
similarity index 97%
rename from milena/mln/core/image/hexa.hh
rename to milena/mln/core/image/dmorph/hexa.hh
index 498452e..878268d 100644
--- a/milena/mln/core/image/hexa.hh
+++ b/milena/mln/core/image/dmorph/hexa.hh
@@ -27,11 +27,11 @@
// Public License.
-#ifndef MLN_CORE_IMAGE_HEXA_HH
-# define MLN_CORE_IMAGE_HEXA_HH
+#ifndef MLN_CORE_IMAGE_DMORPH_HEXA_HH
+# define MLN_CORE_IMAGE_DMORPH_HEXA_HH
-/// \file mln/core/image/hexa.hh
+/// \file mln/core/image/dmorph/hexa.hh
///
/// Definition of a morpher that makes hexagonal the mesh of an
/// image.
@@ -39,7 +39,7 @@
# include <mln/core/internal/image_domain_morpher.hh>
# include <mln/core/alias/point2d_h.hh>
# include <mln/core/alias/box2d_h.hh>
-# include <mln/core/image/hexa_piter.hh>
+# include <mln/core/image/dmorph/hexa_piter.hh>
namespace mln
@@ -272,4 +272,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_HEXA_HH
+#endif // ! MLN_CORE_IMAGE_DMORPH_HEXA_HH
diff --git a/milena/mln/core/image/hexa_piter.hh b/milena/mln/core/image/dmorph/hexa_piter.hh
similarity index 94%
rename from milena/mln/core/image/hexa_piter.hh
rename to milena/mln/core/image/dmorph/hexa_piter.hh
index 222c1e5..eb2281b 100644
--- a/milena/mln/core/image/hexa_piter.hh
+++ b/milena/mln/core/image/dmorph/hexa_piter.hh
@@ -26,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_HEXA_PITER_HH
-# define MLN_CORE_IMAGE_HEXA_PITER_HH
+#ifndef MLN_CORE_IMAGE_DMORPH_HEXA_PITER_HH
+# define MLN_CORE_IMAGE_DMORPH_HEXA_PITER_HH
-/// \file mln/core/image/hexa_piter.hh
+/// \file mln/core/image/dmorph/hexa_piter.hh
///
/// Definition of iterators on hexagonal points.
@@ -141,4 +141,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_HEXA_PITER_HH
+#endif // ! MLN_CORE_IMAGE_DMORPH_HEXA_PITER_HH
diff --git a/milena/mln/core/image/image2d_h.hh b/milena/mln/core/image/dmorph/image2d_h.hh
similarity index 87%
rename from milena/mln/core/image/image2d_h.hh
rename to milena/mln/core/image/dmorph/image2d_h.hh
index c76b32b..909b21c 100644
--- a/milena/mln/core/image/image2d_h.hh
+++ b/milena/mln/core/image/dmorph/image2d_h.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -26,16 +26,16 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_IMAGE2D_H_HH
-# define MLN_CORE_IMAGE_IMAGE2D_H_HH
+#ifndef MLN_CORE_IMAGE_DMORPH_IMAGE2D_H_HH
+# define MLN_CORE_IMAGE_DMORPH_IMAGE2D_H_HH
-/// \file mln/core/image/image2d_h.hh
+/// \file mln/core/image/dmorph/image2d_h.hh
///
/// Definition of an alias for a 2d image based on an hexagonal
/// mesh.
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/hexa.hh>
+# include <mln/core/image/dmorph/hexa.hh>
# include <mln/border/thickness.hh>
@@ -45,9 +45,10 @@
namespace mln
{
- /// \brief 2d image based on an hexagonal mesh.
+ /// 2d image based on an hexagonal mesh.
///
/// \ingroup modimageconcrete
+ //
template <typename V>
struct image2d_h
: public hexa< image2d<V> >
@@ -98,4 +99,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_IMAGE2D_H_HH
+#endif // ! MLN_CORE_IMAGE_DMORPH_IMAGE2D_H_HH
diff --git a/milena/mln/core/image/image_if.hh b/milena/mln/core/image/dmorph/image_if.hh
similarity index 96%
rename from milena/mln/core/image/image_if.hh
rename to milena/mln/core/image/dmorph/image_if.hh
index a41f48a..10d2a24 100644
--- a/milena/mln/core/image/image_if.hh
+++ b/milena/mln/core/image/dmorph/image_if.hh
@@ -26,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_IMAGE_IF_HH
-# define MLN_CORE_IMAGE_IMAGE_IF_HH
+#ifndef MLN_CORE_IMAGE_DMORPH_IMAGE_IF_HH
+# define MLN_CORE_IMAGE_DMORPH_IMAGE_IF_HH
-/// \file mln/core/image/image_if.hh
+/// \file mln/core/image/dmorph/image_if.hh
///
/// Definition of a image which domain is restricted by a
/// function.
@@ -89,7 +89,7 @@ namespace mln
- /// \brief Image which domain is restricted by a function.
+ /// Image which domain is restricted by a function.
///
/// \ingroup modimagedomainmorpher
//
@@ -270,4 +270,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_IMAGE_IF_HH
+#endif // ! MLN_CORE_IMAGE_DMORPH_IMAGE_IF_HH
diff --git a/milena/mln/core/image/p2p_image.hh b/milena/mln/core/image/dmorph/p2p_image.hh
similarity index 96%
rename from milena/mln/core/image/p2p_image.hh
rename to milena/mln/core/image/dmorph/p2p_image.hh
index cb583ac..170a2a7 100644
--- a/milena/mln/core/image/p2p_image.hh
+++ b/milena/mln/core/image/dmorph/p2p_image.hh
@@ -25,10 +25,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_P2P_IMAGE_HH
-# define MLN_CORE_IMAGE_P2P_IMAGE_HH
+#ifndef MLN_CORE_IMAGE_DMORPH_P2P_IMAGE_HH
+# define MLN_CORE_IMAGE_DMORPH_P2P_IMAGE_HH
-/// \file mln/core/image/p2p_image.hh
+/// \file mln/core/image/dmorph/p2p_image.hh
///
/// Definition of a image FIXME: Doc!
@@ -86,6 +86,8 @@ namespace mln
/// FIXME: Doc!
+ ///
+ /// \ingroup modimagedomainmorpher
template <typename I, typename F>
struct p2p_image : public internal::image_domain_morpher< I,
mln_domain(I),
@@ -271,4 +273,4 @@ namespace mln
-#endif // ! MLN_CORE_IMAGE_P2P_IMAGE_HH
+#endif // ! MLN_CORE_IMAGE_DMORPH_P2P_IMAGE_HH
diff --git a/milena/mln/core/image/slice_image.hh b/milena/mln/core/image/dmorph/slice_image.hh
similarity index 96%
rename from milena/mln/core/image/slice_image.hh
rename to milena/mln/core/image/dmorph/slice_image.hh
index 65160d9..8ffe6f9 100644
--- a/milena/mln/core/image/slice_image.hh
+++ b/milena/mln/core/image/dmorph/slice_image.hh
@@ -26,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_SLICE_IMAGE_HH
-# define MLN_CORE_IMAGE_SLICE_IMAGE_HH
+#ifndef MLN_CORE_IMAGE_DMORPH_SLICE_IMAGE_HH
+# define MLN_CORE_IMAGE_DMORPH_SLICE_IMAGE_HH
-/// \file mln/core/image/slice_image.hh
+/// \file mln/core/image/dmorph/slice_image.hh
///
/// Definition of a 2D image extracted from a slice of a 3D image.
///
@@ -90,7 +90,7 @@ namespace mln
- /// \brief 2D image extracted from a slice of a 3D image.
+ /// 2D image extracted from a slice of a 3D image.
///
/// \ingroup modimagedomainmorpher
//
@@ -305,4 +305,4 @@ namespace mln
-#endif // ! MLN_CORE_IMAGE_SLICE_IMAGE_HH
+#endif // ! MLN_CORE_IMAGE_DMORPH_SLICE_IMAGE_HH
diff --git a/milena/mln/core/image/sub_image.hh b/milena/mln/core/image/dmorph/sub_image.hh
similarity index 95%
rename from milena/mln/core/image/sub_image.hh
rename to milena/mln/core/image/dmorph/sub_image.hh
index a9eb453..96c789e 100644
--- a/milena/mln/core/image/sub_image.hh
+++ b/milena/mln/core/image/dmorph/sub_image.hh
@@ -26,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_SUB_IMAGE_HH
-# define MLN_CORE_IMAGE_SUB_IMAGE_HH
+#ifndef MLN_CORE_IMAGE_DMORPH_SUB_IMAGE_HH
+# define MLN_CORE_IMAGE_DMORPH_SUB_IMAGE_HH
-/// \file mln/core/image/sub_image.hh
+/// \file mln/core/image/dmorph/sub_image.hh
///
/// Definition of morpher that makes an image become restricted
/// given by a point set.
@@ -45,7 +45,7 @@ namespace mln
{
- // Fwd decl.
+ // Forward declaration.
template <typename I, typename S> class sub_image;
@@ -96,7 +96,7 @@ namespace mln
- /// \brief Image having its domain restricted by a site set.
+ /// Image having its domain restricted by a site set.
///
/// \ingroup modimagedomainmorpher
//
@@ -243,4 +243,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_SUB_IMAGE_HH
+#endif // ! MLN_CORE_IMAGE_DMORPH_SUB_IMAGE_HH
diff --git a/milena/mln/core/image/sub_image_if.hh b/milena/mln/core/image/dmorph/sub_image_if.hh
similarity index 94%
rename from milena/mln/core/image/sub_image_if.hh
rename to milena/mln/core/image/dmorph/sub_image_if.hh
index f987330..cb34e6b 100644
--- a/milena/mln/core/image/sub_image_if.hh
+++ b/milena/mln/core/image/dmorph/sub_image_if.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,11 +26,11 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_SUB_IMAGE_IF_HH
-# define MLN_CORE_IMAGE_SUB_IMAGE_IF_HH
+#ifndef MLN_CORE_IMAGE_DMORPH_SUB_IMAGE_IF_HH
+# define MLN_CORE_IMAGE_DMORPH_SUB_IMAGE_IF_HH
-/// \file mln/core/image/sub_image_if.hh
+/// \file mln/core/image/dmorph/sub_image_if.hh
///
/// Image having its domain restricted by a site set and a function.
///
@@ -95,9 +96,10 @@ namespace mln
- /// \brief Image having its domain restricted by a site set and a function.
+ /// Image having its domain restricted by a site set and a function.
///
/// \ingroup modimagedomainmorpher
+ //
template <typename I, typename S>
struct sub_image_if : public internal::image_domain_morpher< I,
p_if< S, fun::p2b::has<I> >,
@@ -244,4 +246,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_SUB_IMAGE_IF_HH
+#endif // ! MLN_CORE_IMAGE_DMORPH_SUB_IMAGE_IF_HH
diff --git a/milena/mln/core/image/dmorph/transformed_image.hh b/milena/mln/core/image/dmorph/transformed_image.hh
index de3ff02..edcae3c 100644
--- a/milena/mln/core/image/dmorph/transformed_image.hh
+++ b/milena/mln/core/image/dmorph/transformed_image.hh
@@ -89,7 +89,7 @@ namespace mln
- /// \brief Image having its domain restricted by a site set.
+ /// Image having its domain restricted by a site set.
///
/// \ingroup modimagedomainmorpher
//
diff --git a/milena/mln/core/image/unproject_image.hh b/milena/mln/core/image/dmorph/unproject_image.hh
similarity index 96%
rename from milena/mln/core/image/unproject_image.hh
rename to milena/mln/core/image/dmorph/unproject_image.hh
index 13ca285..73d0a4c 100644
--- a/milena/mln/core/image/unproject_image.hh
+++ b/milena/mln/core/image/dmorph/unproject_image.hh
@@ -25,10 +25,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_UNPROJECT_IMAGE_HH
-# define MLN_CORE_IMAGE_UNPROJECT_IMAGE_HH
+#ifndef MLN_CORE_IMAGE_DMORPH_UNPROJECT_IMAGE_HH
+# define MLN_CORE_IMAGE_DMORPH_UNPROJECT_IMAGE_HH
-/// \file mln/core/image/unproject_image.hh
+/// \file mln/core/image/dmorph/unproject_image.hh
///
/// Definition of a morpher that un-projects an image.
/// FIXME: Doc!
@@ -90,9 +90,10 @@ namespace mln
- /// \brief Un-projects an image.
+ /// Un-projects an image.
///
/// \ingroup modimagedomainmorpher
+ //
template <typename I, typename D, typename F>
struct unproject_image : public internal::image_domain_morpher< I,
D,
@@ -271,4 +272,4 @@ namespace mln
-#endif // ! MLN_CORE_IMAGE_UNPROJECT_IMAGE_HH
+#endif // ! MLN_CORE_IMAGE_DMORPH_UNPROJECT_IMAGE_HH
diff --git a/milena/mln/core/image/essential.hh b/milena/mln/core/image/essential.hh
index 31ab653..44c2313 100644
--- a/milena/mln/core/image/essential.hh
+++ b/milena/mln/core/image/essential.hh
@@ -1,4 +1,5 @@
// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -32,16 +33,5 @@
///
/// File that includes essential image types.
-# include <mln/core/image/cast_image.hh>
-# include <mln/core/image/image2d.hh>
-# include <mln/core/image/image_if.hh>
-# include <mln/core/image/sub_image.hh>
-# include <mln/core/image/image1d.hh>
-# include <mln/core/image/extended.hh>
-# include <mln/core/image/extension_fun.hh>
-# include <mln/core/image/extension_ima.hh>
-# include <mln/core/image/extension_val.hh>
-# include <mln/core/image/image3d.hh>
-# include <mln/core/image/sub_image_if.hh>
#endif // ! MLN_CORE_IMAGE_ESSENTIAL_HH
diff --git a/milena/mln/core/image/dmorph/all.hh b/milena/mln/core/image/imorph/all.hh
similarity index 71%
copy from milena/mln/core/image/dmorph/all.hh
copy to milena/mln/core/image/imorph/all.hh
index 18c8f34..1d30cd9 100644
--- a/milena/mln/core/image/dmorph/all.hh
+++ b/milena/mln/core/image/imorph/all.hh
@@ -25,15 +25,21 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_DMORPH_ALL_HH
-# define MLN_CORE_IMAGE_DMORPH_ALL_HH
+#ifndef MLN_CORE_IMAGE_IMORPH_ALL_HH
+# define MLN_CORE_IMAGE_IMORPH_ALL_HH
-/// \file mln/core/image/dmorph/all.hh
+/// \file mln/core/image/imorph/all.hh
///
-/// File that includes all domain morpher image types.
+/// File that includes all identity morpher image types.
-# include <mln/core/image/dmorph/transformed_image.hh>
+# include <mln/core/image/imorph/labeled_image.hh>
+# include <mln/core/image/imorph/decorated_image.hh>
+# include <mln/core/image/imorph/interpolated.hh>
+# include <mln/core/image/imorph/lazy_image.hh>
+# include <mln/core/image/imorph/plain.hh>
+# include <mln/core/image/imorph/safe.hh>
+# include <mln/core/image/imorph/tr_image.hh>
-#endif // ! MLN_CORE_IMAGE_DMORPH_ALL_HH
+#endif // ! MLN_CORE_IMAGE_IMORPH_ALL_HH
diff --git a/milena/mln/core/image/decorated_image.hh b/milena/mln/core/image/imorph/decorated_image.hh
similarity index 96%
rename from milena/mln/core/image/decorated_image.hh
rename to milena/mln/core/image/imorph/decorated_image.hh
index 1f19009..761598a 100644
--- a/milena/mln/core/image/decorated_image.hh
+++ b/milena/mln/core/image/imorph/decorated_image.hh
@@ -26,14 +26,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_DECORATED_IMAGE_HH
-# define MLN_CORE_IMAGE_DECORATED_IMAGE_HH
+#ifndef MLN_CORE_IMAGE_IMORPH_DECORATED_IMAGE_HH
+# define MLN_CORE_IMAGE_IMORPH_DECORATED_IMAGE_HH
# include <mln/core/internal/image_identity.hh>
# include <mln/value/proxy.hh>
-/// \file mln/core/image/decorated_image.hh
+/// \file mln/core/image/imorph/decorated_image.hh
///
/// Definition of an image that can have additional features.
@@ -76,7 +76,7 @@ namespace mln
- /// \brief Image that can have additional features.
+ /// Image that can have additional features.
///
/// \ingroup modimageidmorpher
//
@@ -287,4 +287,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_DECORATED_IMAGE_HH
+#endif // ! MLN_CORE_IMAGE_IMORPH_DECORATED_IMAGE_HH
diff --git a/milena/mln/core/image/interpolated.hh b/milena/mln/core/image/imorph/interpolated.hh
similarity index 95%
rename from milena/mln/core/image/interpolated.hh
rename to milena/mln/core/image/imorph/interpolated.hh
index 25b1632..fd8ab4f 100644
--- a/milena/mln/core/image/interpolated.hh
+++ b/milena/mln/core/image/imorph/interpolated.hh
@@ -26,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_INTERPOLATED_HH
-# define MLN_CORE_IMAGE_INTERPOLATED_HH
+#ifndef MLN_CORE_IMAGE_IMORPH_INTERPOLATED_HH
+# define MLN_CORE_IMAGE_IMORPH_INTERPOLATED_HH
-/// \file mln/core/image/interpolated.hh
+/// \file mln/core/image/imorph/interpolated.hh
///
/// Definition of a morpher that makes an image become readable
/// with floating coordinates.
@@ -78,9 +78,10 @@ namespace mln
} // end of namespace mln::trait
- /// \brief Makes the underlying image being accessed with floating coordinates.
+ /// Makes the underlying image being accessed with floating coordinates.
///
/// \ingroup modimageidentity
+ //
template <typename I, template <class> class F>
struct interpolated :
public mln::internal::image_identity< I, mln_domain(I), interpolated<I,F> >
@@ -214,4 +215,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_INTERPOLATED_HH
+#endif // ! MLN_CORE_IMAGE_IMORPH_INTERPOLATED_HH
diff --git a/milena/mln/core/image/lazy_image.hh b/milena/mln/core/image/imorph/lazy_image.hh
similarity index 97%
rename from milena/mln/core/image/lazy_image.hh
rename to milena/mln/core/image/imorph/lazy_image.hh
index 90f5385..4af39dc 100644
--- a/milena/mln/core/image/lazy_image.hh
+++ b/milena/mln/core/image/imorph/lazy_image.hh
@@ -26,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_LAZY_IMAGE_HH
-# define MLN_CORE_IMAGE_LAZY_IMAGE_HH
+#ifndef MLN_CORE_IMAGE_IMORPH_LAZY_IMAGE_HH
+# define MLN_CORE_IMAGE_IMORPH_LAZY_IMAGE_HH
-/// \file mln/core/image/lazy_image.hh
+/// \file mln/core/image/imorph/lazy_image.hh
///
/// Definition of a lazy image. Values are computed on the fly.
@@ -43,7 +43,7 @@
namespace mln
{
- // Fwd decl.
+ // Forward declaration.
template <typename I, typename F, typename B> struct lazy_image;
namespace internal
@@ -236,4 +236,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_LAZY_IMAGE_HH
+#endif // ! MLN_CORE_IMAGE_IMORPH_LAZY_IMAGE_HH
diff --git a/milena/mln/core/image/plain.hh b/milena/mln/core/image/imorph/plain.hh
similarity index 95%
rename from milena/mln/core/image/plain.hh
rename to milena/mln/core/image/imorph/plain.hh
index edfbd43..458565c 100644
--- a/milena/mln/core/image/plain.hh
+++ b/milena/mln/core/image/imorph/plain.hh
@@ -26,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_PLAIN_HH
-# define MLN_CORE_IMAGE_PLAIN_HH
+#ifndef MLN_CORE_IMAGE_IMORPH_PLAIN_HH
+# define MLN_CORE_IMAGE_IMORPH_PLAIN_HH
-/// \file mln/core/image/plain.hh
+/// \file mln/core/image/imorph/plain.hh
///
/// Definition of a morpher that prevents an image from sharing
/// his data.
@@ -75,7 +75,7 @@ namespace mln
- /// \brief Prevents an image from sharing its data.
+ /// Prevents an image from sharing its data.
///
/// While assigned to another image, its data is duplicated.
///
@@ -208,4 +208,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_PLAIN_HH
+#endif // ! MLN_CORE_IMAGE_IMORPH_PLAIN_HH
diff --git a/milena/mln/core/image/safe.hh b/milena/mln/core/image/imorph/safe.hh
similarity index 96%
rename from milena/mln/core/image/safe.hh
rename to milena/mln/core/image/imorph/safe.hh
index 953aac6..544d4b7 100644
--- a/milena/mln/core/image/safe.hh
+++ b/milena/mln/core/image/imorph/safe.hh
@@ -26,11 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_SAFE_HH
-# define MLN_CORE_IMAGE_SAFE_HH
+#ifndef MLN_CORE_IMAGE_IMORPH_SAFE_HH
+# define MLN_CORE_IMAGE_IMORPH_SAFE_HH
-///
-/// \file mln/core/image/safe.hh
+/// \file mln/core/image/imorph/safe.hh
///
/// \brief Definition of a morpher that makes image become accessible
/// at undefined location.
@@ -79,7 +78,7 @@ namespace mln
- /// \brief Makes an image accessible at undefined location.
+ /// Makes an image accessible at undefined location.
///
/// \ingroup modimageidmorpher
//
@@ -227,4 +226,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_SAFE_HH
+#endif // ! MLN_CORE_IMAGE_IMORPH_SAFE_HH
diff --git a/milena/mln/core/image/tr_image.hh b/milena/mln/core/image/imorph/tr_image.hh
similarity index 96%
rename from milena/mln/core/image/tr_image.hh
rename to milena/mln/core/image/imorph/tr_image.hh
index 7021e96..b5d1407 100644
--- a/milena/mln/core/image/tr_image.hh
+++ b/milena/mln/core/image/imorph/tr_image.hh
@@ -26,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_TR_IMAGE_HH
-# define MLN_CORE_IMAGE_TR_IMAGE_HH
+#ifndef MLN_CORE_IMAGE_IMORPH_TR_IMAGE_HH
+# define MLN_CORE_IMAGE_IMORPH_TR_IMAGE_HH
-/// \file mln/core/image/tr_image.hh
+/// \file mln/core/image/imorph/tr_image.hh
///
/// Definition of the morpher mln::tr_image presenting an image
/// through a (bijective) transformation.
@@ -77,7 +77,7 @@ namespace mln
} // end of namespace mln::trait
- /// \brief Transform an image by a given transformation.
+ /// Transform an image by a given transformation.
///
/// \ingroup modimageidmorpher
//
@@ -237,4 +237,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_TR_IMAGE_HH
+#endif // ! MLN_CORE_IMAGE_IMORPH_TR_IMAGE_HH
diff --git a/milena/mln/core/image/dmorph/all.hh b/milena/mln/core/image/morph/all.hh
similarity index 83%
copy from milena/mln/core/image/dmorph/all.hh
copy to milena/mln/core/image/morph/all.hh
index 18c8f34..967de94 100644
--- a/milena/mln/core/image/dmorph/all.hh
+++ b/milena/mln/core/image/morph/all.hh
@@ -25,15 +25,15 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_DMORPH_ALL_HH
-# define MLN_CORE_IMAGE_DMORPH_ALL_HH
+#ifndef MLN_CORE_IMAGE_MORPH_ALL_HH
+# define MLN_CORE_IMAGE_MORPH_ALL_HH
-/// \file mln/core/image/dmorph/all.hh
+/// \file mln/core/image/imorph/all.hh
///
-/// File that includes all domain morpher image types.
+/// File that includes all image morphers.
-# include <mln/core/image/dmorph/transformed_image.hh>
+# include <mln/core/image/morph/t_image.hh>
-#endif // ! MLN_CORE_IMAGE_DMORPH_ALL_HH
+#endif // ! MLN_CORE_IMAGE_MORPH_ALL_HH
diff --git a/milena/mln/core/image/t_image.hh b/milena/mln/core/image/morph/t_image.hh
similarity index 97%
rename from milena/mln/core/image/t_image.hh
rename to milena/mln/core/image/morph/t_image.hh
index 0ff50a1..e7eb29e 100644
--- a/milena/mln/core/image/t_image.hh
+++ b/milena/mln/core/image/morph/t_image.hh
@@ -26,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_T_IMAGE_HH
-# define MLN_CORE_IMAGE_T_IMAGE_HH
+#ifndef MLN_CORE_IMAGE_MORPH_T_IMAGE_HH
+# define MLN_CORE_IMAGE_MORPH_T_IMAGE_HH
-/// \file mln/core/image/t_image.hh
+/// \file mln/core/image/morph/t_image.hh
///
/// Definition of the "transposed" image class mln::t_image.
@@ -73,13 +73,13 @@ namespace mln
} // end of namespace mln::internal
- /// \brief Transposed image.
+ /// Transposed image.
///
/// Swap a couple of coordinates.
///
/// \warning This class only works on images whose domain is a box.
///
- /// \ingroup modimagedomainmorpher
+ /// \ingroup modimagemorpher
//
template <typename I>
class t_image
@@ -303,4 +303,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_T_IMAGE_HH
+#endif // ! MLN_CORE_IMAGE_MORPH_T_IMAGE_HH
diff --git a/milena/mln/core/image/dmorph/all.hh b/milena/mln/core/image/vmorph/all.hh
similarity index 74%
copy from milena/mln/core/image/dmorph/all.hh
copy to milena/mln/core/image/vmorph/all.hh
index 18c8f34..9613609 100644
--- a/milena/mln/core/image/dmorph/all.hh
+++ b/milena/mln/core/image/vmorph/all.hh
@@ -25,15 +25,19 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_DMORPH_ALL_HH
-# define MLN_CORE_IMAGE_DMORPH_ALL_HH
+#ifndef MLN_CORE_IMAGE_VMORPH_ALL_HH
+# define MLN_CORE_IMAGE_VMORPH_ALL_HH
-/// \file mln/core/image/dmorph/all.hh
+/// \file mln/core/image/vmorph/all.hh
///
-/// File that includes all domain morpher image types.
+/// File that includes all value morpher image types.
-# include <mln/core/image/dmorph/transformed_image.hh>
+# include <mln/core/image/vmorph/cast_image.hh>
+# include <mln/core/image/vmorph/fun_image.hh>
+# include <mln/core/image/vmorph/thrubin_image.hh>
+# include <mln/core/image/vmorph/thru_image.hh>
+# include <mln/core/image/vmorph/violent_cast_image.hh>
-#endif // ! MLN_CORE_IMAGE_DMORPH_ALL_HH
+#endif // ! MLN_CORE_IMAGE_VMORPH_ALL_HH
diff --git a/milena/mln/core/image/cast_image.hh b/milena/mln/core/image/vmorph/cast_image.hh
similarity index 96%
rename from milena/mln/core/image/cast_image.hh
rename to milena/mln/core/image/vmorph/cast_image.hh
index 422327d..e58793c 100644
--- a/milena/mln/core/image/cast_image.hh
+++ b/milena/mln/core/image/vmorph/cast_image.hh
@@ -26,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_CAST_IMAGE_HH
-# define MLN_CORE_IMAGE_CAST_IMAGE_HH
+#ifndef MLN_CORE_IMAGE_VMORPH_CAST_IMAGE_HH
+# define MLN_CORE_IMAGE_VMORPH_CAST_IMAGE_HH
-/// \file mln/core/image/cast_image.hh
+/// \file mln/core/image/vmorph/cast_image.hh
///
/// Definition of an image morpher that make the user see the
/// same image but with another data type.
@@ -214,4 +214,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_CAST_IMAGE_HH
+#endif // ! MLN_CORE_IMAGE_VMORPH_CAST_IMAGE_HH
diff --git a/milena/mln/core/image/fun_image.hh b/milena/mln/core/image/vmorph/fun_image.hh
similarity index 95%
rename from milena/mln/core/image/fun_image.hh
rename to milena/mln/core/image/vmorph/fun_image.hh
index 6a4c003..fd26087 100644
--- a/milena/mln/core/image/fun_image.hh
+++ b/milena/mln/core/image/vmorph/fun_image.hh
@@ -26,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_FUN_IMAGE_HH
-# define MLN_CORE_IMAGE_FUN_IMAGE_HH
+#ifndef MLN_CORE_IMAGE_VMORPH_FUN_IMAGE_HH
+# define MLN_CORE_IMAGE_VMORPH_FUN_IMAGE_HH
-/// \file mln/core/image/fun_image.hh
+/// \file mln/core/image/vmorph/fun_image.hh
///
/// Definition of an image morpher that make the user see the
/// image through a function
@@ -92,7 +92,7 @@ namespace mln
- /// \brief Image read through a function.
+ /// Image read through a function.
///
/// \ingroup modimagevaluemorpher
//
@@ -205,4 +205,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_FUN_IMAGE_HH
+#endif // ! MLN_CORE_IMAGE_VMORPH_FUN_IMAGE_HH
diff --git a/milena/mln/core/image/thru_morpher.hh b/milena/mln/core/image/vmorph/thru_image.hh
similarity index 97%
rename from milena/mln/core/image/thru_morpher.hh
rename to milena/mln/core/image/vmorph/thru_image.hh
index 9da68af..4cb5e3f 100644
--- a/milena/mln/core/image/thru_morpher.hh
+++ b/milena/mln/core/image/vmorph/thru_image.hh
@@ -26,16 +26,15 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_THRU_MORPHER_HH
-# define MLN_CORE_IMAGE_THRU_MORPHER_HH
+#ifndef MLN_CORE_IMAGE_VMORPH_THRU_IMAGE_HH
+# define MLN_CORE_IMAGE_VMORPH_THRU_IMAGE_HH
# include <mln/core/internal/image_value_morpher.hh>
# include <mln/core/concept/meta_function.hh>
# include <mln/metal/bexpr.hh>
# include <mln/trait/functions.hh>
-///
-/// \file mln/core/image/thru_morpher.hh
+/// \file mln/core/image/vmorph/thru_image.hh
///
/// \brief Definition of a morpher that morph image values through a function.
///
@@ -150,7 +149,7 @@ namespace mln
};
}
- /// \brief Morph image values through a function.
+ /// Morph image values through a function.
///
/// \ingroup modimagevaluemorpher
//
@@ -318,4 +317,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_THRU_MORPHER_HH
+#endif // ! MLN_CORE_IMAGE_VMORPH_THRU_IMAGE_HH
diff --git a/milena/mln/core/image/thrubin_morpher.hh b/milena/mln/core/image/vmorph/thrubin_image.hh
similarity index 96%
rename from milena/mln/core/image/thrubin_morpher.hh
rename to milena/mln/core/image/vmorph/thrubin_image.hh
index 2288df8..808139f 100644
--- a/milena/mln/core/image/thrubin_morpher.hh
+++ b/milena/mln/core/image/vmorph/thrubin_image.hh
@@ -26,15 +26,15 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_THRUBIN_MORPHER_HH
-# define MLN_CORE_IMAGE_THRUBIN_MORPHER_HH
+#ifndef MLN_CORE_IMAGE_VMORPH_THRUBIN_IMAGE_HH
+# define MLN_CORE_IMAGE_VMORPH_THRUBIN_IMAGE_HH
# include <mln/core/internal/image_value_morpher.hh>
# include <mln/core/concept/meta_function.hh>
# include <mln/metal/bexpr.hh>
# include <mln/trait/functions.hh>
-/// \file mln/core/image/thrubin_morpher.hh
+/// \file mln/core/image/vmorph/thrubin_image.hh
///
/// \brief Definition of a morpher that morph values from two images
/// through a binary function.
@@ -76,7 +76,7 @@ namespace mln
} // end of namespace mln::trait
- /// \brief Morphes values from two images through a binary function.
+ /// Morphes values from two images through a binary function.
///
/// \ingroup modimagevaluemorpher
template <typename I1, typename I2, typename F>
@@ -252,4 +252,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_THRUBIN_MORPHER_HH
+#endif // ! MLN_CORE_IMAGE_VMORPH_THRUBIN_IMAGE_HH
diff --git a/milena/mln/core/image/violent_cast_image.hh b/milena/mln/core/image/vmorph/violent_cast_image.hh
similarity index 95%
rename from milena/mln/core/image/violent_cast_image.hh
rename to milena/mln/core/image/vmorph/violent_cast_image.hh
index 8f381e2..9695e0b 100644
--- a/milena/mln/core/image/violent_cast_image.hh
+++ b/milena/mln/core/image/vmorph/violent_cast_image.hh
@@ -26,10 +26,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_IMAGE_VIOLENT_CAST_IMAGE_HH
-# define MLN_CORE_IMAGE_VIOLENT_CAST_IMAGE_HH
+#ifndef MLN_CORE_IMAGE_VMORPH_VIOLENT_CAST_IMAGE_HH
+# define MLN_CORE_IMAGE_VMORPH_VIOLENT_CAST_IMAGE_HH
-/// \file mln/core/image/violent_cast_image.hh
+/// \file mln/core/image/vmorph/violent_cast_image.hh
///
/// definition of an image morpher that make the user see the
/// same image but with another data type.
@@ -107,7 +107,7 @@ namespace mln
- /// \brief Violently cast image values to a given type.
+ /// Violently cast image values to a given type.
///
/// \ingroup modimagevaluemorpher
//
@@ -210,4 +210,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_CORE_IMAGE_VIOLENT_CAST_IMAGE_HH
+#endif // ! MLN_CORE_IMAGE_VMORPH_VIOLENT_CAST_IMAGE_HH
diff --git a/milena/mln/core/routine/extend.hh b/milena/mln/core/routine/extend.hh
index 9775aa5..a1341ae 100644
--- a/milena/mln/core/routine/extend.hh
+++ b/milena/mln/core/routine/extend.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -36,9 +37,9 @@
/// \todo Deal with ambiguities.
/// \todo Check that there is no extension yet (except "extendable").
-# include <mln/core/image/extension_ima.hh>
-# include <mln/core/image/extension_fun.hh>
-# include <mln/core/image/extension_val.hh>
+# include <mln/core/image/dmorph/extension_ima.hh>
+# include <mln/core/image/dmorph/extension_fun.hh>
+# include <mln/core/image/dmorph/extension_val.hh>
diff --git a/milena/mln/debug/slices_2d.hh b/milena/mln/debug/slices_2d.hh
index af0f2ba..9028710 100644
--- a/milena/mln/debug/slices_2d.hh
+++ b/milena/mln/debug/slices_2d.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -37,9 +38,9 @@
# include <mln/core/image/image2d.hh>
# include <mln/core/image/image3d.hh>
-# include <mln/core/image/slice_image.hh>
+# include <mln/core/image/dmorph/slice_image.hh>
-# include <mln/core/image/p2p_image.hh>
+# include <mln/core/image/dmorph/p2p_image.hh>
# include <mln/fun/p2p/translation.hh>
# include <mln/data/paste.hh>
diff --git a/milena/mln/draw/line.hh b/milena/mln/draw/line.hh
index 09d8003..a58dc1b 100644
--- a/milena/mln/draw/line.hh
+++ b/milena/mln/draw/line.hh
@@ -35,7 +35,7 @@
# include <mln/core/concept/image.hh>
# include <mln/core/site_set/p_line2d.hh>
-# include <mln/core/image/safe.hh>
+# include <mln/core/image/imorph/safe.hh>
# include <mln/data/paste.hh>
# include <mln/pw/image.hh>
# include <mln/pw/cst.hh>
diff --git a/milena/mln/extract/blue.hh b/milena/mln/extract/blue.hh
index 327be89..10cf22e 100644
--- a/milena/mln/extract/blue.hh
+++ b/milena/mln/extract/blue.hh
@@ -33,7 +33,7 @@
/// Extract the blue component of an image.
-# include <mln/core/image/fun_image.hh>
+# include <mln/core/image/vmorph/fun_image.hh>
# include <mln/fun/meta/blue.hh>
namespace mln
diff --git a/milena/mln/extract/green.hh b/milena/mln/extract/green.hh
index 7a4e54c..6fa9a82 100644
--- a/milena/mln/extract/green.hh
+++ b/milena/mln/extract/green.hh
@@ -33,7 +33,7 @@
/// Extract the green component of an image.
-# include <mln/core/image/fun_image.hh>
+# include <mln/core/image/vmorph/fun_image.hh>
# include <mln/fun/meta/green.hh>
namespace mln
diff --git a/milena/mln/extract/hue.hh b/milena/mln/extract/hue.hh
index 8a38606..8d1f867 100644
--- a/milena/mln/extract/hue.hh
+++ b/milena/mln/extract/hue.hh
@@ -33,7 +33,7 @@
/// Extract the hue component of an image.
-# include <mln/core/image/fun_image.hh>
+# include <mln/core/image/vmorph/fun_image.hh>
# include <mln/fun/meta/hue.hh>
namespace mln
diff --git a/milena/mln/extract/lum.hh b/milena/mln/extract/lum.hh
index 21821b6..5e5b76b 100644
--- a/milena/mln/extract/lum.hh
+++ b/milena/mln/extract/lum.hh
@@ -33,7 +33,7 @@
/// Extract the lum component of an image.
-# include <mln/core/image/fun_image.hh>
+# include <mln/core/image/vmorph/fun_image.hh>
# include <mln/fun/meta/lum.hh>
namespace mln
diff --git a/milena/mln/extract/red.hh b/milena/mln/extract/red.hh
index 9946568..91ac1fb 100644
--- a/milena/mln/extract/red.hh
+++ b/milena/mln/extract/red.hh
@@ -33,7 +33,7 @@
/// Extract the red component of an image.
-# include <mln/core/image/fun_image.hh>
+# include <mln/core/image/vmorph/fun_image.hh>
# include <mln/fun/meta/red.hh>
namespace mln
diff --git a/milena/mln/extract/sat.hh b/milena/mln/extract/sat.hh
index 6c375b4..ddfc4a8 100644
--- a/milena/mln/extract/sat.hh
+++ b/milena/mln/extract/sat.hh
@@ -33,7 +33,7 @@
/// Extract the sat component of an image.
-# include <mln/core/image/fun_image.hh>
+# include <mln/core/image/vmorph/fun_image.hh>
# include <mln/fun/meta/sat.hh>
namespace mln
diff --git a/milena/mln/labeling/fill_holes.hh b/milena/mln/labeling/fill_holes.hh
index 2163c7b..e34e401 100644
--- a/milena/mln/labeling/fill_holes.hh
+++ b/milena/mln/labeling/fill_holes.hh
@@ -36,7 +36,7 @@
# include <mln/labeling/background.hh>
# include <mln/labeling/compute.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/image_if.hh>
# include <mln/accu/count.hh>
diff --git a/milena/mln/level/replace.hh b/milena/mln/level/replace.hh
index fdb7352..7d986dd 100644
--- a/milena/mln/level/replace.hh
+++ b/milena/mln/level/replace.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -34,7 +34,7 @@
/// Replace the contents of an image into another one.
# include <mln/core/concept/image.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/image_if.hh>
# include <mln/data/fill.hh>
# include <mln/pw/value.hh>
diff --git a/milena/mln/make/image3d.hh b/milena/mln/make/image3d.hh
index 11ee4fc..c018b31 100644
--- a/milena/mln/make/image3d.hh
+++ b/milena/mln/make/image3d.hh
@@ -37,7 +37,7 @@
# include <mln/core/image/image3d.hh>
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/slice_image.hh>
+# include <mln/core/image/dmorph/slice_image.hh>
# include <mln/data/paste.hh>
# include <mln/util/array.hh>
diff --git a/milena/mln/morpho/watershed/superpose.hh b/milena/mln/morpho/watershed/superpose.hh
index bad2a71..8271363 100644
--- a/milena/mln/morpho/watershed/superpose.hh
+++ b/milena/mln/morpho/watershed/superpose.hh
@@ -34,7 +34,7 @@
/// Convert an image to a rgb8 image and draw the watershed lines.
# include <mln/core/concept/image.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/image_if.hh>
# include <mln/level/convert.hh>
# include <mln/data/fill.hh>
# include <mln/value/rgb8.hh>
diff --git a/milena/mln/registration/icp.hh b/milena/mln/registration/icp.hh
index 25edf96..eddb092 100644
--- a/milena/mln/registration/icp.hh
+++ b/milena/mln/registration/icp.hh
@@ -49,9 +49,9 @@
# include <mln/set/compute.hh>
//Should be removed when closest_point functors are moved.
-# include <mln/core/image/slice_image.hh>
-# include <mln/core/image/tr_image.hh>
-# include <mln/core/image/extension_fun.hh>
+# include <mln/core/image/dmorph/slice_image.hh>
+# include <mln/core/image/imorph/tr_image.hh>
+# include <mln/core/image/dmorph/extension_fun.hh>
# include <mln/core/alias/neighb3d.hh>
diff --git a/milena/mln/transformation/rotate.hh b/milena/mln/transformation/rotate.hh
index 635db66..97fb212 100644
--- a/milena/mln/transformation/rotate.hh
+++ b/milena/mln/transformation/rotate.hh
@@ -30,7 +30,7 @@
# include <mln/core/routine/extend.hh>
-# include <mln/core/image/tr_image.hh>
+# include <mln/core/image/imorph/tr_image.hh>
# include <mln/data/paste.hh>
diff --git a/milena/mln/world/inter_pixel/dim2/make_edge_image.hh b/milena/mln/world/inter_pixel/dim2/make_edge_image.hh
index 0624067..89ee831 100644
--- a/milena/mln/world/inter_pixel/dim2/make_edge_image.hh
+++ b/milena/mln/world/inter_pixel/dim2/make_edge_image.hh
@@ -32,8 +32,8 @@
///
/// Construct a valued image of edges.
-# include <mln/core/image/extension_ima.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/extension_ima.hh>
+# include <mln/core/image/dmorph/image_if.hh>
# include <mln/core/routine/extend.hh>
diff --git a/milena/mln/world/inter_pixel/display_edge.hh b/milena/mln/world/inter_pixel/display_edge.hh
index b3c21f2..0cc5a67 100644
--- a/milena/mln/world/inter_pixel/display_edge.hh
+++ b/milena/mln/world/inter_pixel/display_edge.hh
@@ -33,7 +33,7 @@
/// FIXME: insert comment.
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/image_if.hh>
# include <mln/data/fill.hh>
# include <mln/world/inter_pixel/dim2/is_edge.hh>
# include <mln/opt/at.hh>
diff --git a/milena/mln/world/inter_pixel/is_pixel.hh b/milena/mln/world/inter_pixel/is_pixel.hh
index a393de6..8e1e0f3 100644
--- a/milena/mln/world/inter_pixel/is_pixel.hh
+++ b/milena/mln/world/inter_pixel/is_pixel.hh
@@ -33,7 +33,7 @@
/// FIXME: doc.
# include <mln/core/concept/function.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/image_if.hh>
# include <mln/core/point.hh>
diff --git a/milena/mln/world/inter_pixel/is_separator.hh b/milena/mln/world/inter_pixel/is_separator.hh
index 0c8f281..229ab47 100644
--- a/milena/mln/world/inter_pixel/is_separator.hh
+++ b/milena/mln/world/inter_pixel/is_separator.hh
@@ -35,7 +35,7 @@
/// \todo Make it work in n-D.
# include <mln/core/concept/function.hh>
-# include <mln/core/image/image_if.hh>
+# include <mln/core/image/dmorph/image_if.hh>
# include <mln/core/point.hh>
diff --git a/milena/tests/arith/minus_full.cc b/milena/tests/arith/minus_full.cc
index 188eae4..59c4cdd 100644
--- a/milena/tests/arith/minus_full.cc
+++ b/milena/tests/arith/minus_full.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,18 +26,17 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/arith/minus_full.cc
- *
- * \brief Tests on mln::arith::minus.
- */
+/// \file tests/arith/minus_full.cc
+///
+/// Tests on mln::arith::minus.
#include <mln/core/image/image1d.hh>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/literal/origin.hh>
diff --git a/milena/tests/arith/plus_full.cc b/milena/tests/arith/plus_full.cc
index 6e848aa..f3f2691 100644
--- a/milena/tests/arith/plus_full.cc
+++ b/milena/tests/arith/plus_full.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -26,10 +27,9 @@
// Public License.
-/*! \file tests/arith/plus_full.cc
- *
- * \brief Tests on mln::arith::plus.
- */
+/// \file tests/arith/plus_full.cc
+///
+/// Tests on mln::arith::plus.
@@ -37,9 +37,9 @@
#include <mln/core/image/image1d.hh>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/literal/origin.hh>
diff --git a/milena/tests/arith/revert_full.cc b/milena/tests/arith/revert_full.cc
index ffe163d..19332a6 100644
--- a/milena/tests/arith/revert_full.cc
+++ b/milena/tests/arith/revert_full.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -35,8 +35,8 @@
#include <mln/core/image/image1d.hh>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/literal/origin.hh>
diff --git a/milena/tests/arith/times_full.cc b/milena/tests/arith/times_full.cc
index 3865642..6ab6c8a 100644
--- a/milena/tests/arith/times_full.cc
+++ b/milena/tests/arith/times_full.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,10 +26,9 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/arith/times_full.cc
- *
- * \brief Tests on mln::arith::times.
- */
+/// \file tests/arith/times_full.cc
+///
+/// Tests on mln::arith::times.
@@ -36,9 +36,9 @@
#include <mln/core/image/image1d.hh>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/literal/origin.hh>
diff --git a/milena/tests/border/find.cc b/milena/tests/border/find.cc
index 7187971..65c94f2 100644
--- a/milena/tests/border/find.cc
+++ b/milena/tests/border/find.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,13 +26,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/border/find.cc
- *
- * \brief Tests on mln::border::find.
- */
+/// \file tests/border/find.cc
+///
+/// Tests on mln::border::find.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/debug/iota.hh>
#include <mln/border/find.hh>
diff --git a/milena/tests/border/find_full.cc b/milena/tests/border/find_full.cc
index eb6e337..db4afc7 100644
--- a/milena/tests/border/find_full.cc
+++ b/milena/tests/border/find_full.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -33,9 +33,9 @@
#include <mln/core/image/image1d.hh>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/border/find.hh>
#include <mln/literal/origin.hh>
diff --git a/milena/tests/border/get.cc b/milena/tests/border/get.cc
index 9cc6602..7fbf1a6 100644
--- a/milena/tests/border/get.cc
+++ b/milena/tests/border/get.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -31,8 +31,8 @@
/// Tests on mln::border::get.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/border/get.hh>
diff --git a/milena/tests/border/get_full.cc b/milena/tests/border/get_full.cc
index ef68eeb..5efce83 100644
--- a/milena/tests/border/get_full.cc
+++ b/milena/tests/border/get_full.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -31,8 +31,8 @@
/// Tests on mln::border::get.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/border/get.hh>
diff --git a/milena/tests/border/resize_image_if.cc b/milena/tests/border/resize_image_if.cc
index 4ed8522..9c16a20 100644
--- a/milena/tests/border/resize_image_if.cc
+++ b/milena/tests/border/resize_image_if.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -31,8 +31,8 @@
/// Tests on mln::border::resize.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/border/get.hh>
diff --git a/milena/tests/border/resize_sub_image.cc b/milena/tests/border/resize_sub_image.cc
index f70d943..f7d6d13 100644
--- a/milena/tests/border/resize_sub_image.cc
+++ b/milena/tests/border/resize_sub_image.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,14 +26,13 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/border/resize_sub_image.cc
- *
- * \brief Tests on mln::border::resize.
- */
+/// \file tests/border/resize_sub_image.cc
+///
+/// Tests on mln::border::resize.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/border/get.hh>
diff --git a/milena/tests/canvas/chamfer.cc b/milena/tests/canvas/chamfer.cc
index 06004a3..a66688a 100644
--- a/milena/tests/canvas/chamfer.cc
+++ b/milena/tests/canvas/chamfer.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,13 +26,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/canvas/chamfer.cc
- *
- * \brief Tests on mln::geom::chamfer.
- */
+/// \file tests/canvas/chamfer.cc
+///
+/// Tests on mln::geom::chamfer.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/data/fill.hh>
diff --git a/milena/tests/convert/to_p_set.cc b/milena/tests/convert/to_p_set.cc
index c8dc7f9..35e5dae 100644
--- a/milena/tests/convert/to_p_set.cc
+++ b/milena/tests/convert/to_p_set.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -32,7 +32,7 @@
#include <mln/core/alias/point2d.hh>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/alias/window2d.hh>
#include <mln/core/alias/box2d.hh>
#include <mln/core/alias/neighb2d.hh>
diff --git a/milena/tests/convert/to_window.cc b/milena/tests/convert/to_window.cc
index a0865f5..890778a 100644
--- a/milena/tests/convert/to_window.cc
+++ b/milena/tests/convert/to_window.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -32,7 +32,7 @@
#include <mln/core/alias/dpoint2d.hh>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/alias/window2d.hh>
#include <mln/core/alias/box2d.hh>
#include <mln/core/alias/neighb2d.hh>
diff --git a/milena/tests/core/image/Makefile.am b/milena/tests/core/image/Makefile.am
index 5ab75f1..fcd76c5 100644
--- a/milena/tests/core/image/Makefile.am
+++ b/milena/tests/core/image/Makefile.am
@@ -3,32 +3,21 @@
include $(top_srcdir)/milena/tests/tests.mk
SUBDIRS = \
- dmorph
+ morph \
+ dmorph \
+ imorph \
+ vmorph
##FIXME: re-enable tests
check_PROGRAMS = \
- cast_image \
complex_image \
- decorated_image \
edge_image \
flat_image \
- hexa \
graph_image \
image1d \
image2d \
- image2d_h \
image3d \
- image_if \
- interpolated \
line_graph_image \
- p2p_image \
- plain \
- safe_image \
- slice_image \
- sub_image \
- t_image \
- tr_image \
- unproject_image \
vertex_image
## bgraph_image \
@@ -44,32 +33,18 @@ check_PROGRAMS = \
noinst_HEADERS = complex_image.hh
##bgraph_image_SOURCES = bgraph_image.cc
-cast_image_SOURCES = cast_image.cc
complex_image_SOURCES = complex_image.cc
-decorated_image_SOURCES = decorated_image.cc
graph_image_SOURCES = graph_image.cc
flat_image_SOURCES = flat_image.cc
-hexa_SOURCES = hexa.cc
image1d_SOURCES = image1d.cc
image2d_SOURCES = image2d.cc
-image2d_h_SOURCES = image2d_h.cc
image3d_SOURCES = image3d.cc
-image_if_SOURCES = image_if.cc
-interpolated_SOURCES = interpolated.cc
line_graph_image_SOURCES = line_graph_image.cc
##mono_obased_rle_image_SOURCES = mono_obased_rle_image.cc
##mono_rle_image_SOURCES = mono_rle_image.cc
##obased_rle_image_SOURCES = obased_rle_image.cc
-p2p_image_SOURCES = p2p_image.cc
-plain_SOURCES = plain.cc
##rle_image_SOURCES = rle_image.cc
-safe_image_SOURCES = safe_image.cc
-slice_image_SOURCES = slice_image.cc
##sparse_image_SOURCES = sparse_image.cc
-sub_image_SOURCES = sub_image.cc
-t_image_SOURCES = t_image.cc
-tr_image_SOURCES = tr_image.cc
-unproject_image_SOURCES = unproject_image.cc
##value_enc_image_SOURCES = value_enc_image.cc
vertex_image_SOURCES = vertex_image.cc
edge_image_SOURCES = edge_image.cc
diff --git a/milena/tests/core/image/dmorph/Makefile.am b/milena/tests/core/image/dmorph/Makefile.am
index 6e0f695..c5a6b18 100644
--- a/milena/tests/core/image/dmorph/Makefile.am
+++ b/milena/tests/core/image/dmorph/Makefile.am
@@ -3,8 +3,22 @@
include $(top_srcdir)/milena/tests/tests.mk
check_PROGRAMS = \
- transformed_image
+ hexa \
+ image_if \
+ image2d_h \
+ p2p_image \
+ slice_image \
+ sub_image \
+ transformed_image \
+ unproject_image
+hexa_SOURCES = hexa.cc
+image_if_SOURCES = image_if.cc
+image2d_h_SOURCES = image2d_h.cc
+p2p_image_SOURCES = p2p_image.cc
+slice_image_SOURCES = slice_image.cc
+sub_image_SOURCES = sub_image.cc
transformed_image_SOURCES = transformed_image.cc
+unproject_image_SOURCES = unproject_image.cc
TESTS = $(check_PROGRAMS)
diff --git a/milena/tests/core/image/hexa.cc b/milena/tests/core/image/dmorph/hexa.cc
similarity index 91%
rename from milena/tests/core/image/hexa.cc
rename to milena/tests/core/image/dmorph/hexa.cc
index cd157b4..e6b32f0 100644
--- a/milena/tests/core/image/hexa.cc
+++ b/milena/tests/core/image/dmorph/hexa.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -26,13 +26,13 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file tests/core/image/hexa.cc
+/// \file tests/core/image/dmorph/hexa.cc
///
/// Tests on mln::hexa
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/hexa.hh>
+#include <mln/core/image/dmorph/hexa.hh>
#include <mln/value/int_u8.hh>
#include <mln/debug/iota.hh>
#include <mln/debug/println.hh>
diff --git a/milena/tests/core/image/image2d_h.cc b/milena/tests/core/image/dmorph/image2d_h.cc
similarity index 91%
rename from milena/tests/core/image/image2d_h.cc
rename to milena/tests/core/image/dmorph/image2d_h.cc
index 53f2690..8a0152b 100644
--- a/milena/tests/core/image/image2d_h.cc
+++ b/milena/tests/core/image/dmorph/image2d_h.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -26,11 +26,11 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file tests/core/image/image2d_h.cc
+/// \file tests/core/image/dmorph/image2d_h.cc
///
/// Tests on mln::image2d_h
-#include <mln/core/image/image2d_h.hh>
+#include <mln/core/image/dmorph/image2d_h.hh>
#include <mln/value/int_u8.hh>
#include <mln/debug/iota.hh>
#include <mln/debug/println.hh>
diff --git a/milena/tests/core/image/image_if.cc b/milena/tests/core/image/dmorph/image_if.cc
similarity index 91%
rename from milena/tests/core/image/image_if.cc
rename to milena/tests/core/image/dmorph/image_if.cc
index f646191..aed8d46 100644
--- a/milena/tests/core/image/image_if.cc
+++ b/milena/tests/core/image/dmorph/image_if.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -26,12 +26,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file tests/core/image/image_if.cc
+/// \file tests/core/image/dmorph/image_if.cc
///
/// Tests on mln::image_if.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/debug/println.hh>
diff --git a/milena/tests/core/image/p2p_image.cc b/milena/tests/core/image/dmorph/p2p_image.cc
similarity index 85%
rename from milena/tests/core/image/p2p_image.cc
rename to milena/tests/core/image/dmorph/p2p_image.cc
index 72da84c..0540b16 100644
--- a/milena/tests/core/image/p2p_image.cc
+++ b/milena/tests/core/image/dmorph/p2p_image.cc
@@ -26,12 +26,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file tests/core/image/p2p_image.cc
+/// \file tests/core/image/dmorph/p2p_image.cc
///
/// Tests on mln::p2p_image.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/p2p_image.hh>
+#include <mln/core/image/dmorph/p2p_image.hh>
#include <mln/fun/p2p/translation.hh>
@@ -39,7 +39,6 @@
# define ima_ apply_p2p(ima, fun::p2p::translation(dp))
-
int main()
{
using namespace mln;
@@ -47,6 +46,14 @@ int main()
box2d b = make::box2d(0,0, 2,2);
image2d<int> ima(b, 0); // No border.
+ /// Initialize image with '2'. Do not rely on data::fill.
+ mln_piter_(image2d<int>) p(ima.domain());
+ for_all(p)
+ ima(p) = 2;
+ /// Set special values.
+ ima(point2d(0,0)) = 1;
+ ima(point2d(2,2)) = 9;
+
dpoint2d dp(-1,+1);
box2d b_ = make::box2d(-1,+1, 1,3);
diff --git a/milena/tests/core/image/slice_image.cc b/milena/tests/core/image/dmorph/slice_image.cc
similarity index 90%
rename from milena/tests/core/image/slice_image.cc
rename to milena/tests/core/image/dmorph/slice_image.cc
index c945255..506091f 100644
--- a/milena/tests/core/image/slice_image.cc
+++ b/milena/tests/core/image/dmorph/slice_image.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,13 +26,13 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file tests/core/image/slice_image.cc
+/// \file tests/core/image/dmorph/slice_image.cc
///
/// Tests on mln::slice_image.
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/slice_image.hh>
+#include <mln/core/image/dmorph/slice_image.hh>
#include <mln/debug/iota.hh>
#include <mln/level/compare.hh>
diff --git a/milena/tests/core/image/sub_image.cc b/milena/tests/core/image/dmorph/sub_image.cc
similarity index 88%
rename from milena/tests/core/image/sub_image.cc
rename to milena/tests/core/image/dmorph/sub_image.cc
index 1065282..0860097 100644
--- a/milena/tests/core/image/sub_image.cc
+++ b/milena/tests/core/image/dmorph/sub_image.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,13 +26,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/core/image/sub_image.cc
- *
- * \brief Tests on mln::sub_image.
- */
+/// \file tests/core/image/sub_image.cc
+///
+/// Tests on mln::sub_image.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/data/fill.hh>
diff --git a/milena/tests/core/image/unproject_image.cc b/milena/tests/core/image/dmorph/unproject_image.cc
similarity index 94%
rename from milena/tests/core/image/unproject_image.cc
rename to milena/tests/core/image/dmorph/unproject_image.cc
index c7481dd..173d3a6 100644
--- a/milena/tests/core/image/unproject_image.cc
+++ b/milena/tests/core/image/dmorph/unproject_image.cc
@@ -25,13 +25,13 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file tests/core/image/unproject_image.cc
+/// \file tests/core/image/dmorph/unproject_image.cc
///
/// Tests on mln::unproject_image.
#include <mln/core/image/image1d.hh>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/unproject_image.hh>
+#include <mln/core/image/dmorph/unproject_image.hh>
#include <mln/core/var.hh>
#include <mln/fun/v2v/projection.hh>
diff --git a/milena/tests/core/image/image_if_interval.cc b/milena/tests/core/image/image_if_interval.cc
deleted file mode 100644
index 86139b1..0000000
--- a/milena/tests/core/image/image_if_interval.cc
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
-//
-// This file is part of the Olena Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License version 2 as published by the
-// Free Software Foundation.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-// Boston, MA 02111-1307, USA.
-//
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-/*! \file tests/core/image/image_if_interval.cc
- *
- * \brief Tests on mln::image_if_interval.
- */
-
-#include <mln/core/image/image2d.hh>
-#include <mln/core/image_if_interval.hh>
-#include <mln/debug/iota.hh>
-#include <mln/debug/println.hh>
-
-
-int main()
-{
- using namespace mln;
-
- typedef image2d<int> I;
- I ima(3, 3);
- debug::iota(ima);
- debug::println(ima);
- debug::println(ima | value::interval(4, 7) );
-
- I::fwd_piter p(ima.domain());
- for_all(p)
- {
- mln_assertion((ima(p) >= 4 && ima(p) <= 7) ==
- ((ima | value::interval(4, 7)).has(p)));
- }
-}
diff --git a/milena/tests/core/image/image_if_value.cc b/milena/tests/core/image/image_if_value.cc
deleted file mode 100644
index 76aff81..0000000
--- a/milena/tests/core/image/image_if_value.cc
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
-//
-// This file is part of the Olena Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License version 2 as published by the
-// Free Software Foundation.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-// Boston, MA 02111-1307, USA.
-//
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-/*! \file tests/core/image/image_if_value.cc
- *
- * \brief Tests on mln::image_if_value.
- */
-
-#include <mln/core/image/image2d.hh>
-#include <mln/core/image_if_value.hh>
-#include <mln/debug/iota.hh>
-#include <mln/debug/println.hh>
-
-
-int main()
-{
- using namespace mln;
-
- typedef image2d<int> I;
- I ima(3, 3);
- debug::iota(ima);
- debug::println(ima);
- debug::println(ima | 5);
-
- I::fwd_piter p(ima.domain());
- for_all(p)
- {
- mln_assertion((ima(p) == 5) ==
- ((ima | 5).has(p)));
- }
-}
diff --git a/milena/tests/core/image/imorph/Makefile.am b/milena/tests/core/image/imorph/Makefile.am
new file mode 100644
index 0000000..3d98edd
--- /dev/null
+++ b/milena/tests/core/image/imorph/Makefile.am
@@ -0,0 +1,18 @@
+## Process this file through Automake to create Makefile.in.
+
+include $(top_srcdir)/milena/tests/tests.mk
+
+check_PROGRAMS = \
+ decorated_image \
+ interpolated \
+ labeled_image \
+ safe_image \
+ tr_image
+
+decorated_image_SOURCES = decorated_image.cc
+interpolated_SOURCES = interpolated.cc
+labeled_image_SOURCES = labeled_image.cc
+safe_image_SOURCES = safe_image.cc
+tr_image_SOURCES = tr_image.cc
+
+TESTS = $(check_PROGRAMS)
diff --git a/milena/tests/core/image/decorated_image.cc b/milena/tests/core/image/imorph/decorated_image.cc
similarity index 90%
rename from milena/tests/core/image/decorated_image.cc
rename to milena/tests/core/image/imorph/decorated_image.cc
index 0cab21d..61d5503 100644
--- a/milena/tests/core/image/decorated_image.cc
+++ b/milena/tests/core/image/imorph/decorated_image.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,11 +26,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file tests/core/image/decorated_image.cc
-/// \brief Tests on mln::decorated_image.
+/// \file tests/core/image/imorph/decorated_image.cc
+///
+/// Tests on mln::decorated_image.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/decorated_image.hh>
+#include <mln/core/image/imorph/decorated_image.hh>
unsigned count_read = 0, count_write = 0;
diff --git a/milena/tests/core/image/interpolated.cc b/milena/tests/core/image/imorph/interpolated.cc
similarity index 91%
rename from milena/tests/core/image/interpolated.cc
rename to milena/tests/core/image/imorph/interpolated.cc
index 2f5b70a..90ba75c 100644
--- a/milena/tests/core/image/interpolated.cc
+++ b/milena/tests/core/image/imorph/interpolated.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -26,14 +26,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file tests/core/image/interpolated.cc
+/// \file tests/core/image/imorph/interpolated.cc
///
/// Tests on mln::interpolated.
#include <iostream>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/interpolated.hh>
+#include <mln/core/image/imorph/interpolated.hh>
#include <mln/algebra/vec.hh>
diff --git a/milena/tests/core/image/safe_image.cc b/milena/tests/core/image/imorph/safe_image.cc
similarity index 94%
rename from milena/tests/core/image/safe_image.cc
rename to milena/tests/core/image/imorph/safe_image.cc
index 8a74d0d..a9c929d 100644
--- a/milena/tests/core/image/safe_image.cc
+++ b/milena/tests/core/image/imorph/safe_image.cc
@@ -1,4 +1,5 @@
// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,12 +26,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file tests/core/image/safe_image.cc
+/// \file tests/core/image/imorph/safe_image.cc
///
/// Tests on mln::safe_image.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/safe.hh>
+#include <mln/core/image/imorph/safe.hh>
int main()
diff --git a/milena/tests/core/image/tr_image.cc b/milena/tests/core/image/imorph/tr_image.cc
similarity index 96%
rename from milena/tests/core/image/tr_image.cc
rename to milena/tests/core/image/imorph/tr_image.cc
index 0f9c555..352e06c 100644
--- a/milena/tests/core/image/tr_image.cc
+++ b/milena/tests/core/image/imorph/tr_image.cc
@@ -26,7 +26,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file tests/core/image/tr_image.cc
+/// \file tests/core/image/imorph/tr_image.cc
///
/// Tests on mln::tr_image.
/// FIXME: write a real test!
@@ -36,7 +36,7 @@
#include <mln/fun/x2x/rotation.hh>
#include <mln/core/image/image3d.hh>
#include <mln/value/int_u8.hh>
-#include <mln/core/image/tr_image.hh>
+#include <mln/core/image/imorph/tr_image.hh>
#include <mln/debug/iota.hh>
#include <mln/debug/println.hh>
diff --git a/milena/tests/core/image/dmorph/Makefile.am b/milena/tests/core/image/morph/Makefile.am
similarity index 69%
copy from milena/tests/core/image/dmorph/Makefile.am
copy to milena/tests/core/image/morph/Makefile.am
index 6e0f695..8623c12 100644
--- a/milena/tests/core/image/dmorph/Makefile.am
+++ b/milena/tests/core/image/morph/Makefile.am
@@ -3,8 +3,8 @@
include $(top_srcdir)/milena/tests/tests.mk
check_PROGRAMS = \
- transformed_image
+ t_image
-transformed_image_SOURCES = transformed_image.cc
+t_image_SOURCES = t_image.cc
TESTS = $(check_PROGRAMS)
diff --git a/milena/tests/core/image/t_image.cc b/milena/tests/core/image/morph/t_image.cc
similarity index 89%
rename from milena/tests/core/image/t_image.cc
rename to milena/tests/core/image/morph/t_image.cc
index dca99f4..2cd8349 100644
--- a/milena/tests/core/image/t_image.cc
+++ b/milena/tests/core/image/morph/t_image.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,13 +26,13 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/core/image/t_image.cc
- *
- * \brief Tests on mln::t_image.
- */
+/// \file tests/core/image/morph/t_image.cc
+///
+/// Tests on mln::t_image.
+
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/t_image.hh>
+#include <mln/core/image/morph/t_image.hh>
#include <mln/debug/iota.hh>
#include <mln/debug/println.hh>
diff --git a/milena/tests/core/image/plain.cc b/milena/tests/core/image/plain.cc
index b963b1b..97c6635 100644
--- a/milena/tests/core/image/plain.cc
+++ b/milena/tests/core/image/plain.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,13 +26,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/core/image/plain.cc
- *
- * \brief Test on mln::plain.
- */
+/// \file tests/core/image/plain.cc
+///
+/// Test on mln::plain.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/plain.hh>
+#include <mln/core/image/imorph/plain.hh>
#include <mln/value/int_u8.hh>
#include <mln/level/compare.hh>
diff --git a/milena/tests/core/image/dmorph/Makefile.am b/milena/tests/core/image/vmorph/Makefile.am
similarity index 69%
copy from milena/tests/core/image/dmorph/Makefile.am
copy to milena/tests/core/image/vmorph/Makefile.am
index 6e0f695..24be72d 100644
--- a/milena/tests/core/image/dmorph/Makefile.am
+++ b/milena/tests/core/image/vmorph/Makefile.am
@@ -3,8 +3,8 @@
include $(top_srcdir)/milena/tests/tests.mk
check_PROGRAMS = \
- transformed_image
+ cast_image
-transformed_image_SOURCES = transformed_image.cc
+cast_image_SOURCES = cast_image.cc
TESTS = $(check_PROGRAMS)
diff --git a/milena/tests/core/image/cast_image.cc b/milena/tests/core/image/vmorph/cast_image.cc
similarity index 78%
rename from milena/tests/core/image/cast_image.cc
rename to milena/tests/core/image/vmorph/cast_image.cc
index 982d137..839d9c6 100644
--- a/milena/tests/core/image/cast_image.cc
+++ b/milena/tests/core/image/vmorph/cast_image.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -26,23 +26,25 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file tests/core/image/cast_image.cc
+/// \file tests/core/image/vmorph/cast_image.cc
///
/// Tests on mln::cast_image.
#include <mln/core/image/image2d.hh>
-#include <mln/fun/p2b/chess.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
+#include <mln/level/compare.hh>
+#include <mln/make/image2d.hh>
#include <mln/data/fill.hh>
-#include <mln/debug/println.hh>
-#include <mln/core/image/cast_image.hh>
+int vals[] = { 3, 3,
+ 3, 3 };
int main()
{
using namespace mln;
- image2d<bool> ima(8, 8);
- data::fill(ima, fun::p2b::chess());
- debug::println(ima);
- debug::println( cast_image<int>(ima) );
+ image2d<float> ima(2, 2);
+ data::fill(ima, 3.432f);
+
+ mln_assertion(cast_image<int>(ima) == make::image2d(vals));
}
diff --git a/milena/tests/core/routine/duplicate.cc b/milena/tests/core/routine/duplicate.cc
index 9e2e23d..2f02c03 100644
--- a/milena/tests/core/routine/duplicate.cc
+++ b/milena/tests/core/routine/duplicate.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -31,7 +31,7 @@
/// Tests on mln::duplicate.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/debug/iota.hh>
#include <mln/debug/println.hh>
diff --git a/milena/tests/core/routine/extend.cc b/milena/tests/core/routine/extend.cc
index 93b2a0e..627a5a1 100644
--- a/milena/tests/core/routine/extend.cc
+++ b/milena/tests/core/routine/extend.cc
@@ -33,9 +33,9 @@
#include <mln/core/var.hh>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
-#include <mln/core/image/extended.hh>
+#include <mln/core/image/dmorph/extended.hh>
#include <mln/core/routine/extend.hh>
#include <mln/debug/iota.hh>
diff --git a/milena/tests/core/routine/initialize.cc b/milena/tests/core/routine/initialize.cc
index 07592c8..08204b5 100644
--- a/milena/tests/core/routine/initialize.cc
+++ b/milena/tests/core/routine/initialize.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,13 +26,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/core/routine/initialize.cc
- *
- * \brief Tests on mln::initialize.
- */
+/// \file tests/core/routine/initialize.cc
+///
+/// Tests on mln::initialize.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/debug/println.hh>
diff --git a/milena/tests/core/routine/primary.cc b/milena/tests/core/routine/primary.cc
index adacf54..a19b4ed 100644
--- a/milena/tests/core/routine/primary.cc
+++ b/milena/tests/core/routine/primary.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -30,7 +31,7 @@
/// Tests on mln::primary.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/routine/primary.hh>
diff --git a/milena/tests/data/fill_full.cc b/milena/tests/data/fill_full.cc
index 4bdbe76..3d3b825 100644
--- a/milena/tests/data/fill_full.cc
+++ b/milena/tests/data/fill_full.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,19 +26,18 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/data/fill_full.cc
- *
- * \brief Tests on mln::data::fill
- */
+/// \file tests/data/fill_full.cc
+///
+/// Tests on mln::data::fill
#include <mln/core/image/image1d.hh>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/literal/origin.hh>
diff --git a/milena/tests/data/fill_with_image.cc b/milena/tests/data/fill_with_image.cc
index 6e39972..119eec2 100644
--- a/milena/tests/data/fill_with_image.cc
+++ b/milena/tests/data/fill_with_image.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -39,10 +39,10 @@
#include <mln/core/image/image3d.hh>
#include <mln/pw/image.hh>
#include <mln/core/image/flat_image.hh>
-#include <mln/core/image/cast_image.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/extension_val.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/extension_val.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/fun/p2v/iota.hh>
diff --git a/milena/tests/data/fill_with_value.cc b/milena/tests/data/fill_with_value.cc
index ccc3330..ab46cf3 100644
--- a/milena/tests/data/fill_with_value.cc
+++ b/milena/tests/data/fill_with_value.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -37,9 +37,9 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
#include <mln/core/image/flat_image.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/extension_val.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/extension_val.hh>
#include <mln/value/rgb8.hh>
#include <mln/fun/p2b/chess.hh>
diff --git a/milena/tests/data/paste.cc b/milena/tests/data/paste.cc
index 281fd7b..54387fd 100644
--- a/milena/tests/data/paste.cc
+++ b/milena/tests/data/paste.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -35,10 +35,10 @@
#include <mln/core/image/image3d.hh>
#include <mln/pw/image.hh>
#include <mln/core/image/flat_image.hh>
-#include <mln/core/image/cast_image.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/extension_val.hh>
+#include <mln/core/image/vmorphcast_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/extension_val.hh>
#include <mln/data/fill.hh>
#include <mln/data/paste.hh>
diff --git a/milena/tests/data/paste_full.cc b/milena/tests/data/paste_full.cc
index b74045c..9b9599c 100644
--- a/milena/tests/data/paste_full.cc
+++ b/milena/tests/data/paste_full.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,19 +26,18 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/data/paste_full.cc
- *
- * \brief Tests on mln::data::paste.
- */
+/// \file tests/data/paste_full.cc
+///
+/// Tests on mln::data::paste.
#include <mln/core/image/image1d.hh>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/literal/origin.hh>
diff --git a/milena/tests/draw/line.cc b/milena/tests/draw/line.cc
index 857a98a..b2d6602 100644
--- a/milena/tests/draw/line.cc
+++ b/milena/tests/draw/line.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,15 +26,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/draw/line.cc
- *
- * \brief Tests on mln::draw::line.
- */
+/// \file tests/draw/line.cc
+///
+/// Tests on mln::draw::line.
#include <iterator>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/data/fill.hh>
diff --git a/milena/tests/extension/fill.cc b/milena/tests/extension/fill.cc
index c95c28a..fa7168f 100644
--- a/milena/tests/extension/fill.cc
+++ b/milena/tests/extension/fill.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,13 +26,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/extension/fill.cc
- *
- * \brief Tests on mln::extension::fill.
- */
+/// \file tests/extension/fill.cc
+///
+/// Tests on mln::extension::fill.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/extended.hh>
+#include <mln/core/image/dmorph/extended.hh>
#include <mln/extension/fill.hh>
#include <mln/data/fill.hh>
diff --git a/milena/tests/labeling/level.cc b/milena/tests/labeling/level.cc
index 626931c..d2f104b 100644
--- a/milena/tests/labeling/level.cc
+++ b/milena/tests/labeling/level.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -40,7 +40,7 @@
#include <mln/labeling/level.hh>
#include <mln/data/paste.hh>
#include <mln/pw/all.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/debug/println.hh>
diff --git a/milena/tests/level/abs_full.cc b/milena/tests/level/abs_full.cc
index d848deb..8798986 100644
--- a/milena/tests/level/abs_full.cc
+++ b/milena/tests/level/abs_full.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,18 +26,17 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/level/abs_full.cc
- *
- * \brief Tests on mln::level::abs.
- */
+/// \file tests/level/abs_full.cc
+///
+/// Tests on mln::level::abs.
#include <mln/core/image/image1d.hh>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/literal/origin.hh>
diff --git a/milena/tests/level/compare_full.cc b/milena/tests/level/compare_full.cc
index 9d49727..62f83c2 100644
--- a/milena/tests/level/compare_full.cc
+++ b/milena/tests/level/compare_full.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,10 +26,9 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/level/compare_full.cc
- *
- * \brief Tests on mln::level::compare.
- */
+/// \file tests/level/compare_full.cc
+///
+/// Tests on mln::level::compare.
#include <mln/core/image/image1d.hh>
#include <mln/core/image/image2d.hh>
@@ -42,7 +42,6 @@
#include <mln/level/compare.hh>
#include <mln/debug/iota.hh>
-
#include <mln/arith/plus.hh>
#include <mln/arith/minus.hh>
diff --git a/milena/tests/level/compute.cc b/milena/tests/level/compute.cc
index 950d8b0..b6dc31c 100644
--- a/milena/tests/level/compute.cc
+++ b/milena/tests/level/compute.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,10 +26,9 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/level/compute.cc
- *
- * \brief Tests on mln::level::compute.
- */
+/// \file tests/level/compute.cc
+///
+/// Tests on mln::level::compute.
#include <mln/core/image/image2d.hh>
#include <mln/level/compute.hh>
diff --git a/milena/tests/level/compute_full.cc b/milena/tests/level/compute_full.cc
index 6f3f4b5..beb3cd6 100644
--- a/milena/tests/level/compute_full.cc
+++ b/milena/tests/level/compute_full.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -39,8 +39,8 @@
#include <mln/value/int_s8.hh>
#include <mln/value/int_s16.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/accu/min.hh>
diff --git a/milena/tests/level/transform.cc b/milena/tests/level/transform.cc
index 179aea8..a02cbba 100644
--- a/milena/tests/level/transform.cc
+++ b/milena/tests/level/transform.cc
@@ -37,10 +37,10 @@
#include <mln/core/image/image3d.hh>
#include <mln/pw/image.hh>
#include <mln/core/image/flat_image.hh>
-#include <mln/core/image/cast_image.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/extension_val.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/extension_val.hh>
#include <mln/data/fill.hh>
diff --git a/milena/tests/level/transform_full.cc b/milena/tests/level/transform_full.cc
index f513fd5..30fbb1a 100644
--- a/milena/tests/level/transform_full.cc
+++ b/milena/tests/level/transform_full.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,19 +26,18 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/level/transform_full.cc
- *
- * \brief Tests on mln::level::transform
- */
+/// \file tests/level/transform_full.cc
+///
+/// Tests on mln::level::transform
#include <cmath>
#include <mln/core/image/image1d.hh>
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
#include <mln/literal/origin.hh>
diff --git a/milena/tests/level/transform_inplace.cc b/milena/tests/level/transform_inplace.cc
index 2b70981..99f67ad 100644
--- a/milena/tests/level/transform_inplace.cc
+++ b/milena/tests/level/transform_inplace.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -34,9 +35,9 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
#include <mln/core/image/flat_image.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/extension_val.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/extension_val.hh>
#include <mln/core/routine/duplicate.hh>
#include <mln/fun/v2v/inc.hh>
diff --git a/milena/tests/morpho/elementary/gradient.cc b/milena/tests/morpho/elementary/gradient.cc
index 02b9e20..ee05293 100644
--- a/milena/tests/morpho/elementary/gradient.cc
+++ b/milena/tests/morpho/elementary/gradient.cc
@@ -31,7 +31,7 @@
/// Test on mln::morpho::elementary::gradient.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/var.hh>
#include <mln/value/int_u8.hh>
diff --git a/milena/tests/morpho/elementary/gradient_external.cc b/milena/tests/morpho/elementary/gradient_external.cc
index bc064cc..78db882 100644
--- a/milena/tests/morpho/elementary/gradient_external.cc
+++ b/milena/tests/morpho/elementary/gradient_external.cc
@@ -31,7 +31,7 @@
/// Test on mln::morpho::elementary::gradient_external.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/var.hh>
#include <mln/value/int_u8.hh>
diff --git a/milena/tests/morpho/elementary/gradient_internal.cc b/milena/tests/morpho/elementary/gradient_internal.cc
index 3e72d4e..d7364f6 100644
--- a/milena/tests/morpho/elementary/gradient_internal.cc
+++ b/milena/tests/morpho/elementary/gradient_internal.cc
@@ -31,7 +31,7 @@
/// Test on mln::morpho::elementary::gradient_internal.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
#include <mln/core/alias/neighb2d.hh>
#include <mln/core/var.hh>
#include <mln/value/int_u8.hh>
diff --git a/milena/tests/morpho/laplacian.cc b/milena/tests/morpho/laplacian.cc
index bcb07c6..caa798c 100644
--- a/milena/tests/morpho/laplacian.cc
+++ b/milena/tests/morpho/laplacian.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,10 +26,9 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/morpho/laplacian.cc
- *
- * \brief Test on mln::morpho::laplacian.
- */
+/// \file tests/morpho/laplacian.cc
+///
+/// Test on mln::morpho::laplacian.
#include <mln/core/image/image2d.hh>
#include <mln/win/rectangle2d.hh>
@@ -37,7 +37,7 @@
#include <mln/io/pgm/save.hh>
#include <mln/value/int_u_sat.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
#include <mln/pw/image.hh>
#include <mln/arith/plus.hh>
diff --git a/milena/tests/morpho/meyer_wst_long.cc b/milena/tests/morpho/meyer_wst_long.cc
index ba76290..d451da7 100644
--- a/milena/tests/morpho/meyer_wst_long.cc
+++ b/milena/tests/morpho/meyer_wst_long.cc
@@ -32,7 +32,7 @@
#include <iostream>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/image/image2d.hh>
#include <mln/core/alias/window2d.hh>
#include <mln/core/alias/neighb2d.hh>
diff --git a/milena/tests/morpho/skeleton_constrained.cc b/milena/tests/morpho/skeleton_constrained.cc
index 7ce78dc..8507993 100644
--- a/milena/tests/morpho/skeleton_constrained.cc
+++ b/milena/tests/morpho/skeleton_constrained.cc
@@ -45,7 +45,7 @@
#include <mln/data/fill.hh>
#include <mln/pw/value.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/extension/adjust_duplicate.hh>
#include <mln/logical/not.hh>
diff --git a/milena/tests/morpho/tree/compute_parent.cc b/milena/tests/morpho/tree/compute_parent.cc
index 5707ed9..8af41e1 100644
--- a/milena/tests/morpho/tree/compute_parent.cc
+++ b/milena/tests/morpho/tree/compute_parent.cc
@@ -32,7 +32,7 @@
#include <mln/core/image/image2d.hh>
#include <mln/core/alias/neighb2d.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/site_set/p_array.hh>
#include <mln/level/sort_psites.hh>
diff --git a/milena/tests/opt/at.cc b/milena/tests/opt/at.cc
index 00e60a5..573d595 100644
--- a/milena/tests/opt/at.cc
+++ b/milena/tests/opt/at.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
// (LRDE)
//
// This file is part of the Olena Library. This library is free
@@ -31,15 +31,15 @@
/// Tests on mln::opt::at.
#include <mln/core/image/image1d.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/cast_image.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/vmorph/cast_image.hh>
/*#include <mln/core/image/image2d.hh>
#include <mln/core/image/image3d.hh>
#include <mln/pw/image.hh>
#include <mln/core/image/flat_image.hh>
-#include <mln/core/image/image_if.hh>
-#include <mln/core/image/extension_val.hh>*/
+#include <mln/core/image/dmorph/image_if.hh>
+#include <mln/core/image/dmorph/extension_val.hh>*/
#include <mln/data/fill.hh>
#include <mln/data/paste.hh>
diff --git a/milena/tests/trait/image/images.cc b/milena/tests/trait/image/images.cc
index 51dd710..1771036 100644
--- a/milena/tests/trait/image/images.cc
+++ b/milena/tests/trait/image/images.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,12 +28,12 @@
/// \file tests/trait/image/images.cc
///
-/// \brief Tests on mln::trait::images.
+/// Tests on mln::trait::images.
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/fun/p2b/chess.hh>
diff --git a/milena/tools/seed2tiling.cc b/milena/tools/seed2tiling.cc
index 3f4efeb..20cfa98 100644
--- a/milena/tools/seed2tiling.cc
+++ b/milena/tools/seed2tiling.cc
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -33,7 +33,7 @@
# include <mln/core/image/image2d.hh>
-# include <mln/core/image/sub_image.hh>
+# include <mln/core/image/dmorph/sub_image.hh>
# include <mln/core/alias/neighb2d.hh>
# include <mln/value/int_u8.hh>
# include <mln/level/stretch.hh>
@@ -47,8 +47,8 @@
# include <mln/make/voronoi.hh>
#include <mln/core/image/image2d.hh>
-#include <mln/core/image/sub_image.hh>
-#include <mln/core/image/image_if.hh>
+#include <mln/core/image/dmorph/sub_image.hh>
+#include <mln/core/image/dmorph/image_if.hh>
#include <mln/core/alias/w_window2d_int.hh>
--
1.5.6.5
1
0
Re: [Olena-patches] [Olena] #85: Ensure the milena/tests/ hierarchy follows milena/mln/'s one
by Olena Trac 28 May '09
by Olena Trac 28 May '09
28 May '09
#85: Ensure the milena/tests/ hierarchy follows milena/mln/'s one
-----------------------+----------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: task | Status: new
Priority: major | Milestone: Olena 1.0
Component: Milena | Version: 1.0
Resolution: | Keywords:
-----------------------+----------------------------------------------------
Description changed by levill_r:
Old description:
> source:trunk/milena/mln/ and source:trunk/milena/tests/ shall be
> parallel, with some exceptions (for instance, the reproducing the sub-
> hierarchy of source:trunk/milena/mln/core into
> source:trunk/milena/tests/core might be overkill).
>
> This task is split among the many review tickets of the Olena 1.0ß
> milestone; close this ticket when the per-directory reviews are '''all'''
> closed or fixed w.r.t. to the test hierarchy.
New description:
source:trunk/milena/mln/ and source:trunk/milena/tests/ shall be parallel,
with some exceptions (for instance, the reproducing the sub-hierarchy of
source:trunk/milena/mln/core into source:trunk/milena/tests/core might be
overkill).
--
--
Ticket URL: <https://trac.lrde.org/olena/ticket/85#comment:1>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
1
0
#131: Implement area closing and attribue closing
--------------------------------------------------------+-------------------
Reporter: levill_r | Owner: Olena Team
Type: defect | Status: new
Priority: minor | Milestone: Static 1.0
Component: Milena | Version: 1.0
Keywords: completion dual naming routines algorithms |
--------------------------------------------------------+-------------------
Currently, these files are available:
* source:trunk/morpho/mln/opening_area.hh
* source:trunk/morpho/mln/opening_attribute.hh
but there is no equivalent for closings. Implement them.
BTW, these files and their routines are called `opening_area` and
`opening_attribute`, which is not elegant. Of course the goal is to put
forward the opening term; but IMHO, we should use namespace to do this,
not prefixes. Or rename them to `area_opening` and `attribute_opening`,
which are much more natural. Anyway, any further discussion on the subject
of naming algorithms should be carried on in another ticket.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/131>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image library.
2
2
#177: Provide safe value types to represent sizes
---------------------------------------+------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: proposal | Status: new
Priority: major | Milestone: Olena 1.0
Component: Milena | Version: 1.0
Keywords: conversion cast promotion |
---------------------------------------+------------------------------------
For instance we currently use either `unsigned` (bad) or `std::size_t`
(less bad) to represent a size (or a cardinal), but none of them is really
safe: as Théo and Matthieu recently said, adding an `int` with an
`unsigned` can lead to unexpected results.
We should provide safe replacement type(s) (or merely typedef(s) over
existing safe types), and stop using unsafe C++ built-in types.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/177>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
2
1
#186: Avoid nondeterminism in generators
----------------------+-----------------------------------------------------
Reporter: levill_r | Owner: Olena Team
Type: defect | Status: new
Priority: major | Milestone: Olena 1.0
Component: Milena | Version: 1.0
Keywords: |
----------------------+-----------------------------------------------------
The order of the names (files, identifiers, etc.) in files produced by our
home-made generators are platform-dependent. Just try this to be
convinced: compare results from a generation on GNU/Linux and Mac OS X.
This is uncool, since these files are recorded into the repository, so as
to keep track of changes and... check the validity of out generators.
We should bring some determinism here. The simplest solution is to sort
these lists before saving them (using `sort`).
--
Ticket URL: <https://trac.lrde.org/olena/ticket/186>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.
1
3