* apps/morphers/image2d-skel.hh
* doc/DoxygenLayout.xml: Fix a page reference.
* doc/examples.dox: New.
* mln/canvas/browsing/backdiagonal2d.hh: Switch to \code.
* mln/convert/to_image.hh: Remove useless inline keyword.
* mln/core/internal/check/image_fastest.hh,
* mln/core/internal/coord_impl.hh,
* mln/core/internal/set_of.hh,
* mln/data/compute_in_window.hh,
* mln/debug/draw_graph.hh,
* mln/io/pdf/load.hh: Fix documentation.
* mln/linear/log.hh: New documentation.
---
milena/ChangeLog | 23 ++++++
milena/apps/morphers/image2d-skel.hh | 8 +--
milena/doc/DoxygenLayout.xml | 2 +-
milena/doc/examples.dox | 7 ++
milena/mln/canvas/browsing/backdiagonal2d.hh | 7 +-
milena/mln/convert/to_image.hh | 10 +--
milena/mln/core/internal/check/image_fastest.hh | 26 +++----
milena/mln/core/internal/coord_impl.hh | 40 ++++++++---
milena/mln/core/internal/set_of.hh | 2 +-
milena/mln/data/compute_in_window.hh | 14 +++-
milena/mln/debug/draw_graph.hh | 14 ++--
milena/mln/io/pdf/load.hh | 85 +++++++++++++----------
milena/mln/linear/log.hh | 28 +++++++-
13 files changed, 177 insertions(+), 89 deletions(-)
create mode 100644 milena/doc/examples.dox
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 3aabd3b..3e0e5c3 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,28 @@
2013-04-04 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Kill Doxygen warnings.
+
+ * apps/morphers/image2d-skel.hh
+
+ * doc/DoxygenLayout.xml: Fix a page reference.
+
+ * doc/examples.dox: New.
+
+ * mln/canvas/browsing/backdiagonal2d.hh: Switch to \code.
+
+ * mln/convert/to_image.hh: Remove useless inline keyword.
+
+ * mln/core/internal/check/image_fastest.hh,
+ * mln/core/internal/coord_impl.hh,
+ * mln/core/internal/set_of.hh,
+ * mln/data/compute_in_window.hh,
+ * mln/debug/draw_graph.hh,
+ * mln/io/pdf/load.hh: Fix documentation.
+
+ * mln/linear/log.hh: New documentation.
+
+2013-04-04 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Cleanup concept documentation.
* doc/mln/convert.dox,
diff --git a/milena/apps/morphers/image2d-skel.hh b/milena/apps/morphers/image2d-skel.hh
index 46dc3ff..cc332bc 100644
--- a/milena/apps/morphers/image2d-skel.hh
+++ b/milena/apps/morphers/image2d-skel.hh
@@ -56,7 +56,6 @@ public:
/// Build a functor.
///
/// \param nbh_fg The foreground neighborhood.
- /// \param nbh_bg The background neighborhood.
is_simple_2d(const mln::Neighborhood<N>& nbh_fg)
: super(mln::exact(nbh_fg)),
ima_(0)
@@ -66,8 +65,7 @@ public:
/// Build a functor, and assign an image to it.
///
/// \param nbh_fg The foreground neighborhood.
- /// \param nbh_bg The background neighborhood.
- /// \apram ima The image.
+ /// \param ima The image.
is_simple_2d(const mln::Neighborhood<N>& nbh_fg,
const mln::Image<I>& ima)
: super(mln::exact(nbh_fg)),
@@ -106,8 +104,8 @@ struct is_not_end_point : public mln::Function_v2b<
is_not_end_point<I, N> >
{
/// Build a functor, and assign an image to it.
///
- /// \param nbh_fg The foreground neighborhood.
- /// \apram ima The image.
+ /// \param nbh The foreground neighborhood.
+ /// \param ima The image.
is_not_end_point(const mln::Neighborhood<N>& nbh,
const mln::Image<I>& ima)
: nbh_(mln::exact(nbh)),
diff --git a/milena/doc/DoxygenLayout.xml b/milena/doc/DoxygenLayout.xml
index 1aeee52..ae704ea 100644
--- a/milena/doc/DoxygenLayout.xml
+++ b/milena/doc/DoxygenLayout.xml
@@ -22,7 +22,7 @@
</tab>
<tab type="examples" visible="yes" title="Examples"
intro=""/>
<tab type="user" url="@ref examples"
title="Examples"/>
- <tab type="user" url="@ref demos"
title="Demos"/>
+ <tab type="user"
url="http://caroussel.lrde.epita.fr/olena/demos" title="Demos"/>
<tab type="user"
url="http://www.lrde.epita.fr/cgi-bin/twiki/view/Olena/Publications"
title="Publications"/>
</navindex>
diff --git a/milena/doc/examples.dox b/milena/doc/examples.dox
new file mode 100644
index 0000000..ef6845e
--- /dev/null
+++ b/milena/doc/examples.dox
@@ -0,0 +1,7 @@
+/*! \page examples Examples
+
+\section examplerag Region Adjacency Graph
+
+\li \link region_adjacency_graph.cc
+
+*/
diff --git a/milena/mln/canvas/browsing/backdiagonal2d.hh
b/milena/mln/canvas/browsing/backdiagonal2d.hh
index 0961bdc..274fa01 100644
--- a/milena/mln/canvas/browsing/backdiagonal2d.hh
+++ b/milena/mln/canvas/browsing/backdiagonal2d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 EPITA Research and
-// Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 EPITA
+// Research and Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -58,6 +58,7 @@ namespace mln
* - final(): Will be called at the end.
*
* F shall features : \n
+ \code
- As types:
+ I;
- As attributes:
@@ -69,7 +70,7 @@ namespace mln
+ void init();
+ void next();
+ void final();
- \endverbatim
+ \endcode
*
* Example : \n
*
diff --git a/milena/mln/convert/to_image.hh b/milena/mln/convert/to_image.hh
index 6f8bcda..71fde90 100644
--- a/milena/mln/convert/to_image.hh
+++ b/milena/mln/convert/to_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2013 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -85,14 +86,13 @@ namespace mln
# ifndef MLN_INCLUDE_ONLY
template <typename S>
- inline
mln_image_from_grid(mln_site(S)::grid, bool)
to_image(const Site_Set<S>& pset_, unsigned border)
{
const S& pset = exact(pset_);
mln_image_from_grid(mln_site(S)::grid, bool) ima;
ima.init_(geom::bbox(pset).to_larger(border));
- data::fill(ima, false);
+ mln::data::fill(ima, false);
mln_piter(S) p(pset);
for_all(p)
ima(p) = true;
@@ -100,7 +100,6 @@ namespace mln
}
template <typename W>
- inline
mln_image_from_grid(mln_site(W)::grid, bool)
to_image(const Window<W>& win)
{
@@ -112,7 +111,6 @@ namespace mln
}
template <typename W>
- inline
mln_image_from_grid(mln_site(W)::grid, mln_weight(W))
to_image(const Weighted_Window<W>& w_win)
{
@@ -124,7 +122,6 @@ namespace mln
}
template <typename N>
- inline
mln_image_from_grid(mln_site(N)::grid, bool)
to_image(const Neighborhood<N>& nbh)
{
@@ -133,7 +130,6 @@ namespace mln
}
template <typename T>
- inline
image1d<unsigned>
to_image(const histo::array<T>& h)
{
diff --git a/milena/mln/core/internal/check/image_fastest.hh
b/milena/mln/core/internal/check/image_fastest.hh
index debece7..13665a9 100644
--- a/milena/mln/core/internal/check/image_fastest.hh
+++ b/milena/mln/core/internal/check/image_fastest.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2011, 2012, 2013 EPITA Research and
// Development Laboratory (LRDE)
//
// This file is part of Olena.
@@ -50,23 +50,21 @@ namespace mln
namespace check
{
- /*!
- \internal
- \brief Statically checks the interface of fastest images.
- */
+ /// \brief Statically checks the interface of fastest images.
template < typename E, typename B = metal::true_ >
struct image_fastest_
{
- /// \brief Give the offset of the site \p p.
- ///
- /// \param[in] p A site.
- ///
- /// \warning This method is final.
- ///
- /// \pre The image has to be initialized and to own the point \p p.
- /// \post p == point_at_offset(result)
- ///
+ /*!
+ \brief Give the offset of the site \p p.
+
+ \param[in] p A site.
+
+ \warning This method is final.
+
+ \pre The image has to be initialized and to own the point \p p.
+ \post p == point_at_offset(result)
+ */
template <typename P>
unsigned
offset_of_point(const P& p) const;
diff --git a/milena/mln/core/internal/coord_impl.hh
b/milena/mln/core/internal/coord_impl.hh
index e3b8de3..069ecd2 100644
--- a/milena/mln/core/internal/coord_impl.hh
+++ b/milena/mln/core/internal/coord_impl.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2013 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -41,70 +42,91 @@ namespace mln
{
- /// coord_impl
+ // coord_impl
- /* Implementation class to equip generalized points with
- * explicit access to their coordinates.
- *
- */
+ /// \brief Implementation class to equip generalized points with
+ /// explicit access to their coordinates.
template <unsigned n, typename C, typename E>
struct coord_impl_;
+ /// \brief Specialization for 1D points.
template <typename C, typename E>
struct coord_impl_<1, C, E>
{
+ /// Index.
const C& ind() const;
- private:
- typedef coord_impl_<1, C, E> self_;
-
};
+ /// \brief Specialization for 2D points.
template <typename C, typename E>
struct coord_impl_<2, C, E>
{
+ /// Row index.
const C&row() const;
+ /// Column index.
const C&col() const;
};
+ /// \brief Specialization for 3D points.
template <typename C, typename E>
struct coord_impl_<3, C, E>
{
+ /// Slice index.
const C&sli() const;
+ /// Row index.
const C&row() const;
+ /// Col index.
const C&col() const;
};
// mutable_coord_impl
+ /// \brief Implementation class to equip generalized points with
+ /// explicit access to their coordinates.
template <unsigned n, typename C, typename E>
struct mutable_coord_impl_;
+ /// \brief Specialization for 1D points.
template <typename C, typename E>
struct mutable_coord_impl_<1, C, E>
{
+ /// Index.
const C& ind() const;
+ /// Index.
C& ind();
};
+ /// \brief Specialization for 2D points.
template <typename C, typename E>
struct mutable_coord_impl_<2, C, E>
{
+ /// Row index.
const C& row() const;
+ /// Row index.
C& row();
+ /// Column index.
const C& col() const;
+ /// Column index.
C& col();
};
+ /// \brief Specialization for 3D points.
template <typename C, typename E>
struct mutable_coord_impl_<3, C, E>
{
+ /// Slice index.
const C& sli() const;
+ /// Slice index.
C& sli();
+ /// Row index.
const C& row() const;
+ /// Row index.
C& row();
+ /// Column index.
const C& col() const;
+ /// Column index.
C& col();
};
diff --git a/milena/mln/core/internal/set_of.hh b/milena/mln/core/internal/set_of.hh
index f4d4bed..cdc599c 100644
--- a/milena/mln/core/internal/set_of.hh
+++ b/milena/mln/core/internal/set_of.hh
@@ -168,7 +168,7 @@ namespace mln
};
- /*! Print a set \p s into the output stream \p
+ /* Print a set \p s into the output stream \p
* ostr.
*
* \param[in,out] ostr An output stream.
diff --git a/milena/mln/data/compute_in_window.hh b/milena/mln/data/compute_in_window.hh
index 0ab1c84..0ddedb4 100644
--- a/milena/mln/data/compute_in_window.hh
+++ b/milena/mln/data/compute_in_window.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2011, 2012 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2011, 2012, 2013 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -49,6 +49,12 @@ namespace mln
/*! \brief Compute an accumulator for each image pixel values
* using neighbor pixel values.
*
+ * \param[in] a An accumulator.
+ * \param[in] input The input image.
+ * \param[in] win A window.
+ * \return An image with the accumulator results as value for each
+ * site.
+ *
* \ingroup mlnaccucompute
*/
template <typename A, typename I, typename W>
@@ -60,7 +66,9 @@ namespace mln
*
* \param[in] a A meta-accumulator.
* \param[in] input The input image.
- * \return The accumulator result.
+ * \param[in] win A window.
+ * \return An image with the accumulator results as value for each
+ * site.
*
* \ingroup mlnaccucompute
*/
diff --git a/milena/mln/debug/draw_graph.hh b/milena/mln/debug/draw_graph.hh
index abb8401..21cfcb4 100644
--- a/milena/mln/debug/draw_graph.hh
+++ b/milena/mln/debug/draw_graph.hh
@@ -71,12 +71,14 @@ namespace mln
/*! \brief Draw an image \p ima from a mln::p_vertices \p pv.
Colors for vertices are defined through \p vcolor_f_. Colors
- for edges are defined though \p ecolor_f_.
+ for edges are defined though \p ecolor_f_. Vertices are drawn
+ with squares of width \p vwidth.
\param[in,out] ima The image to be drawn.
\param[in] pv The p_vertices which contains vertices positions.
- \param[in] vcolor_f_ A function returning a color value for vertices.
- \param[in] ecolor_f_ A function returning a color value for edges.
+ \param[in] vcolor_f A function returning a color value for vertices.
+ \param[in] ecolor_f A function returning a color value for edges.
+ \param[in] vwidth Width of the squares representing the vertices.
\ingroup mlndebug
*/
@@ -104,8 +106,8 @@ namespace mln
\param[in,out] ima The image to be drawn.
\param[in] pv The p_vertices which contains vertices positions.
- \param[in] vcolor_f_ A function returning a color value for vertices.
- \param[in] ecolor_f_ A function returning a color value for edges.
+ \param[in] vcolor_f A function returning a color value for vertices.
+ \param[in] ecolor_f A function returning a color value for edges.
\ingroup mlndebug
*/
@@ -114,7 +116,7 @@ namespace mln
void
draw_graph(Image<I>& ima,
const p_vertices<util::line_graph<G>, F>& pv,
- const Function<V>& vcolor_f_, const Function<E>& ecolor_f_);
+ const Function<V>& vcolor_f, const Function<E>& ecolor_f);
# ifndef MLN_INCLUDE_ONLY
diff --git a/milena/mln/io/pdf/load.hh b/milena/mln/io/pdf/load.hh
index 63f5376..59b0736 100644
--- a/milena/mln/io/pdf/load.hh
+++ b/milena/mln/io/pdf/load.hh
@@ -45,80 +45,93 @@ namespace mln
namespace pdf
{
- /**! Load a multiple page PDF document using libpoppler.
+ /**! \brief Load a multiple page PDF document using libpoppler.
- \param[out] arr An array of images.
- \param[in] filename The name of the input file.
- \param[in] dpi Document resolution.
+ \param[out] arr An array of images.
+ \param[in] filename The name of the input file.
+ \param[in] dpi Document resolution.
- Page numbering starts from 0.
+ Page numbering starts from 0.
*/
template <typename I>
void load(util::array<I>& arr, const std::string& filename,
float dpi);
- /**! Load a range of pages from a PDF document using libpoppler.
+ /**! \overload
- \param[out] arr An array of images.
- \param[in] filename The name of the input file.
- \param[in] first_page First page number.
- \param[in] last_page Last page number.
- \param[in] dpi Document resolution.
+ \brief Load a range of pages from a PDF document using
+ libpoppler.
- Page numbering starts from 0.
+ \param[out] arr An array of images.
+ \param[in] filename The name of the input file.
+ \param[in] first_page First page number.
+ \param[in] last_page Last page number.
+ \param[in] dpi Document resolution.
+
+ Page numbering starts from 0.
*/
template <typename I>
void load(util::array<I>& arr, const std::string& filename,
int first_page, int last_page, float dpi);
- /**! Load specific pages from a PDF document using libpoppler.
+ /**! \overload
+
+ \brief Load specific pages from a PDF document using
+ libpoppler.
- \param[out] arr An array of images.
- \param[in] filename The name of the input file.
- \param[in] pages An array of pages numbers.
- \param[in] dpi Document resolution.
+ \param[out] arr An array of images.
+ \param[in] filename The name of the input file.
+ \param[in] pages An array of pages numbers.
+ \param[in] dpi Document resolution.
- Page numbering starts from 0.
+ Page numbering starts from 0.
*/
template <typename I>
void load(util::array<I>& arr, const std::string& filename,
util::array<int> pages, float dpi);
- /**! Load a specific page from a PDF document using libpoppler.
+ /**! \overload
+
+ \brief Load a specific page from a PDF document using
+ libpoppler.
- \param[out] ima An image.
- \param[in] filename The name of the input file.
- \param[in] page The page number.
- \param[in] dpi Document resolution.
+ \param[out] ima An image.
+ \param[in] filename The name of the input file.
+ \param[in] page The page number.
+ \param[in] dpi Document resolution.
- Page numbering starts from 0.
+ Page numbering starts from 0.
*/
template <typename I>
void load(Image<I>& ima, const std::string& filename,
int page, float dpi);
- /**! \overload Load a multiple page PDF document using libpoppler.
+ /**! \overload
- \param[out] arr An array of images.
- \param[in] filename The name of the input file.
+ \brief Load a multiple page PDF document using libpoppler.
- DPI resolution is set to 300.
- Page numbering starts from 0.
+ \param[out] arr An array of images.
+ \param[in] filename The name of the input file.
+
+ DPI resolution is set to 300.
+ Page numbering starts from 0.
*/
template <typename I>
void load(util::array<I>& arr, const std::string& filename);
- /**! \overload Load specific pages from a PDF document using
- libpoppler.
+ /**! \overload
+
+ \brief Load specific pages from a PDF document using
+ libpoppler.
- \param[out] arr An array of images.
- \param[in] filename The name of the input file.
- \param[in] pages An array of pages numbers.
+ \param[out] arr An array of images.
+ \param[in] filename The name of the input file.
+ \param[in] pages An array of pages numbers.
- DPI resolution is set to 300.
- Page numbering starts from 0.
+ DPI resolution is set to 300.
+ Page numbering starts from 0.
*/
template <typename I>
void load(util::array<I>& arr, const std::string& filename,
diff --git a/milena/mln/linear/log.hh b/milena/mln/linear/log.hh
index 2e5e950..865f571 100644
--- a/milena/mln/linear/log.hh
+++ b/milena/mln/linear/log.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012, 2013 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -45,25 +45,45 @@ namespace mln
{
/*! \brief Laplacian of Gaussian.
+
+ LoG_5x5 (Cf. Sonka et al., pages 85-86).
+ This is also a "mexican hat".
+
\ingroup mlnlinear
*/
- /// \{
template <typename I>
mln_ch_convolve(I, int)
LoG_5x5(const Image<I>& input);
+ /*! \brief Laplacian of Gaussian.
+
+ LoG 7x7 (Cf. Russ, p. 250).
+
+ \ingroup mlnlinear
+ */
template <typename I>
mln_ch_convolve(I, int)
LoG_7x7(const Image<I>& input);
+ /*! \brief Laplacian of Gaussian.
+
+ LoG 13x13 (Cf. Russ, p. 250).
+
+ \ingroup mlnlinear
+ */
template <typename I>
mln_ch_convolve(I, int)
LoG_13x13(const Image<I>& input);
+ /*! \brief Laplacian of Gaussian.
+
+ LoG 17x17 (Cf. Sonka et al., pages 85-86).
+
+ \ingroup mlnlinear
+ */
template <typename I>
mln_ch_convolve(I, int)
LoG_17x17(const Image<I>& input);
- /// \}
# ifndef MLN_INCLUDE_ONLY
--
1.7.2.5