
URL: https://svn.lrde.epita.fr/svn/oln/trunk/milena ChangeLog: 2009-02-28 Frederic Bour <bour@lrde.epita.fr> Closing and opening area, volume, height naming change.. * closing/area.hh: New. * closing/height.hh: New. * closing/volume.hh: New. * closing_area.hh: Remove. * closing_height.hh: Remove. * closing_volume.hh: Remove. * opening/area.hh: New. * opening/height.hh: New. * opening/volume.hh: New. * opening_area.hh: Remove. * opening_height.hh: Remove. * opening_volume.hh: Remove. --- closing/area.hh | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++ closing/height.hh | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ closing/volume.hh | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++ opening/area.hh | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++ opening/height.hh | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++ opening/volume.hh | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 502 insertions(+) Index: trunk/milena/mln/morpho/closing_volume.hh (deleted) =================================================================== Index: trunk/milena/mln/morpho/closing_area.hh (deleted) =================================================================== Index: trunk/milena/mln/morpho/closing_height.hh (deleted) =================================================================== Index: trunk/milena/mln/morpho/opening_volume.hh (deleted) =================================================================== Index: trunk/milena/mln/morpho/opening_height.hh (deleted) =================================================================== Index: trunk/milena/mln/morpho/opening_area.hh (deleted) =================================================================== Index: trunk/milena/mln/morpho/closing/volume.hh =================================================================== --- trunk/milena/mln/morpho/closing/volume.hh (revision 0) +++ trunk/milena/mln/morpho/closing/volume.hh (revision 3438) @@ -0,0 +1,84 @@ +// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// (LRDE) +// +// This file is part of the Olena Library. This library is free +// software; you can redistribute it and/or modify it under the terms +// of the GNU General Public License version 2 as published by the +// Free Software Foundation. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this library; see the file COPYING. If not, write to +// the Free Software Foundation, 51 Franklin Street, Fifth Floor, +// Boston, MA 02111-1307, USA. +// +// As a special exception, you may use this file as part of a free +// software library without restriction. Specifically, if other files +// instantiate templates or use macros or inline functions from this +// file, or you compile this file and link it with other files to +// produce an executable, this file does not by itself cause the +// resulting executable to be covered by the GNU General Public +// License. This exception does not however invalidate any other +// reasons why the executable file might be covered by the GNU General +// Public License. + +#ifndef MLN_MORPHO_CLOSING_VOLUME_HH +# define MLN_MORPHO_CLOSING_VOLUME_HH + +/// \file mln/morpho/closing/volume.hh +/// +/// Morphological volume closing. + +# include <mln/morpho/closing/attribute.hh> +# include <mln/morpho/attribute/volume.hh> + + +namespace mln +{ + + namespace morpho + { + + namespace closing + { + + /// Morphological volume closing. + template <typename I, typename N> + mln_concrete(I) + volume(const Image<I>& input, const Neighborhood<N>& nbh, + unsigned lambda); + + +# ifndef MLN_INCLUDE_ONLY + + template <typename I, typename N> + inline + mln_concrete(I) + volume(const Image<I>& input, const Neighborhood<N>& nbh, + unsigned lambda) + { + trace::entering("morpho::closing::volume"); + + mln_precondition(exact(input).is_valid()); + + mln_concrete(I) output; + output = closing::attribute< attribute::volume<I> >(input, nbh, lambda); + + trace::exiting("morpho::closing::volume"); + return output; + } + +# endif // ! MLN_INCLUDE_ONLY + + } // end of namespace mln::morpho::closing + + } // end of namespace mln::morpho + +} // end of namespace mln + + +#endif // ! MLN_MORPHO_CLOSING_VOLUME_HH Index: trunk/milena/mln/morpho/closing/area.hh =================================================================== --- trunk/milena/mln/morpho/closing/area.hh (revision 0) +++ trunk/milena/mln/morpho/closing/area.hh (revision 3438) @@ -0,0 +1,84 @@ +// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// (LRDE) +// +// This file is part of the Olena Library. This library is free +// software; you can redistribute it and/or modify it under the terms +// of the GNU General Public License version 2 as published by the +// Free Software Foundation. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this library; see the file COPYING. If not, write to +// the Free Software Foundation, 51 Franklin Street, Fifth Floor, +// Boston, MA 02111-1307, USA. +// +// As a special exception, you may use this file as part of a free +// software library without restriction. Specifically, if other files +// instantiate templates or use macros or inline functions from this +// file, or you compile this file and link it with other files to +// produce an executable, this file does not by itself cause the +// resulting executable to be covered by the GNU General Public +// License. This exception does not however invalidate any other +// reasons why the executable file might be covered by the GNU General +// Public License. + +#ifndef MLN_MORPHO_CLOSING_AREA_HH +# define MLN_MORPHO_CLOSING_AREA_HH + +/// \file mln/morpho/closing/area.hh +/// +/// Morphological area closing. + +# include <mln/morpho/closing/algebraic.hh> +# include <mln/morpho/attribute/card.hh> + + +namespace mln +{ + + namespace morpho + { + + namespace closing + { + + /// Morphological area closing. + template <typename I, typename N> + mln_concrete(I) + area(const Image<I>& input, const Neighborhood<N>& nbh, + unsigned lambda); + + +# ifndef MLN_INCLUDE_ONLY + + template <typename I, typename N> + inline + mln_concrete(I) + area(const Image<I>& input, const Neighborhood<N>& nbh, + unsigned lambda) + { + trace::entering("morpho::closing::area"); + + mln_precondition(exact(input).is_valid()); + + mln_concrete(I) output; + output = closing::algebraic< attribute::card<I> >(input, nbh, lambda); + + trace::exiting("morpho::closing::area"); + return output; + } + +# endif // ! MLN_INCLUDE_ONLY + + } // end of namespace mln::morpho::closing + + } // end of namespace mln::morpho + +} // end of namespace mln + + +#endif // ! MLN_MORPHO_CLOSING_AREA_HH Index: trunk/milena/mln/morpho/closing/height.hh =================================================================== --- trunk/milena/mln/morpho/closing/height.hh (revision 0) +++ trunk/milena/mln/morpho/closing/height.hh (revision 3438) @@ -0,0 +1,86 @@ +// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// (LRDE) +// +// This file is part of the Olena Library. This library is free +// software; you can redistribute it and/or modify it under the terms +// of the GNU General Public License version 2 as published by the +// Free Software Foundation. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this library; see the file COPYING. If not, write to +// the Free Software Foundation, 51 Franklin Street, Fifth Floor, +// Boston, MA 02111-1307, USA. +// +// As a special exception, you may use this file as part of a free +// software library without restriction. Specifically, if other files +// instantiate templates or use macros or inline functions from this +// file, or you compile this file and link it with other files to +// produce an executable, this file does not by itself cause the +// resulting executable to be covered by the GNU General Public +// License. This exception does not however invalidate any other +// reasons why the executable file might be covered by the GNU General +// Public License. + +#ifndef MLN_MORPHO_CLOSING_HEIGHT_HH +# define MLN_MORPHO_CLOSING_HEIGHT_HH + +/// \file mln/morpho/closing/height.hh +/// +/// Morphological height closing. +/// +/// \todo The test result looks very weird... Debug! + +# include <mln/morpho/closing/algebraic.hh> +# include <mln/morpho/attribute/height.hh> + + +namespace mln +{ + + namespace morpho + { + + namespace closing + { + + /// Morphological height closing. + template <typename I, typename N> + mln_concrete(I) + height(const Image<I>& input, const Neighborhood<N>& nbh, + unsigned lambda); + + +# ifndef MLN_INCLUDE_ONLY + + template <typename I, typename N> + inline + mln_concrete(I) + height(const Image<I>& input, const Neighborhood<N>& nbh, + unsigned lambda) + { + trace::entering("morpho::closing::height"); + + mln_precondition(exact(input).is_valid()); + + mln_concrete(I) output; + output = closing::leveling< attribute::height<I> >(input, nbh, lambda); + + trace::exiting("morpho::closing::height"); + return output; + } + +# endif // ! MLN_INCLUDE_ONLY + + } // end of namespace mln::morpho::closing + + } // end of namespace mln::morpho + +} // end of namespace mln + + +#endif // ! MLN_MORPHO_CLOSING_HEIGHT_HH Index: trunk/milena/mln/morpho/opening/volume.hh =================================================================== --- trunk/milena/mln/morpho/opening/volume.hh (revision 0) +++ trunk/milena/mln/morpho/opening/volume.hh (revision 3438) @@ -0,0 +1,81 @@ +// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// (LRDE) +// +// This file is part of the Olena Library. This library is free +// software; you can redistribute it and/or modify it under the terms +// of the GNU General Public License version 2 as published by the +// Free Software Foundation. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this library; see the file COPYING. If not, write to +// the Free Software Foundation, 51 Franklin Street, Fifth Floor, +// Boston, MA 02111-1307, USA. +// +// As a special exception, you may use this file as part of a free +// software library without restriction. Specifically, if other files +// instantiate templates or use macros or inline functions from this +// file, or you compile this file and link it with other files to +// produce an executable, this file does not by itself cause the +// resulting executable to be covered by the GNU General Public +// License. This exception does not however invalidate any other +// reasons why the executable file might be covered by the GNU General +// Public License. + +#ifndef MLN_MORPHO_OPENING_VOLUME_HH +# define MLN_MORPHO_OPENING_VOLUME_HH + +/// \file mln/morpho/opening/volume.hh +/// +/// Morphological volume opening. + +# include <mln/morpho/opening/leveling.hh> +# include <mln/morpho/attribute/volume.hh> + +namespace mln +{ + + namespace morpho + { + + namespace opening { + + /// Morphological volume opening. + template <typename I, typename N> + mln_concrete(I) + volume(const Image<I>& input, const Neighborhood<N>& nbh, + unsigned lambda); + + +# ifndef MLN_INCLUDE_ONLY + + template <typename I, typename N> + inline + mln_concrete(I) + volume(const Image<I>& input, const Neighborhood<N>& nbh, + unsigned lambda) + { + trace::entering("morpho::opening::volume"); + mln_precondition(exact(input).is_valid()); + + mln_concrete(I) output; + output = opening::leveling< attribute::volume<I> >(input, nbh, lambda); + + trace::exiting("morpho::opening::volume"); + return output; + } + +# endif // ! MLN_INCLUDE_ONLY + + } // end of namespace mln::morpho::opening + + } // end of namespace mln::morpho + +} // end of namespace mln + + +#endif // ! MLN_MORPHO_OPENING_VOLUME_HH Index: trunk/milena/mln/morpho/opening/area.hh =================================================================== --- trunk/milena/mln/morpho/opening/area.hh (revision 0) +++ trunk/milena/mln/morpho/opening/area.hh (revision 3438) @@ -0,0 +1,84 @@ +// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// (LRDE) +// +// This file is part of the Olena Library. This library is free +// software; you can redistribute it and/or modify it under the terms +// of the GNU General Public License version 2 as published by the +// Free Software Foundation. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this library; see the file COPYING. If not, write to +// the Free Software Foundation, 51 Franklin Street, Fifth Floor, +// Boston, MA 02111-1307, USA. +// +// As a special exception, you may use this file as part of a free +// software library without restriction. Specifically, if other files +// instantiate templates or use macros or inline functions from this +// file, or you compile this file and link it with other files to +// produce an executable, this file does not by itself cause the +// resulting executable to be covered by the GNU General Public +// License. This exception does not however invalidate any other +// reasons why the executable file might be covered by the GNU General +// Public License. + +#ifndef MLN_MORPHO_OPENING_AREA_HH +# define MLN_MORPHO_OPENING_AREA_HH + +/// \file mln/morpho/opening/area.hh +/// +/// Morphological area opening. + +# include <mln/morpho/opening/algebraic.hh> +# include <mln/morpho/attribute/card.hh> + + +namespace mln +{ + + namespace morpho + { + + namespace opening + { + + /// Morphological area opening. + template <typename I, typename N> + mln_concrete(I) + area(const Image<I>& input, const Neighborhood<N>& nbh, + unsigned lambda); + + +# ifndef MLN_INCLUDE_ONLY + + template <typename I, typename N> + inline + mln_concrete(I) + area(const Image<I>& input, const Neighborhood<N>& nbh, + unsigned lambda) + { + trace::entering("morpho::opening::area"); + + mln_precondition(exact(input).is_valid()); + + mln_concrete(I) output; + output = opening::algebraic< attribute::card<I> >(input, nbh, lambda); + + trace::exiting("morpho::opening::area"); + return output; + } + +# endif // ! MLN_INCLUDE_ONLY + + } // end of namespace mln::morpho::opening + + } // end of namespace mln::morpho + +} // end of namespace mln + + +#endif // ! MLN_MORPHO_OPENING_AREA_HH Index: trunk/milena/mln/morpho/opening/height.hh =================================================================== --- trunk/milena/mln/morpho/opening/height.hh (revision 0) +++ trunk/milena/mln/morpho/opening/height.hh (revision 3438) @@ -0,0 +1,83 @@ +// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// (LRDE) +// +// This file is part of the Olena Library. This library is free +// software; you can redistribute it and/or modify it under the terms +// of the GNU General Public License version 2 as published by the +// Free Software Foundation. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this library; see the file COPYING. If not, write to +// the Free Software Foundation, 51 Franklin Street, Fifth Floor, +// Boston, MA 02111-1307, USA. +// +// As a special exception, you may use this file as part of a free +// software library without restriction. Specifically, if other files +// instantiate templates or use macros or inline functions from this +// file, or you compile this file and link it with other files to +// produce an executable, this file does not by itself cause the +// resulting executable to be covered by the GNU General Public +// License. This exception does not however invalidate any other +// reasons why the executable file might be covered by the GNU General +// Public License. + +#ifndef MLN_MORPHO_OPENING_HEIGHT_HH +# define MLN_MORPHO_OPENING_HEIGHT_HH + +/// \file mln/morpho/opening/height.hh +/// +/// Morphological height opening. + +# include <mln/morpho/opening/attribute.hh> +# include <mln/morpho/attribute/height.hh> + + +namespace mln +{ + + namespace morpho + { + + namespace opening + { + + /// Morphological height opening. + template <typename I, typename N> + mln_concrete(I) + height(const Image<I>& input, const Neighborhood<N>& nbh, + unsigned lambda); + + +# ifndef MLN_INCLUDE_ONLY + + template <typename I, typename N> + inline + mln_concrete(I) + height(const Image<I>& input, const Neighborhood<N>& nbh, + unsigned lambda) + { + trace::entering("morpho::opening::height"); + mln_precondition(exact(input).is_valid()); + + mln_concrete(I) output; + output = opening::leveling< attribute::height<I> >(input, nbh, lambda); + + trace::exiting("morpho::opening::height"); + return output; + } + +# endif // ! MLN_INCLUDE_ONLY + + } // end of namespace mln::morpho::opening + + } // end of namespace mln::morpho + +} // end of namespace mln + + +#endif // ! MLN_MORPHO_OPENING_HEIGHT_HH