URL:
https://svn.lrde.epita.fr/svn/oln/trunk/milena
ChangeLog:
2009-06-04 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Move 3D pnm image loading routines.
* mln/io/pnms/all.hh: Include load.hh
* mln/io/pnms/load.hh: Implement generic pnm 3D loading
routine.
* mln/io/pbm/load.hh: Move 3D loading routine...
* mln/io/pbms/load.hh: ...here.
* mln/io/pbms/all.hh: Include load.hh
* mln/io/pgm/load.hh: Move 3D loading routine...
* mln/io/pgms/load.hh: ...here.
* mln/io/pgms/all.hh: Include load.hh
* mln/io/ppm/load.hh: Move 3D loading routine...
* mln/io/ppms/load.hh: ...here.
* mln/io/ppms/all.hh: Include load.hh
---
pbm/load.hh | 30 -----------------
pbms/all.hh | 56 +++++++++++++++++++++++++++++++
pbms/load.hh | 88 +++++++++++++++++++++++++++++++++++++++++++++++++
pgm/load.hh | 37 --------------------
pgms/all.hh | 48 +++++++++++++++++++++++++++
pgms/load.hh | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++
pnms/all.hh | 48 +++++++++++++++++++++++++++
pnms/load.hh | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ppm/load.hh | 31 -----------------
ppms/all.hh | 48 +++++++++++++++++++++++++++
ppms/load.hh | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++
11 files changed, 574 insertions(+), 98 deletions(-)
Index: trunk/milena/mln/io/ppms/all.hh
===================================================================
--- trunk/milena/mln/io/ppms/all.hh (revision 0)
+++ trunk/milena/mln/io/ppms/all.hh (revision 3989)
@@ -0,0 +1,48 @@
+// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Milena 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_PPMS_ALL_HH
+# define MLN_IO_PPMS_ALL_HH
+
+/// \file mln/io/ppms/all.hh
+/// \brief Inclusion of all PPMS I/O routines.
+
+
+namespace mln
+{
+
+ namespace io
+ {
+ /// Namespace of ppms input/output handling.
+ namespace ppms {}
+ }
+
+}
+
+# include <mln/io/ppms/load.hh>
+
+#endif // ! MLN_IO_PPMS_ALL_HH
Index: trunk/milena/mln/io/ppms/load.hh
===================================================================
--- trunk/milena/mln/io/ppms/load.hh (revision 0)
+++ trunk/milena/mln/io/ppms/load.hh (revision 3989)
@@ -0,0 +1,91 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+// EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Milena 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_PPMS_LOAD_HH
+# define MLN_IO_PPMS_LOAD_HH
+
+/// \file mln/io/ppms/load.hh
+///
+/// Define a function which loads multiple ppm images into
+/// a 3D image.
+
+# include <iostream>
+# include <fstream>
+# include <string>
+
+# include <mln/core/image/image2d.hh>
+# include <mln/core/image/image3d.hh>
+# include <mln/value/rgb8.hh>
+# include <mln/io/pnms/load.hh>
+# include <mln/make/image3d.hh>
+
+namespace mln
+{
+
+ namespace io
+ {
+
+ namespace ppms
+ {
+
+ /// Load ppm images as slices of a 3D Milena image.
+ ///
+ /// \param[out] ima A reference to the 3D image which will receive
+ /// data.
+ /// \param[in] filenames The list of 2D images to load..
+ template <typename V>
+ void load(image3d<V>& ima,
+ const util::array<std::string>& filenames);
+
+# ifndef MLN_INCLUDE_ONLY
+
+
+ template <typename V>
+ inline
+ void load(image3d<V>& ima,
+ const util::array<std::string>& filenames)
+ {
+ trace::entering("mln::io::ppms::load");
+
+ io::pnms::load<image2d<V> >(PPM, ima, filenames);
+
+ trace::exiting("mln::io::ppms::load");
+ }
+
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::io::ppms
+
+ } // end of namespace mln::io
+
+} // end of namespace mln
+
+
+#endif // ! MLN_IO_PPMS_LOAD_HH
+
Index: trunk/milena/mln/io/pgm/load.hh
===================================================================
--- trunk/milena/mln/io/pgm/load.hh (revision 3988)
+++ trunk/milena/mln/io/pgm/load.hh (revision 3989)
@@ -32,9 +32,6 @@
/// \file mln/io/pgm/load.hh
///
/// \brief Define a function which loads an image of kind pgm with
-///
-/// \todo Fabien: Move image3d loading elsewhere! for instance in
-/// io/pgms/load (note the 's')...
# include <iostream>
# include <fstream>
@@ -44,7 +41,6 @@
# include <mln/core/image/image3d.hh>
# include <mln/value/int_u8.hh>
# include <mln/io/pnm/load.hh>
-# include <mln/make/image3d.hh>
namespace mln
@@ -77,17 +73,6 @@
image2d<V> load(const std::string& filename);
- /// Load ppm images as slices of a 3D Milena image.
- ///
- /// \param[out] ima A reference to the 3D image which will receive
- /// data.
- /// \param[in] filenames The list of 2D images to load..
- ///
- template <typename V>
- void load(image3d<V>& ima,
- const util::array<std::string>& filenames);
-
-
# ifndef MLN_INCLUDE_ONLY
template <typename V>
@@ -111,28 +96,6 @@
}
- template <typename V>
- inline
- void load(image3d<V>& ima,
- const util::array<std::string>& filenames)
- {
- trace::entering("mln::io::pgm::load");
- mln_precondition(!filenames.is_empty());
-
- util::array<image2d<V> > slices;
-
- for (unsigned i = 0; i < filenames.nelements(); ++i)
- {
- image2d<V> tmp;
- io::pnm::load<image2d<V> >(PGM, tmp, filenames[i]);
- slices.append(tmp);
- }
-
- ima = make::image3d(slices);
-
- trace::exiting("mln::io::pgm::load");
- }
-
# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln::io::pgm
Index: trunk/milena/mln/io/ppm/load.hh
===================================================================
--- trunk/milena/mln/io/ppm/load.hh (revision 3988)
+++ trunk/milena/mln/io/ppm/load.hh (revision 3989)
@@ -44,7 +44,6 @@
# include <mln/io/pnm/load.hh>
-# include <mln/make/image3d.hh>
namespace mln
{
@@ -76,15 +75,6 @@
image2d<V> load(const std::string& filename);
- /// Load ppm images as slices of a 3D Milena image.
- ///
- /// \param[out] ima A reference to the 3D image which will receive
- /// data.
- /// \param[in] filenames The list of 2D images to load..
- template <typename V>
- void load(image3d<V>& ima,
- const util::array<std::string>& filenames);
-
# ifndef MLN_INCLUDE_ONLY
template <typename V>
@@ -107,27 +97,6 @@
trace::exiting("mln::io::ppm::load");
}
- template <typename V>
- inline
- void load(image3d<V>& ima,
- const util::array<std::string>& filenames)
- {
- trace::entering("mln::io::ppm::load");
- mln_precondition(!filenames.is_empty());
-
- util::array<image2d<V> > slices;
-
- for (unsigned i = 0; i < filenames.nelements(); ++i)
- {
- image2d<V> tmp;
- io::pnm::load<image2d<V> >(PPM, tmp, filenames[i]);
- slices.append(tmp);
- }
-
- ima = make::image3d(slices);
-
- trace::exiting("mln::io::ppm::load");
- }
# endif // ! MLN_INCLUDE_ONLY
Index: trunk/milena/mln/io/pbms/all.hh
===================================================================
--- trunk/milena/mln/io/pbms/all.hh (revision 0)
+++ trunk/milena/mln/io/pbms/all.hh (revision 3989)
@@ -0,0 +1,56 @@
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
+//
+// This file is part of the Milena 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_PBMS_ALL_HH
+# define MLN_IO_PBMS_ALL_HH
+
+/// \file mln/io/pbms/all.hh
+/// \brief Inclusion of all PBMS I/O routines.
+
+
+namespace mln
+{
+
+ namespace io
+ {
+ /// Namespace of pbms input/output handling.
+ namespace pbms
+ {
+ /// Namespace of pbms implementation details.
+ namespace impl {}
+
+ /// Internal namespace of pbms namespace.
+ namespace internal {}
+ }
+ }
+
+}
+
+# include <mln/io/pbms/load.hh>
+
+#endif // ! MLN_IO_PBMS_ALL_HH
Index: trunk/milena/mln/io/pbms/load.hh
===================================================================
--- trunk/milena/mln/io/pbms/load.hh (revision 0)
+++ trunk/milena/mln/io/pbms/load.hh (revision 3989)
@@ -0,0 +1,88 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+// EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Milena 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_PBMS_LOAD_HH
+# define MLN_IO_PBMS_LOAD_HH
+
+/// \file mln/io/pbms/load.hh
+///
+/// Define a function which loads multiple pbm images into
+/// a 3D image.
+
+
+# include <iostream>
+# include <fstream>
+# include <string>
+
+# include <mln/core/image/image2d.hh>
+# include <mln/core/image/image3d.hh>
+# include <mln/io/pnms/load.hh>
+# include <mln/make/image3d.hh>
+
+namespace mln
+{
+
+ namespace io
+ {
+
+ namespace pbms
+ {
+
+ /// Load pbms images as slices of a 3D Milena image.
+ ///
+ /// \param[out] ima A reference to the 3D image which will receive
+ /// data.
+ /// \param[in] filenames The list of 2D images to load..
+ void load(image3d<bool>& ima,
+ const util::array<std::string>& filenames);
+
+# ifndef MLN_INCLUDE_ONLY
+
+
+ inline
+ void load(image3d<bool>& ima,
+ const util::array<std::string>& filenames)
+ {
+ trace::entering("mln::io::pbms::load");
+
+ io::pnms::load<image2d<bool> >(PBM, ima, filenames);
+
+ trace::exiting("mln::io::pbms::load");
+ }
+
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::io::pbms
+
+ } // end of namespace mln::io
+
+} // end of namespace mln
+
+
+#endif // ! MLN_IO_PBMS_LOAD_HH
Index: trunk/milena/mln/io/pgms/all.hh
===================================================================
--- trunk/milena/mln/io/pgms/all.hh (revision 0)
+++ trunk/milena/mln/io/pgms/all.hh (revision 3989)
@@ -0,0 +1,48 @@
+// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Milena 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_PGMS_ALL_HH
+# define MLN_IO_PGMS_ALL_HH
+
+/// \file mln/io/pgms/all.hh
+/// \brief Inclusion of all PGMS I/O routines.
+
+
+namespace mln
+{
+
+ namespace io
+ {
+ /// Namespace of pgms input/output handling.
+ namespace pgms {}
+ }
+
+}
+
+# include <mln/io/pgms/load.hh>
+
+#endif // ! MLN_IO_PGMS_ALL_HH
Index: trunk/milena/mln/io/pgms/load.hh
===================================================================
--- trunk/milena/mln/io/pgms/load.hh (revision 0)
+++ trunk/milena/mln/io/pgms/load.hh (revision 3989)
@@ -0,0 +1,91 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+// EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Milena 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_PGMS_LOAD_HH
+# define MLN_IO_PGMS_LOAD_HH
+
+/// \file mln/io/pgms/load.hh
+///
+/// \brief Define a function which loads multiple pgm images into
+/// a 3D image.
+
+# include <iostream>
+# include <fstream>
+# include <string>
+
+# include <mln/core/image/image2d.hh>
+# include <mln/core/image/image3d.hh>
+# include <mln/value/int_u8.hh>
+# include <mln/io/pnms/load.hh>
+# include <mln/make/image3d.hh>
+
+
+namespace mln
+{
+
+ namespace io
+ {
+
+ namespace pgms
+ {
+
+ /// Load pgm images as slices of a 3D Milena image.
+ ///
+ /// \param[out] ima A reference to the 3D image which will receive
+ /// data.
+ /// \param[in] filenames The list of 2D images to load..
+ ///
+ template <typename V>
+ void load(image3d<V>& ima,
+ const util::array<std::string>& filenames);
+
+# ifndef MLN_INCLUDE_ONLY
+
+
+ template <typename V>
+ inline
+ void load(image3d<V>& ima,
+ const util::array<std::string>& filenames)
+ {
+ trace::entering("mln::io::pgms::load");
+
+ io::pnms::load<image2d<V> >(PGM, ima, filenames);
+
+ trace::exiting("mln::io::pgms::load");
+ }
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::io::pgms
+
+ } // end of namespace mln::io
+
+} // end of namespace mln
+
+
+#endif // ! MLN_IO_PGMS_LOAD_HH
Index: trunk/milena/mln/io/pnms/all.hh
===================================================================
--- trunk/milena/mln/io/pnms/all.hh (revision 0)
+++ trunk/milena/mln/io/pnms/all.hh (revision 3989)
@@ -0,0 +1,48 @@
+// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Milena 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_PNMS_ALL_HH
+# define MLN_IO_PNMS_ALL_HH
+
+/// \file mln/io/pnms/all.hh
+/// \brief Inclusion of all PNMS I/O routines.
+
+
+namespace mln
+{
+
+ namespace io
+ {
+ /// Namespace of pnms input/output handling.
+ namespace pnms {}
+ }
+
+}
+
+# include <mln/io/pnms/load.hh>
+
+#endif // ! MLN_IO_PNMS_ALL_HH
Index: trunk/milena/mln/io/pnms/load.hh
===================================================================
--- trunk/milena/mln/io/pnms/load.hh (revision 0)
+++ trunk/milena/mln/io/pnms/load.hh (revision 3989)
@@ -0,0 +1,104 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+// EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Milena 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_PNMS_LOAD_HH
+# define MLN_IO_PNMS_LOAD_HH
+
+/// \file mln/io/pnms/load.hh
+///
+/// \brief Define a function which loads multiple pnm images into
+/// a 3D image.
+
+# include <iostream>
+# include <fstream>
+# include <string>
+
+# include <mln/core/image/image2d.hh>
+# include <mln/core/image/image3d.hh>
+# include <mln/value/int_u8.hh>
+# include <mln/io/pnm/load.hh>
+# include <mln/make/image3d.hh>
+
+
+namespace mln
+{
+
+ namespace io
+ {
+
+ namespace pnms
+ {
+
+ /// Load pnm images as slices of a 3D Milena image.
+ ///
+ /// \param[in] type The type of the pnm files.
+ /// \param[out] ima A reference to the 3D image which will receive
+ /// data.
+ /// \param[in] filenames The list of 2D images to load..
+ ///
+ template <typename V>
+ void load(char type,
+ image3d<V>& ima,
+ const util::array<std::string>& filenames);
+
+# ifndef MLN_INCLUDE_ONLY
+
+
+ template <typename V>
+ inline
+ void load(char type,
+ image3d<V>& ima,
+ const util::array<std::string>& filenames)
+ {
+ trace::entering("mln::io::pnms::load");
+ mln_precondition(!filenames.is_empty());
+
+ util::array<image2d<V> > slices;
+
+ for (unsigned i = 0; i < filenames.nelements(); ++i)
+ {
+ image2d<V> tmp;
+ io::pnm::load<image2d<V> >(type, tmp, filenames[i]);
+ slices.append(tmp);
+ }
+
+ ima = make::image3d(slices);
+
+ trace::exiting("mln::io::pnms::load");
+ }
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::io::pnms
+
+ } // end of namespace mln::io
+
+} // end of namespace mln
+
+
+#endif // ! MLN_IO_PNMS_LOAD_HH
Index: trunk/milena/mln/io/pbm/load.hh
===================================================================
--- trunk/milena/mln/io/pbm/load.hh (revision 3988)
+++ trunk/milena/mln/io/pbm/load.hh (revision 3989)
@@ -43,7 +43,6 @@
# include <mln/core/image/image3d.hh>
# include <mln/io/pnm/load_header.hh>
-# include <mln/make/image3d.hh>
namespace mln
{
@@ -72,13 +71,6 @@
///
image2d<bool> load(const std::string& filename);
- /// Load ppm images as slices of a 3D Milena image.
- ///
- /// \param[out] ima A reference to the 3D image which will receive
- /// data.
- /// \param[in] filenames The list of 2D images to load..
- void load(image3d<bool>& ima,
- const util::array<std::string>& filenames);
# ifndef MLN_INCLUDE_ONLY
@@ -171,28 +163,6 @@
}
- inline
- void load(image3d<bool>& ima,
- const util::array<std::string>& filenames)
- {
- trace::entering("mln::io::pbm::load");
- mln_precondition(!filenames.is_empty());
-
- util::array<image2d<bool> > slices;
-
- for (unsigned i = 0; i < filenames.nelements(); ++i)
- {
- image2d<bool> tmp;
- io::pbm::load(tmp, filenames[i]);
- slices.append(tmp);
- }
-
- ima = make::image3d(slices);
-
- trace::exiting("mln::io::pbm::load");
- }
-
-
# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln::io::pbm