URL: https://svn.lrde.epita.fr/svn/oln/trunk/milena
ChangeLog:
2007-10-17 Guillaume Duhamel <guillaume.duhamel(a)lrde.epita.fr>
Update typo.
* mln/set/all.hh,
* mln/test/all.hh,
* mln/util/all.hh,
* mln/value/all.hh: Update Typo.
---
set/all.hh | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
test/all.hh | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
util/all.hh | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
value/all.hh | 8 ++++++--
4 files changed, 161 insertions(+), 2 deletions(-)
Index: trunk/milena/mln/value/all.hh
===================================================================
--- trunk/milena/mln/value/all.hh (revision 1351)
+++ trunk/milena/mln/value/all.hh (revision 1352)
@@ -37,8 +37,12 @@
namespace mln
{
- /// Namespace of materials related to ixel value types.
- namespace value {}
+ /// Namespace of materials related to pixel value types.
+ namespace value
+ {
+ /// Implementation namespace of value namespace.
+ namespace impl {}
+ }
}
Index: trunk/milena/mln/test/all.hh
===================================================================
--- trunk/milena/mln/test/all.hh (revision 0)
+++ trunk/milena/mln/test/all.hh (revision 1352)
@@ -0,0 +1,53 @@
+// 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.
+
+#ifndef MLN_TEST_ALL_HH
+# define MLN_TEST_ALL_HH
+
+/*! \file mln/test/all.hh
+ *
+ * \brief File that includes all test-related routines.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of image processing routines related to pixel tests.
+ namespace test
+ {
+ /// Implementation namespace of test namespace.
+ namespace impl {}
+ }
+
+}
+
+# include <mln/test/positive.hh>
+# include <mln/test/predicate.hh>
+
+
+#endif // ! MLN_TEST_ALL_HH
Index: trunk/milena/mln/set/all.hh
===================================================================
--- trunk/milena/mln/set/all.hh (revision 0)
+++ trunk/milena/mln/set/all.hh (revision 1352)
@@ -0,0 +1,50 @@
+// 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.
+
+#ifndef MLN_SET_ALL_HH
+# define MLN_SET_ALL_HH
+
+/*! \file mln/set/all.hh
+ *
+ * \brief File that includes all set-related routines.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of image processing routines related to pixel sets.
+ namespace set {}
+
+}
+
+# include <mln/set/diff.hh>
+# include <mln/set/inter.hh>
+# include <mln/set/sym_diff.hh>
+# include <mln/set/union.hh>
+
+#endif // ! MLN_SET_ALL_HH
Index: trunk/milena/mln/util/all.hh
===================================================================
--- trunk/milena/mln/util/all.hh (revision 0)
+++ trunk/milena/mln/util/all.hh (revision 1352)
@@ -0,0 +1,52 @@
+// 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.
+
+#ifndef MLN_UTIL_ALL_HH
+# define MLN_UTIL_ALL_HH
+
+/*! \file mln/util/all.hh
+ *
+ * \brief File that includes all util-related routines.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of tools using for more complex algorithm.
+ namespace util {}
+
+}
+
+# include <mln/util/eat.hh>
+# include <mln/util/graph.hh>
+# include <mln/util/ignore.hh>
+# include <mln/util/nil.hh>
+# include <mln/util/pix.hh>
+# include <mln/util/tracked_ptr.hh>
+
+#endif // ! MLN_UTIL_ALL_HH
URL: https://svn.lrde.epita.fr/svn/oln/trunk/milena
ChangeLog:
2007-10-17 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
Fix namespace documentation.
* mln/geom/all.hh: New,
* mln/histo/all.hh: New,
* mln/labeling/all.hh: New,
* mln/norm/all.hh: New,
* mln/logical/all.hh: New,
* mln/make/all.hh: New, add missing all.hh.
* mln/core/concept/object.hh,
* mln/core/grids.hh,
* mln/math/all.hh,
* mln/metal/all.hh,
* mln/metal/math/all.hh,
* mln/util/pix.hh: Update.
---
core/concept/object.hh | 9 +++++
core/grids.hh | 3 -
geom/all.hh | 61 +++++++++++++++++++++++++++++++++++++++
histo/all.hh | 52 +++++++++++++++++++++++++++++++++
labeling/all.hh | 58 +++++++++++++++++++++++++++++++++++++
logical/all.hh | 55 +++++++++++++++++++++++++++++++++++
make/all.hh | 75 +++++++++++++++++++++++++++++++++++++++++++++++++
math/all.hh | 3 -
metal/all.hh | 7 +++-
metal/math/all.hh | 6 +++
norm/all.hh | 49 ++++++++++++++++++++++++++++++++
util/pix.hh | 1
12 files changed, 373 insertions(+), 6 deletions(-)
Index: trunk/milena/mln/histo/all.hh
===================================================================
--- trunk/milena/mln/histo/all.hh (revision 0)
+++ trunk/milena/mln/histo/all.hh (revision 1351)
@@ -0,0 +1,52 @@
+// 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.
+
+#ifndef MLN_HISTO_ALL_HH
+# define MLN_HISTO_ALL_HH
+
+/*! \file mln/histo/all.hh
+ *
+ * \brief File that includes histogram files.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of histograms.
+ namespace histo
+ {
+ /// Implementation namespace of histo namespace.
+ namespace impl {}
+ }
+
+}
+
+# include <mln/histo/compute.hh>
+# include <mln/histo/data.hh>
+
+#endif // ! MLN_HISTO_ALL_HH
Index: trunk/milena/mln/core/concept/object.hh
===================================================================
--- trunk/milena/mln/core/concept/object.hh (revision 1350)
+++ trunk/milena/mln/core/concept/object.hh (revision 1351)
@@ -60,6 +60,15 @@
*/
namespace mln
{
+ /// Implementation namespace of mln namespace.
+ namespace impl {}
+
+ /// Internal namespace of mln namespace.
+ namespace internal
+ {
+ /// FIXME : doc
+ namespace check
+ }
// Fwd decl.
template <typename E> struct Object;
Index: trunk/milena/mln/core/grids.hh
===================================================================
--- trunk/milena/mln/core/grids.hh (revision 1350)
+++ trunk/milena/mln/core/grids.hh (revision 1351)
@@ -40,8 +40,7 @@
namespace mln
{
- // Grids.
-
+ /// Namespace of grids definitions.
namespace grid
{
Index: trunk/milena/mln/math/all.hh
===================================================================
--- trunk/milena/mln/math/all.hh (revision 1350)
+++ trunk/milena/mln/math/all.hh (revision 1351)
@@ -37,8 +37,7 @@
namespace mln
{
- /*! Namespace of mathematical routines.
- */
+ /// Namespace of mathematical routines.
namespace math {}
}
Index: trunk/milena/mln/metal/math/all.hh
===================================================================
--- trunk/milena/mln/metal/math/all.hh (revision 1350)
+++ trunk/milena/mln/metal/math/all.hh (revision 1351)
@@ -41,7 +41,11 @@
{
/// Namespace of static mathematical functions.
- namespace math {}
+ namespace math
+ {
+ /// Implementation namespace of metal::math namespace.
+ namespace impl {}
+ }
} // end of namespace mln::metal
Index: trunk/milena/mln/metal/all.hh
===================================================================
--- trunk/milena/mln/metal/all.hh (revision 1350)
+++ trunk/milena/mln/metal/all.hh (revision 1351)
@@ -37,7 +37,12 @@
{
/// Namespace of meta-programming tools.
- namespace metal {}
+ namespace metal
+ {
+ /// Implementation namespace of metal namespace.
+ namespace impl {}
+
+ }
} // end of namespace mln
Index: trunk/milena/mln/make/all.hh
===================================================================
--- trunk/milena/mln/make/all.hh (revision 0)
+++ trunk/milena/mln/make/all.hh (revision 1351)
@@ -0,0 +1,75 @@
+// 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.
+
+#ifndef MLN_MAKE_ALL_HH
+# define MLN_MAKE_ALL_HH
+
+/*! \file mln/make/all.hh
+ *
+ * \brief File that includes all make routines.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of routines that help to make milena's objects.
+ namespace make {}
+
+}
+
+# include <mln/make/box1d.hh>
+# include <mln/make/box2d.hh>
+# include <mln/make/box2d_h.hh>
+# include <mln/make/box3d.hh>
+# include <mln/make/dpoint1d.hh>
+# include <mln/make/dpoint2d.hh>
+# include <mln/make/dpoint2d_h.hh>
+# include <mln/make/dpoint3d.hh>
+# include <mln/make/mat.hh>
+# include <mln/make/pixel.hh>
+# include <mln/make/pix.hh>
+# include <mln/make/point1d.hh>
+# include <mln/make/point2d.hh>
+# include <mln/make/point2d_h.hh>
+# include <mln/make/point3d.hh>
+# include <mln/make/vec.hh>
+# include <mln/make/voronoi.hh>
+# include <mln/make/win_chamfer.hh>
+# include <mln/make/window1d.hh>
+# include <mln/make/window2d.hh>
+# include <mln/make/window3d.hh>
+# include <mln/make/w_window1d.hh>
+# include <mln/make/w_window1d_int.hh>
+# include <mln/make/w_window2d.hh>
+# include <mln/make/w_window2d_int.hh>
+# include <mln/make/w_window3d.hh>
+# include <mln/make/w_window3d_int.hh>
+# include <mln/make/w_window.hh>
+# include <mln/make/w_window_line.hh>
+
+#endif // ! MLN_MAKE_ALL_HH
Index: trunk/milena/mln/geom/all.hh
===================================================================
--- trunk/milena/mln/geom/all.hh (revision 0)
+++ trunk/milena/mln/geom/all.hh (revision 1351)
@@ -0,0 +1,61 @@
+// 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.
+
+#ifndef MLN_GEOM_ALL_HH
+# define MLN_GEOM_ALL_HH
+
+/*! \file mln/geom/all.hh
+ *
+ * \brief File that includes all geometry related things.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of all things related to geometry.
+ namespace geom
+ {
+ /// Implementation namespace of geom namespace.
+ namespace impl {}
+ }
+
+}
+
+# include <mln/geom/bbox.hh>
+# include <mln/geom/chamfer.hh>
+# include <mln/geom/pmin_pmax.hh>
+# include <mln/geom/seeds2tiling.hh>
+# include <mln/geom/seeds2tiling_with_chamfer.hh>
+# include <mln/geom/shift.hh>
+# include <mln/geom/size1d.hh>
+# include <mln/geom/size2d.hh>
+# include <mln/geom/size3d.hh>
+# include <mln/geom/sym.hh>
+
+
+#endif // ! MLN_GEOM_ALL_HH
Index: trunk/milena/mln/logical/all.hh
===================================================================
--- trunk/milena/mln/logical/all.hh (revision 0)
+++ trunk/milena/mln/logical/all.hh (revision 1351)
@@ -0,0 +1,55 @@
+// 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.
+
+#ifndef MLN_LOGICAL_ALL_HH
+# define MLN_LOGICAL_ALL_HH
+
+/*! \file mln/logical/all.hh
+ *
+ * \brief File that includes all logical operators.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of logic.
+ namespace logical
+ {
+ /// Implementation namespace of logical namespace.
+ namespace impl {}
+ }
+
+}
+
+# include <mln/logical/and.hh>
+# include <mln/logical/and_not.hh>
+# include <mln/logical/not.hh>
+# include <mln/logical/or.hh>
+
+
+#endif // ! MLN_LOGICAL_ALL_HH
Index: trunk/milena/mln/norm/all.hh
===================================================================
--- trunk/milena/mln/norm/all.hh (revision 0)
+++ trunk/milena/mln/norm/all.hh (revision 1351)
@@ -0,0 +1,49 @@
+// 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.
+
+#ifndef MLN_NORM_ALL_HH
+# define MLN_NORM_ALL_HH
+
+/*! \file mln/norm/all.hh
+ *
+ * \brief File that includes all norm routines.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of norms.
+ namespace norm {}
+
+}
+
+# include <mln/norm/infty.hh>
+# include <mln/norm/l1.hh>
+# include <mln/norm/l2.hh>
+
+#endif // ! MLN_NORM_ALL_HH
Index: trunk/milena/mln/util/pix.hh
===================================================================
--- trunk/milena/mln/util/pix.hh (revision 1350)
+++ trunk/milena/mln/util/pix.hh (revision 1351)
@@ -39,6 +39,7 @@
namespace mln
{
+ /// FIXME : doc
namespace select
{
Index: trunk/milena/mln/labeling/all.hh
===================================================================
--- trunk/milena/mln/labeling/all.hh (revision 0)
+++ trunk/milena/mln/labeling/all.hh (revision 1351)
@@ -0,0 +1,58 @@
+// 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.
+
+#ifndef MLN_LABELING_ALL_HH
+# define MLN_LABELING_ALL_HH
+
+/*! \file mln/labeling/all.hh
+ *
+ * \brief File that includes all labeling routines.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of labeling routines.
+ namespace labeling
+ {
+ /// Implementation namespace of labeling namespace.
+ namespace impl {}
+ }
+
+}
+
+# include <mln/labeling/background.hh>
+# include <mln/labeling/base.hh>
+# include <mln/labeling/estimate.hh>
+# include <mln/labeling/flat_zones.hh>
+# include <mln/labeling/foreground.hh>
+# include <mln/labeling/level.hh>
+# include <mln/labeling/regional_maxima.hh>
+# include <mln/labeling/regional_minima.hh>
+
+#endif // ! MLN_LABELING_ALL_HH
URL: https://svn.lrde.org/svn/oln/trunk/milena
ChangeLog:
2007-10-17 Simon Nivault <simon.nivault(a)lrde.epita.fr>
Update typo.
* mln/fun/x2x/all.hh: Augment.
* mln/linear/all.hh,
* mln/morpho/all.hh: New.
---
fun/x2x/all.hh | 5 +++
linear/all.hh | 72 +++++++++++++++++++++++++++++++++++++++++++++++
morpho/all.hh | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 164 insertions(+)
Index: trunk/milena/mln/linear/all.hh
===================================================================
--- trunk/milena/mln/linear/all.hh (revision 0)
+++ trunk/milena/mln/linear/all.hh (revision 1350)
@@ -0,0 +1,72 @@
+// 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.
+
+#ifndef MLN_LINEAR_ALL_HH
+# define MLN_LINEAR_ALL_HH
+
+/*! \file mln/linear/all.hh
+ *
+ * \brief File that includes all linear image processing routines.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of linear image processing routines.
+ namespace linear
+ {
+
+ /// Namespace of linear image processing routines implementation details.
+ namespace impl
+ {
+ }
+
+ /// Specializations of local linear routines.
+ namespace local
+ {
+
+ /// Namespace of local linear routines implementation details.
+ namespace impl
+ {
+ }
+
+ }
+ }
+
+}
+
+# include <mln/linear/convolve.hh>
+# include <mln/linear/gaussian.hh>
+# include <mln/linear/lap.hh>
+# include <mln/linear/line_convolve.hh>
+# include <mln/linear/line_x2_convolve.hh>
+# include <mln/linear/log.hh>
+# include <mln/linear/sobel.hh>
+# include <mln/linear/local/convolve.hh>
+
+#endif // ! MLN_LINEAR_ALL_HH
Index: trunk/milena/mln/fun/x2x/all.hh
===================================================================
--- trunk/milena/mln/fun/x2x/all.hh (revision 1349)
+++ trunk/milena/mln/fun/x2x/all.hh (revision 1350)
@@ -43,6 +43,11 @@
/// Namespace of functions from vector to vector.
namespace x2x
{
+
+ /// Internal namespace of functions form vector to vector.
+ namespace internal
+ {
+ }
}
}
Index: trunk/milena/mln/morpho/all.hh
===================================================================
--- trunk/milena/mln/morpho/all.hh (revision 0)
+++ trunk/milena/mln/morpho/all.hh (revision 1350)
@@ -0,0 +1,87 @@
+// 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.
+
+#ifndef MLN_MORPHO_ALL_HH
+# define MLN_MORPHO_ALL_HH
+
+/*! \file mln/morpho/all.hh
+ *
+ * \brief File that includes all morpho-related routines.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of morphological image processing routines.
+ namespace morpho
+ {
+
+ /// Namespace of morphological image processing routines
+ /// implementation details.
+ namespace impl
+ {
+
+ /// Namespace of morphological image processing routines generic
+ /// implementations.
+ namespace generic
+ {
+ }
+
+ }
+ }
+
+}
+
+
+# include <mln/morpho/closing.hh>
+# include <mln/morpho/complementation.hh>
+# include <mln/morpho/contrast.hh>
+# include <mln/morpho/dilation_fast.hh>
+# include <mln/morpho/dilation.hh>
+# include <mln/morpho/erosion_fast.hh>
+# include <mln/morpho/erosion.hh>
+# include <mln/morpho/gradient.hh>
+# include <mln/morpho/hit_or_miss.hh>
+# include <mln/morpho/includes.hh>
+# include <mln/morpho/laplacian.hh>
+# include <mln/morpho/min.hh>
+# include <mln/morpho/minus.hh>
+# include <mln/morpho/opening_area.hh>
+# include <mln/morpho/opening_attribute.hh>
+# include <mln/morpho/opening.hh>
+# include <mln/morpho/plus.hh>
+# include <mln/morpho/Rd.hh>
+# include <mln/morpho/thickening.hh>
+# include <mln/morpho/thick_miss.hh>
+# include <mln/morpho/thin_fit.hh>
+# include <mln/morpho/thinning.hh>
+# include <mln/morpho/top_hat.hh>
+
+
+
+#endif // ! MLN_MORPHO_ALL_HH
URL: https://svn.lrde.org/svn/oln/trunk/milena
ChangeLog:
2007-10-17 Simon Nivault <simon.nivault(a)lrde.epita.fr>
Update typo.
* mln/core/dpoint3d.hh: Rename constants.
* mln/fun/all.hh: New.
* mln/fun/i2v/all_to.hh: New.
* mln/fun/p2b/all.hh: New.
* mln/fun/p2v/all.hh: New.
* mln/fun/v2v/all.hh: New.
* mln/fun/x2x/all.hh: New.
---
core/dpoint3d.hh | 13 +++---
fun/all.hh | 63 ++++++++++++++++++++++++++++++++
fun/i2v/all.hh | 67 ++++------------------------------
fun/i2v/all_to.hh | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
fun/p2b/all.hh | 56 ++++++++++++++++++++++++++++
fun/p2v/all.hh | 58 +++++++++++++++++++++++++++++
fun/v2v/all.hh | 60 ++++++++++++++++++++++++++++++
fun/x2x/all.hh | 58 +++++++++++++++++++++++++++++
8 files changed, 414 insertions(+), 66 deletions(-)
Index: trunk/milena/mln/core/dpoint3d.hh
===================================================================
--- trunk/milena/mln/core/dpoint3d.hh (revision 1347)
+++ trunk/milena/mln/core/dpoint3d.hh (revision 1348)
@@ -57,13 +57,12 @@
{
// FIXME: Doc!
- const dpoint3d segolene = make::dpoint3d( 0, 0, -1);
- const dpoint3d sarkosy = make::dpoint3d( 0, 0, +1);
- // FIXME: More serious directions :)
- const dpoint3d top = make::dpoint3d( 0, -1, 0);
- const dpoint3d bottom = make::dpoint3d( 0, +1, 0);
- const dpoint3d back = make::dpoint3d(-1, 0, 0);
- const dpoint3d front = make::dpoint3d(+1, 0, 0);
+ const dpoint3d sagittal_dec = make::dpoint3d( 0, 0, -1);
+ const dpoint3d sagittal_inc = make::dpoint3d( 0, 0, +1);
+ const dpoint3d axial_dec = make::dpoint3d( 0, -1, 0);
+ const dpoint3d axial_inc = make::dpoint3d( 0, +1, 0);
+ const dpoint3d coronal_dec = make::dpoint3d(-1, 0, 0);
+ const dpoint3d coronal_inc = make::dpoint3d(+1, 0, 0);
} // end of namespace mln
Index: trunk/milena/mln/fun/i2v/all.hh
===================================================================
--- trunk/milena/mln/fun/i2v/all.hh (revision 1347)
+++ trunk/milena/mln/fun/i2v/all.hh (revision 1348)
@@ -25,18 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_FUN_ALL_HH
-# define MLN_FUN_ALL_HH
+#ifndef MLN_FUN_I2V_ALL_HH
+# define MLN_FUN_I2V_ALL_HH
-/*! \file mln/fun/i2v/all.hh
+/*! \file mln/fun_i2v/all.hh
*
- * \brief FIXME.
+ * \brief File that includes all functions from index to value.
*/
-# include <mln/core/concept/function.hh>
-
-
-// FIXME: Usually all.hh is the file to include all files in the current directory...
namespace mln
{
@@ -44,64 +40,17 @@
namespace fun
{
+ /// Namespace of functions from index to value.
namespace i2v
{
-
- template <typename T>
- struct all : public Function_i2v< all<T> >
- {
- typedef T result;
- all(T t);
- template <typename U>
- T operator()(const U&) const;
- private:
- T t_;
- };
-
- } // end of namespace mln::fun::i2v
-
- } // end of namespace mln::fun
-
- template <typename T>
- fun::i2v::all<T> all(T t);
-
-
-# ifndef MLN_INCLUDE_ONLY
-
- namespace fun
- {
-
- namespace i2v
- {
-
- template <typename T>
- all<T>::all(T t)
- : t_(t)
- {
}
-
- template <typename T>
- template <typename U>
- T
- all<T>::operator()(const U&) const
- {
- return t_;
}
- } // end of namespace mln::fun::i2v
-
- } // end of namespace mln::fun
-
- template <typename T>
- fun::i2v::all<T> all(T t)
- {
- fun::i2v::all<T> tmp(t);
- return tmp;
}
-# endif // ! MLN_INCLUDE_ONLY
-} // end of namespace mln
+# include <mln/fun/i2v/all_to.hh>
+
-#endif // ! MLN_FUN_ALL_HH
+#endif // ! MLN_FUN_I2V_ALL_HH
Index: trunk/milena/mln/fun/i2v/all_to.hh
===================================================================
--- trunk/milena/mln/fun/i2v/all_to.hh (revision 0)
+++ trunk/milena/mln/fun/i2v/all_to.hh (revision 1348)
@@ -0,0 +1,105 @@
+// 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.
+
+#ifndef MLN_FUN_ALL_TO_HH
+# define MLN_FUN_ALL_TO_HH
+
+/*! \file mln/fun/i2v/all_to.hh
+ *
+ * \brief FIXME.
+ */
+
+# include <mln/core/concept/function.hh>
+
+
+namespace mln
+{
+
+ namespace fun
+ {
+
+ namespace i2v
+ {
+
+ template <typename T>
+ struct all_to : public Function_i2v< all_to<T> >
+ {
+ typedef T result;
+ all_to(T t);
+ template <typename U>
+ T operator()(const U&) const;
+ private:
+ T t_;
+ };
+
+ } // end of namespace mln::fun::i2v
+
+ } // end of namespace mln::fun
+
+ template <typename T>
+ fun::i2v::all_to<T> all_to(T t);
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+ namespace fun
+ {
+
+ namespace i2v
+ {
+
+ template <typename T>
+ all_to<T>::all_to(T t)
+ : t_(t)
+ {
+ }
+
+ template <typename T>
+ template <typename U>
+ T
+ all_to<T>::operator()(const U&) const
+ {
+ return t_;
+ }
+
+ } // end of namespace mln::fun::i2v
+
+ } // end of namespace mln::fun
+
+ template <typename T>
+ fun::i2v::all_to<T> all_to(T t)
+ {
+ fun::i2v::all_to<T> tmp(t);
+ return tmp;
+ }
+
+# endif // ! MLN_INCLUDE_ONLY
+
+} // end of namespace mln
+
+
+#endif // ! MLN_FUN_ALL_TO_HH
Index: trunk/milena/mln/fun/x2x/all.hh
===================================================================
--- trunk/milena/mln/fun/x2x/all.hh (revision 0)
+++ trunk/milena/mln/fun/x2x/all.hh (revision 1348)
@@ -0,0 +1,58 @@
+// 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.
+
+#ifndef MLN_FUN_X2X_ALL_HH
+# define MLN_FUN_X2X_ALL_HH
+
+/*! \file mln/fun_x2x/all.hh
+ *
+ * \brief File that includes all functions from vector to vector.
+ */
+
+
+namespace mln
+{
+
+ namespace fun
+ {
+
+ /// Namespace of functions from vector to vector.
+ namespace x2x
+ {
+ }
+ }
+
+}
+
+
+# include <mln/fun/x2x/composed.hh>
+# include <mln/fun/x2x/rotation.hh>
+# include <mln/fun/x2x/translation.hh>
+
+
+
+#endif // ! MLN_FUN_X2X_ALL_HH
Index: trunk/milena/mln/fun/p2b/all.hh
===================================================================
--- trunk/milena/mln/fun/p2b/all.hh (revision 0)
+++ trunk/milena/mln/fun/p2b/all.hh (revision 1348)
@@ -0,0 +1,56 @@
+// 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.
+
+#ifndef MLN_FUN_P2B_ALL_HH
+# define MLN_FUN_P2B_ALL_HH
+
+/*! \file mln/fun_p2b/all.hh
+ *
+ * \brief File that includes all functions from point to boolean.
+ */
+
+
+namespace mln
+{
+
+ namespace fun
+ {
+
+ /// Namespace of functions from point to boolean.
+ namespace p2b
+ {
+ }
+ }
+
+}
+
+
+# include <mln/fun/p2b/chess.hh>
+
+
+
+#endif // ! MLN_FUN_P2B_ALL_HH
Index: trunk/milena/mln/fun/all.hh
===================================================================
--- trunk/milena/mln/fun/all.hh (revision 0)
+++ trunk/milena/mln/fun/all.hh (revision 1348)
@@ -0,0 +1,63 @@
+// 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.
+
+#ifndef MLN_FUN_ALL_HH
+# define MLN_FUN_ALL_HH
+
+/*! \file mln/fun/all.hh
+ *
+ * \brief File that includes all fun-related routines.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of image processing routines related to pixel funs.
+ namespace fun
+ {
+
+ /// Internal namespace of functions.
+ namespace internal
+ {
+ }
+ }
+
+}
+
+
+# include <mln/fun/c.hh>
+# include <mln/fun/ops.hh>
+# include <mln/fun/i2v/all.hh>
+# include <mln/fun/p2b/all.hh>
+# include <mln/fun/p2v/all.hh>
+# include <mln/fun/v2v/all.hh>
+# include <mln/fun/x2x/all.hh>
+
+
+
+#endif // ! MLN_FUN_ALL_HH
Index: trunk/milena/mln/fun/p2v/all.hh
===================================================================
--- trunk/milena/mln/fun/p2v/all.hh (revision 0)
+++ trunk/milena/mln/fun/p2v/all.hh (revision 1348)
@@ -0,0 +1,58 @@
+// 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.
+
+#ifndef MLN_FUN_P2V_ALL_HH
+# define MLN_FUN_P2V_ALL_HH
+
+/*! \file mln/fun_p2v/all.hh
+ *
+ * \brief File that includes all functions from point to value.
+ */
+
+
+namespace mln
+{
+
+ namespace fun
+ {
+
+ /// Namespace of functions from point to value.
+ namespace p2v
+ {
+ }
+ }
+
+}
+
+
+# include <mln/fun/p2v/elifs.hh>
+# include <mln/fun/p2v/iota.hh>
+# include <mln/fun/p2v/ternary.hh>
+
+
+
+#endif // ! MLN_FUN_P2V_ALL_HH
Index: trunk/milena/mln/fun/v2v/all.hh
===================================================================
--- trunk/milena/mln/fun/v2v/all.hh (revision 0)
+++ trunk/milena/mln/fun/v2v/all.hh (revision 1348)
@@ -0,0 +1,60 @@
+// 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.
+
+#ifndef MLN_FUN_V2V_ALL_HH
+# define MLN_FUN_V2V_ALL_HH
+
+/*! \file mln/fun_v2v/all.hh
+ *
+ * \brief File that includes all functions from value to value.
+ */
+
+
+namespace mln
+{
+
+ namespace fun
+ {
+
+ /// Namespace of functions from value to value.
+ namespace v2v
+ {
+ }
+ }
+
+}
+
+
+# include <mln/fun/v2v/abs.hh>
+# include <mln/fun/v2v/enc.hh>
+# include <mln/fun/v2v/id.hh>
+# include <mln/fun/v2v/linear.hh>
+# include <mln/fun/v2v/saturate.hh>
+
+
+
+#endif // ! MLN_FUN_V2V_ALL_HH
URL: https://svn.lrde.epita.fr/svn/oln/trunk/milena
ChangeLog:
2007-10-17 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
Fix namespaces documentation.
* mln/arith/all.hh: New,
* mln/canvas/all.hh: New,
* mln/canvas/browsing/all.hh: New,
* mln/canvas/morpho/all.hh: New,
* mln/convert/all.hh: New,
* mln/display/all.hh: New,
* mln/draw/all.hh: New,
* mln/estim/all.hh: New,
* mln/io/abort.hh: New,
* mln/io/all.hh: New,
* mln/io/fits/all.hh: New,
* mln/io/pbm/all.hh: New,
* mln/io/ppm/all.hh: New,
* mln/io/pfm/all.hh: New,
* mln/io/pgm/all.hh: New,
* mln/io/pnm/all.hh: New, add missing all.hh files.
* mln/accu/all.hh,
* mln/border/all.hh,
* mln/core/image1d.hh,
* mln/debug/all.hh: Fix documentation.
Rename io/internal/pnm to io/pnm.
* mln/io/internal/abort.hh: Rename as...
* mln/io/abort.hh: ...this.
* mln/io/internal/pnm/load.hh: Rename as...
* mln/io/internal/pnm/load.hh: ...this.
* mln/io/internal/pnm/load_header.hh: Rename as...
* mln/io/internal/pnm/load_header.hh: ...this.
* mln/io/internal/pnm/macros.hh: Rename as...
* mln/io/internal/pnm/macros.hh: ...this.
* mln/io/internal/pnm/save.hh: Rename as...
* mln/io/internal/pnm/save.hh: ...this.
* mln/io/internal/pnm/save_header.hh: Rename as...
* mln/io/internal/pnm/save_header.hh: ...this.
* mln/io/internal/pnm: Rename as...
* mln/io/pnm: ...this.
* mln/io/pbm/load.hh,
* mln/io/pbm/save.hh,
* mln/io/pgm/load.hh,
* mln/io/pgm/save.hh,
* mln/io/pnm/load.hh,
* mln/io/pnm/load_header.hh,
* mln/io/pnm/macros.hh,
* mln/io/pnm/save.hh,
* mln/io/pnm/save_header.hh,
* mln/io/ppm/load.hh,
* mln/io/ppm/save.hh,
* mln/io/fits/load.hh: Update.
---
accu/all.hh | 11 +-
arith/all.hh | 54 +++++++++++
border/all.hh | 9 +
canvas/all.hh | 54 +++++++++++
canvas/browsing/all.hh | 53 +++++++++++
canvas/morpho/all.hh | 50 ++++++++++
convert/all.hh | 53 +++++++++++
core/image1d.hh | 2
debug/all.hh | 7 +
display/all.hh | 53 +++++++++++
draw/all.hh | 48 ++++++++++
estim/all.hh | 49 ++++++++++
io/abort.hh | 60 ++++++++++++
io/all.hh | 52 +++++++++++
io/fits/all.hh | 50 ++++++++++
io/fits/load.hh | 4
io/pbm/all.hh | 58 ++++++++++++
io/pbm/load.hh | 4
io/pbm/save.hh | 4
io/pfm/all.hh | 58 ++++++++++++
io/pgm/all.hh | 51 ++++++++++
io/pgm/load.hh | 6 -
io/pgm/save.hh | 4
io/pnm/all.hh | 55 +++++++++++
io/pnm/load.hh | 228 +++++++++++++++++++++++++++++++++++++++++++++++++
io/pnm/load_header.hh | 135 +++++++++++++++++++++++++++++
io/pnm/macros.hh | 49 ++++++++++
io/pnm/save.hh | 182 +++++++++++++++++++++++++++++++++++++++
io/pnm/save_header.hh | 100 +++++++++++++++++++++
io/ppm/all.hh | 51 ++++++++++
io/ppm/load.hh | 6 -
io/ppm/save.hh | 4
32 files changed, 1577 insertions(+), 27 deletions(-)
Index: trunk/milena/mln/debug/all.hh
===================================================================
--- trunk/milena/mln/debug/all.hh (revision 1345)
+++ trunk/milena/mln/debug/all.hh (revision 1346)
@@ -38,10 +38,13 @@
{
/// Namespace of routines that help to debug.
- namespace debug {}
-
+ namespace debug
+ {
+ /// Implementation namespace of debug namespace.
+ namespace impl {}
}
+}
# include <mln/debug/format.hh>
# include <mln/debug/iota.hh>
Index: trunk/milena/mln/core/image1d.hh
===================================================================
--- trunk/milena/mln/core/image1d.hh (revision 1345)
+++ trunk/milena/mln/core/image1d.hh (revision 1346)
@@ -59,7 +59,7 @@
namespace internal
{
- /// Data structure for mln::image1d<T>.
+ /// Data structure for \c mln::image1d<T>.
template <typename T>
struct data_< image1d<T> >
{
Index: trunk/milena/mln/draw/all.hh
===================================================================
--- trunk/milena/mln/draw/all.hh (revision 0)
+++ trunk/milena/mln/draw/all.hh (revision 1346)
@@ -0,0 +1,48 @@
+// 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.
+
+#ifndef MLN_DRAW_ALL_HH
+# define MLN_DRAW_ALL_HH
+
+/*! \file mln/draw/all.hh
+ *
+ * \brief File that includes all draw-related routines.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of drawing routines.
+ namespace draw {}
+
+}
+
+# include <mln/draw/line.hh>
+# include <mln/draw/mesh.hh>
+
+#endif // ! MLN_DRAW_ALL_HH
Index: trunk/milena/mln/arith/all.hh
===================================================================
--- trunk/milena/mln/arith/all.hh (revision 0)
+++ trunk/milena/mln/arith/all.hh (revision 1346)
@@ -0,0 +1,54 @@
+// 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.
+
+#ifndef MLN_ARITH_ALL_HH
+# define MLN_ARITH_ALL_HH
+
+/*! \file mln/arith/all.hh
+ *
+ * \brief File that includes all arithmetic materials.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of arithmetic.
+ namespace arith
+ {
+ /// Implementation namespace of arith namespace.
+ namespace impl {}
+ }
+
+}
+
+# include <mln/arith/min.hh>
+# include <mln/arith/minus.hh>
+# include <mln/arith/plus.hh>
+# include <mln/arith/revert.hh>
+
+#endif // ! MLN_ARITH_ALL_HH
Index: trunk/milena/mln/accu/all.hh
===================================================================
--- trunk/milena/mln/accu/all.hh (revision 1345)
+++ trunk/milena/mln/accu/all.hh (revision 1346)
@@ -41,9 +41,14 @@
namespace mln
{
- /*! Namespace of accumulators.
- */
- namespace accu {}
+ /// Namespace of accumulators.
+ namespace accu
+ {
+ /// Implementation namespace of accumulator namespace.
+ namespace impl {}
+ /// Internal namespace of accumulators.
+ namespace internal {}
+ }
}
Index: trunk/milena/mln/border/all.hh
===================================================================
--- trunk/milena/mln/border/all.hh (revision 1345)
+++ trunk/milena/mln/border/all.hh (revision 1346)
@@ -37,9 +37,12 @@
namespace mln
{
- /*! Namespace of routines related to image virtual (outer) border.
- */
- namespace border {}
+ /// Namespace of routines related to image virtual (outer) border.
+ namespace border
+ {
+ /// Implementation namespace of border namespace.
+ namespace impl {}
+ }
}
Index: trunk/milena/mln/convert/all.hh
===================================================================
--- trunk/milena/mln/convert/all.hh (revision 0)
+++ trunk/milena/mln/convert/all.hh (revision 1346)
@@ -0,0 +1,53 @@
+// 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.
+
+#ifndef MLN_CONVERT_ALL_HH
+# define MLN_CONVERT_ALL_HH
+
+/*! \file mln/convert/all.hh
+ *
+ * \brief File that includes all convertion-related routines.
+ */
+
+
+namespace mln
+{
+ /// Namespace of convertion routines.
+ namespace convert {}
+}
+
+# include <mln/convert/to_dpoint.hh>
+# include <mln/convert/to_fun.hh>
+# include <mln/convert/to_image.hh>
+# include <mln/convert/to_rgb.hh>
+# include <mln/convert/to_std_set.hh>
+# include <mln/convert/to_tiles.hh>
+# include <mln/convert/to_vec_p.hh>
+# include <mln/convert/to_window.hh>
+# include <mln/convert/to_w_window.hh>
+
+#endif // ! MLN_CONVERT_ALL_HH
Index: trunk/milena/mln/estim/all.hh
===================================================================
--- trunk/milena/mln/estim/all.hh (revision 0)
+++ trunk/milena/mln/estim/all.hh (revision 1346)
@@ -0,0 +1,49 @@
+// 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.
+
+#ifndef MLN_ESTIM_ALL_HH
+# define MLN_ESTIM_ALL_HH
+
+/*! \file mln/estim/all.hh
+ *
+ * \brief File that includes all estimation materials.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of estimation materials.
+ namespace estim {}
+
+}
+
+# include <mln/estim/mean.hh>
+# include <mln/estim/min_max.hh>
+# include <mln/estim/sum.hh>
+
+#endif // ! MLN_ESTIM_ALL_HH
Index: trunk/milena/mln/display/all.hh
===================================================================
--- trunk/milena/mln/display/all.hh (revision 0)
+++ trunk/milena/mln/display/all.hh (revision 1346)
@@ -0,0 +1,53 @@
+// 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.
+
+#ifndef MLN_DISPLAY_ALL_HH
+# define MLN_DISPLAY_ALL_HH
+
+/*! \file mln/display/all.hh
+ *
+ * \brief File that includes all display routines.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of routines that help to display images.
+ namespace display
+ {
+ /// Implementation namespace of display namespace.
+ namespace impl {}
+ }
+
+}
+
+# include <mln/display/color_pretty.hh>
+# include <mln/display/save.hh>
+# include <mln/display/show.hh>
+
+#endif // ! MLN_DISPLAY_ALL_HH
Index: trunk/milena/mln/io/pfm/all.hh
===================================================================
--- trunk/milena/mln/io/pfm/all.hh (revision 0)
+++ trunk/milena/mln/io/pfm/all.hh (revision 1346)
@@ -0,0 +1,58 @@
+// 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.
+
+#ifndef MLN_IO_PFM_ALL_HH
+# define MLN_IO_PFM_ALL_HH
+
+/*! \file mln/io/pfm/all.hh
+ *
+ * \brief File that includes all pfm io materials.
+ */
+
+
+namespace mln
+{
+
+ namespace io
+ {
+ /// Namespace of pfm input/output handling.
+ namespace pfm
+ {
+ /// Implementation namespace of pfm namespace.
+ namespace impl {}
+
+ /// Internal namespace of pfm namespace.
+ namespace internal {}
+ }
+ }
+
+}
+
+# include <mln/io/pfm/load.hh>
+# include <mln/io/pfm/save.hh>
+
+#endif // ! MLN_IO_PFM_ALL_HH
Index: trunk/milena/mln/io/pgm/all.hh
===================================================================
--- trunk/milena/mln/io/pgm/all.hh (revision 0)
+++ trunk/milena/mln/io/pgm/all.hh (revision 1346)
@@ -0,0 +1,51 @@
+// 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.
+
+#ifndef MLN_IO_PGM_ALL_HH
+# define MLN_IO_PGM_ALL_HH
+
+/*! \file mln/io/pgm/all.hh
+ *
+ * \brief File that includes all pgm io materials.
+ */
+
+
+namespace mln
+{
+
+ namespace io
+ {
+ /// Namespace of pgm input/output handling.
+ namespace pgm {}
+ }
+
+}
+
+# include <mln/io/pgm/load.hh>
+# include <mln/io/pgm/save.hh>
+
+#endif // ! MLN_IO_PGM_ALL_HH
Index: trunk/milena/mln/io/pgm/save.hh
===================================================================
--- trunk/milena/mln/io/pgm/save.hh (revision 1345)
+++ trunk/milena/mln/io/pgm/save.hh (revision 1346)
@@ -40,7 +40,7 @@
# include <iostream>
# include <fstream>
-# include <mln/io/internal/pnm/save.hh>
+# include <mln/io/pnm/save.hh>
# include <mln/geom/size2d.hh>
# include <mln/metal/templated_by.hh>
@@ -76,7 +76,7 @@
mln::metal::templated_by<mln_value(I), value::int_u >,
mln::metal::templated_by<mln_value(I), value::int_u_sat >
>::check();
- io::internal::pnm::save(PGM, exact(ima), filename);
+ io::pnm::save(PGM, exact(ima), filename);
}
# endif // ! MLN_INCLUDE_ONLY
Index: trunk/milena/mln/io/pgm/load.hh
===================================================================
--- trunk/milena/mln/io/pgm/load.hh (revision 1345)
+++ trunk/milena/mln/io/pgm/load.hh (revision 1346)
@@ -45,7 +45,7 @@
# include <mln/value/int_u8.hh>
-# include <mln/io/internal/pnm/load.hh>
+# include <mln/io/pnm/load.hh>
namespace mln
@@ -60,7 +60,7 @@
template <typename V>
image2d<V> load(const std::string& filename)
{
- return io::internal::pnm::load<V>(PGM, filename);
+ return io::pnm::load<V>(PGM, filename);
}
image2d<value::int_u8> load(const std::string& filename)
@@ -72,7 +72,7 @@
void load(Image<I>& ima,
const std::string& filename)
{
- io::internal::pnm::load<I>(PGM, ima, filename);
+ io::pnm::load<I>(PGM, ima, filename);
}
} // end of namespace mln::io::pgm
Index: trunk/milena/mln/io/abort.hh
===================================================================
--- trunk/milena/mln/io/abort.hh (revision 0)
+++ trunk/milena/mln/io/abort.hh (revision 1346)
@@ -0,0 +1,60 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 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.
+
+#ifndef MLN_IO_ABORT_HH
+# define MLN_IO_ABORT_HH
+
+/*!
+ * \file mln/io/abort.hh
+ *
+ * \brief Define a function which aborts a process in io module.
+ *
+ */
+
+namespace mln
+{
+
+ namespace io
+ {
+
+ namespace internal
+ {
+
+ void abort()
+ {
+ std::cerr << " aborting." << std::endl;
+ exit(0);
+ }
+
+ } // end of namespace mln::io::internal
+
+ } // end of namespace mln::io
+
+} // end of namespace mln
+
+#endif // ! MLN_IO_ABORT_HH
Index: trunk/milena/mln/io/fits/all.hh
===================================================================
--- trunk/milena/mln/io/fits/all.hh (revision 0)
+++ trunk/milena/mln/io/fits/all.hh (revision 1346)
@@ -0,0 +1,50 @@
+// 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.
+
+#ifndef MLN_IO_FITS_ALL_HH
+# define MLN_IO_FITS_ALL_HH
+
+/*! \file mln/io/fits/all.hh
+ *
+ * \brief File that includes all fits io materials.
+ */
+
+
+namespace mln
+{
+
+ namespace io
+ {
+ /// Namespace of fits input/output handling.
+ namespace fits {}
+ }
+
+}
+
+# include <mln/io/fits/load.hh>
+
+#endif // ! MLN_IO_FITS_ALL_HH
Index: trunk/milena/mln/io/fits/load.hh
===================================================================
--- trunk/milena/mln/io/fits/load.hh (revision 1345)
+++ trunk/milena/mln/io/fits/load.hh (revision 1346)
@@ -45,10 +45,6 @@
# include <mln/value/int_u8.hh>
# include <mln/io/fitsio.h>
-#include <iostream>
-#include <fstream>
-#include <string>
-
namespace mln
{
Index: trunk/milena/mln/io/all.hh
===================================================================
--- trunk/milena/mln/io/all.hh (revision 0)
+++ trunk/milena/mln/io/all.hh (revision 1346)
@@ -0,0 +1,52 @@
+// 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.
+
+#ifndef MLN_IO_ALL_HH
+# define MLN_IO_ALL_HH
+
+/*! \file mln/io/all.hh
+ *
+ * \brief File that includes all io materials.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of input/output handling.
+ namespace io {}
+
+}
+
+# include <mln/io/fits/all.hh>
+# include <mln/io/pbm/all.hh>
+# include <mln/io/pfm/all.hh>
+# include <mln/io/pgm/all.hh>
+# include <mln/io/pnm/all.hh>
+# include <mln/io/ppm/all.hh>
+
+#endif // ! MLN_IO_ALL_HH
Index: trunk/milena/mln/io/pnm/macros.hh
===================================================================
--- trunk/milena/mln/io/pnm/macros.hh (revision 0)
+++ trunk/milena/mln/io/pnm/macros.hh (revision 1346)
@@ -0,0 +1,49 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 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.
+
+#ifndef MLN_IO_PNM_MACROS_HH
+# define MLN_IO_PNM_MACROS_HH
+
+/*! \file mln/io/pnm/macros.hh
+ *
+ * \brief Definition of pnm formats macros.
+ */
+
+/// Portable Pixel Map Format
+# define PPM '6'
+# define PPM_ASCII '3'
+
+/// Portable Gray Map Format
+# define PGM '5'
+# define PGM_ASCII '2'
+
+/// Portable Bit Map Format
+# define PBM '4'
+# define PBM_ASCII '1'
+
+#endif // ! MLN_IO_PNM_LOAD_HH
Index: trunk/milena/mln/io/pnm/save_header.hh
===================================================================
--- trunk/milena/mln/io/pnm/save_header.hh (revision 0)
+++ trunk/milena/mln/io/pnm/save_header.hh (revision 1346)
@@ -0,0 +1,100 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 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.
+
+#ifndef MLN_IO_PNM_SAVE_HEADER_HH
+# define MLN_IO_PNM_SAVE_HEADER_HH
+
+/*!
+ * \file mln/io/pnm/save_header.hh
+ *
+ * \brief Define a function which saves header for PNM image.
+ *
+ */
+
+# include <iostream>
+# include <fstream>
+
+# include <mln/value/rgb.hh>
+# include <mln/geom/nrows.hh>
+# include <mln/geom/ncols.hh>
+
+namespace mln
+{
+
+ namespace io
+ {
+
+# ifndef MLN_INCLUDE_ONLY
+
+ namespace pnm
+ {
+
+ template <typename V>
+ void save_max_val(V&, std::ofstream& file)
+ {
+ if (mln_max(V) > 1)
+ file << mln_max(V) << std::endl;
+ }
+
+ template <unsigned int n>
+ void save_max_val(value::rgb<n>&, std::ofstream& file)
+ {
+ typedef typename value::rgb<n>::enc E;
+ file << mln_max(E) << std::endl;
+ }
+
+ template <typename I>
+ void save_header(const char type,
+ const I& ima, const std::string& filename,
+ std::ofstream& file)
+ {
+ if (! file)
+ {
+ std::cerr << "error: cannot open file '" << filename
+ << "'!";
+ abort();
+ }
+ file << "P" << type << std::endl;
+ file << "# milena" << std::endl;
+ file << geom::ncols(ima) << ' ' << geom::nrows(ima) << std::endl;
+
+ mln_value(I) i;
+ save_max_val(i, file);
+ }
+
+ } // end of namespace mln::io::pnm
+
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::io
+
+} // end of namespace mln
+
+
+#endif // ! MLN_IO_PNM_SAVE_HEADER_HH
Index: trunk/milena/mln/io/pnm/load_header.hh
===================================================================
--- trunk/milena/mln/io/pnm/load_header.hh (revision 0)
+++ trunk/milena/mln/io/pnm/load_header.hh (revision 1346)
@@ -0,0 +1,135 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 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.
+
+#ifndef MLN_IO_PNM_LOAD_HEADER_HH
+# define MLN_IO_PNM_LOAD_HEADER_HH
+
+/*!
+ * \file mln/io/pnm/load_header.hh
+ *
+ * \brief Define a function which loads header for PNM image.
+ *
+ */
+
+# include <iostream>
+# include <fstream>
+# include <string>
+
+namespace mln
+{
+
+ namespace io
+ {
+
+ namespace pnm
+ {
+
+
+ bool read_header(std::ifstream& istr,
+ char& type,
+ int& nrows, int& ncols,
+ unsigned int& maxval,
+ bool test = false)
+ {
+ // check magic
+ if (istr.get() != 'P' )
+ goto err;
+ type = istr.get();
+
+ if (type < '1' || type > '6')
+ goto err;
+ if (istr.get() != '\n')
+ goto err;
+
+ // skip comments
+ while (istr.peek() == '#')
+ {
+ std::string line;
+ std::getline(istr, line);
+ }
+
+ // get size
+ istr >> ncols >> nrows;
+ if (nrows <= 0 || ncols <= 0)
+ goto err;
+
+ // get maxvalue
+ if (istr.get() != '\n')
+ goto err;
+ if (type != '1' && type != '4')
+ {
+ istr >> maxval;
+ if (istr.get() != '\n')
+ goto err;
+ }
+ return true;
+
+ err:
+ if (! test)
+ {
+ std::cerr << "error: badly formed header!";
+ abort();
+ }
+ return false;
+ }
+
+ void read_header(char ascii, char raw,
+ std::ifstream& istr,
+ char& type,
+ int& nrows, int& ncols,
+ unsigned int& maxval)
+ {
+ read_header(istr, type, nrows, ncols, maxval);
+ if (! (type == ascii || type == raw))
+ {
+ std::cerr << "error: bad pnm type; "
+ << "expected P" << ascii
+ << " or P" << raw
+ << ", get P" << type << "!";
+ abort();
+ }
+ }
+
+ void read_header(char ascii, char raw,
+ std::ifstream& istr,
+ char& type,
+ int& nrows, int& ncols)
+ {
+ unsigned int maxval;
+ read_header(ascii, raw, istr, type,
+ nrows, ncols, maxval);
+ }
+
+ } // end of namespace mln::io::pnm
+
+ } // end of namespace mln::io
+
+} // end of namespace mln
+
+
+#endif // ! MLN_IO_PNM_LOAD_HEADER_HH
Index: trunk/milena/mln/io/pnm/all.hh
===================================================================
--- trunk/milena/mln/io/pnm/all.hh (revision 0)
+++ trunk/milena/mln/io/pnm/all.hh (revision 1346)
@@ -0,0 +1,55 @@
+// 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.
+
+#ifndef MLN_IO_PNM_ALL_HH
+# define MLN_IO_PNM_ALL_HH
+
+/*! \file mln/io/pnm/all.hh
+ *
+ * \brief File that includes all pnm io materials.
+ */
+
+
+namespace mln
+{
+
+ namespace io
+ {
+ /// Namespace of pnm input/output handling.
+ namespace pnm
+ {
+ /// Namespace of pnm's implementation details.
+ namespace impl {}
+ }
+ }
+
+}
+
+# include <mln/io/pnm/load.hh>
+# include <mln/io/pnm/save.hh>
+
+#endif // ! MLN_IO_PNM_ALL_HH
Index: trunk/milena/mln/io/pnm/save.hh
===================================================================
--- trunk/milena/mln/io/pnm/save.hh (revision 0)
+++ trunk/milena/mln/io/pnm/save.hh (revision 1346)
@@ -0,0 +1,182 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 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.
+
+#ifndef MLN_IO_PNM_SAVE_HH
+# define MLN_IO_PNM_SAVE_HH
+
+/*!
+ * \file mln/io/pnm/save.hh
+ *
+ * \brief Define a function which saves an image of kind PNM into
+ * given path.
+ *
+ */
+
+# include <iostream>
+# include <fstream>
+
+# include <mln/core/concept/image.hh>
+# include <mln/core/point2d.hh>
+
+# include <mln/value/rgb.hh>
+# include <mln/value/rgb8.hh>
+# include <mln/value/int_u8.hh>
+
+# include <mln/metal/templated_by.hh>
+
+# include <mln/io/pnm/save_header.hh>
+# include <mln/io/pnm/macros.hh>
+
+# include <mln/geom/size2d.hh>
+
+
+namespace mln
+{
+
+ namespace io
+ {
+
+ namespace pnm
+ {
+
+ // FIXME: Doc.
+ template <typename I>
+ void save(const int type, const Image<I>& ima_, const std::string& filename);
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+ namespace impl
+ {
+
+ // write a rgb value into for uncontiguous datas
+ template <unsigned int n>
+ void write_value(std::ofstream& file,
+ const value::rgb<n>& c)
+ {
+ typedef typename value::rgb<n>::enc::enc E;
+
+ E v = c.red().to_enc();
+ file.write((char*)&v, sizeof(E));
+ v = c.green().to_enc();
+ file.write((char*)&v, sizeof(E));
+ v = c.blue().to_enc();
+ file.write((char*)&v, sizeof(E));
+ }
+
+ // write a scalar value into for uncontiguous datas
+ template <typename V>
+ void write_value(std::ofstream& file,
+ V& v)
+ {
+ typedef typename V::enc E;
+
+ E c = v.to_enc();
+ file.write((char*)(&c), sizeof(E));
+ }
+
+ // save data for (sizeof(int_u8) != 1) and non fastest images
+ template <typename I>
+ void save_data_uncontiguous(std::ofstream& file,
+ const I& ima)
+ {
+ const int
+ min_row = geom::min_row(ima),
+ max_row = geom::max_row(ima),
+ min_col = geom::min_col(ima),
+ max_col = geom::max_col(ima);
+
+ point2d p;
+ for (p.row() = min_row; p.row() <= max_row; ++p.row())
+ for (p.col() = min_col; p.col() <= max_col; ++p.col())
+ write_value(file, ima(p));
+ }
+
+ // save data when (sizeof(int_u8) == 1) with fastest images
+ // (faster)
+ template <typename I>
+ void save_data_contiguous(std::ofstream& file,
+ const I& ima_)
+ {
+ const I& ima = exact(ima_);
+ const int
+ min_row = geom::min_row(ima),
+ max_row = geom::max_row(ima);
+ point2d p;
+ p.col() = geom::min_col(ima);
+ size_t len = geom::ncols(ima) * sizeof(mln_value(I));
+ for (p.row() = min_row; p.row() <= max_row; ++p.row())
+ file.write((char*)(& ima(p)), len);
+ }
+
+
+ // caller for fastest images
+ template <typename I>
+ void save_data_(std::ofstream& file,
+ trait::image::speed::fastest, const I& ima)
+ {
+ if (sizeof(value::int_u8) == 1)
+ save_data_contiguous(file, ima);
+ else
+ save_data_uncontiguous(file, ima);
+ }
+
+ // caller for non fastest images
+ template <typename I>
+ void save_data_(std::ofstream& file,
+ trait::image::speed::any, const I& ima)
+ {
+ save_data_uncontiguous(file, ima);
+ }
+
+ } // end of namespace mln::io::pnm::impl
+
+
+ // Facades.
+
+ template <typename I>
+ void save(const int type, const Image<I>& ima_, const std::string& filename)
+ {
+ const I& ima = exact(ima_);
+ std::ofstream file(filename.c_str());
+ io::pnm::save_header(type, ima, filename, file);
+
+ impl::save_data_(file,
+ mln_trait_image_speed(I)(), ima);
+ }
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::io::pnm
+
+ } // end of namespace mln::io
+
+} // end of namespace mln
+
+
+#endif // ! MLN_IO_PNM_SAVE_HH
Index: trunk/milena/mln/io/pnm/load.hh
===================================================================
--- trunk/milena/mln/io/pnm/load.hh (revision 0)
+++ trunk/milena/mln/io/pnm/load.hh (revision 1346)
@@ -0,0 +1,228 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 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.
+
+#ifndef MLN_IO_PNM_LOAD_HH
+# define MLN_IO_PNM_LOAD_HH
+
+/*!
+ * \file mln/io/pnm/load.hh
+ *
+ * \brief Define a function which loads an image of kind PNM 8/16bits with
+ * given path.
+ */
+
+# include <iostream>
+# include <fstream>
+# include <string>
+
+# include <mln/core/image2d.hh>
+
+# include <mln/value/int_u8.hh>
+# include <mln/value/rgb.hh>
+
+# include <mln/io/pnm/load_header.hh>
+# include <mln/io/pnm/macros.hh>
+
+namespace mln
+{
+
+ namespace io
+ {
+
+ namespace pnm
+ {
+
+# ifndef MLN_INCLUDE_ONLY
+ //read a rgb value (sizeof(int_u8) != 1)
+ template <unsigned int n>
+ void read_value(std::ifstream& file,
+ value::rgb<n>& v)
+ {
+ typedef typename value::rgb<n>::enc::enc E;
+
+ E c;
+ file.read((char*)(&c), sizeof(E));
+ v.red() = c;
+ file.read((char*)(&c), sizeof(E));
+ v.green() = c;
+ file.read((char*)(&c), sizeof(E));
+ v.blue() = c;
+ }
+
+ //read a scalar value (sizeof(int_u8) != 1)
+ template <class V>
+ void read_value(std::ifstream& file,
+ V& v)
+ {
+ typedef typename V::enc E;
+
+ E c;
+ file.read((char*)(&c), sizeof(E));
+ v = c;
+ }
+
+ // used when (sizeof(int_u8) != 1)
+ template <typename V>
+ void load_raw_2d_uncontiguous(std::ifstream& file,
+ image2d<V>& ima)
+ {
+ const int
+ min_row = geom::min_row(ima),
+ max_row = geom::max_row(ima),
+ min_col = geom::min_col(ima),
+ max_col = geom::max_col(ima);
+
+ point2d p;
+ for (p.row() = min_row; p.row() <= max_row; ++p.row())
+ for (p.col() = min_col; p.col() <= max_col; ++p.col())
+ read_value(file, ima(p));
+ }
+
+ // used in g++ > 2.95
+ template <typename I>
+ void load_raw_2d_contiguous(std::ifstream& file, I& ima)
+ {
+ point2d p = make::point2d(0, ima.domain().pmin().col());
+ typedef mln_value(I) V;
+ const mln_coord(I)
+ min_row = geom::min_row(ima),
+ max_row = geom::max_row(ima);
+
+ size_t len = geom::ncols(ima) * sizeof(V);
+ for (p.row() = min_row; p.row() <= max_row; ++p.row())
+ file.read((char*)(&ima(p)), len);
+ }
+
+ /// load_ascii.
+ template <typename I>
+ void load_ascii(std::ifstream& file, I& ima)
+ {
+ mln_fwd_piter(I) p(ima.domain());
+ for_all(p)
+ {
+ unsigned value;
+ file >> value;
+ ima(p) = value;
+ // FIXME: Test alt code below.
+ // file >> ima(p);
+ }
+ }
+
+ /// load_raw_2d.
+ /// for all pnm 8/16 bits formats
+ template <typename I>
+ void load_raw_2d(std::ifstream& file, I& ima)
+ {
+ if (sizeof(value::int_u8) == 1)
+ load_raw_2d_contiguous(file, ima);
+ else
+ load_raw_2d_uncontiguous(file, ima);
+ }
+
+ /// main function : load pnm format
+ template <typename V>
+ image2d<V> load(char type_, const std::string& filename)
+ {
+ std::ifstream file(filename.c_str());
+ if (! file)
+ {
+ std::cerr << "error: file '" << filename
+ << "' not found!";
+ abort();
+ }
+ char type = 0;
+ int nrows, ncols;
+ unsigned int maxval;
+ read_header(type_ - 3, type_, file, type,
+ nrows, ncols, maxval);
+
+ image2d<V> ima(nrows, ncols);
+ if (type == type_)
+ load_raw_2d(file, ima);
+ else
+ if (type == (type_ - 3))
+ pnm::load_ascii(file, ima);
+ return ima;
+
+ }
+
+ /// a new function to load pnm files :
+ /// the destination is an argument to check if
+ /// the type match the file to load.
+ template <typename I>
+ void load(char type_,
+ Image<I>& ima_,
+ const std::string& filename)
+ {
+ std::ifstream file(filename.c_str());
+ if (! file)
+ {
+ std::cerr << "error: file '" << filename
+ << "' not found!";
+ abort();
+ }
+
+ I& ima = exact(ima_);
+
+ char type = 0;
+ int nrows, ncols;
+ unsigned int maxval;
+ read_header(type_ - 3, type_, file, type,
+ nrows, ncols, maxval);
+
+ if (value::props< mln_value(I) >::max() != maxval)
+ {
+ std::cerr << "max ref : " << value::props< mln_value(I) >::max()
+ << "max image : " << maxval
+ << std::endl;
+
+ std::cerr << "error: file '" << filename
+ << "' cannot be loaded into this type of image"
+ << std::endl;
+ abort();
+ }
+
+ ima.init_(make::box2d(nrows, ncols));
+ if (type == type_)
+ load_raw_2d(file, ima);
+ else
+ if (type == (type_ - 3))
+ pnm::load_ascii(file, ima);
+
+ }
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::io::pnm
+
+ } // end of namespace mln::io
+
+} // end of namespace mln
+
+
+#endif // ! MLN_IO_PNM_LOAD_HH
Index: trunk/milena/mln/io/ppm/all.hh
===================================================================
--- trunk/milena/mln/io/ppm/all.hh (revision 0)
+++ trunk/milena/mln/io/ppm/all.hh (revision 1346)
@@ -0,0 +1,51 @@
+// 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.
+
+#ifndef MLN_IO_PPM_ALL_HH
+# define MLN_IO_PPM_ALL_HH
+
+/*! \file mln/io/ppm/all.hh
+ *
+ * \brief File that includes all ppm io materials.
+ */
+
+
+namespace mln
+{
+
+ namespace io
+ {
+ /// Namespace of ppm input/output handling.
+ namespace ppm {}
+ }
+
+}
+
+# include <mln/io/ppm/load.hh>
+# include <mln/io/ppm/save.hh>
+
+#endif // ! MLN_IO_PPM_ALL_HH
Index: trunk/milena/mln/io/ppm/save.hh
===================================================================
--- trunk/milena/mln/io/ppm/save.hh (revision 1345)
+++ trunk/milena/mln/io/ppm/save.hh (revision 1346)
@@ -41,7 +41,7 @@
# include <mln/metal/templated_by.hh>
-# include <mln/io/internal/pnm/save.hh>
+# include <mln/io/pnm/save.hh>
namespace mln
{
@@ -64,7 +64,7 @@
mln::metal::templated_by<mln_value(I), value::rgb >::check();
//call the generic function for pnm files
- io::internal::pnm::save(PPM, exact(ima), filename);
+ io::pnm::save(PPM, exact(ima), filename);
}
# endif // ! MLN_INCLUDE_ONLY
Index: trunk/milena/mln/io/ppm/load.hh
===================================================================
--- trunk/milena/mln/io/ppm/load.hh (revision 1345)
+++ trunk/milena/mln/io/ppm/load.hh (revision 1346)
@@ -44,7 +44,7 @@
# include <mln/core/image2d.hh>
# include <mln/value/rgb8.hh>
-# include <mln/io/internal/pnm/load.hh>
+# include <mln/io/pnm/load.hh>
namespace mln
{
@@ -57,7 +57,7 @@
template <typename V>
image2d<V> load(const std::string& filename)
{
- return io::internal::pnm::load<V>(PPM, filename);
+ return io::pnm::load<V>(PPM, filename);
}
image2d<value::rgb8> load(const std::string& filename)
@@ -69,7 +69,7 @@
void load(Image<I>& ima,
const std::string& filename)
{
- io::internal::pnm::load<I>(PPM, ima, filename);
+ io::pnm::load<I>(PPM, ima, filename);
}
} // end of namespace mln::io::ppm
Index: trunk/milena/mln/io/internal/abort.hh (deleted)
===================================================================
Index: trunk/milena/mln/io/pbm/all.hh
===================================================================
--- trunk/milena/mln/io/pbm/all.hh (revision 0)
+++ trunk/milena/mln/io/pbm/all.hh (revision 1346)
@@ -0,0 +1,58 @@
+// 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.
+
+#ifndef MLN_IO_PBM_ALL_HH
+# define MLN_IO_PBM_ALL_HH
+
+/*! \file mln/io/pbm/all.hh
+ *
+ * \brief File that includes all pbm io materials.
+ */
+
+
+namespace mln
+{
+
+ namespace io
+ {
+ /// Namespace of pbm input/output handling.
+ namespace pbm
+ {
+ /// Namespace of pbm's implementation details.
+ namespace impl {}
+
+ /// Internal namespace of pbm namespace.
+ namespace internal {}
+ }
+ }
+
+}
+
+# include <mln/io/pbm/load.hh>
+# include <mln/io/pbm/save.hh>
+
+#endif // ! MLN_IO_PBM_ALL_HH
Index: trunk/milena/mln/io/pbm/save.hh
===================================================================
--- trunk/milena/mln/io/pbm/save.hh (revision 1345)
+++ trunk/milena/mln/io/pbm/save.hh (revision 1346)
@@ -44,7 +44,7 @@
# include <mln/metal/equal.hh>
# include <mln/metal/bexpr.hh>
-# include <mln/io/internal/pnm/save.hh>
+# include <mln/io/pnm/save.hh>
namespace mln
@@ -78,7 +78,7 @@
const I& ima = exact(ima_);
std::ofstream file(filename.c_str());
- io::internal::pnm::save_header(PBM, ima, filename, file);
+ io::pnm::save_header(PBM, ima, filename, file);
const int
min_row = geom::min_row(ima),
Index: trunk/milena/mln/io/pbm/load.hh
===================================================================
--- trunk/milena/mln/io/pbm/load.hh (revision 1345)
+++ trunk/milena/mln/io/pbm/load.hh (revision 1346)
@@ -43,7 +43,7 @@
# include <string>
# include <mln/core/image2d.hh>
-# include <mln/io/internal/pnm/load_header.hh>
+# include <mln/io/pnm/load_header.hh>
namespace mln
{
@@ -113,7 +113,7 @@
}
char type;
int nrows, ncols;
- io::internal::pnm::read_header('1', '4', file, type, nrows, ncols);
+ io::pnm::read_header('1', '4', file, type, nrows, ncols);
image2d<bool> ima(nrows, ncols);
if (type == '4')
Index: trunk/milena/mln/canvas/morpho/all.hh
===================================================================
--- trunk/milena/mln/canvas/morpho/all.hh (revision 0)
+++ trunk/milena/mln/canvas/morpho/all.hh (revision 1346)
@@ -0,0 +1,50 @@
+// 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.
+
+#ifndef MLN_CANVAS_MORPHO_ALL_HH
+# define MLN_CANVAS_MORPHO_ALL_HH
+
+/*! \file mln/canvas/morpho/all.hh
+ *
+ * \brief File that includes morphological canvas-related routines.
+ */
+
+
+namespace mln
+{
+
+ namespace canvas
+ {
+ /// Namespace of morphological canvas.
+ namespace morpho {}
+ }
+
+}
+
+# include <mln/canvas/morpho/algebraic_union_find.hh>
+
+#endif // ! MLN_CANVAS_MORPHO_ALL_HH
Index: trunk/milena/mln/canvas/all.hh
===================================================================
--- trunk/milena/mln/canvas/all.hh (revision 0)
+++ trunk/milena/mln/canvas/all.hh (revision 1346)
@@ -0,0 +1,54 @@
+// 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.
+
+#ifndef MLN_CANVAS_ALL_HH
+# define MLN_CANVAS_ALL_HH
+
+/*! \file mln/canvas/all.hh
+ *
+ * \brief File that includes all canvas-related routines.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of canvas.
+ namespace canvas
+ {
+ /// Implementation namespace of canvas namespace.
+ namespace impl {}
+ }
+
+}
+
+# include <mln/canvas/browsing/all.hh>
+# include <mln/canvas/morpho/all.hh>
+# include <mln/canvas/champfer.hh>
+# include <mln/canvas/labeling.hh>
+
+#endif // ! MLN_CANVAS_ALL_HH
Index: trunk/milena/mln/canvas/browsing/all.hh
===================================================================
--- trunk/milena/mln/canvas/browsing/all.hh (revision 0)
+++ trunk/milena/mln/canvas/browsing/all.hh (revision 1346)
@@ -0,0 +1,53 @@
+// 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.
+
+#ifndef MLN_CANVAS_BROWSING_ALL_HH
+# define MLN_CANVAS_BROWSING_ALL_HH
+
+/*! \file mln/canvas/browsing/all.hh
+ *
+ * \brief File that includes all browsing canvas-related routines.
+ */
+
+
+namespace mln
+{
+
+ namespace canvas
+ {
+ /// Namespace of browsing canvas.
+ namespace browsing {}
+ }
+
+}
+
+# include <mln/canvas/browsing/directional.hh>
+# include <mln/canvas/browsing/dir_ricard51.hh>
+# include <mln/canvas/browsing/fwd.hh>
+# include <mln/canvas/browsing/snake_fwd.hh>
+
+#endif // ! MLN_CANVAS_BROWSING_ALL_HH
URL: https://svn.lrde.epita.fr/svn/oln/trunk/milena
ChangeLog:
2007-10-17 Guillaume Duhamel <guillaume.duhamel(a)lrde.epita.fr>
Update typo.
* level/approx/all.hh,
* level/naive/all.hh,
* tag/all.hh,
* win/all.hh: New file for doc namespace.
---
level/approx/all.hh | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++
level/naive/all.hh | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++
tag/all.hh | 49 +++++++++++++++++++++++++++++++++++++++++++
win/all.hh | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 223 insertions(+)
Index: trunk/milena/mln/level/naive/all.hh
===================================================================
--- trunk/milena/mln/level/naive/all.hh (revision 0)
+++ trunk/milena/mln/level/naive/all.hh (revision 1345)
@@ -0,0 +1,58 @@
+// 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.
+
+#ifndef MLN_LEVEL_NAIVE_ALL_HH
+# define MLN_LEVEL_NAIVE_ALL_HH
+
+/*! \file mln/level/aprox/all.hh
+ *
+ * \brief File that includes all level-related routines with
+ * naive approach.
+ */
+
+
+namespace mln
+{
+
+
+ namespace level
+ {
+
+ /// Namespace of image processing routines related to pixel levels
+ /// with naive approach.
+ namespace naive
+ {}
+
+ } // end of namespace level
+
+} // end of namespace mln
+
+
+# include <mln/level/naive/median.hh>
+
+
+#endif // ! MLN_LEVEL_NAIVE_ALL_HH
Index: trunk/milena/mln/level/approx/all.hh
===================================================================
--- trunk/milena/mln/level/approx/all.hh (revision 0)
+++ trunk/milena/mln/level/approx/all.hh (revision 1345)
@@ -0,0 +1,58 @@
+// 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.
+
+#ifndef MLN_LEVEL_APPROX_ALL_HH
+# define MLN_LEVEL_APPROX_ALL_HH
+
+/*! \file mln/level/aprox/all.hh
+ *
+ * \brief File that includes all level-related routines with
+ * approximation.
+ */
+
+
+namespace mln
+{
+
+
+ namespace level
+ {
+
+ /// Namespace of image processing routines related to pixel levels
+ /// with approximation.
+ namespace approx
+ {}
+
+ } // end of namespace level
+
+} // end of namespace mln
+
+
+# include <mln/level/approx/median.hh>
+
+
+#endif // ! MLN_LEVEL_APPROX_ALL_HH
Index: trunk/milena/mln/tag/all.hh
===================================================================
--- trunk/milena/mln/tag/all.hh (revision 0)
+++ trunk/milena/mln/tag/all.hh (revision 1345)
@@ -0,0 +1,49 @@
+// 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.
+
+#ifndef MLN_TAG_ALL_HH
+# define MLN_TAG_ALL_HH
+
+/*! \file mln/tag/all.hh
+ *
+ * \brief File that includes all tag-related routines.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of image processing routines related to tags.
+ namespace tag {}
+
+}
+
+# include <mln/tag/init.hh>
+# include <mln/tag/skeleton.hh>
+
+
+#endif // ! MLN_TAG_ALL_HH
Index: trunk/milena/mln/win/all.hh
===================================================================
--- trunk/milena/mln/win/all.hh (revision 0)
+++ trunk/milena/mln/win/all.hh (revision 1345)
@@ -0,0 +1,58 @@
+// 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.
+
+#ifndef MLN_WIN_ALL_HH
+# define MLN_WIN_ALL_HH
+
+/*! \file mln/win/all.hh
+ *
+ * \brief File that includes all win-related routines.
+ */
+
+
+namespace mln
+{
+
+ /// Namespace of image processing routines related to win.
+ namespace win {}
+
+}
+
+# include <mln/win/backdiag2d.hh>
+# include <mln/win/cube3d.hh>
+# include <mln/win/diag2d.hh>
+# include <mln/win/disk2d.hh>
+# include <mln/win/hline2d.hh>
+# include <mln/win/line.hh>
+# include <mln/win/octagon2d.hh>
+# include <mln/win/rectangle2d.hh>
+# include <mln/win/segment1d.hh>
+# include <mln/win/vline2d.hh>
+
+
+
+#endif // ! MLN_WIN_ALL_HH