* 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
* 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
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
#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.
#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.
#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.
#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.