milena r3989: Move 3D pnm image loading routines

URL: https://svn.lrde.epita.fr/svn/oln/trunk/milena ChangeLog: 2009-06-04 Fabien Freling <fabien.freling@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
participants (1)
-
Fabien Freling