---
scribo/doc/Doxyfile.in | 10 +-
scribo/doc/groups.dox | 137 +++++++++++++++++++-
scribo/scribo/binarization/global_threshold.hh | 4 +-
.../binarization/internal/niblack_formula.hh | 5 +-
.../binarization/internal/sauvola_formula.hh | 5 +-
scribo/scribo/binarization/local_threshold.hh | 8 +-
scribo/scribo/binarization/niblack.hh | 13 +-
scribo/scribo/binarization/niblack_threshold.hh | 15 ++-
scribo/scribo/binarization/otsu.hh | 2 +
scribo/scribo/binarization/otsu_threshold.hh | 2 +
scribo/scribo/binarization/sauvola.hh | 22 ++-
scribo/scribo/binarization/sauvola_ms.hh | 12 +-
scribo/scribo/binarization/sauvola_ms_split.hh | 7 +-
scribo/scribo/binarization/sauvola_threshold.hh | 13 ++-
scribo/scribo/core/erase_objects.hh | 6 +-
scribo/scribo/debug/alignment_decision_image.hh | 13 +-
scribo/scribo/debug/bboxes_enlarged_image.hh | 8 +-
scribo/scribo/debug/bboxes_image.hh | 17 ++-
scribo/scribo/debug/char_space_image.hh | 5 +-
scribo/scribo/debug/decision_image.hh | 22 ++-
scribo/scribo/debug/highlight_text_area.hh | 12 +-
scribo/scribo/debug/line_info_image.hh | 4 +
scribo/scribo/debug/linked_bboxes_image.hh | 29 +++-
scribo/scribo/debug/links_decision_image.hh | 12 +-
scribo/scribo/debug/links_image.hh | 7 +-
scribo/scribo/debug/logger.hh | 9 +-
.../scribo/debug/looks_like_a_text_line_image.hh | 12 ++-
scribo/scribo/debug/mean_and_base_lines_image.hh | 8 +-
scribo/scribo/debug/save_comp_diff.hh | 31 +++--
scribo/scribo/debug/save_label_image.hh | 9 +-
scribo/scribo/debug/save_table_image.hh | 11 ++-
scribo/scribo/debug/text_areas_image.hh | 4 +-
scribo/scribo/debug/text_color_image.hh | 4 +
scribo/scribo/draw/bounding_box_links.hh | 38 +++---
scribo/scribo/filter/images_in_paragraph.hh | 14 +--
scribo/scribo/filter/line_links_x_height.hh | 9 ++
scribo/scribo/filter/object_groups_mean_width.hh | 1 +
scribo/scribo/filter/object_groups_size_ratio.hh | 16 +++
scribo/scribo/filter/object_groups_small.hh | 9 +-
scribo/scribo/filter/object_groups_with_holes.hh | 13 ++-
scribo/scribo/filter/object_links_aligned.hh | 6 +-
scribo/scribo/filter/object_links_bbox_h_ratio.hh | 8 +-
scribo/scribo/filter/object_links_bbox_overlap.hh | 6 +-
scribo/scribo/filter/object_links_bbox_ratio.hh | 6 +-
scribo/scribo/filter/object_links_bbox_w_ratio.hh | 9 +-
.../scribo/filter/object_links_bottom_aligned.hh | 5 +-
.../scribo/filter/object_links_center_aligned.hh | 11 +-
scribo/scribo/filter/object_links_left_aligned.hh | 10 +-
.../filter/object_links_non_aligned_simple.hh | 4 +-
scribo/scribo/filter/object_links_right_aligned.hh | 5 +-
scribo/scribo/filter/object_links_top_aligned.hh | 8 +-
scribo/scribo/filter/objects_h_thick.hh | 4 +
scribo/scribo/filter/objects_h_thin.hh | 4 +
scribo/scribo/filter/objects_large.hh | 17 ++-
scribo/scribo/filter/objects_on_border.hh | 8 +-
scribo/scribo/filter/objects_size_ratio.hh | 6 +-
scribo/scribo/filter/objects_small.hh | 17 ++-
scribo/scribo/filter/objects_thick.hh | 14 ++-
scribo/scribo/filter/objects_thin.hh | 15 ++-
scribo/scribo/filter/objects_v_thick.hh | 12 ++-
scribo/scribo/filter/objects_v_thin.hh | 21 ++-
scribo/scribo/filter/objects_with_holes.hh | 26 ++++-
scribo/scribo/filter/paragraphs_bbox_overlap.hh | 11 +-
scribo/scribo/filter/paragraphs_in_borders.hh | 8 +-
scribo/scribo/filter/paragraphs_in_image.hh | 11 +-
scribo/scribo/filter/separators_in_borders.hh | 15 ++-
scribo/scribo/filter/separators_in_element.hh | 12 +-
scribo/scribo/filter/separators_in_paragraph.hh | 26 +++--
scribo/scribo/filter/separators_vert_in_borders.hh | 10 +-
scribo/scribo/fun/v2b/objects_on_border_filter.hh | 5 +-
.../postprocessing/images_to_drop_capital.hh | 10 +-
scribo/scribo/preprocessing/denoise.hh | 11 +-
scribo/scribo/preprocessing/denoise_bg.hh | 6 +-
scribo/scribo/preprocessing/denoise_fg.hh | 9 +-
scribo/scribo/preprocessing/deskew_crop.hh | 13 +-
.../scribo/preprocessing/homogeneous_contrast.hh | 4 +-
scribo/scribo/preprocessing/split_bg_fg.hh | 8 +-
scribo/scribo/primitive/extract/alignments.hh | 14 ++-
scribo/scribo/primitive/extract/cells.hh | 14 +-
scribo/scribo/primitive/extract/components.hh | 8 +-
scribo/scribo/primitive/extract/lines_h_single.hh | 22 ++--
.../primitive/extract/lines_h_thick_and_single.hh | 23 ++--
scribo/scribo/primitive/extract/lines_v_pattern.hh | 6 +-
scribo/scribo/primitive/extract/lines_v_single.hh | 22 ++--
.../primitive/extract/lines_v_thick_and_single.hh | 20 ++--
scribo/scribo/primitive/group/from_double_link.hh | 1 -
scribo/scribo/primitive/identify.hh | 2 +-
scribo/scribo/primitive/link/compute.hh | 6 +-
.../scribo/primitive/link/with_single_left_link.hh | 10 +-
.../with_single_left_link_dmax_ratio_aligned.hh | 10 +-
.../primitive/link/with_single_right_link.hh | 8 +-
.../link/with_single_right_link_bottom.hh | 10 +-
.../with_single_right_link_dmax_ratio_aligned.hh | 8 +-
.../primitive/link/with_single_right_link_top.hh | 6 +-
scribo/scribo/table/align_lines_horizontaly.hh | 9 +-
scribo/scribo/table/rebuild.hh | 20 ++--
scribo/scribo/text/extract_lines.hh | 10 +-
scribo/scribo/text/extract_lines_wo_merge.hh | 8 +-
scribo/scribo/text/recognition.hh | 15 ++-
scribo/scribo/toolchain/content_in_doc.hh | 23 +++-
scribo/scribo/toolchain/content_in_hdoc.hh | 21 +++-
.../toolchain/internal/content_in_doc_functor.hh | 6 +
.../toolchain/internal/content_in_hdoc_functor.hh | 9 ++
.../toolchain/internal/text_in_doc_functor.hh | 6 +
.../internal/text_in_doc_preprocess_functor.hh | 5 +
.../toolchain/internal/text_in_picture_functor.hh | 4 +-
.../scribo/toolchain/internal/toolchain_functor.hh | 5 +
scribo/scribo/toolchain/nepomuk/text_extraction.hh | 6 +-
scribo/scribo/toolchain/text_in_doc.hh | 22 +++-
scribo/scribo/toolchain/text_in_doc_preprocess.hh | 14 ++
scribo/scribo/toolchain/text_in_picture.hh | 21 +++-
111 files changed, 971 insertions(+), 382 deletions(-)
diff --git a/scribo/doc/Doxyfile.in b/scribo/doc/Doxyfile.in
index 7ad639f..a6d8c3e 100644
--- a/scribo/doc/Doxyfile.in
+++ b/scribo/doc/Doxyfile.in
@@ -49,6 +49,7 @@ DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
INLINE_GROUPED_CLASSES = NO
SORT_GROUP_NAMES = YES
+TYPEDEF_HIDES_STRUCT = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
@@ -85,7 +86,7 @@ FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
QUIET = YES
WARNINGS = YES
-WARN_IF_UNDOCUMENTED = YES
+WARN_IF_UNDOCUMENTED = NO
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
@@ -107,7 +108,7 @@ EXCLUDE = @top_srcdir@/scribo/demo \
@top_srcdir@/scribo/tests/unit_test
EXCLUDE_SYMLINKS = YES
EXCLUDE_PATTERNS = *spe.hh
-EXCLUDE_SYMBOLS = *::internal* *_ mln::trait::*
+EXCLUDE_SYMBOLS = *_ mln::trait::*
EXAMPLE_PATH = @top_srcdir@/scribo/doc/examples \
@top_srcdir@/scribo/doc/outputs \
@top_srcdir@/scribo/doc/examples/split \
@@ -260,7 +261,6 @@ PREDEFINED = "for_all(x)=for(x.start(); x.is_valid(); x.next())" \
"mln_trait_op_plus(L, R)=typename mln::trait::op::plus< L , R >::ret" \
"mln_trait_op_times(L, R)=typename mln::trait::op::times< L , R >::ret" \
"mln_trait_op_uminus(T)=typename mln::trait::op::uminus< T >::ret" \
- "mln_ch_value(I, V)=typename mln::trait::ch_value< I, V >::ret" \
"mlc_unqualif_(T)=mln::metal::unqualif<T>::ret" \
"mln_piter_(T)=T::piter" \
"mln_fwd_piter_(T)=T::fwd_piter" \
@@ -295,8 +295,8 @@ PREDEFINED = "for_all(x)=for(x.start(); x.is_valid(); x.next())" \
"mln_trait_op_div_(L, R)=mln::trait::op::div< L , R >::ret" \
"mln_trait_op_mod_(L, R)=mln::trait::op::mod< L , R >::ret" \
"mln_trait_op_uminus_(T)=mln::trait::op::uminus< T >::ret" \
- "mln_ch_value_(I, V)=typename mln::trait::ch_value< I, V >::ret" \
- "mln_ch_value(I, V)_=mln::trait::ch_value< I, V >::ret" \
+ "mln_ch_value_(I, V)=mln::trait::ch_value< I, V >::ret" \
+ "mln_ch_value(I, V)=typename mln::trait::ch_value< I, V >::ret" \
"mln_morpher_lvalue(I)=typename internal::morpher_lvalue_<I>::ret" \
"mln_concrete(I)=typename mln::trait::concrete< I >::ret" \
"mln_concrete_ch_value(I, V)=typename mln::trait::ch_value< typename mln::trait::concrete< I >::ret, V >::ret" \
diff --git a/scribo/doc/groups.dox b/scribo/doc/groups.dox
index 73d842e..f3db20b 100644
--- a/scribo/doc/groups.dox
+++ b/scribo/doc/groups.dox
@@ -4,7 +4,6 @@
*
*/
-
/*! \defgroup grproutine Routines
*
* \brief All routines/algorithms provided in Scribo.
@@ -12,8 +11,144 @@
*/
+
/*! \defgroup grpalgobin Binarization
*
* \brief Binarization algorithms.
*
+ * \ingroup grproutine
+ */
+
+/*! \defgroup grpalgobinsauvola Sauvola
+ *
+ * \brief Sauvola's Binarization implementations.
+ *
+ * \ingroup grpalgobin
+ */
+
+/*! \defgroup grpalgobinniblack Niblack
+ *
+ * \brief Niblack's Binarization implementations.
+ *
+ * \ingroup grpalgobin
+ */
+
+/*! \defgroup grpalgobinotsu Otsu
+ *
+ * \brief Otsu's Binarization implementations.
+ *
+ * \ingroup grpalgobin
+ */
+
+
+/*! \defgroup grpalgodebug Debug
+ *
+ * \brief Debug routines.
+ *
+ * \ingroup grproutine
+ */
+
+
+
+/*! \defgroup grpalgofilter Element Filtering
+ *
+ * \brief Element filtering routines.
+ *
+ * \ingroup grproutine
+ */
+
+/*! \defgroup grpalgofiltercomp Components
+ *
+ * \brief Component filtering routines.
+ *
+ * \ingroup grpalgofilter
+ */
+
+/*! \defgroup grpalgofiltercomplink Component Links
+ *
+ * \brief Component links filtering routines.
+ *
+ * \ingroup grpalgofilter
+ */
+
+/*! \defgroup grpalgofiltercompgroup Component Groups
+ *
+ * \brief Component groups filtering routines.
+ *
+ * \ingroup grpalgofilter
+ */
+
+/*! \defgroup grpalgofilterlinelink Line Links
+ *
+ * \brief Line links filtering routines.
+ *
+ * \ingroup grpalgofilter
+ */
+
+/*! \defgroup grpalgofilterpar Paragraphs
+ *
+ * \brief Paragraphs filtering routines.
+ *
+ * \ingroup grpalgofilter
+ */
+
+/*! \defgroup grpalgofilterelt Elements
+ *
+ * \brief Elements filtering routines.
+ *
+ * \ingroup grpalgofilter
+ */
+
+
+
+
+/*! \defgroup grptoolchain Toolchains
+ *
+ * \brief Full toolchains performing content analysis and extraction.
+ *
+ * \ingroup grproutine
+ */
+
+/*! \defgroup grptoolchainpic Pictures
+ *
+ * \brief Full toolchains performing content analysis and extraction
+ * in pictures.
+ *
+ * \ingroup grptoolchain
+ */
+
+/*! \defgroup grptoolchaindoc Documents
+ *
+ * \brief Full toolchains performing content analysis and extraction
+ * in document images.
+ *
+ * \ingroup grptoolchain
+ */
+
+/*! \defgroup grptoolchainpicpreproc Preprocessing
+ *
+ * \brief Classical preprocessing toolchains for pictures.
+ *
+ * \ingroup grptoolchainpic
+ */
+
+/*! \defgroup grptoolchaindocpreproc Preprocessing
+ *
+ * \brief Classical preprocessing toolchains for document image.
+ *
+ * \ingroup grptoolchaindoc
+ */
+
+/*! \defgroup grptoolchainpicproc Processing
+ *
+ * \brief Classical processing toolchains for pictures.
+ *
+ * \ingroup grptoolchainpic
+ */
+
+/*! \defgroup grptoolchaindocproc Processing
+ *
+ * \brief Classical processing toolchains for document image.
+ *
+ * \ingroup grptoolchaindoc
*/
diff --git a/scribo/scribo/binarization/global_threshold.hh b/scribo/scribo/binarization/global_threshold.hh
index b90d6df..2633331 100644
--- a/scribo/scribo/binarization/global_threshold.hh
+++ b/scribo/scribo/binarization/global_threshold.hh
@@ -55,8 +55,8 @@ namespace scribo
///
/// output(p) = input(p) >= threshold
///
- /// \input[in] input A grayscale image.
- /// \input[in] threshold A value.
+ /// \param[in] input A grayscale image.
+ /// \param[in] threshold A value.
///
/// \return A boolean image.
//
diff --git a/scribo/scribo/binarization/internal/niblack_formula.hh b/scribo/scribo/binarization/internal/niblack_formula.hh
index 54dbc9b..81432ae 100644
--- a/scribo/scribo/binarization/internal/niblack_formula.hh
+++ b/scribo/scribo/binarization/internal/niblack_formula.hh
@@ -56,7 +56,7 @@ namespace scribo
\param[in] m_x_y Mean value.
\param[in] s_x_y Standard deviation.
- \param[in] k Control the threshold value in the local
+ \param[in] K Control the threshold value in the local
window. The higher, the lower the threshold
form the local mean m(x, y).
\param[in] R Maximum value of the standard deviation (128
@@ -68,7 +68,8 @@ namespace scribo
const double K, const double R) const;
/*!
- \overload K = 0.34.
+ \overload
+ K is set to 0.34.
*/
double operator()(const double m_x_y, const double s_x_y) const;
diff --git a/scribo/scribo/binarization/internal/sauvola_formula.hh b/scribo/scribo/binarization/internal/sauvola_formula.hh
index adbef13..6eb49a0 100644
--- a/scribo/scribo/binarization/internal/sauvola_formula.hh
+++ b/scribo/scribo/binarization/internal/sauvola_formula.hh
@@ -62,7 +62,7 @@ namespace scribo
\param[in] m_x_y Mean value.
\param[in] s_x_y Standard deviation.
- \param[in] k Control the threshold value in the local
+ \param[in] K Controls the threshold value in the local
window. The higher, the lower the threshold
form the local mean m(x, y).
\param[in] R Maximum value of the standard deviation (128
@@ -74,7 +74,8 @@ namespace scribo
const double K, const double R) const;
/*!
- \overload K = 0.34 and R = 128.
+ \overload
+ K is set to 0.34 and R to 128.
*/
double operator()(const double m_x_y, const double s_x_y) const;
diff --git a/scribo/scribo/binarization/local_threshold.hh b/scribo/scribo/binarization/local_threshold.hh
index 9d116ed..8ac3276 100644
--- a/scribo/scribo/binarization/local_threshold.hh
+++ b/scribo/scribo/binarization/local_threshold.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -53,8 +53,8 @@ namespace scribo
///
/// \pre input.domain() == threshold.domain()
///
- /// \input[in] input A grayscale image.
- /// \input[in] threshold A grayscale image.
+ /// \param[in] input A grayscale image.
+ /// \param[in] threshold A grayscale image.
///
/// \return A boolean image.
//
diff --git a/scribo/scribo/binarization/niblack.hh b/scribo/scribo/binarization/niblack.hh
index e66e7b4..cc78808 100644
--- a/scribo/scribo/binarization/niblack.hh
+++ b/scribo/scribo/binarization/niblack.hh
@@ -55,12 +55,13 @@ namespace scribo
/*! \brief Convert an image into a binary image.
- \input[in] input An image.
- \input[in] window_size The window size.
- \input[in] K Niblack's formulae constant.
+ \param[in] input An image.
+ \param[in] window_size The window size.
+ \param[in] K Niblack's formulae constant.
\return A binary image.
+ \ingroup grpalgobinniblack
*/
template <typename I>
mln_ch_value(I, bool)
@@ -72,11 +73,12 @@ namespace scribo
Niblack's formulae constant K is set to 0.34.
- \input[in] input An image.
- \input[in] window_size The window size.
+ \param[in] input An image.
+ \param[in] window_size The window size.
\return A binary image.
+ \ingroup grpalgobinniblack
*/
template <typename I>
mln_ch_value(I, bool)
@@ -85,6 +87,7 @@ namespace scribo
/// \overload
/// The window size is set to 11.
+ /// \ingroup grpalgobinniblack
//
template <typename I>
mln_ch_value(I, bool)
diff --git a/scribo/scribo/binarization/niblack_threshold.hh b/scribo/scribo/binarization/niblack_threshold.hh
index db4a74e..d9829f4 100644
--- a/scribo/scribo/binarization/niblack_threshold.hh
+++ b/scribo/scribo/binarization/niblack_threshold.hh
@@ -56,14 +56,16 @@ namespace scribo
/*! \brief Compute an image of local threshold using Niblack algorithm.
- \input[in] input A gray level image.
- \input[in] window_size The window size.
- \input[out] simple The sum of all intensities of \p input.
- \input[out] squared The sum of all squared intensities of \p
+ \param[in] input A gray level image.
+ \param[in] window_size The window size.
+ \param[in] K Controls the threshold value in the local window.
+ \param[out] simple The sum of all intensities of \p input.
+ \param[out] squared The sum of all squared intensities of \p
input.
\return An image of local thresholds.
+ \ingroup grpalgobinniblack
*/
template <typename I, typename J>
mln_ch_value(I, value::int_u8)
@@ -73,6 +75,8 @@ namespace scribo
Image<J>& squared);
/// \overload
+ /// \ingroup grpalgobinniblack
+ //
template <typename I>
mln_ch_value(I, value::int_u8)
niblack_threshold(const Image<I>& input, unsigned window_size,
@@ -80,6 +84,8 @@ namespace scribo
/// \overload
/// K is set to 0.34
+ /// \ingroup grpalgobinniblack
+ //
template <typename I>
mln_ch_value(I, value::int_u8)
niblack_threshold(const Image<I>& input, unsigned window_size);
@@ -87,6 +93,7 @@ namespace scribo
/// \overload
/// The window size is set to 11.
+ /// \ingroup grpalgobinniblack
//
template <typename I>
mln_ch_value(I, value::int_u8)
diff --git a/scribo/scribo/binarization/otsu.hh b/scribo/scribo/binarization/otsu.hh
index 6b9d492..2b8e97a 100644
--- a/scribo/scribo/binarization/otsu.hh
+++ b/scribo/scribo/binarization/otsu.hh
@@ -48,6 +48,8 @@ namespace scribo
\return A binary image. True for foreground, False for
background.
+
+ \ingroup grpalgobinotsu
*/
template <typename I>
mln_ch_value(I,bool)
diff --git a/scribo/scribo/binarization/otsu_threshold.hh b/scribo/scribo/binarization/otsu_threshold.hh
index ab663d0..7ba458f 100644
--- a/scribo/scribo/binarization/otsu_threshold.hh
+++ b/scribo/scribo/binarization/otsu_threshold.hh
@@ -49,6 +49,8 @@ namespace scribo
\param[in] input A gray-scale image.
\return A global threshold value.
+
+ \ingroup grpalgobinotsu
*/
template <typename I>
mln_value(I)
diff --git a/scribo/scribo/binarization/sauvola.hh b/scribo/scribo/binarization/sauvola.hh
index fc3e104..35757d6 100644
--- a/scribo/scribo/binarization/sauvola.hh
+++ b/scribo/scribo/binarization/sauvola.hh
@@ -56,12 +56,13 @@ namespace scribo
/*! \brief Convert an image into a binary image.
- \input[in] input An image.
- \input[in] window_size The window size.
- \input[in] K Sauvola's formulae constant.
+ \param[in] input An image.
+ \param[in] window_size The window size.
+ \param[in] K Sauvola's formulae constant.
\return A binary image.
+ \ingroup grpalgobinsauvola
*/
template <typename I>
mln_ch_value(I, bool)
@@ -71,22 +72,27 @@ namespace scribo
/*! \brief Convert an image into a binary image.
+ \overload
+
Sauvola's formulae constant K is set to 0.34.
- \input[in] input An image.
- \input[in] window_size The window size.
+ \param[in] input An image.
+ \param[in] window_size The window size.
\return A binary image.
+ \ingroup grpalgobinsauvola
*/
template <typename I>
mln_ch_value(I, bool)
sauvola(const Image<I>& input, unsigned window_size);
- /// \overload
- /// The window size is set to 11.
- //
+ /*! \overload
+ The window size is set to 11.
+
+ \ingroup grpalgobinsauvola
+ */
template <typename I>
mln_ch_value(I, bool)
sauvola(const Image<I>& input);
diff --git a/scribo/scribo/binarization/sauvola_ms.hh b/scribo/scribo/binarization/sauvola_ms.hh
index 36629f9..c06cea8 100644
--- a/scribo/scribo/binarization/sauvola_ms.hh
+++ b/scribo/scribo/binarization/sauvola_ms.hh
@@ -88,21 +88,23 @@ namespace scribo
\param[in] input_1 A grayscale or a color image.
\param[in] w_1 The window size used to compute stats.
\param[in] s The scale factor used for the first subscaling.
- \param[in] lambda_min_1 Size of the objects kept at scale 1.
\param[in] K Sauvola's formulae parameter.
-
- \p w_1 and \p lambda_min_1 are expressed according to the image
- at scale 0, i.e. the original size.
+ \p w_1 is expressed according to the image at scale 0, i.e. the
+ original size.
\return A Boolean image.
+
+ \ingroup grpalgobinsauvola
*/
template <typename I>
mln_ch_value(I,bool)
- sauvola_ms(const Image<I>& input_1_, unsigned w_1, unsigned s, double K);
+ sauvola_ms(const Image<I>& input_1, unsigned w_1, unsigned s, double K);
/// \overload
/// K is set to 0.34.
+ ///
+ /// \ingroup grpalgobinsauvola
//
template <typename I>
mln_ch_value(I,bool)
diff --git a/scribo/scribo/binarization/sauvola_ms_split.hh b/scribo/scribo/binarization/sauvola_ms_split.hh
index ac06a39..a3ab660 100644
--- a/scribo/scribo/binarization/sauvola_ms_split.hh
+++ b/scribo/scribo/binarization/sauvola_ms_split.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2010 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2010, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -66,6 +67,8 @@ namespace scribo
original size.
\return A Boolean image.
+
+ \ingroup grpalgobinsauvola
*/
template <typename I>
mln_ch_value(I, bool)
@@ -76,6 +79,8 @@ namespace scribo
/// \overload
/// K is set to 0.34.
+ /// \ingroup grpalgobinsauvola
+ //
template <typename I>
mln_ch_value(I, bool)
sauvola_ms_split(const Image<I>& input_1_, unsigned w_1,
diff --git a/scribo/scribo/binarization/sauvola_threshold.hh b/scribo/scribo/binarization/sauvola_threshold.hh
index df46e95..41d70f7 100644
--- a/scribo/scribo/binarization/sauvola_threshold.hh
+++ b/scribo/scribo/binarization/sauvola_threshold.hh
@@ -56,14 +56,16 @@ namespace scribo
/*! \brief Compute an image of local threshold using Sauvola algorithm.
- \input[in] input A gray level image.
- \input[in] window_size The window size.
- \input[out] simple The sum of all intensities of \p input.
- \input[out] squared The sum of all squared intensities of \p
+ \param[in] input A gray level image.
+ \param[in] window_size The window size.
+ \param[in] K Controls the threshold value in the local window.
+ \param[out] simple The sum of all intensities of \p input.
+ \param[out] squared The sum of all squared intensities of \p
input.
\return An image of local thresholds.
+ \ingroup grpalgobinsauvola
*/
template <typename I, typename J>
mln_ch_value(I, value::int_u8)
@@ -73,6 +75,7 @@ namespace scribo
Image<J>& squared);
/// \overload
+ /// \ingroup grpalgobinsauvola
template <typename I>
mln_ch_value(I, value::int_u8)
sauvola_threshold(const Image<I>& input, unsigned window_size,
@@ -80,6 +83,7 @@ namespace scribo
/// \overload
/// K is set to 0.34
+ /// \ingroup grpalgobinsauvola
template <typename I>
mln_ch_value(I, value::int_u8)
sauvola_threshold(const Image<I>& input, unsigned window_size);
@@ -87,6 +91,7 @@ namespace scribo
/// \overload
/// The window size is set to 11.
+ /// \ingroup grpalgobinsauvola
//
template <typename I>
mln_ch_value(I, value::int_u8)
diff --git a/scribo/scribo/core/erase_objects.hh b/scribo/scribo/core/erase_objects.hh
index 931024e..78fd293 100644
--- a/scribo/scribo/core/erase_objects.hh
+++ b/scribo/scribo/core/erase_objects.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -47,7 +47,7 @@ namespace scribo
/// Remove labeled components from a binary image.
///
- /// \param[in,out] input_ A binary image.
+ /// \param[in,out] input A binary image.
/// \param[in] comps A set of components to be erased.
///
//
diff --git a/scribo/scribo/debug/alignment_decision_image.hh b/scribo/scribo/debug/alignment_decision_image.hh
index 450091d..cc7937b 100644
--- a/scribo/scribo/debug/alignment_decision_image.hh
+++ b/scribo/scribo/debug/alignment_decision_image.hh
@@ -55,18 +55,21 @@ namespace scribo
/*! \brief Save a color image showing the difference between to
object links.
- \input[in] input An image. It's value type must be convertible
+ \param[in] input An image. It's value type must be convertible
towards rgb8.
- \input[in] links Object links information.
- \input[in] filtered_links A copy of \p links which have been
+ \param[in] links Object links information.
+ \param[in] filtered_links A copy of \p links which have been
filtered.
+ \param[in] anchor Anchor from where the links are drawn.
\return A color image. Non filtered links are drawn in
green. Others are drawn in red.
- */
+
+ \ingroup grpalgodebug
+ */
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
- alignment_decision_image(const Image<I>& input_,
+ alignment_decision_image(const Image<I>& input,
const object_links<L>& links,
const object_links<L>& filtered_links,
const anchor::Type& anchor);
diff --git a/scribo/scribo/debug/bboxes_enlarged_image.hh b/scribo/scribo/debug/bboxes_enlarged_image.hh
index 24fea2f..01afd2c 100644
--- a/scribo/scribo/debug/bboxes_enlarged_image.hh
+++ b/scribo/scribo/debug/bboxes_enlarged_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2010 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2010, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -70,6 +71,8 @@ namespace scribo
/// a text line.
///
/// \return A color image.
+ ///
+ /// \ingroup grpalgodebug
//
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
@@ -81,6 +84,9 @@ namespace scribo
/// \overload
/// text_value is set to literal::green.
/// non_text_value is set to literal::red.
+ ///
+ /// \ingroup grpalgodebug
+ //
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
bboxes_enlarged_image(const Image<I>& input,
diff --git a/scribo/scribo/debug/bboxes_image.hh b/scribo/scribo/debug/bboxes_image.hh
index d3dc64b..1b2ee4f 100644
--- a/scribo/scribo/debug/bboxes_image.hh
+++ b/scribo/scribo/debug/bboxes_image.hh
@@ -51,14 +51,20 @@ namespace scribo
using namespace mln;
- /// Draw a list of bounding boxes
+ /// \brief Draw a list of bounding boxes
+ ///
+ /// \ingroup grpalgodebug
+ //
template <typename I>
mln_ch_value(I, value::rgb8)
bboxes_image(const Image<I>& input,
const mln::util::array< box<mln_site(I)> >& bboxes,
const value::rgb8& value);
-
+ /// \overload
+ ///
+ /// \ingroup grpalgodebug
+ //
template <typename I, typename L>
mln_ch_value(I, value::rgb8)
bboxes_image(const Image<I>& input,
@@ -67,6 +73,8 @@ namespace scribo
/// \overload
/// value is set to literal::red.
+ ///
+ /// \ingroup grpalgodebug
//
template <typename I, typename L>
inline
@@ -74,7 +82,10 @@ namespace scribo
bboxes_image(const Image<I>& input,
const line_set<L>& lines);
- /// \overload.
+ /// \overload
+ ///
+ /// \ingroup grpalgodebug
+ //
template <typename I, typename L>
inline
mln_ch_value(I, value::rgb8)
diff --git a/scribo/scribo/debug/char_space_image.hh b/scribo/scribo/debug/char_space_image.hh
index 53fc303..ffb2e82 100644
--- a/scribo/scribo/debug/char_space_image.hh
+++ b/scribo/scribo/debug/char_space_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2010 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2010, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -53,6 +54,8 @@ namespace scribo
/// \brief Draw inter character space.
+ ///
+ /// \ingroup grpalgodebug
//
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
diff --git a/scribo/scribo/debug/decision_image.hh b/scribo/scribo/debug/decision_image.hh
index ff298e6..9857c66 100644
--- a/scribo/scribo/debug/decision_image.hh
+++ b/scribo/scribo/debug/decision_image.hh
@@ -56,19 +56,22 @@ namespace scribo
/*! \brief Save a color image showing the difference between to
object groups.
- \input[in] input An image. It's value type must be convertible
+ \param[in] input An image. It's value type must be convertible
towards rgb8.
- \input[in] groups Object groups information.
- \input[in] filtered_groups A copy of \p groups which have been
+ \param[in] groups Object groups information.
+ \param[in] filtered_groups A copy of \p groups which have been
filtered.
+ \param[in] anchor Anchor from where the links are drawn.
\return A color image. Components part of a validated group are
drawn in green with their bounding box. Otherwise,
they are drawn in red.
+
+ \ingroup grpalgodebug
*/
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
- decision_image(const Image<I>& input_,
+ decision_image(const Image<I>& input,
const object_groups<L>& groups,
const object_groups<L>& filtered_groups,
anchor::Type anchor);
@@ -76,18 +79,21 @@ namespace scribo
/*! \brief Save a color image showing the difference between to
object links.
- \input[in] input An image. It's value type must be convertible
+ \param[in] input An image. It's value type must be convertible
towards rgb8.
- \input[in] links Object links information.
- \input[in] filtered_links A copy of \p links which have been
+ \param[in] links Object links information.
+ \param[in] filtered_links A copy of \p links which have been
filtered.
+ \param[in] anchor Anchor from where the links are drawn.
\return A color image. Non filtered links are drawn in
green. Others are drawn in red.
+
+ \ingroup grpalgodebug
*/
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
- decision_image(const Image<I>& input_,
+ decision_image(const Image<I>& input,
const object_links<L>& links,
const object_links<L>& filtered_links,
anchor::Type anchor);
diff --git a/scribo/scribo/debug/highlight_text_area.hh b/scribo/scribo/debug/highlight_text_area.hh
index 5fc9329..2a7ed8a 100644
--- a/scribo/scribo/debug/highlight_text_area.hh
+++ b/scribo/scribo/debug/highlight_text_area.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2010 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2010, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -62,10 +63,11 @@ namespace scribo
\return a color image with highlighted text areas.
+ \ingroup grpalgodebug
*/
template <typename I>
mln_ch_value(I, value::rgb8)
- highlight_text_area(const Image<I>& input_,
+ highlight_text_area(const Image<I>& input,
const mln::util::array<box<mln_site(I)> >& bbox);
@@ -76,10 +78,11 @@ namespace scribo
\return a color image with highlighted text areas.
+ \ingroup grpalgodebug
*/
template <typename I, typename L>
mln_ch_value(I, value::rgb8)
- highlight_text_area(const Image<I>& input_,
+ highlight_text_area(const Image<I>& input,
const line_set<L>& lines);
/*! \brief Darken an image and highlight valid lines.
@@ -92,10 +95,11 @@ namespace scribo
\return a color image with highlighted text areas.
+ \ingroup grpalgodebug
*/
template <typename I, typename L>
mln_ch_value(I, value::rgb8)
- highlight_text_area(const Image<I>& input_,
+ highlight_text_area(const Image<I>& input,
const scribo::component_set<L>& components);
diff --git a/scribo/scribo/debug/line_info_image.hh b/scribo/scribo/debug/line_info_image.hh
index f3d7ddf..ff277ef 100644
--- a/scribo/scribo/debug/line_info_image.hh
+++ b/scribo/scribo/debug/line_info_image.hh
@@ -53,6 +53,10 @@ namespace scribo
using namespace mln;
+ /*! \brief Draw typographic information from lines.
+
+ \ingroup grpalgodebug
+ */
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
line_info_image(const Image<I>& input, const line_set<L>& line);
diff --git a/scribo/scribo/debug/linked_bboxes_image.hh b/scribo/scribo/debug/linked_bboxes_image.hh
index 2373405..1b502b0 100644
--- a/scribo/scribo/debug/linked_bboxes_image.hh
+++ b/scribo/scribo/debug/linked_bboxes_image.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -29,7 +29,7 @@
/// \file
///
-/// Compute the bounding box links image.
+/// \brief Compute the bounding box links image.
# include <mln/core/concept/image.hh>
# include <mln/core/concept/graph.hh>
@@ -59,10 +59,12 @@ namespace scribo
/// Compute the line of components links image.
///
/// \param[in,out] input The binary from where the components are extracted.
- /// \param[in] link_array Lines of components links.
+ /// \param[in] array Components links.
/// \param[in] box_value Value used to draw line bounding boxes.
/// \param[in] link_value Value used to draw line links.
/// \param[in] anchor Anchor from where the links are drawn.
+ ///
+ /// \ingroup grpalgodebug
//
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
@@ -74,6 +76,8 @@ namespace scribo
/// \overload
/// The default anchor type is set to anchor::Center.
+ ///
+ /// \ingroup grpalgodebug
//
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
@@ -85,10 +89,13 @@ namespace scribo
/// Compute the line of components left and right links image.
///
/// \param[in,out] input The binary from where the components are extracted.
- /// \param[in] left_link Lines of components left links.
- /// \param[in] right_link Lines of components right links.
+ /// \param[in] left_link Components left links.
+ /// \param[in] right_link Components right links.
/// \param[in] box_value Value used to draw line bounding boxes.
/// \param[in] link_value Value used to draw line links.
+ /// \param[in] anchor Anchor from where the links are drawn.
+ ///
+ /// \ingroup grpalgodebug
//
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
@@ -103,12 +110,15 @@ namespace scribo
/// Draw also validated links.
///
/// \param[in,out] input The binary from where the components are extracted.
- /// \param[in] left_link Lines of components left links.
- /// \param[in] right_link Lines of components right links.
+ /// \param[in] left_link Components left links.
+ /// \param[in] right_link Components right links.
/// \param[in] box_value Value used to draw line bounding boxes.
/// \param[in] left_link_value Value used to draw line left links.
/// \param[in] right_link_value Value used to draw line left links.
/// \param[in] validated_link_value Value used to draw line validated links.
+ /// \param[in] anchor Anchor from where the links are drawn.
+ ///
+ /// \ingroup grpalgodebug
//
template <typename I, typename L>
inline
@@ -129,6 +139,9 @@ namespace scribo
/// \param[in] g The link graph.
/// \param[in] box_value Value used to draw line bounding boxes.
/// \param[in] link_value Value used to draw line links.
+ /// \param[in] anchor Anchor from where the links are drawn.
+ ///
+ /// \ingroup grpalgodebug
//
template <typename I, typename L, typename G>
mln_ch_value(I,value::rgb8)
diff --git a/scribo/scribo/debug/links_decision_image.hh b/scribo/scribo/debug/links_decision_image.hh
index 387cd7f..f62eca4 100644
--- a/scribo/scribo/debug/links_decision_image.hh
+++ b/scribo/scribo/debug/links_decision_image.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -29,7 +29,7 @@
/// \file
///
-/// Save a color image showing the difference between to object groups.
+/// \brief Save a color image showing the difference between to object groups.
# include <mln/core/concept/image.hh>
# include <mln/data/convert.hh>
@@ -49,7 +49,11 @@ namespace scribo
using namespace mln;
- /// FIXME: DOC!
+ /*! \brief Save a color image showing the difference between to
+ object groups.
+
+ \ingroup grpalgodebug
+ */
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
links_decision_image(const Image<I>& input_,
diff --git a/scribo/scribo/debug/links_image.hh b/scribo/scribo/debug/links_image.hh
index 47394be..ec747f6 100644
--- a/scribo/scribo/debug/links_image.hh
+++ b/scribo/scribo/debug/links_image.hh
@@ -28,7 +28,7 @@
/// \file
///
-/// Save a color image showing components links.
+/// \brief Save a color image showing components links.
# include <mln/core/concept/image.hh>
# include <mln/accu/center.hh>
@@ -50,7 +50,10 @@ namespace scribo
using namespace mln;
- /// FIXME: DOC!
+ /*! \brief Save a color image showing components links.
+
+ \ingroup grpalgodebug
+ */
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
links_image(const Image<I>& input_,
diff --git a/scribo/scribo/debug/logger.hh b/scribo/scribo/debug/logger.hh
index f16dd89..ef5fd74 100644
--- a/scribo/scribo/debug/logger.hh
+++ b/scribo/scribo/debug/logger.hh
@@ -27,6 +27,10 @@
#ifndef SCRIBO_CORE_LOGGER_HH
# define SCRIBO_CORE_LOGGER_HH
+/// \file
+///
+/// \brief Logger class used to save debug images.
+
# include <mln/core/concept/image.hh>
# include <mln/data/wrap.hh>
# include <mln/value/int_u8.hh>
@@ -115,7 +119,10 @@ namespace scribo
} // end of namespace scribo::debug::internal
- // Return a reference to the logger.
+ /*! \brief Return a reference to the logger.
+
+ \ingroup grpalgodebug
+ */
scribo::debug::internal::logger_& logger();
diff --git a/scribo/scribo/debug/looks_like_a_text_line_image.hh b/scribo/scribo/debug/looks_like_a_text_line_image.hh
index 376baae..5bfe61e 100644
--- a/scribo/scribo/debug/looks_like_a_text_line_image.hh
+++ b/scribo/scribo/debug/looks_like_a_text_line_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2010 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2010, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -28,8 +29,8 @@
/// \file
///
-/// Compute an image where components are drawn differently whether
-/// they look like a line or not.
+/// \brief Compute an image where components are drawn differently
+/// whether they look like a line or not.
# include <mln/core/concept/image.hh>
@@ -64,6 +65,8 @@ namespace scribo
/// a text line.
///
/// \return A color image.
+ ///
+ /// \ingroup grpalgodebug
//
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
@@ -75,6 +78,9 @@ namespace scribo
/// \overload
/// text_value is set to literal::green.
/// non_text_value is set to literal::red.
+ ///
+ /// \ingroup grpalgodebug
+ //
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
looks_like_a_text_line_image(const Image<I>& input,
diff --git a/scribo/scribo/debug/mean_and_base_lines_image.hh b/scribo/scribo/debug/mean_and_base_lines_image.hh
index 56055c9..89ee198 100644
--- a/scribo/scribo/debug/mean_and_base_lines_image.hh
+++ b/scribo/scribo/debug/mean_and_base_lines_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2010 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2010, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -65,6 +66,8 @@ namespace scribo
/// \param[in] baseline_value Value used to draw base lines.
///
/// \return A color image.
+ ///
+ /// \ingroup grpalgodebug
//
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
@@ -77,6 +80,9 @@ namespace scribo
/// \overload
/// text_value is set to literal::green.
/// non_text_value is set to literal::red.
+ ///
+ /// \ingroup grpalgodebug
+ //
template <typename I, typename L>
mln_ch_value(I,value::rgb8)
mean_and_base_lines_image(const Image<I>& input,
diff --git a/scribo/scribo/debug/save_comp_diff.hh b/scribo/scribo/debug/save_comp_diff.hh
index f1f93f0..6b2bc3b 100644
--- a/scribo/scribo/debug/save_comp_diff.hh
+++ b/scribo/scribo/debug/save_comp_diff.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -55,15 +55,16 @@ namespace scribo
/*! \brief Show the difference between two object images.
- \param[in] lbl A component set.
- \param[in] lbl_2 Another component set.
+ \param[in] comps_ref A component set.
+ \param[in] comps_new Another component set.
\param[in] filename The output filename.
+ \ingroup grpalgodebug
*/
template <typename L, typename L2>
void
- save_comp_diff(const component_set<L>& cset_1,
- const component_set<L2>& cset_2,
+ save_comp_diff(const component_set<L>& comps_ref,
+ const component_set<L2>& comps_new,
const std::string& filename);
@@ -72,22 +73,26 @@ namespace scribo
template <typename L, typename L2>
void
- save_comp_diff(const component_set<L>& cset_1,
- const component_set<L2>& cset_2,
+ save_comp_diff(const component_set<L>& comps_ref,
+ const component_set<L2>& comps_new,
const std::string& filename)
{
trace::entering("scribo::debug::save_comp_diff");
image2d<value::rgb8> output;
- initialize(output, cset_1.labeled_image());
+ initialize(output, comps_ref.labeled_image());
data::fill(output, literal::black);
- for_all_comps(i, cset_1)
- data::fill(((output | cset_1(i).bbox()).rw() | (pw::value(cset_1.labeled_image()) == i)).rw(), literal::red);
+ for_all_comps(i, comps_ref)
+ data::fill(((output | comps_ref(i).bbox()).rw()
+ | (pw::value(comps_ref.labeled_image()) == i)).rw(),
+ literal::red);
- for_all_comps(i, cset_2)
- data::fill(((output | cset_2(i).bbox()).rw() | (pw::value(cset_2.labeled_image()) == i)).rw(), literal::green);
+ for_all_comps(i, comps_new)
+ data::fill(((output | comps_new(i).bbox()).rw()
+ | (pw::value(comps_new.labeled_image()) == i)).rw(),
+ literal::green);
io::ppm::save(output, filename);
diff --git a/scribo/scribo/debug/save_label_image.hh b/scribo/scribo/debug/save_label_image.hh
index b41325e..af138d9 100644
--- a/scribo/scribo/debug/save_label_image.hh
+++ b/scribo/scribo/debug/save_label_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -28,7 +29,7 @@
/// \file
///
-/// Save a labeled image in a color image.
+/// \brief Save a labeled image in a color image.
# include <mln/core/concept/image.hh>
# include <mln/labeling/colorize.hh>
@@ -43,11 +44,13 @@ namespace scribo
using namespace mln;
- /// Save a labeled image in a color image.
+ /// \brief Save a labeled image in a color image.
///
/// \param[in] lbl A label image.
/// \param[in] nlabels The number of labels.
/// \param[in] filename The output file name.
+ ///
+ /// \ingroup grpalgodebug
//
template <typename I>
void
diff --git a/scribo/scribo/debug/save_table_image.hh b/scribo/scribo/debug/save_table_image.hh
index 746d162..8a5c01f 100644
--- a/scribo/scribo/debug/save_table_image.hh
+++ b/scribo/scribo/debug/save_table_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -28,7 +29,7 @@
/// \file
///
-/// Save table line bounding boxes in an image.
+/// \brief Save table line bounding boxes in an image.
# include <string>
@@ -53,6 +54,9 @@ namespace scribo
/// Save lines bounding boxes in a copy of \p input_.
/// Bounding boxes are displayed with \p bbox_color.
+ ///
+ /// \ingroup grpalgodebug
+ //
template <typename I>
void
save_table_image(const Image<I>& input_,
@@ -64,6 +68,9 @@ namespace scribo
/// Save lines bounding boxes in an image defined on \p input_domain
/// filled with \p bg_color.
/// Bounding boxes are displayed with \p bbox_color.
+ ///
+ /// \ingroup grpalgodebug
+ //
template <typename S>
void
save_table_image(const Site_Set<S>& input_domain,
diff --git a/scribo/scribo/debug/text_areas_image.hh b/scribo/scribo/debug/text_areas_image.hh
index 5b9f086..6aaa64f 100644
--- a/scribo/scribo/debug/text_areas_image.hh
+++ b/scribo/scribo/debug/text_areas_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2010 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2010, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -59,6 +60,7 @@ namespace scribo
/*! \brief Compute an image including detected text areas only.
+ \ingroup grpalgodebug
*/
template <typename I, typename L>
mln_concrete(I)
diff --git a/scribo/scribo/debug/text_color_image.hh b/scribo/scribo/debug/text_color_image.hh
index f8d76c8..182b71b 100644
--- a/scribo/scribo/debug/text_color_image.hh
+++ b/scribo/scribo/debug/text_color_image.hh
@@ -49,6 +49,10 @@ namespace scribo
{
using namespace mln;
+ /*! \brief Draw text components with their respective colors.
+
+ \ingroup grpalgodebug
+ */
template <typename L>
image2d<value::rgb8>
text_color_image(const document<L>& doc);
diff --git a/scribo/scribo/draw/bounding_box_links.hh b/scribo/scribo/draw/bounding_box_links.hh
index 830da25..2816d4e 100644
--- a/scribo/scribo/draw/bounding_box_links.hh
+++ b/scribo/scribo/draw/bounding_box_links.hh
@@ -50,18 +50,16 @@ namespace scribo
using namespace mln;
- /// Draw a list of bounding box links. Draw links from the bounding
- /// box centers.
+ /// \brief Draw a list of bounding box links.
///
- /// \param[in,out] input_ An image where to draw.
- /// \param[in] bboxes Bounding boxes.
- /// \param[in] links Bounding box links.
+ /// \param[in,out] input An image where to draw.
+ /// \param[in] link component links.
/// \param[in] value Value used to draw links.
/// \param[in] anchor Anchor from where the links are drawn.
//
template <typename I, typename L>
void
- bounding_box_links(Image<I>& input_,
+ bounding_box_links(Image<I>& input,
const object_links<L>& link,
const mln_value(I)& value,
anchor::Type anchor);
@@ -72,24 +70,26 @@ namespace scribo
//
template <typename I, typename L>
void
- bounding_box_links(Image<I>& input_,
+ bounding_box_links(Image<I>& input,
const object_links<L>& link,
const mln_value(I)& value);
- /// Draw left, right and validated lists of bounding box links.
- /// Draw from anchors.
+ /// \brief Draw left, right and validated lists of bounding box
+ /// links.
///
- /// \param[in,out] input_ An image where to draw.
- /// \param[in] left_link Bounding box left links.
- /// \param[in] right_link Bounding box right links.
+ /// \param[in,out] input An image where to draw.
+ /// \param[in] left_link Component's left links.
+ /// \param[in] right_link Component's right links.
/// \param[in] left_link_value Value used to draw left links.
/// \param[in] right_link_value Value used to draw right links.
/// \param[in] validated_link_value Value used to draw validated links.
+ /// \param[in] anchor Anchor from where the links are drawn.
+ //
template <typename I, typename L>
inline
void
- bounding_box_links(Image<I>& input_,
+ bounding_box_links(Image<I>& input,
const object_links<L>& left_link,
const object_links<L>& right_link,
const mln_value(I)& left_link_value,
@@ -98,18 +98,18 @@ namespace scribo
anchor::Type anchor);
- /// Draw a graph of bounding box links.
+ /// \brief Draw a graph of bounding box links.
/// Draw from bounding box centers.
///
- /// \param[in,out] input_ An image where to draw.
- /// \param[in] bboxes Bounding boxes.
- /// \param[in] g_ The link graph.
+ /// \param[in,out] input An image where to draw.
+ /// \param[in] g The link graph.
/// \param[in] link_value The value used to draw the links.
+ //
template <typename I, typename G>
inline
void
- bounding_box_links(Image<I>& input_,
- const Graph<G>& g_,
+ bounding_box_links(Image<I>& input,
+ const Graph<G>& g,
const mln_value(I)& link_value);
diff --git a/scribo/scribo/filter/images_in_paragraph.hh b/scribo/scribo/filter/images_in_paragraph.hh
index cf77892..9a88c51 100644
--- a/scribo/scribo/filter/images_in_paragraph.hh
+++ b/scribo/scribo/filter/images_in_paragraph.hh
@@ -28,7 +28,7 @@
/// \file
///
-/// Invalidate false positive separators.
+/// Invalidate false positive images.
/// \fixme Share same test canvas as text::merging.
@@ -47,16 +47,12 @@ namespace scribo
using namespace mln;
- /// Invalidate false positive separators.
+ /// Invalidate false positive images.
///
- /// \param[in] separators A paragraph set.
- ///
- /// \return A doc with invalidated separators.
- ///
- /// Warning: it does not remove separators from separator
- /// image. It only invalidate separator components in their
- /// respective component_set.
+ /// \param[in,out] doc A document structure.
///
+ /// \ingroup grpalgofilterelt
+ //
template <typename L>
void
images_in_paragraph(document<L>& doc);
diff --git a/scribo/scribo/filter/line_links_x_height.hh b/scribo/scribo/filter/line_links_x_height.hh
index 0fcc341..c3b2909 100644
--- a/scribo/scribo/filter/line_links_x_height.hh
+++ b/scribo/scribo/filter/line_links_x_height.hh
@@ -41,6 +41,15 @@ namespace scribo
namespace filter
{
+ /*! \brief Filter line links according to character x height.
+
+ \param[in] links Line links information.
+
+ \return A new line_links structure where some links may have
+ been invalidated.
+
+ \ingroup grpalgofilterlinelink
+ */
template <typename L>
line_links<L>
line_links_x_height(const line_links<L>& links);
diff --git a/scribo/scribo/filter/object_groups_mean_width.hh b/scribo/scribo/filter/object_groups_mean_width.hh
index b9c7b8a..2386517 100644
--- a/scribo/scribo/filter/object_groups_mean_width.hh
+++ b/scribo/scribo/filter/object_groups_mean_width.hh
@@ -55,6 +55,7 @@ namespace scribo
\return Filtered object group information.
+ \ingroup grpalgofiltercompgroup
*/
template <typename L>
object_groups<L>
diff --git a/scribo/scribo/filter/object_groups_size_ratio.hh b/scribo/scribo/filter/object_groups_size_ratio.hh
index 6f2e33e..2607c86 100644
--- a/scribo/scribo/filter/object_groups_size_ratio.hh
+++ b/scribo/scribo/filter/object_groups_size_ratio.hh
@@ -29,6 +29,7 @@
/// \file
///
+/// \brief Invalidates groups with too much thin and high components.
# include <mln/util/array.hh>
@@ -44,6 +45,21 @@ namespace scribo
using namespace mln;
+ /*! \brief Invalidates groups with too much thin and high
+ components.
+
+ For each components in the group, it computes the height/width
+ ratio. If it is higher or equal to \p max_size_ratio, the
+ component is counted as invalid.
+
+ If there are \p max_invalid_ratio_per_group invalid
+ components, the group is invalidated.
+
+ \return An object_group structure potentially with invalided
+ groups.
+
+ \ingroup grpalgofiltercompgroup
+ */
template <typename L>
object_groups<L>
object_groups_size_ratio(const object_groups<L>& groups,
diff --git a/scribo/scribo/filter/object_groups_small.hh b/scribo/scribo/filter/object_groups_small.hh
index dd92852..5a698cb 100644
--- a/scribo/scribo/filter/object_groups_small.hh
+++ b/scribo/scribo/filter/object_groups_small.hh
@@ -29,7 +29,7 @@
/// \file
///
-/// Remove small objects groups.
+/// \brief Invalidate groups with few components.
# include <mln/util/array.hh>
@@ -45,14 +45,15 @@ namespace scribo
using namespace mln;
- /*! \brief Remove objects within a group with less than \p n
- links.
+ /*! \brief Invalidate groups with few components.
\param[in] groups Information about object groups.
\param[in] n_links The minimum number of links per group.
\return A copy of object group in which small groups have been
- removed.
+ invalidated.
+
+ \ingroup grpalgofiltercompgroup
*/
template <typename L>
object_groups<L>
diff --git a/scribo/scribo/filter/object_groups_with_holes.hh b/scribo/scribo/filter/object_groups_with_holes.hh
index a59beec..ca55980 100644
--- a/scribo/scribo/filter/object_groups_with_holes.hh
+++ b/scribo/scribo/filter/object_groups_with_holes.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2010 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2010, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -69,8 +70,16 @@ namespace scribo
using namespace mln;
/*! \brief Remove groups not having at least two background
- * components of \p min_size pixels.
+ components of \p min_size pixels.
+ In order to verify the property of "having two background
+ components", a component group must have at least one
+ component with a hole.
+
+ Example: the letter 'o' has two background components: outside
+ and inside the letter.
+
+ \ingroup grpalgofiltercompgroup
*/
template <typename L>
inline
diff --git a/scribo/scribo/filter/object_links_aligned.hh b/scribo/scribo/filter/object_links_aligned.hh
index e37bcb6..6d76d95 100644
--- a/scribo/scribo/filter/object_links_aligned.hh
+++ b/scribo/scribo/filter/object_links_aligned.hh
@@ -28,7 +28,7 @@
/// \file
///
-/// Invalidate links between two components if their not aligned
+/// \brief Invalidate links between two components if their not aligned
/// according to an anchor.
# include <scribo/core/macros.hh>
@@ -44,7 +44,8 @@ namespace scribo
using namespace mln;
- /*! \brief Invalidate links between two components according to a specific anchor.
+ /*! \brief Invalidate links between two components according to a
+ specific anchor.
\param[in] links Object links information.
\param[in] max_alpha Maximum angle value (degrees).
@@ -74,6 +75,7 @@ namespace scribo
Example with an anchor set to the bottom right :
The angle between the two bottoms must be lower than \p max_alpha.
+ \ingroup grpalgofiltercomplink
*/
template <typename L>
object_links<L>
diff --git a/scribo/scribo/filter/object_links_bbox_h_ratio.hh b/scribo/scribo/filter/object_links_bbox_h_ratio.hh
index 5573f16..2c3256a 100644
--- a/scribo/scribo/filter/object_links_bbox_h_ratio.hh
+++ b/scribo/scribo/filter/object_links_bbox_h_ratio.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -28,7 +29,8 @@
/// \file
///
-/// Invalidate links between two objects with too different height.
+/// \brief Invalidate links between two objects with too different
+/// height.
///
/// \todo rename to object_links_bbox_v_ratio (v for vertical) to be
/// consistent with other routine names.
@@ -57,6 +59,8 @@ namespace scribo
bounding boxes.
\result A filtered object link information.
+
+ \ingroup grpalgofiltercomplink
*/
template <typename L>
object_links<L>
diff --git a/scribo/scribo/filter/object_links_bbox_overlap.hh b/scribo/scribo/filter/object_links_bbox_overlap.hh
index 29b71ba..d09839a 100644
--- a/scribo/scribo/filter/object_links_bbox_overlap.hh
+++ b/scribo/scribo/filter/object_links_bbox_overlap.hh
@@ -29,8 +29,8 @@
/// \file
///
-/// Invalidate links between two components having their bounding box
-/// overlapping too much.
+/// \brief Invalidate links between two components having their
+/// bounding box overlapping too much.
# include <mln/math/min.hh>
@@ -59,6 +59,8 @@ namespace scribo
areas.
\result A filtered object link information.
+
+ \ingroup grpalgofiltercomplink
*/
template <typename L>
object_links<L>
diff --git a/scribo/scribo/filter/object_links_bbox_ratio.hh b/scribo/scribo/filter/object_links_bbox_ratio.hh
index d6c9286..2a2afa1 100644
--- a/scribo/scribo/filter/object_links_bbox_ratio.hh
+++ b/scribo/scribo/filter/object_links_bbox_ratio.hh
@@ -29,8 +29,8 @@
/// \file
///
-/// Invalidate links between two objects with too different height or
-/// width.
+/// \brief Invalidate links between two objects with too different
+/// height or width.
# include <mln/util/array.hh>
@@ -56,6 +56,8 @@ namespace scribo
bounding boxes.
\result A filtered object link information.
+
+ \ingroup grpalgofiltercomplink
*/
template <typename L>
object_links<L>
diff --git a/scribo/scribo/filter/object_links_bbox_w_ratio.hh b/scribo/scribo/filter/object_links_bbox_w_ratio.hh
index 07adcee..7bcb3d3 100644
--- a/scribo/scribo/filter/object_links_bbox_w_ratio.hh
+++ b/scribo/scribo/filter/object_links_bbox_w_ratio.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -29,7 +29,8 @@
/// \file
///
-/// Invalidate links between two objects with too different width.
+/// \brief Invalidate links between two objects with too different
+/// width.
///
/// \todo rename to object_links_bbox_h_ratio (h for horizontal) to be
/// consistent with other routine names.
@@ -57,6 +58,8 @@ namespace scribo
bounding boxes.
\result A filtered object link information.
+
+ \ingroup grpalgofiltercomplink
*/
template <typename L>
object_links<L>
diff --git a/scribo/scribo/filter/object_links_bottom_aligned.hh b/scribo/scribo/filter/object_links_bottom_aligned.hh
index 2329f37..353c2f6 100644
--- a/scribo/scribo/filter/object_links_bottom_aligned.hh
+++ b/scribo/scribo/filter/object_links_bottom_aligned.hh
@@ -29,8 +29,8 @@
/// \file
///
-/// Invalidate links between two components if their bottom are not
-/// aligned.
+/// \brief Invalidate links between two components if their bottom are
+/// not aligned.
# include <mln/util/array.hh>
@@ -77,6 +77,7 @@ namespace scribo
The angle between the two bottoms must be lower than \p max_alpha.
+ \ingroup grpalgofiltercomplink
*/
template <typename L>
object_links<L>
diff --git a/scribo/scribo/filter/object_links_center_aligned.hh b/scribo/scribo/filter/object_links_center_aligned.hh
index da18b00..adbfad8 100644
--- a/scribo/scribo/filter/object_links_center_aligned.hh
+++ b/scribo/scribo/filter/object_links_center_aligned.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -28,8 +29,8 @@
/// \file
///
-/// Invalidate links between two objects if their center are not
-/// aligned.
+/// \brief Invalidate links between two objects if their center are
+/// not aligned.
# include <mln/util/array.hh>
@@ -50,10 +51,11 @@ namespace scribo
/*! \brief Invalidate links between two objects if their center are not
aligned.
- \param[in] objects An object image.
\param[in] links Object links information.
\param[in] max_alpha Maximum angle value (degrees).
+ \return New link data.
+
\verbatim
------ ------
@@ -70,6 +72,7 @@ namespace scribo
The angle between the two bottoms must be lower than \p max_alpha.
+ \ingroup grpalgofiltercomplink
*/
template <typename L>
object_links<L>
diff --git a/scribo/scribo/filter/object_links_left_aligned.hh b/scribo/scribo/filter/object_links_left_aligned.hh
index 830678a..9a50a20 100644
--- a/scribo/scribo/filter/object_links_left_aligned.hh
+++ b/scribo/scribo/filter/object_links_left_aligned.hh
@@ -29,10 +29,10 @@
/// \file
///
-/// Invalidate links between two objects if their left are not
+/// \brief Invalidate links between two objects if their left are not
/// aligned.
///
-/// \fixme UPDATE DOC!
+/// \todo UPDATE DOC!
# include <mln/util/array.hh>
@@ -49,8 +49,8 @@ namespace scribo
using namespace mln;
- /*! \brief Invalidate links between two objects if their left are not
- aligned.
+ /*! \brief Invalidate links between two objects if their left are
+ not aligned.
\param[in] links Object links information.
\param[in] max_alpha Maximum angle value (degrees).
@@ -77,6 +77,8 @@ namespace scribo
\endverbatim
The angle between the two lefts must be lower than \p max_alpha.
+
+ \ingroup grpalgofiltercomplink
*/
template <typename L>
object_links<L>
diff --git a/scribo/scribo/filter/object_links_non_aligned_simple.hh b/scribo/scribo/filter/object_links_non_aligned_simple.hh
index f8db5cf..77c5b1c 100644
--- a/scribo/scribo/filter/object_links_non_aligned_simple.hh
+++ b/scribo/scribo/filter/object_links_non_aligned_simple.hh
@@ -29,7 +29,7 @@
/// \file
///
-/// Invalidate links between two non aligned components.
+/// \brief Invalidate links between two non aligned components.
# include <mln/util/array.hh>
@@ -52,6 +52,7 @@ namespace scribo
Alignment is based on a given anchor of object bounding boxes.
\param[in] links Object links information.
+ \param[in] anchor Anchor from where the links are made.
\param[in] max_alpha Maximum angle value (degrees).
@@ -79,6 +80,7 @@ namespace scribo
The angle between the two bottoms must be lower than \p alpha.
+ \ingroup grpalgofiltercomplink
*/
template <typename L>
object_links<L>
diff --git a/scribo/scribo/filter/object_links_right_aligned.hh b/scribo/scribo/filter/object_links_right_aligned.hh
index 4f854e2..018cf97 100644
--- a/scribo/scribo/filter/object_links_right_aligned.hh
+++ b/scribo/scribo/filter/object_links_right_aligned.hh
@@ -29,7 +29,7 @@
/// \file
///
-/// Invalidate links between two objects if their right are not
+/// \brief Invalidate links between two objects if their right are not
/// aligned.
@@ -51,7 +51,6 @@ namespace scribo
/*! \brief Invalidate links between two objects if their right are not
aligned.
- \param[in] objects An object image.
\param[in] links Object links information.
\param[in] max_alpha Maximum angle value (degrees).
@@ -77,6 +76,8 @@ namespace scribo
\endverbatim
The angle between the two rights must be lower than \p max_alpha.
+
+ \ingroup grpalgofiltercomplink
*/
template <typename L>
object_links<L>
diff --git a/scribo/scribo/filter/object_links_top_aligned.hh b/scribo/scribo/filter/object_links_top_aligned.hh
index 48598c6..6489ea4 100644
--- a/scribo/scribo/filter/object_links_top_aligned.hh
+++ b/scribo/scribo/filter/object_links_top_aligned.hh
@@ -29,7 +29,7 @@
/// \file
///
-/// Invalidate links between two objects if their top are not
+/// \brief Invalidate links between two objects if their top are not
/// aligned.
@@ -48,8 +48,8 @@ namespace scribo
using namespace mln;
- /*! \brief Invalidate links between two objects if their top are not
- aligned.
+ /*! \brief Invalidate links between two objects if their top are
+ not aligned.
\param[in] links Object links information.
\param[in] max_alpha Maximum angle value (degrees).
@@ -77,6 +77,8 @@ namespace scribo
\endverbatim
The angle between the two tops must be lower than \p max_alpha.
+
+ \ingroup grpalgofiltercomplink
*/
template <typename L>
object_links<L>
diff --git a/scribo/scribo/filter/objects_h_thick.hh b/scribo/scribo/filter/objects_h_thick.hh
index 06b75dc..7dc7fa5 100644
--- a/scribo/scribo/filter/objects_h_thick.hh
+++ b/scribo/scribo/filter/objects_h_thick.hh
@@ -54,6 +54,8 @@ namespace scribo
/// \param[in] max_thickness The maximum thickness value.
///
/// \result A binary image without thick objects.
+ ///
+ /// \ingroup grpalgofiltercomp
//
template <typename I, typename N, typename V>
inline
@@ -70,6 +72,8 @@ namespace scribo
/// \param[in] max_thickness The minimum thickness value.
///
/// \result A component data set without too thick components.
+ ///
+ /// \ingroup grpalgofiltercomp
//
template <typename L>
inline
diff --git a/scribo/scribo/filter/objects_h_thin.hh b/scribo/scribo/filter/objects_h_thin.hh
index 8caa2cc..7b1d18a 100644
--- a/scribo/scribo/filter/objects_h_thin.hh
+++ b/scribo/scribo/filter/objects_h_thin.hh
@@ -53,6 +53,8 @@ namespace scribo
/// \param[in] min_thinness the minimum thinness value.
///
/// \result A binary image without h_thin components.
+ ///
+ /// \ingroup grpalgofiltercomp
//
template <typename I, typename N, typename V>
inline
@@ -68,6 +70,8 @@ namespace scribo
/// \param[in] min_thinness the minimum thinness value.
///
/// \result An object image without too thin vertical components.
+ ///
+ /// \ingroup grpalgofiltercomp
//
template <typename L>
inline
diff --git a/scribo/scribo/filter/objects_large.hh b/scribo/scribo/filter/objects_large.hh
index 8dfec9d..96d1817 100644
--- a/scribo/scribo/filter/objects_large.hh
+++ b/scribo/scribo/filter/objects_large.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -29,7 +29,7 @@
/// \file
///
-/// Remove large objects in a binary image.
+/// \brief Remove large objects in a binary image.
# include <mln/core/concept/image.hh>
@@ -56,7 +56,8 @@ namespace scribo
using namespace mln;
- /// Remove large objects in a binary image.
+ /// \brief Remove large objects in a binary image.
+ ///
/// Set to 'false' all the removed objects.
///
/// \param[in] input_ A binary image.
@@ -65,6 +66,9 @@ namespace scribo
/// \param[in] max_size The minimum cardinality of an object.
///
/// \return A binary image without large objects.
+ ///
+ /// \ingroup grpalgofiltercomp
+ //
template <typename I, typename N, typename V>
mln_concrete(I)
components_large(const Image<I>& input_,
@@ -72,13 +76,16 @@ namespace scribo
const V& label_type,
unsigned max_size);
- /// Remove too large components.
+ /// \brief Remove too large components.
///
/// \param[in] components An object image.
/// \param[in] max_size The maximum cardinality of an object.
///
/// \return A component set with large components set to
/// component::Ignored.
+ ///
+ /// \ingroup grpalgofiltercomp
+ //
template <typename L>
inline
component_set<L>
diff --git a/scribo/scribo/filter/objects_on_border.hh b/scribo/scribo/filter/objects_on_border.hh
index d6c4cf5..55578a4 100644
--- a/scribo/scribo/filter/objects_on_border.hh
+++ b/scribo/scribo/filter/objects_on_border.hh
@@ -28,7 +28,7 @@
/// \file
///
-/// Remove large objects in a binary image.
+/// \brief Remove components located on image borders.
# include <mln/core/concept/image.hh>
@@ -55,13 +55,15 @@ namespace scribo
using namespace mln;
- /// Remove too large components.
+ /// \brief Remove components located on image borders.
///
/// \param[in] components An object image.
- /// \param[in] max_size The maximum cardinality of an object.
///
/// \return A component set with large components set to
/// component::Ignored.
+ ///
+ /// \ingroup grpalgofiltercomp
+ //
template <typename L>
inline
component_set<L>
diff --git a/scribo/scribo/filter/objects_size_ratio.hh b/scribo/scribo/filter/objects_size_ratio.hh
index 6edb35f..9efa8bf 100644
--- a/scribo/scribo/filter/objects_size_ratio.hh
+++ b/scribo/scribo/filter/objects_size_ratio.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -50,6 +50,8 @@ namespace scribo
///
/// If the height/width ratio is lower than min_size_ratio then
/// the component is invalidated.
+ ///
+ /// \ingroup grpalgofiltercomp
//
template <typename L>
component_set<L>
diff --git a/scribo/scribo/filter/objects_small.hh b/scribo/scribo/filter/objects_small.hh
index c18c86f..921aea2 100644
--- a/scribo/scribo/filter/objects_small.hh
+++ b/scribo/scribo/filter/objects_small.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -29,7 +29,7 @@
/// \file
///
-/// Remove small components in a binary image.
+/// \brief Remove small components in a binary image.
# include <mln/core/concept/image.hh>
@@ -57,7 +57,8 @@ namespace scribo
using namespace mln;
- /// Remove small components in a binary image.
+ /// \brief Remove small components in a binary image.
+ ///
/// Set to 'false' all the removed components.
///
/// \param[in] input_ A binary image.
@@ -66,6 +67,9 @@ namespace scribo
/// \param[in] min_size The minimum cardinality of an object.
///
/// \return A binary image without small components.
+ ///
+ /// \ingroup grpalgofiltercomp
+ //
template <typename I, typename N, typename V>
mln_concrete(I)
components_small(const Image<I>& input_,
@@ -74,13 +78,16 @@ namespace scribo
unsigned min_size);
- /// Remove too small components.
+ /// \brief Remove too small components.
///
/// \param[in] components An object image.
/// \param[in] min_size The minimum cardinality of an object.
///
/// \return A component set with small components set to
/// component::Ignored.
+ ///
+ /// \ingroup grpalgofiltercomp
+ //
template <typename L>
component_set<L>
components_small(const component_set<L>& components,
diff --git a/scribo/scribo/filter/objects_thick.hh b/scribo/scribo/filter/objects_thick.hh
index faf13e7..8c3a03b 100644
--- a/scribo/scribo/filter/objects_thick.hh
+++ b/scribo/scribo/filter/objects_thick.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -29,7 +29,7 @@
/// \file
///
-/// Remove too thick components.
+/// \brief Remove too thick components.
# include <mln/core/concept/image.hh>
# include <mln/core/concept/neighborhood.hh>
@@ -49,7 +49,7 @@ namespace scribo
using namespace mln;
- /// Remove components thicker or equal to \p max_thickness.
+ /// \brief Remove components thicker or equal to \p max_thickness.
///
/// \param[in] input_ A binary image.
/// \param[in] nbh_ A neighborhood used in labeling algorithms.
@@ -57,6 +57,8 @@ namespace scribo
/// \param[in] max_thickness The maximum thickness value.
///
/// \result A binary image without thick components.
+ ///
+ /// \ingroup grpalgofiltercomp
//
template <typename I, typename N, typename V>
inline
@@ -67,12 +69,14 @@ namespace scribo
unsigned max_thickness);
- /// Remove components thicker or equal to \p max_thickness.
+ /// \brief Remove components thicker or equal to \p max_thickness.
///
/// \param[in] components An object image.
/// \param[in] max_thickness The maximum thickness value.
///
/// \result An object image without too thick components.
+ ///
+ /// \ingroup grpalgofiltercomp
//
template <typename L>
inline
diff --git a/scribo/scribo/filter/objects_thin.hh b/scribo/scribo/filter/objects_thin.hh
index f58d0db..d376856 100644
--- a/scribo/scribo/filter/objects_thin.hh
+++ b/scribo/scribo/filter/objects_thin.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -29,7 +29,7 @@
/// \file
///
-/// Remove too thin components.
+/// \brief Remove too thin components.
# include <mln/core/concept/image.hh>
# include <mln/core/concept/neighborhood.hh>
@@ -52,7 +52,7 @@ namespace scribo
using namespace mln;
- /// Remove components thinner or equal to \p min_thickness.
+ /// \brief Remove components thinner or equal to \p min_thickness.
///
/// \param[in] input_ a binary image.
/// \param[in] nbh_ a neighborhood used in labeling algorithms.
@@ -60,6 +60,8 @@ namespace scribo
/// \param[in] min_thickness the minimum thickness value.
///
/// \result A binary image without thin components.
+ ///
+ /// \ingroup grpalgofiltercomp
//
template <typename I, typename N, typename V>
inline
@@ -69,12 +71,15 @@ namespace scribo
const V& label_type,
unsigned min_thickness);
- /// Remove lines of text thinner or equal to \p min_thickness.
+ /// \brief Remove lines of text thinner or equal to \p
+ /// min_thickness.
///
/// \param[in] components An object image.
/// \param[in] min_thickness the minimum thickness value.
///
/// \result An object image without too thin components.
+ ///
+ /// \ingroup grpalgofiltercomp
//
template <typename L>
inline
diff --git a/scribo/scribo/filter/objects_v_thick.hh b/scribo/scribo/filter/objects_v_thick.hh
index ad1a4df..e9e85a1 100644
--- a/scribo/scribo/filter/objects_v_thick.hh
+++ b/scribo/scribo/filter/objects_v_thick.hh
@@ -29,7 +29,7 @@
/// \file
///
-/// Remove too verticaly thick components.
+/// \brief Remove too verticaly thick components.
# include <mln/core/concept/image.hh>
# include <mln/core/concept/neighborhood.hh>
@@ -46,7 +46,8 @@ namespace scribo
using namespace mln;
- /// Remove components verticaly thicker or equal to \p max_thickness.
+ /// \brief Remove components verticaly thicker or equal to \p
+ /// max_thickness.
///
/// \param[in] input_ A binary image.
/// \param[in] nbh_ A neighborhood used in labeling algorithms.
@@ -54,6 +55,8 @@ namespace scribo
/// \param[in] max_thickness The maximum thickness value.
///
/// \result A binary image without thick components.
+ ///
+ /// \ingroup grpalgofiltercomp
//
template <typename I, typename N, typename V>
inline
@@ -64,12 +67,15 @@ namespace scribo
unsigned max_thickness);
- /// Remove components verticaly thicker or equal to \p max_thickness.
+ /// \brief Remove components verticaly thicker or equal to \p
+ /// max_thickness.
///
/// \param[in] comps A component set.
/// \param[in] max_thickness The maximum thickness value.
///
/// \result An object image without too thick components.
+ ///
+ /// \ingroup grpalgofiltercomp
//
template <typename L>
inline
diff --git a/scribo/scribo/filter/objects_v_thin.hh b/scribo/scribo/filter/objects_v_thin.hh
index f2280eb..c5364b3 100644
--- a/scribo/scribo/filter/objects_v_thin.hh
+++ b/scribo/scribo/filter/objects_v_thin.hh
@@ -29,7 +29,7 @@
/// \file
///
-/// Remove too thin components.
+/// \brief Remove too thin components.
# include <mln/core/concept/image.hh>
# include <mln/core/concept/neighborhood.hh>
@@ -46,34 +46,39 @@ namespace scribo
using namespace mln;
- /// Remove components thinner or equal to \p min_thinness.
+ /// \brief Remove components thinner or equal to \p min_thinness.
///
- /// \param[in] input_ a binary image.
- /// \param[in] nbh_ a neighborhood used in labeling algorithms.
+ /// \param[in] input a binary image.
+ /// \param[in] nbh a neighborhood used in labeling algorithms.
/// \param[in] label_type the label type used for labeling.
/// \param[in] min_thinness the minimum thinness value.
///
/// \result A binary image without v_thin components.
+ ///
+ /// \ingroup grpalgofiltercomp
//
template <typename I, typename N, typename V>
inline
mln_concrete(I)
- objects_v_thin(const Image<I>& input_,
- const Neighborhood<N>& nbh_,
+ objects_v_thin(const Image<I>& input,
+ const Neighborhood<N>& nbh,
const V& label_type,
unsigned min_thinness);
- /// Remove lines of text thinner or equal to \p min_thinness.
+ /// \brief Remove lines of text thinner or equal to \p
+ /// min_thinness.
///
/// \param[in] comps A component set.
/// \param[in] min_thinness the minimum thinness value.
///
/// \result An object image without too thin vertical components.
+ ///
+ /// \ingroup grpalgofiltercomp
//
template <typename L>
inline
component_set<L>
- components_v_thin(const component_set<L>& text,
+ components_v_thin(const component_set<L>& comps,
unsigned min_thinness);
diff --git a/scribo/scribo/filter/objects_with_holes.hh b/scribo/scribo/filter/objects_with_holes.hh
index 09eaad5..83b9755 100644
--- a/scribo/scribo/filter/objects_with_holes.hh
+++ b/scribo/scribo/filter/objects_with_holes.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -81,8 +81,17 @@ namespace scribo
/*! \brief Remove components having a minimum number of holes.
+ \param[in] components A component set.
+ \param[in] min_holes_count If a component have at least \p
+ min_holes_count holes it is
+ invalidated.
+ \param[in] min_size The minimum hole area to take a hole into
+ account.
+ \return A component where the component having too much holes
+ are invalidated.
+ \ingroup grpalgofiltercomp
*/
template <typename L>
component_set<L>
@@ -90,7 +99,20 @@ namespace scribo
unsigned min_holes_count,
unsigned min_size);
+ /*! \brief Remove components having at least two holes.
+ This is a fastest version since it is optimized for 2 holes
+ detection.
+
+ \param[in] components A component set.
+ \param[in] min_size The minimum hole area to take a hole into
+ account.
+
+ \return A component where the component having at least two
+ holes are invalidated.
+
+ \ingroup grpalgofiltercomp
+ */
template <typename L>
inline
component_set<L>
diff --git a/scribo/scribo/filter/paragraphs_bbox_overlap.hh b/scribo/scribo/filter/paragraphs_bbox_overlap.hh
index 1cf9793..744b1ee 100644
--- a/scribo/scribo/filter/paragraphs_bbox_overlap.hh
+++ b/scribo/scribo/filter/paragraphs_bbox_overlap.hh
@@ -28,8 +28,8 @@
/// \file
///
-/// Remove invalid paragraphs.
-/// \fixme Share same test canvas as text::merging.
+/// \brief Remove invalid paragraphs.
+/// \todo Share same test canvas as text::merging.
# include <mln/core/concept/image.hh>
@@ -52,12 +52,15 @@ namespace scribo
using namespace mln;
- /// Remove invalid paragraphs.
+ /// \brief Remove invalid paragraphs.
///
- /// \param[in] paragraphs A paragraph set.
+ /// \param[in] parset A paragraph set.
///
/// \return A paragraph set with invalid paragraphs tag set to
/// Paragraph::Ignored.
+ ///
+ /// \ingroup grpalgofilterpar
+ //
template <typename L>
paragraph_set<L>
paragraphs_bbox_overlap(const paragraph_set<L>& parset);
diff --git a/scribo/scribo/filter/paragraphs_in_borders.hh b/scribo/scribo/filter/paragraphs_in_borders.hh
index 8953282..c3b9623 100644
--- a/scribo/scribo/filter/paragraphs_in_borders.hh
+++ b/scribo/scribo/filter/paragraphs_in_borders.hh
@@ -28,8 +28,8 @@
/// \file
///
-/// Invalidate false positive paragraphs.
-/// \fixme Share same test canvas as text::merging.
+/// \brief Invalidate false positive paragraphs.
+/// \todo Share same test canvas as text::merging.
# include <mln/core/concept/image.hh>
@@ -46,7 +46,7 @@ namespace scribo
using namespace mln;
- /// Invalidate paragraphs located close to the image borders.
+ /// \brief Invalidate paragraphs located close to the image borders.
///
/// \param[in,out] doc A document structure.
///
@@ -66,6 +66,8 @@ namespace scribo
/// -----------
///
/// \endverbatim
+ ///
+ /// \ingroup grpalgofilterpar
//
template <typename L>
void
diff --git a/scribo/scribo/filter/paragraphs_in_image.hh b/scribo/scribo/filter/paragraphs_in_image.hh
index be15b06..d95864d 100644
--- a/scribo/scribo/filter/paragraphs_in_image.hh
+++ b/scribo/scribo/filter/paragraphs_in_image.hh
@@ -28,8 +28,8 @@
/// \file
///
-/// Remove invalid paragraphs.
-/// \fixme Share same test canvas as text::merging.
+/// \brief Remove invalid paragraphs.
+/// \todo Share same test canvas as text::merging.
# include <mln/core/concept/image.hh>
@@ -59,12 +59,15 @@ namespace scribo
using namespace mln;
- /// Remove invalid paragraphs.
+ /// \brief Remove invalid paragraphs.
///
- /// \param[in] paragraphs A paragraph set.
+ /// \param[in,out] doc A document structure.
///
/// \return A paragraph set with invalid paragraphs tag set to
/// Paragraph::Ignored.
+ ///
+ /// \ingroup grpalgofilterpar
+ //
template <typename L>
void
paragraphs_in_image(document<L>& doc);
diff --git a/scribo/scribo/filter/separators_in_borders.hh b/scribo/scribo/filter/separators_in_borders.hh
index 8ccb6b1..f5048d2 100644
--- a/scribo/scribo/filter/separators_in_borders.hh
+++ b/scribo/scribo/filter/separators_in_borders.hh
@@ -28,8 +28,8 @@
/// \file
///
-/// Invalidate false positive separators.
-/// \fixme Share same test canvas as text::merging.
+/// \brief Invalidate false positive separators.
+/// \todo Share same test canvas as text::merging.
# include <mln/core/concept/image.hh>
@@ -46,9 +46,16 @@ namespace scribo
using namespace mln;
- /// Invalidate separators located close to the image borders.
+ /// \brief Invalidate separators located close to the image
+ /// borders.
///
/// \param[in,out] doc A document structure.
+ /// \param[in] vratio Ratio to be used for evaluating the inner
+ /// border size in which vertical separators
+ /// will be invalidated.
+ /// \param[in] hratio Ratio to be used for evaluating the inner
+ /// border size in which horizontal separators
+ /// will be invalidated.
///
/// Warning: it does not remove separators from separator
/// image. It only invalidate separator components in their
@@ -66,6 +73,8 @@ namespace scribo
/// -----------
///
/// \endverbatim
+ ///
+ /// \ingroup grpalgofilterelt
//
template <typename L>
void
diff --git a/scribo/scribo/filter/separators_in_element.hh b/scribo/scribo/filter/separators_in_element.hh
index 7e8a437..d4f587b 100644
--- a/scribo/scribo/filter/separators_in_element.hh
+++ b/scribo/scribo/filter/separators_in_element.hh
@@ -28,8 +28,8 @@
/// \file
///
-/// Invalidate false positive separators.
-/// \fixme Share same test canvas as text::merging.
+/// \brief Invalidate false positive separators.
+/// \todo Share same test canvas as text::merging.
# include <mln/core/concept/image.hh>
@@ -47,16 +47,16 @@ namespace scribo
using namespace mln;
- /// Invalidate false positive separators.
+ /// \brief Invalidate false positive separators.
///
- /// \param[in] separators A paragraph set.
- ///
- /// \return A doc with invalidated separators.
+ /// \param[in,out] doc A document structure.
///
/// Warning: it does not remove separators from separator
/// image. It only invalidate separator components in their
/// respective component_set.
///
+ /// \ingroup grpalgofilterelt
+ //
template <typename L>
void
separators_in_element(document<L>& doc);
diff --git a/scribo/scribo/filter/separators_in_paragraph.hh b/scribo/scribo/filter/separators_in_paragraph.hh
index ac399c3..eae12e9 100644
--- a/scribo/scribo/filter/separators_in_paragraph.hh
+++ b/scribo/scribo/filter/separators_in_paragraph.hh
@@ -28,8 +28,8 @@
/// \file
///
-/// Invalidate false positive separators.
-/// \fixme Share same test canvas as text::merging.
+/// \brief Invalidate false positive separators.
+/// \todo Share same test canvas as text::merging.
# include <mln/core/concept/image.hh>
@@ -47,26 +47,32 @@ namespace scribo
using namespace mln;
- /// Invalidate false positive separators.
+ /// \brief Invalidate false positive separators.
///
- /// \param[in] separators A paragraph set.
- ///
- /// \return A doc with invalidated separators.
+ /// \param[in,out] doc A document structure.
+ /// \param[in] hmin_size Minimum width of a line to be considered
+ /// as separators.
+ /// \param[in] vmin_size Minimum height of a line to be considered
+ /// as separators.
///
/// Warning: it does not remove separators from separator
/// image. It only invalidate separator components in their
/// respective component_set.
///
+ /// \ingroup grpalgofilterelt
+ //
template <typename L>
void
- separators_in_paragraph(document<L>& doc, unsigned hmax_size, unsigned vmax_size);
+ separators_in_paragraph(document<L>& doc,
+ unsigned hmin_size, unsigned vmin_size);
# ifndef MLN_INCLUDE_ONLY
template <typename L>
void
- separators_in_paragraph(document<L>& doc, unsigned hmax_size, unsigned vmax_size)
+ separators_in_paragraph(document<L>& doc,
+ unsigned hmin_size, unsigned vmin_size)
{
trace::entering("scribo::filter::separators_in_paragraph");
@@ -106,7 +112,7 @@ namespace scribo
// This separator is included in an element (picture, drawing...)
// => Ignore it.
if (tl && tr && ml && mc && mr && bl && br
- && hline(c).bbox().width() < hmax_size)
+ && hline(c).bbox().width() < hmin_size)
hline(c).update_tag(component::Ignored);
}
@@ -135,7 +141,7 @@ namespace scribo
// This separator is included in an element (picture, drawing...)
// => Ignore it.
if (tl && tr && ml && mc && mr && bl && br
- && vline(c).bbox().height() < vmax_size)
+ && vline(c).bbox().height() < vmin_size)
vline(c).update_tag(component::Ignored);
}
diff --git a/scribo/scribo/filter/separators_vert_in_borders.hh b/scribo/scribo/filter/separators_vert_in_borders.hh
index 4a9e806..4f7c070 100644
--- a/scribo/scribo/filter/separators_vert_in_borders.hh
+++ b/scribo/scribo/filter/separators_vert_in_borders.hh
@@ -28,8 +28,9 @@
/// \file
///
-/// Invalidate false positive separators.
-/// \fixme Share same test canvas as text::merging.
+/// \brief Invalidate vertical separators located close to the image
+/// borders.
+/// \todo Share same test canvas as text::merging.
# include <mln/core/concept/image.hh>
@@ -47,7 +48,8 @@ namespace scribo
using namespace mln;
- /// Invalidate separators located close to the image borders.
+ /// \brief Invalidate vertical separators located close to the image
+ /// borders.
///
/// \param[in,out] doc A document structure.
///
@@ -67,6 +69,8 @@ namespace scribo
/// -----------
///
/// \endverbatim
+ ///
+ /// \ingroup grpalgofilterelt
//
template <typename L>
void
diff --git a/scribo/scribo/fun/v2b/objects_on_border_filter.hh b/scribo/scribo/fun/v2b/objects_on_border_filter.hh
index e6f1738..60655ae 100644
--- a/scribo/scribo/fun/v2b/objects_on_border_filter.hh
+++ b/scribo/scribo/fun/v2b/objects_on_border_filter.hh
@@ -28,7 +28,7 @@
/// \file
///
-/// Remove large components in a binary image.
+/// \brief Remove components in image inner border.
@@ -66,14 +66,13 @@ namespace scribo
/// Constructor
///
/// \param[in] components Component bounding boxes.
- /// \param[in] max_size Maximum component size.
//
components_on_border_filter(const component_set<L>& components);
/// Check if the component is large enough.
///
- /// \param l A label.
+ /// \param[in] l A label.
///
/// \return false if the component area is strictly inferion to
/// \p max_size_.
diff --git a/scribo/scribo/postprocessing/images_to_drop_capital.hh b/scribo/scribo/postprocessing/images_to_drop_capital.hh
index f7d18a6..727f23c 100644
--- a/scribo/scribo/postprocessing/images_to_drop_capital.hh
+++ b/scribo/scribo/postprocessing/images_to_drop_capital.hh
@@ -28,8 +28,8 @@
/// \file
///
-/// Set type for specific images to Drop Capital component.
-/// \fixme Share same test canvas as text::merging.
+/// \brief Set type for specific images to Drop Capital component.
+/// \todo Share same test canvas as text::merging.
# include <mln/core/concept/image.hh>
@@ -47,12 +47,10 @@ namespace scribo
using namespace mln;
- /// Set type for specific images to Drop Capital component.
+ /// \brief Set type for specific images to Drop Capital component.
///
- /// \param[in] separators A paragraph set.
+ /// \param[in] doc A document structure.
///
- /// \return A doc with images tagged as dropped capital is such
- /// images have been found.
//
template <typename L>
void
diff --git a/scribo/scribo/preprocessing/denoise.hh b/scribo/scribo/preprocessing/denoise.hh
index 1877c06..115ac1d 100644
--- a/scribo/scribo/preprocessing/denoise.hh
+++ b/scribo/scribo/preprocessing/denoise.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2010 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2010, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -48,10 +49,12 @@ namespace scribo
/// \param[in] input A binary image. True for objects, False for
/// background.
/// \param[in] nbh Neighborhood to use for denoising.
- /// \param[in] min_card Minimum component cardinality to not be
- /// considered as noise.
+ /// \param[in] fg_min_card Minimum component cardinality to not be
+ /// considered as noise in the foreground.
+ /// \param[in] bg_min_card Minimum component cardinality to not be
+ /// considered as noise in the foreground.
///
- /// \output A binary image with the same domain as \p input. All
+ /// \return A binary image with the same domain as \p input. All
/// small components have been removed.
//
template <typename I, typename N>
diff --git a/scribo/scribo/preprocessing/denoise_bg.hh b/scribo/scribo/preprocessing/denoise_bg.hh
index eda3803..1c02f8e 100644
--- a/scribo/scribo/preprocessing/denoise_bg.hh
+++ b/scribo/scribo/preprocessing/denoise_bg.hh
@@ -29,7 +29,7 @@
/// \file
///
-/// Denoise image background.
+/// \brief Denoise image background.
# include <mln/core/image/image2d.hh>
# include <mln/core/concept/neighborhood.hh>
@@ -57,7 +57,7 @@ namespace scribo
using namespace mln;
- /// Denoise image background.
+ /// \brief Denoise image background.
///
/// \param[in] input A binary image. True for objects, False for
/// background.
@@ -65,7 +65,7 @@ namespace scribo
/// \param[in] min_card Minimum component cardinality to not be
/// considered as noise.
///
- /// \output A binary image with the same domain as \p input. All
+ /// \return A binary image with the same domain as \p input. All
/// small components have been removed and merged with the
/// background.
//
diff --git a/scribo/scribo/preprocessing/denoise_fg.hh b/scribo/scribo/preprocessing/denoise_fg.hh
index 9701d06..23b838e 100644
--- a/scribo/scribo/preprocessing/denoise_fg.hh
+++ b/scribo/scribo/preprocessing/denoise_fg.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2010 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2010, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -28,7 +29,7 @@
/// \file
///
-/// Denoise image foreground.
+/// \brief Denoise image foreground.
# include <mln/core/image/image2d.hh>
# include <mln/core/concept/neighborhood.hh>
@@ -56,7 +57,7 @@ namespace scribo
using namespace mln;
- /// Denoise image foreground.
+ /// \brief Denoise image foreground.
///
/// \param[in] input A binary image. True for objects, False for
/// background.
@@ -64,7 +65,7 @@ namespace scribo
/// \param[in] min_card Minimum component cardinality to not be
/// considered as noise.
///
- /// \output A binary image with the same domain as \p input. All
+ /// \return A binary image with the same domain as \p input. All
/// small components have been removed and merged with the
/// background.
//
diff --git a/scribo/scribo/preprocessing/deskew_crop.hh b/scribo/scribo/preprocessing/deskew_crop.hh
index 988e803..2f35932 100644
--- a/scribo/scribo/preprocessing/deskew_crop.hh
+++ b/scribo/scribo/preprocessing/deskew_crop.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2010 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2010, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -40,16 +41,14 @@ namespace scribo
/*! \brief Deskew a region of interest.
- \param[in] input_bin A binary image.
- \param[in] input_gray A gray-level image.
+ \param[in] crop_gl A gray-level image.
+ \param[in] input_gl A gray-level image.
\return A deskewed binary image.
-
-
Handles skew angles from -25 to +25 degrees.
- \p input_bin and \p input_gray must be 2D images and must be
+ \p crop_gl and \p input_gl must be 2D images and must be
identical (e.g. only the value differs).
This algorithm is designed for images created from a region of
@@ -58,7 +57,7 @@ namespace scribo
*/
template <typename I, typename J>
mln_concrete(I)
- deskew(const Image<I>& crop_gl_, const Image<I>& input_gl_);
+ deskew(const Image<I>& crop_gl, const Image<I>& input_gl);
# ifndef MLN_INCLUDE_ONLY
diff --git a/scribo/scribo/preprocessing/homogeneous_contrast.hh b/scribo/scribo/preprocessing/homogeneous_contrast.hh
index 82b2ac6..b510ecd 100644
--- a/scribo/scribo/preprocessing/homogeneous_contrast.hh
+++ b/scribo/scribo/preprocessing/homogeneous_contrast.hh
@@ -52,14 +52,14 @@ namespace scribo
/// \param[in] input A gray-level image.
/// \param[in] h Height attribute value for leveling closing.
///
- /// \output A gray-level image with better contrast homogeneity.
+ /// \return A gray-level image with better contrast homogeneity.
//
template <typename I>
mln_concrete(I)
homogeneous_contrast(const Image<I>& input, unsigned h);
- /// \overload.
+ /// \overload
/// Default height attribute value is set to 75.
//
template <typename I>
diff --git a/scribo/scribo/preprocessing/split_bg_fg.hh b/scribo/scribo/preprocessing/split_bg_fg.hh
index e1fae7d..b35d04c 100644
--- a/scribo/scribo/preprocessing/split_bg_fg.hh
+++ b/scribo/scribo/preprocessing/split_bg_fg.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -30,7 +30,7 @@
/// \file
///
-/// Split the background and the foreground.
+/// \brief Split the background and the foreground.
# include <mln/core/macros.hh>
# include <mln/core/image/image2d.hh>
@@ -89,7 +89,7 @@ namespace scribo
*/
template <typename I>
mln::util::couple<mln_concrete(I), mln_concrete(I)>
- split_bg_fg(const Image<I>& input_, unsigned lambda, unsigned delta);
+ split_bg_fg(const Image<I>& input, unsigned lambda, unsigned delta);
diff --git a/scribo/scribo/primitive/extract/alignments.hh b/scribo/scribo/primitive/extract/alignments.hh
index b2c7c0c..32285ea 100644
--- a/scribo/scribo/primitive/extract/alignments.hh
+++ b/scribo/scribo/primitive/extract/alignments.hh
@@ -26,6 +26,10 @@
#ifndef SCRIBO_PRIMITIVE_EXTRACT_ALIGNMENTS_HH
# define SCRIBO_PRIMITIVE_EXTRACT_ALIGNMENTS_HH
+/// \file
+///
+///
+
# include <iostream>
# include <mln/core/image/image2d.hh>
@@ -112,21 +116,24 @@ namespace scribo
This method handles skewed alignments and draw skew lines if
possible. Examples :
+ \verbatim
|x |x
| x \x
| x -> \x
| x \x
+ \endverbatim
-
- \fixme Because the first link step at step 2.a check aligment
+ \todo Because the first link step at step 2.a check aligment
between only 2 components and not the whole group, we may
retrieve alignment patterns such this one :
+ \verbatim
|x
| x
| x
| x
|x
+ \endverbatim
Here, the 'x' are aligned pair by pair but globally they are
not. Here we cannot draw skewed lines without processing every
@@ -137,12 +144,13 @@ namespace scribo
with that line. Here, we would like to split links/alignement
in two groups in order to get something like that :
+ \verbatim
\x
\x
\x
/x
/x
-
+ \endverbatim
\param[in] doc A document information with text lines.
diff --git a/scribo/scribo/primitive/extract/cells.hh b/scribo/scribo/primitive/extract/cells.hh
index 08b3fd6..4ae3e49 100644
--- a/scribo/scribo/primitive/extract/cells.hh
+++ b/scribo/scribo/primitive/extract/cells.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2011 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -60,19 +61,20 @@ namespace scribo
using namespace mln;
- /// Extract canvas cells from a binary image.
+ /// \brief Extract canvas cells from a binary image.
/// Use arbitrary criterions.
///
- /// \param[in] input_ A binary image.
- /// \param[in,out] ncells Will store the number of cells found.
+ /// \param[in] input A binary image.
+ /// \param[in] nbh A neighborhood.
+ /// \param[in,out] label_type Type of the labeled image.
///
/// \return A list of cell bounding boxes.
//
template <typename I, typename N, typename V>
mln::util::couple<mln::util::array<box<mln_site(I)> >,
mln::util::array<box<mln_site(I)> > >
- cells(const Image<I>& input_,
- const Neighborhood<N>& nbh_, const V& label_type);
+ cells(const Image<I>& input,
+ const Neighborhood<N>& nbh, const V& label_type);
# ifndef MLN_INCLUDE_ONLY
diff --git a/scribo/scribo/primitive/extract/components.hh b/scribo/scribo/primitive/extract/components.hh
index fe2b523..851193e 100644
--- a/scribo/scribo/primitive/extract/components.hh
+++ b/scribo/scribo/primitive/extract/components.hh
@@ -29,7 +29,7 @@
/// \file
///
-/// Extract components in a binary image.
+/// \brief Extract components in a binary image.
# include <mln/core/concept/neighborhood.hh>
@@ -63,10 +63,10 @@ namespace scribo
using namespace mln;
- /// Extract components in a binary image.
+ /// \brief Extract components in a binary image.
///
- /// \param[in] input A binary image. Components are must be set
- /// to 'true'
+ /// \param[in] input A RGB image.
+ /// \param[in] binary_input A binary image. Components must be set to 'True'.
/// and background to 'false'.
/// \param[in] nbh A neighborhood to be used for labeling.
/// \param[in,out] ncomponents Will store the numbers of components found.
diff --git a/scribo/scribo/primitive/extract/lines_h_single.hh b/scribo/scribo/primitive/extract/lines_h_single.hh
index 1bff2f4..7c9e556 100644
--- a/scribo/scribo/primitive/extract/lines_h_single.hh
+++ b/scribo/scribo/primitive/extract/lines_h_single.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -29,7 +29,7 @@
/// \file
///
-/// Fast Extraction of single horizontal thick lines.
+/// \brief Fast Extraction of single horizontal thick lines.
# include <mln/core/concept/image.hh>
# include <mln/core/concept/neighborhood.hh>
@@ -50,16 +50,16 @@ namespace scribo
using namespace mln;
- /// Fast Extraction of single horizontal thick lines.
- /*!
+ /*! \brief Fast Extraction of single horizontal thick lines.
+ *
* Only single non discontinued lines are correctly extracted
* with this routine.
*
- * \param[in] input_ A binary image.
- * \param[in] nbh_ The neighborhood used for labeling image
+ * \param[in] input A binary image.
+ * \param[in] nbh The neighborhood used for labeling image
* components.
* \param[in,out] nlines Type used for labeling.
- * \param[in] line_length The minimum line length.
+ * \param[in] min_line_length The minimum line length.
* \param[in] w_h_ratio The minimum ratio width/height object
* bounding boxes to consider an
* object as a single line.
@@ -75,13 +75,13 @@ namespace scribo
float w_h_ratio);
- /// Fast Extraction of single horizontal thick lines.
- /*!
+ /*! \brief Fast Extraction of single horizontal thick lines.
+ *
* Only single non discontinued lines are correctly extracted
* with this routine.
*
* \param[in] components A labeled image.
- * \param[in] line_length The minimum line length.
+ * \param[in] min_line_length The minimum line length.
* \param[in] w_h_ratio The minimum ratio width/height object
* bounding boxes to consider an
* object as a single line.
diff --git a/scribo/scribo/primitive/extract/lines_h_thick_and_single.hh b/scribo/scribo/primitive/extract/lines_h_thick_and_single.hh
index dd495a4..d0db15d 100644
--- a/scribo/scribo/primitive/extract/lines_h_thick_and_single.hh
+++ b/scribo/scribo/primitive/extract/lines_h_thick_and_single.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -29,7 +29,7 @@
/// \file
///
-/// Extract horizontal thick lines in a binary image.
+/// \brief Extract horizontal thick lines in a binary image.
# include <mln/core/concept/image.hh>
@@ -56,18 +56,19 @@ namespace scribo
using namespace mln;
- /// Extract horizontal thick lines in a binary image.
- /*!
+
+ /*! \brief Extract horizontal thick lines in a binary image.
+ *
* Only non discontinued lines are correctly extracted with this
* routine. Only lines matching the given criterions are kept
* in the result.
*
- * \param[in] input_ A binary image.
- * \param[in] nbh_ The neighborhood used for labeling image
+ * \param[in] input A binary image.
+ * \param[in] nbh The neighborhood used for labeling image
* components.
* \param[in,out] nlines Type used for labeling.
- * \param[in] line_length The minimum line length.
- * \param[in] w_h_ratio The minimum ratio width/height object
+ * \param[in] min_line_length The minimum line length.
+ * \param[in] h_w_ratio The minimum ratio width/height object
* bounding boxes to consider an
* object as a single line.
*
@@ -75,8 +76,8 @@ namespace scribo
*/
template <typename I, typename N, typename V>
component_set<mln_ch_value(I,V)>
- lines_h_thick_and_single(const Image<I>& input_,
- const Neighborhood<N>& nbh_,
+ lines_h_thick_and_single(const Image<I>& input,
+ const Neighborhood<N>& nbh,
V& nlines,
unsigned min_line_length,
float h_w_ratio);
diff --git a/scribo/scribo/primitive/extract/lines_v_pattern.hh b/scribo/scribo/primitive/extract/lines_v_pattern.hh
index 2908c8b..bf0b1c0 100644
--- a/scribo/scribo/primitive/extract/lines_v_pattern.hh
+++ b/scribo/scribo/primitive/extract/lines_v_pattern.hh
@@ -29,7 +29,7 @@
/// \file
///
-/// Extract vertical lines matching a specific pattern.
+/// \brief Extract vertical lines matching a specific pattern.
# include <cmath>
@@ -56,10 +56,12 @@ namespace scribo
using namespace mln;
- /// Extract vertical lines matching a specific pattern.
+ /// \brief Extract vertical lines matching a specific pattern.
///
/// \param[in] input A binary image.
/// \param[in] length The minimum line length.
+ /// \param[in] delta space between the first background pixels
+ /// and the line pixels (usually 2 or 3).
///
/// \result An image of vertical lines.
//
diff --git a/scribo/scribo/primitive/extract/lines_v_single.hh b/scribo/scribo/primitive/extract/lines_v_single.hh
index 67b9f9d..317bf22 100644
--- a/scribo/scribo/primitive/extract/lines_v_single.hh
+++ b/scribo/scribo/primitive/extract/lines_v_single.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -29,7 +29,7 @@
/// \file
///
-/// Fast Extraction of single vertical thick lines.
+/// \brief Fast Extraction of single vertical thick lines.
# include <mln/core/concept/image.hh>
# include <mln/core/concept/neighborhood.hh>
@@ -49,16 +49,16 @@ namespace scribo
using namespace mln;
- /// Fast Extraction of single vertical thick lines.
- /*!
+ /*! \brief Fast Extraction of single vertical thick lines.
+ *
* Only single non discontinued lines are correctly extracted
* with this routine.
*
- * \param[in] input_ A binary image.
- * \param[in] nbh_ The neighborhood used for labeling image
+ * \param[in] input A binary image.
+ * \param[in] nbh The neighborhood used for labeling image
* components.
* \param[in,out] nlines Type used for labeling.
- * \param[in] line_length The minimum line length.
+ * \param[in] min_line_length The minimum line length.
* \param[in] h_w_ratio The minimum ratio height/width object
* bounding boxes to consider an
* object as a single line.
@@ -74,13 +74,13 @@ namespace scribo
float h_w_ratio);
- /// Fast Extraction of single vertical thick lines.
- /*!
+ /*! \brief Fast Extraction of single vertical thick lines.
+ *
* Only single non discontinued lines are correctly extracted
* with this routine.
*
* \param[in] components A labeled image.
- * \param[in] line_length The minimum line length.
+ * \param[in] min_line_length The minimum line length.
* \param[in] h_w_ratio The minimum ratio height/width object
* bounding boxes to consider an
* object as a single line.
diff --git a/scribo/scribo/primitive/extract/lines_v_thick_and_single.hh b/scribo/scribo/primitive/extract/lines_v_thick_and_single.hh
index 44f7a9e..c3719cf 100644
--- a/scribo/scribo/primitive/extract/lines_v_thick_and_single.hh
+++ b/scribo/scribo/primitive/extract/lines_v_thick_and_single.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -29,7 +29,7 @@
/// \file
///
-/// Extract vertical thick lines in a binary image.
+/// \brief Extract vertical thick lines in a binary image.
# include <mln/core/concept/image.hh>
@@ -55,17 +55,17 @@ namespace scribo
using namespace mln;
- /// Extract vertical thick lines in a binary image.
- /*!
+ /*! \brief Extract vertical thick lines in a binary image.
+ *
* Only non discontinued lines are correctly extracted with this
* routine. Only lines matching the given criterions are kept
* in the result.
*
- * \param[in] input_ A binary image.
- * \param[in] nbh_ The neighborhood used for labeling image
+ * \param[in] input A binary image.
+ * \param[in] nbh The neighborhood used for labeling image
* components.
* \param[in,out] nlines Type used for labeling.
- * \param[in] line_length The minimum line length.
+ * \param[in] min_line_length The minimum line length.
* \param[in] h_w_ratio The minimum ratio height/width object
* bounding boxes to consider an
* object as a single line.
@@ -74,8 +74,8 @@ namespace scribo
*/
template <typename I, typename N, typename V>
component_set<mln_ch_value(I,V)>
- lines_v_thick_and_single(const Image<I>& input_,
- const Neighborhood<N>& nbh_,
+ lines_v_thick_and_single(const Image<I>& input,
+ const Neighborhood<N>& nbh,
V& nlines,
unsigned min_line_length,
float h_w_ratio);
diff --git a/scribo/scribo/primitive/group/from_double_link.hh b/scribo/scribo/primitive/group/from_double_link.hh
index 260bfea..a4d97de 100644
--- a/scribo/scribo/primitive/group/from_double_link.hh
+++ b/scribo/scribo/primitive/group/from_double_link.hh
@@ -62,7 +62,6 @@ namespace scribo
validate These links. A link must exist in both ways to be
validated.
- \param[in] components A component set.
\param[in] left_link The left neighbor of each line of text.
\param[in] right_link The right neighbor of each line of text.
diff --git a/scribo/scribo/primitive/identify.hh b/scribo/scribo/primitive/identify.hh
index 6aa6ad3..f4e115b 100644
--- a/scribo/scribo/primitive/identify.hh
+++ b/scribo/scribo/primitive/identify.hh
@@ -28,7 +28,7 @@
/*! \brief try to determine the type of a component.
-\fixme Write it and add support for component type (graphic, images,
+\todo Write it and add support for component type (graphic, images,
...)
*/
diff --git a/scribo/scribo/primitive/link/compute.hh b/scribo/scribo/primitive/link/compute.hh
index 114971f..8c64171 100644
--- a/scribo/scribo/primitive/link/compute.hh
+++ b/scribo/scribo/primitive/link/compute.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -50,6 +50,8 @@ namespace scribo
/*! \brief Compute links between objects according a given functor.
\param[in,out] functor Linking policy.
+ \param[in] anchor Lookup anchor. Starts looking for
+ neighbors from there.
\return Object links.
diff --git a/scribo/scribo/primitive/link/with_single_left_link.hh b/scribo/scribo/primitive/link/with_single_left_link.hh
index cc94f93..c4b080f 100644
--- a/scribo/scribo/primitive/link/with_single_left_link.hh
+++ b/scribo/scribo/primitive/link/with_single_left_link.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -29,7 +29,7 @@
/// \file
///
-/// Link text components with their left neighbor.
+/// \brief Link text components with their left neighbor.
# include <mln/core/concept/image.hh>
# include <mln/core/concept/neighborhood.hh>
@@ -65,7 +65,8 @@ namespace scribo
/// \brief Link components with their left neighbor if exists.
///
/// \param[in] components A component set.
- /// \param[in] The maximum distance allowed to seach a neighbor object.
+ /// \param[in] neighb_max_distance The maximum distance allowed
+ /// to seach a neighbor object.
///
/// \return Object links data.
//
@@ -78,6 +79,7 @@ namespace scribo
/// \overload
/// Max distance is set to mln_max(unsigned).
+ //
template <typename L>
inline
object_links<L>
diff --git a/scribo/scribo/primitive/link/with_single_left_link_dmax_ratio_aligned.hh b/scribo/scribo/primitive/link/with_single_left_link_dmax_ratio_aligned.hh
index 146ae17..9fdae67 100644
--- a/scribo/scribo/primitive/link/with_single_left_link_dmax_ratio_aligned.hh
+++ b/scribo/scribo/primitive/link/with_single_left_link_dmax_ratio_aligned.hh
@@ -29,8 +29,8 @@
/// \file
///
-/// Link text objects with their left neighbor according to a maximum
-/// distance.
+/// \brief Link text objects with their left neighbor according to a
+/// maximum distance.
# include <mln/core/concept/image.hh>
# include <mln/core/concept/neighborhood.hh>
@@ -67,6 +67,10 @@ namespace scribo
\param[in] components A component set.
\param[in] dmax_ratio Size ratio defining the maximum lookup
distance.
+ \param[in] min_angle Minimum difference allowed for
+ alignement angle.
+ \param[in] max_angle Maximum difference allowed for
+ alignement angle.
\param[in] anchor Starting point for the neighbor lookup.
\return Object links data.
@@ -90,6 +94,7 @@ namespace scribo
/// \overload
/// anchor is set to MassCenter.
+ //
template <typename L>
inline
object_links<L>
@@ -102,6 +107,7 @@ namespace scribo
/// \overload
/// dmax_ratio is set to 3.
/// anchor is set to MassCenter.
+ //
template <typename L>
inline
object_links<L>
diff --git a/scribo/scribo/primitive/link/with_single_right_link.hh b/scribo/scribo/primitive/link/with_single_right_link.hh
index bc7942b..60bb4d1 100644
--- a/scribo/scribo/primitive/link/with_single_right_link.hh
+++ b/scribo/scribo/primitive/link/with_single_right_link.hh
@@ -29,7 +29,7 @@
/// \file
///
-/// Link components with their right neighbor.
+/// \brief Link components with their right neighbor.
# include <mln/core/concept/image.hh>
@@ -64,7 +64,10 @@ namespace scribo
/// Lookup startup point is the object mass center.
///
/// \param[in] components An object image.
- /// \param[in] The maximum distance allowed to seach a neighbor object.
+ /// \param[in] neighb_max_distance The maximum distance allowed
+ /// to seach a neighbor object.
+ /// \param[in] anchor Anchor from where the neighbor lookup is
+ /// performed.
///
/// \return Object links data.
//
@@ -78,6 +81,7 @@ namespace scribo
/// \overload
/// Max distance is set to mln_max(unsigned).
+ //
template <typename L>
inline
object_links<L>
diff --git a/scribo/scribo/primitive/link/with_single_right_link_bottom.hh b/scribo/scribo/primitive/link/with_single_right_link_bottom.hh
index 85f6b50..9b76919 100644
--- a/scribo/scribo/primitive/link/with_single_right_link_bottom.hh
+++ b/scribo/scribo/primitive/link/with_single_right_link_bottom.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -29,7 +29,7 @@
/// \file
///
-/// Link text components with their right neighbor.
+/// \brief Link text components with their right neighbor.
# include <mln/core/concept/image.hh>
@@ -63,7 +63,8 @@ namespace scribo
/// Lookup startup point is the object bottom center.
///
/// \param[in] components A component set.
- /// \param[in] The maximum distance allowed to seach a neighbor object.
+ /// \param[in] neighb_max_distance The maximum distance allowed
+ /// to seach a neighbor object.
///
/// \return Object links data.
//
@@ -76,6 +77,7 @@ namespace scribo
/// \overload
/// Max distance is set to mln_max(unsigned).
+ //
template <typename L>
inline
object_links<L>
diff --git a/scribo/scribo/primitive/link/with_single_right_link_dmax_ratio_aligned.hh b/scribo/scribo/primitive/link/with_single_right_link_dmax_ratio_aligned.hh
index dcf804e..f7ed41e 100644
--- a/scribo/scribo/primitive/link/with_single_right_link_dmax_ratio_aligned.hh
+++ b/scribo/scribo/primitive/link/with_single_right_link_dmax_ratio_aligned.hh
@@ -29,8 +29,8 @@
/// \file
///
-/// Link text objects with their right neighbor according to a maximum
-/// distance.
+/// \brief Link text objects with their right neighbor according to a
+/// maximum distance.
# include <mln/core/concept/image.hh>
# include <mln/core/concept/neighborhood.hh>
@@ -67,6 +67,10 @@ namespace scribo
\param[in] components A component set.
\param[in] dmax_ratio Size ratio defining the maximum lookup
distance.
+ \param[in] min_angle Minimum difference allowed for
+ alignement angle.
+ \param[in] max_angle Maximum difference allowed for
+ alignement angle.
\param[in] anchor Starting point for the neighbor lookup.
\return Object links data.
diff --git a/scribo/scribo/primitive/link/with_single_right_link_top.hh b/scribo/scribo/primitive/link/with_single_right_link_top.hh
index ada6650..c8008fc 100644
--- a/scribo/scribo/primitive/link/with_single_right_link_top.hh
+++ b/scribo/scribo/primitive/link/with_single_right_link_top.hh
@@ -29,7 +29,7 @@
/// \file
///
-/// Link components with their right neighbor.
+/// \brief Link components with their right neighbor.
# include <mln/core/concept/image.hh>
@@ -64,7 +64,8 @@ namespace scribo
/// Lookup startup point is the object top center.
///
/// \param[in] components A component set.
- /// \param[in] The maximum distance allowed to seach a neighbor object.
+ /// \param[in] neighb_max_distance The maximum distance allowed
+ /// to seach a neighbor object.
///
/// \return Object links data.
//
@@ -77,6 +78,7 @@ namespace scribo
/// \overload
/// Max distance is set to mln_max(unsigned).
+ //
template <typename L>
inline
object_links<L>
diff --git a/scribo/scribo/table/align_lines_horizontaly.hh b/scribo/scribo/table/align_lines_horizontaly.hh
index 25e4036..38d14ec 100644
--- a/scribo/scribo/table/align_lines_horizontaly.hh
+++ b/scribo/scribo/table/align_lines_horizontaly.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -55,13 +55,16 @@ namespace scribo
///
/// \param[in] input Image from which the line bboxes are
/// extracted from.
- /// \param[in, out] line_bboxes horizontal lines bounding boxes.
+ /// \param[in] lines Component set corresponding to table lines.
+ /// \param[in,out] aligned_lines Component set where aligned table
+ /// lines are stored.
/// \param[in] max_alignment_diff max space between two lines to
/// consider they are potentialy on the
/// same line.
///
/// \return A list of the resulting aligned rows. Each integer is actually
/// a row number.
+ //
template <typename I, typename L>
mln::util::array<int>
align_lines_horizontaly(const Image<I>& input,
diff --git a/scribo/scribo/table/rebuild.hh b/scribo/scribo/table/rebuild.hh
index f593153..e433390 100644
--- a/scribo/scribo/table/rebuild.hh
+++ b/scribo/scribo/table/rebuild.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -29,7 +29,7 @@
/// \file
///
-/// Rebuild a table from its line bounding boxes.
+/// \brief Rebuild a table from its line bounding boxes.
# include <mln/core/concept/image.hh>
# include <mln/core/alias/neighb2d.hh>
@@ -57,11 +57,13 @@ namespace scribo
{
- /// Rebuild a table from its line bounding boxes.
- /*!
- ** \param[in] input_ A binary image.
- ** \param[in] linebboxes_ A couple of vertical and horizontal
- ** line bounding boxes.
+ /*! \brief Rebuild a table from its line bounding boxes.
+ **
+ ** \param[in] input A binary image.
+ ** \param[in] vlines Component set corresponding to vertical
+ ** lines.
+ ** \param[in] hlines Component set corresponding to horizontal
+ ** lines.
** \param[in] max_dist_lines The maximum distance allowed between
** vertical and horizontal lines to connect
** them eachother.
@@ -76,7 +78,7 @@ namespace scribo
mln::util::couple<L,
mln::util::couple<component_set<L>,
component_set<L> > >
- rebuild(const Image<I>& input_,
+ rebuild(const Image<I>& input,
const component_set<L>& vlines,
const component_set<L>& hlines,
unsigned max_dist_lines,
diff --git a/scribo/scribo/text/extract_lines.hh b/scribo/scribo/text/extract_lines.hh
index 3e9254a..685079c 100644
--- a/scribo/scribo/text/extract_lines.hh
+++ b/scribo/scribo/text/extract_lines.hh
@@ -29,7 +29,7 @@
/// \file
///
-/// Extract line of text bounding boxes.
+/// \brief Extract line of text bounding boxes.
# include <mln/core/concept/image.hh>
@@ -62,17 +62,17 @@ namespace scribo
using namespace mln;
- /// Extract lines of text in a binary image.
- /*!
+ /*! \brief Extract lines of text in a binary image.
+ **
** \param[in] input A binary image.
** \param[in] nbh A neighborhood used for labeling.
- ** \param[in] seps A binary image with separator information.
+ ** \param[in] separators A binary image with separator information.
**
** \return A set of lines.
*/
template <typename I, typename N>
line_set<mln_ch_value(I,scribo::def::lbl_type)>
- extract_lines(const Image<I>& input_, const Neighborhood<N>& nbh_,
+ extract_lines(const Image<I>& input, const Neighborhood<N>& nbh,
const mln_ch_value(I,bool)& separators);
/// \overload
diff --git a/scribo/scribo/text/extract_lines_wo_merge.hh b/scribo/scribo/text/extract_lines_wo_merge.hh
index 0d90600..ea9e6cf 100644
--- a/scribo/scribo/text/extract_lines_wo_merge.hh
+++ b/scribo/scribo/text/extract_lines_wo_merge.hh
@@ -28,7 +28,7 @@
/// \file
///
-/// Extract line of text bounding boxes.
+/// \brief Extract line of text bounding boxes.
# include <mln/core/concept/image.hh>
@@ -62,17 +62,17 @@ namespace scribo
using namespace mln;
- /// Extract lines of text in a binary image.
+ /// \brief Extract lines of text in a binary image.
/*!
** \param[in] input A binary image.
** \param[in] nbh A neighborhood used for labeling.
- ** \param[in] seps A binary image with separator information.
+ ** \param[in] separators A binary image with separator information.
**
** \return A set of lines.
*/
template <typename I, typename N>
line_set<mln_ch_value(I,scribo::def::lbl_type)>
- extract_lines_wo_merge(const Image<I>& input_, const Neighborhood<N>& nbh_,
+ extract_lines_wo_merge(const Image<I>& input, const Neighborhood<N>& nbh,
const mln_ch_value(I,bool)& separators);
/// \overload
diff --git a/scribo/scribo/text/recognition.hh b/scribo/scribo/text/recognition.hh
index 1e11a3e..5e0e7ab 100644
--- a/scribo/scribo/text/recognition.hh
+++ b/scribo/scribo/text/recognition.hh
@@ -29,7 +29,7 @@
/// \file
///
-/// Passes the text bounding boxes to an OCR (Tesseract).
+/// \brief Recognize text using an OCR (Tesseract).
///
/// \todo For each text bbox, we create a new image. We may like to avoid that.
/// \todo Do not store the result in an image?
@@ -75,20 +75,25 @@ namespace scribo
using namespace mln;
- /// Passes the text bboxes to Tesseract (OCR).
+ /// \brief Passes the text bboxes to Tesseract (OCR).
///
/// \param[in] lines The lines of text.
/// \param[in] language The language which should be recognized by
/// Tesseract. (fra, en, ...)
- /// \param[in] output_file If set, store the recognized text in
- /// this file.
//
template <typename L>
void
recognition(line_set<L>& lines, const char *language);
- /// Recognize text from an image.
+ /// \brief Recognize text from an image.
+ ///
+ /// \param[in] line Image of text line.
+ /// \param[in] language The language which should be recognized by
+ /// Tesseract. (fra, en, ...)
+ /// \param[in] output_file If set, store the recognized text in
+ /// this file.
+ //
template <typename I>
void
recognition(const Image<I>& line,
diff --git a/scribo/scribo/toolchain/content_in_doc.hh b/scribo/scribo/toolchain/content_in_doc.hh
index 0d3430e..5ef6aa8 100644
--- a/scribo/scribo/toolchain/content_in_doc.hh
+++ b/scribo/scribo/toolchain/content_in_doc.hh
@@ -28,7 +28,7 @@
/// \file
///
-/// Analyse a document.
+/// \brief Analyse and extract document image content.
# include <scribo/toolchain/internal/content_in_doc_functor.hh>
@@ -41,6 +41,27 @@ namespace scribo
using namespace mln;
+ /*! \brief Analyse and extract document image content.
+
+ \input[in] input A RGB image.
+ \input[in] input_preproc A Binary image.
+ \param[in] denoise Remove too small components (<= 2 pixels).
+ \param[in] find_line_seps Enable/Disable lookup for
+ vertical/horizontal separators.
+ \param[in] find_whitespace_seps Enable/Disable lookup for
+ vertical alignments and
+ whitespaces. Helps finding text
+ layout.
+ \param[in] enable_ocr Enable/Disable text recognition.
+ \param[in] language Main language used in the input
+ document. (OCR settings)
+ \param[in] verbose Enable/Disable debug information printed on
+ std::cout.
+
+ \return A document structure.
+
+ \ingroup grptoolchaindocproc
+ */
template <typename I, typename J>
document<mln_ch_value(I, def::lbl_type)>
content_in_doc(const Image<I>& input, const Image<J>& input_preproc,
diff --git a/scribo/scribo/toolchain/content_in_hdoc.hh b/scribo/scribo/toolchain/content_in_hdoc.hh
index 97233d5..1ffff09 100644
--- a/scribo/scribo/toolchain/content_in_hdoc.hh
+++ b/scribo/scribo/toolchain/content_in_hdoc.hh
@@ -28,7 +28,7 @@
/// \file
///
-/// Analyse a document.
+/// \brief Analyse a historical/degraded document.
# include <scribo/toolchain/internal/content_in_hdoc_functor.hh>
@@ -40,7 +40,26 @@ namespace scribo
using namespace mln;
-
+ /*! \brief Analyse and extract content in a historical/degraded
+ document.
+
+ \input[in] input A RGB image.
+ \input[in] input_preproc A Binary image.
+ \param[in] denoise Remove too small components (<= 2 pixels).
+ \param[in] find_line_seps Enable/Disable lookup for
+ vertical/horizontal separators.
+ \param[in] find_whitespace_seps Enable/Disable lookup for
+ vertical alignments and
+ whitespaces. Helps finding text
+ layout.
+ \param[in] enable_ocr Enable/Disable text recognition.
+ \param[in] language Main language used in the input
+ document. (OCR settings)
+
+ \return A document structure.
+
+ \ingroup grptoolchaindocproc
+ */
template <typename I, typename J>
document<mln_ch_value(I, def::lbl_type)>
content_in_hdoc(const Image<I>& input, const Image<J>& input_preproc,
diff --git a/scribo/scribo/toolchain/internal/content_in_doc_functor.hh b/scribo/scribo/toolchain/internal/content_in_doc_functor.hh
index 448ec24..066168a 100644
--- a/scribo/scribo/toolchain/internal/content_in_doc_functor.hh
+++ b/scribo/scribo/toolchain/internal/content_in_doc_functor.hh
@@ -27,6 +27,10 @@
#ifndef SCRIBO_TOOLCHAIN_INTERNAL_CONTENT_IN_DOC_FUNCTOR_HH
# define SCRIBO_TOOLCHAIN_INTERNAL_CONTENT_IN_DOC_FUNCTOR_HH
+/// \file
+///
+/// \brief Functor analysing and extracting document image content.
+
# ifndef SCRIBO_NDEBUG
# include <mln/util/timer.hh>
# endif // ! SCRIBO_NDEBUG
@@ -92,7 +96,9 @@ namespace scribo
namespace internal
{
+ /*! \brief Functor analysing and extracting document image content.
+ */
template <typename I>
struct content_in_doc_functor
: public Toolchain_Functor
diff --git a/scribo/scribo/toolchain/internal/content_in_hdoc_functor.hh b/scribo/scribo/toolchain/internal/content_in_hdoc_functor.hh
index bda31b3..4ffc9a7 100644
--- a/scribo/scribo/toolchain/internal/content_in_hdoc_functor.hh
+++ b/scribo/scribo/toolchain/internal/content_in_hdoc_functor.hh
@@ -27,6 +27,12 @@
#ifndef SCRIBO_TOOLCHAIN_INTERNAL_CONTENT_IN_HDOC_FUNCTOR_HH
# define SCRIBO_TOOLCHAIN_INTERNAL_CONTENT_IN_HDOC_FUNCTOR_HH
+/// \file
+///
+/// \brief Functor analysing and extracting content in
+/// degraded/historical documents.
+
+
# ifndef SCRIBO_NDEBUG
# include <mln/util/timer.hh>
# endif // ! SCRIBO_NDEBUG
@@ -103,6 +109,9 @@ namespace scribo
{
+ /*! \brief Functor analysing and extracting content in
+ degraded/historical documents.
+ */
template <typename I>
struct content_in_hdoc_functor
: public Toolchain_Functor
diff --git a/scribo/scribo/toolchain/internal/text_in_doc_functor.hh b/scribo/scribo/toolchain/internal/text_in_doc_functor.hh
index edb170d..eeac1ea 100644
--- a/scribo/scribo/toolchain/internal/text_in_doc_functor.hh
+++ b/scribo/scribo/toolchain/internal/text_in_doc_functor.hh
@@ -27,6 +27,10 @@
#ifndef SCRIBO_TOOLCHAIN_INTERNAL_TEXT_IN_DOC_FUNCTOR_HH
# define SCRIBO_TOOLCHAIN_INTERNAL_TEXT_IN_DOC_FUNCTOR_HH
+/// \file
+///
+/// \brief Functor extracting text lines from a document image.
+
# ifndef SCRIBO_NDEBUG
# include <mln/util/timer.hh>
# endif // ! SCRIBO_NDEBUG
@@ -76,7 +80,9 @@ namespace scribo
namespace internal
{
+ /*! \brief Functor extracting text lines from a document image.
+ */
template <typename I>
struct text_in_doc_functor
: public Toolchain_Functor
diff --git a/scribo/scribo/toolchain/internal/text_in_doc_preprocess_functor.hh b/scribo/scribo/toolchain/internal/text_in_doc_preprocess_functor.hh
index d58b4b2..12dc834 100644
--- a/scribo/scribo/toolchain/internal/text_in_doc_preprocess_functor.hh
+++ b/scribo/scribo/toolchain/internal/text_in_doc_preprocess_functor.hh
@@ -27,6 +27,11 @@
#ifndef SCRIBO_TOOLCHAIN_INTERNAL_TEXT_IN_DOC_PREPROCESS_FUNCTOR_HH
# define SCRIBO_TOOLCHAIN_INTERNAL_TEXT_IN_DOC_PREPROCESS_FUNCTOR_HH
+/// \file
+///
+/// \brief Functor performing custom preprocessing algorithms on
+/// documents.
+
#include <mln/core/concept/image.hh>
#include <mln/data/transform.hh>
#include <mln/data/convert.hh>
diff --git a/scribo/scribo/toolchain/internal/text_in_picture_functor.hh b/scribo/scribo/toolchain/internal/text_in_picture_functor.hh
index 5178a82..8d12612 100644
--- a/scribo/scribo/toolchain/internal/text_in_picture_functor.hh
+++ b/scribo/scribo/toolchain/internal/text_in_picture_functor.hh
@@ -29,7 +29,7 @@
/// \file
///
-/// Localize text in a picture.
+/// \brief Localize text in a picture.
# include <libgen.h>
@@ -107,7 +107,7 @@ namespace scribo
using namespace mln;
-
+ /// \brief Localize text in a picture.
template <typename I>
struct text_in_picture_functor
: public Toolchain_Functor
diff --git a/scribo/scribo/toolchain/internal/toolchain_functor.hh b/scribo/scribo/toolchain/internal/toolchain_functor.hh
index fbf1702..835cbbd 100644
--- a/scribo/scribo/toolchain/internal/toolchain_functor.hh
+++ b/scribo/scribo/toolchain/internal/toolchain_functor.hh
@@ -27,6 +27,10 @@
#ifndef SCRIBO_TOOLCHAIN_INTERNAL_TOOLCHAIN_FUNCTOR_HH
# define SCRIBO_TOOLCHAIN_INTERNAL_TOOLCHAIN_FUNCTOR_HH
+/// \file
+///
+/// \brief Base class for toolchain functors.
+
# include <unistd.h>
# include <iostream>
@@ -39,6 +43,7 @@ namespace scribo
namespace internal
{
+ /// \brief Base class for toolchain functors.
class Toolchain_Functor
{
public:
diff --git a/scribo/scribo/toolchain/nepomuk/text_extraction.hh b/scribo/scribo/toolchain/nepomuk/text_extraction.hh
index 2534ce8..705787a 100644
--- a/scribo/scribo/toolchain/nepomuk/text_extraction.hh
+++ b/scribo/scribo/toolchain/nepomuk/text_extraction.hh
@@ -65,7 +65,10 @@ namespace scribo
This is a convenient routine to be used in Nepomuk.
- \param[in] ima A document image. The
+ \param[in] input A document image.
+ \param[in] language The main language used in the input
+ document image. Improve text recognition
+ quality if accurate.
\return A set of recognized words.
@@ -76,6 +79,7 @@ namespace scribo
Depending on your version of Tesseract (OCR) you may define
HAVE_TESSERACT_2 or HAVE_TESSERACT_3 .
+ \ingroup grptoolchain
*/
QSet<QString>
text_extraction(const QImage& input, const QString& language);
diff --git a/scribo/scribo/toolchain/text_in_doc.hh b/scribo/scribo/toolchain/text_in_doc.hh
index 960a22a..b1fb511 100644
--- a/scribo/scribo/toolchain/text_in_doc.hh
+++ b/scribo/scribo/toolchain/text_in_doc.hh
@@ -29,7 +29,7 @@
/// \file
///
-/// Extract text from a document.
+/// \brief Extract text from a document.
# include <scribo/toolchain/internal/text_in_doc_functor.hh>
@@ -42,6 +42,26 @@ namespace scribo
using namespace mln;
+ /*! \brief Extract text lines from a document image.
+
+ \param[in] input A RGB image.
+ \param[in] denoise Remove too small components (<= 2 pixels).
+ \param[in] language Main language used in the input
+ document. (OCR settings)
+ \param[in] find_line_seps Enable/Disable lookup for
+ vertical/horizontal separators.
+ \param[in] find_whitespace_seps Enable/Disable lookup for
+ vertical alignments and
+ whitespaces. Helps finding text
+ layout.
+ \param[in] verbose Enable/Disable debug information printed on
+ std::cout.
+
+ \return A line set including text information and recognized
+ text.
+
+ \ingroup grptoolchaindocproc
+ */
template <typename I>
line_set<mln_ch_value(I, def::lbl_type)>
text_in_doc(const Image<I>& input, bool denoise,
diff --git a/scribo/scribo/toolchain/text_in_doc_preprocess.hh b/scribo/scribo/toolchain/text_in_doc_preprocess.hh
index 0a99487..e94af6f 100644
--- a/scribo/scribo/toolchain/text_in_doc_preprocess.hh
+++ b/scribo/scribo/toolchain/text_in_doc_preprocess.hh
@@ -55,12 +55,16 @@ namespace scribo
\param[in] input An image.
\param[in] enable_fg_bg Enable/Disable background removal.
+ \param[in] lambda Parameter to the background removal. Maximum
+ area of foreground objects.
\param[in] K Binarization threshold parameter. (Default 0.34)
+ \param[in] verbose Enable/Disable debug output on std::cout.
If \p enable_fg_bg is set to 'True' then a background removal is
performed. Its parameter lambda is automatically set according
to the input image size.
+ \ingroup grptoolchaindocpreproc
*/
template <typename I>
mln_ch_value(I,bool)
@@ -70,6 +74,8 @@ namespace scribo
/*! \overload
K is set to 0.34.
+
+ \ingroup grptoolchaindocpreproc
*/
template <typename I>
mln_ch_value(I,bool)
@@ -81,11 +87,14 @@ namespace scribo
\param[in] input An image.
\param[in] lambda Parameter to the background removal.
+ \param[in] verbose Enable/Disable debug information printed on
+ std::cout.
If lambda is set to '0' no background removal is
performed. Otherwise, a background removal is performed with the
given \p lambda value.
+ \ingroup grptoolchaindocpreproc
*/
template <typename I>
mln_ch_value(I,bool)
@@ -97,12 +106,17 @@ namespace scribo
\param[in] input An image.
\param[in] lambda Parameter to the background removal.
\param[in] K Binarization threshold parameter. (Default 0.34)
+ \param[in] enable_fg_bg If set to True tries to identify
+ background components and remove them.
\param[in,out] fg The foreground layer of \p input.
+ \param[in] verbose Enable/Disable debug information printed on
+ std::cout.
If lambda is set to '0' no background removal is
performed. Otherwise, a background removal is performed with the
given \p lambda value.
+ \ingroup grptoolchaindocpreproc
*/
template <typename I>
mln_ch_value(I,bool)
diff --git a/scribo/scribo/toolchain/text_in_picture.hh b/scribo/scribo/toolchain/text_in_picture.hh
index 8d05158..0580ec6 100644
--- a/scribo/scribo/toolchain/text_in_picture.hh
+++ b/scribo/scribo/toolchain/text_in_picture.hh
@@ -30,7 +30,7 @@
/// \file
///
-/// Localize text in a picture.
+/// \brief Localize text in a picture.
# include <scribo/toolchain/internal/text_in_picture_functor.hh>
@@ -42,7 +42,26 @@ namespace scribo
using namespace mln;
-
+ /*! \brief Localize text in pictures.
+
+ \param[in] input_rgb_orig A RGB image.
+ \param[in] bg_removal If set to True tries to identify
+ background components and remove them.
+ \param[in] multi_scale_bin Sauvola's binarization is used. Tells
+ whether to use a multi-scale version
+ or not.
+ \param[in] max_dim_size The maximum height or width allowed for
+ the input image. If larger, it is
+ resized.
+ \param[in] lambda Maximum area of components considered as
+ foreground objects. If set to '0' (default),
+ it is fixed automatically.
+ \param[in] verbose Enable/Disable debug output on std::cout.
+
+ \return A component set corresponding to the text components.
+
+ \ingroup grptoolchainpicproc
+ */
template <typename I>
component_set<mln_ch_value(I, def::lbl_type)>
text_in_picture(const Image<I>& input_rgb_orig,
--
1.7.2.5
* doc/Makefile.am: New dependencies.
* doc/license_commercial.dox,
* doc/mainpage.dox,
* doc/modules_list.dox: More content.
* doc/get_sources.dox,
* doc/online_resources.dox: New.
---
ChangeLog | 13 +++++++++++++
doc/Makefile.am | 2 ++
doc/get_sources.dox | 37 +++++++++++++++++++++++++++++++++++++
doc/license_commercial.dox | 5 +++--
doc/mainpage.dox | 4 ++--
doc/modules_list.dox | 2 +-
doc/online_resources.dox | 34 ++++++++++++++++++++++++++++++++++
7 files changed, 92 insertions(+), 5 deletions(-)
create mode 100644 doc/get_sources.dox
create mode 100644 doc/online_resources.dox
diff --git a/ChangeLog b/ChangeLog
index b385e9c..679dfa0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2011-10-28 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Add more content in general documentation.
+
+ * doc/Makefile.am: New dependencies.
+
+ * doc/license_commercial.dox,
+ * doc/mainpage.dox,
+ * doc/modules_list.dox: More content.
+
+ * doc/get_sources.dox,
+ * doc/online_resources.dox: New.
+
2011-09-16 Roland Levillain <roland(a)lrde.epita.fr>
* configure.ac, NEWS: Version 2.0a.
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 410316b..81c34b1 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -64,6 +64,8 @@ REFMAN_deps = $(srcdir)/footer.html \
$(srcdir)/bibliography.dox \
$(srcdir)/license.dox \
$(srcdir)/license_commercial.dox \
+ $(srcdir)/online_resources.dox \
+ $(srcdir)/get_sources.dox \
contributors.html \
lrde_olena.html
diff --git a/doc/get_sources.dox b/doc/get_sources.dox
new file mode 100644
index 0000000..23f1446
--- /dev/null
+++ b/doc/get_sources.dox
@@ -0,0 +1,37 @@
+/*! \page getsources Get the Sources
+
+If you are interested in developping for Olena, you are definitely
+interested in using the development version from our Git Repository.
+
+To successfuly compile and use the development version, you will need the following additional tools:
+
+\li Git 1.5 or higher
+\li Autoconf 2.61 or higher
+\li Automake 1.10 or higher
+\li Libtool 1.5.22 or higher
+\li Doxygen 1.5.6 or higher
+\li ImageMagick 6.3.7 or higher
+\li HeVeA 1.10
+\li LaTeX2HTML (or at minimum, its html.sty style file)
+
+The Git repository is located at git://git.lrde.epita.fr/olena.
+
+For those who are not used to Git, here are the required commands to get and build a fresh source tree:
+\verbatim
+ git clone git://git.lrde.epita.fr/olena
+ cd olena
+ ./bootstrap
+ mkdir _build
+ cd _build
+ ../configure
+ make
+\endverbatim
+
+The last command may take some time.
+
+If you want to install Olena, type thereafter (as root):
+\verbatim
+ make install
+\endverbatim
+
+*/
\ No newline at end of file
diff --git a/doc/license_commercial.dox b/doc/license_commercial.dox
index 0ece2b5..af2f094 100644
--- a/doc/license_commercial.dox
+++ b/doc/license_commercial.dox
@@ -1,6 +1,7 @@
/*! \page commercial "Commercial Use"
- < Under construction >
+ Even though Olena is released under GPL v2, using Olena in a close
+ source commercial products may be possible.
- Please contact us : olena(a)lrde.epita.fr
+ If you are interested, please contact us at olena(a)lrde.epita.fr
*/
\ No newline at end of file
diff --git a/doc/mainpage.dox b/doc/mainpage.dox
index ea15c32..9ebda3b 100644
--- a/doc/mainpage.dox
+++ b/doc/mainpage.dox
@@ -38,8 +38,8 @@
<tr>
<td>
\li Report Bugs and Make Suggestions
- \li Get the Sources
- \li Online Resources
+ \li \ref getsources
+ \li \ref onlineres
</td>
<td>
\li \ref gplv2 "GNU GPL"
diff --git a/doc/modules_list.dox b/doc/modules_list.dox
index e3f2b8d..6b872ef 100644
--- a/doc/modules_list.dox
+++ b/doc/modules_list.dox
@@ -1,4 +1,4 @@
-/** \page moduleslist List of available modules
+/** \page moduleslist List of Available Modules
As a platform, Olena is divided in several modules:
diff --git a/doc/online_resources.dox b/doc/online_resources.dox
new file mode 100644
index 0000000..32cd18d
--- /dev/null
+++ b/doc/online_resources.dox
@@ -0,0 +1,34 @@
+/*! \page onlineres Online Resources
+
+\section Trac
+
+In order to keep traces of bugs and feature requests, we provide a
+Trac at <a
+href="https://trac.lrde.org/olena">https://trac.lrde.org/olena</a>.
+
+\section Gitweb
+
+Source code is freely browseable through a web interface at this
+address : <a
+href="http://git.lrde.epita.fr/?p=olena.git">http://git.lrde.epita.fr/?p=olena.git</a>
+
+It is also a way to keep an eye on current develop.
+
+\section BuildBot
+
+During the development process, we need to be sure that changes don't
+break the whole code. To do so, we have a buildfarm running several
+architectures and compilers. A monitoring interface is available here
+: <a href="https://buildfarm.lrde.org/buildfarm/oln/">https://buildfarm.lrde.org/buildfarm/oln/</a>
+
+\section Mailing-list
+
+A general mailing-list is available and open for any questions related
+to Olena. You can :
+
+\li <a href="https://www.lrde.epita.fr/mailman/listinfo/olena">subscribe to our mailing-list</a>
+\li <a href="https://www.lrde.epita.fr/pipermail/olena/">fetch the archives of the list</a>
+\li send any questions to: <a href="mailto::olena@lrde.epita.fr">olena(a)lrde.epita.fr</a>
+
+
+*/
\ No newline at end of file
--
1.7.2.5
---
milena/doc/Doxyfile.in | 5 +-
milena/doc/Makefile.am | 19 ++--
milena/doc/groups/{accu.hh => accu.dox} | 0
milena/doc/groups/{graph.hh => graph.dox} | 0
milena/doc/groups/{images.hh => images.dox} | 0
milena/doc/groups/{main.hh => main.dox} | 0
milena/doc/groups/{neighb.hh => neighb.dox} | 0
milena/doc/groups/{site_set.hh => site_set.dox} | 0
milena/doc/groups/{util.hh => util.dox} | 0
milena/doc/groups/{win.hh => win.dox} | 0
milena/doc/mainpage.dox | 121 +++++++++++++++++++++++
milena/mln/core/concept/object.hh | 73 --------------
12 files changed, 134 insertions(+), 84 deletions(-)
rename milena/doc/groups/{accu.hh => accu.dox} (100%)
rename milena/doc/groups/{graph.hh => graph.dox} (100%)
rename milena/doc/groups/{images.hh => images.dox} (100%)
rename milena/doc/groups/{main.hh => main.dox} (100%)
rename milena/doc/groups/{neighb.hh => neighb.dox} (100%)
rename milena/doc/groups/{site_set.hh => site_set.dox} (100%)
rename milena/doc/groups/{util.hh => util.dox} (100%)
rename milena/doc/groups/{win.hh => win.dox} (100%)
create mode 100644 milena/doc/mainpage.dox
diff --git a/milena/doc/Doxyfile.in b/milena/doc/Doxyfile.in
index 7790ce6..5cbaaef 100644
--- a/milena/doc/Doxyfile.in
+++ b/milena/doc/Doxyfile.in
@@ -84,7 +84,7 @@ FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
QUIET = YES
WARNINGS = YES
-WARN_IF_UNDOCUMENTED = YES
+WARN_IF_UNDOCUMENTED = NO
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
@@ -96,7 +96,8 @@ INPUT = @top_srcdir@/milena
FILE_PATTERNS = *.cc \
*.hh \
*.hxx \
- *.hcc
+ *.hcc \
+ *.dox
RECURSIVE = YES
EXCLUDE = @top_srcdir@/milena/sandbox \
@top_srcdir@/milena/trash \
diff --git a/milena/doc/Makefile.am b/milena/doc/Makefile.am
index 99dd4c6..3437f58 100644
--- a/milena/doc/Makefile.am
+++ b/milena/doc/Makefile.am
@@ -693,14 +693,14 @@ regen-am:
EXTRA_DIST += \
$(DATA_html_dirs) \
$(DOXYFILE).in \
- groups/accu.hh \
- groups/graph.hh \
- groups/images.hh \
- groups/main.hh \
- groups/neighb.hh \
- groups/site_set.hh \
- groups/util.hh \
- groups/win.hh \
+ groups/accu.dox \
+ groups/graph.dox \
+ groups/images.dox \
+ groups/main.dox \
+ groups/neighb.dox \
+ groups/site_set.dox \
+ groups/util.dox \
+ groups/win.dox \
img/small-enlarged.png \
img/small.png \
doxyfuns.sty \
@@ -708,7 +708,8 @@ EXTRA_DIST += \
tools/clearbanner.sh \
tools/sample_utils.hh \
tools/split_sample.sh \
- tools/todoxygen.sh
+ tools/todoxygen.sh \
+ mainpage.dox
## ---------- ##
diff --git a/milena/doc/groups/accu.hh b/milena/doc/groups/accu.dox
similarity index 100%
rename from milena/doc/groups/accu.hh
rename to milena/doc/groups/accu.dox
diff --git a/milena/doc/groups/graph.hh b/milena/doc/groups/graph.dox
similarity index 100%
rename from milena/doc/groups/graph.hh
rename to milena/doc/groups/graph.dox
diff --git a/milena/doc/groups/images.hh b/milena/doc/groups/images.dox
similarity index 100%
rename from milena/doc/groups/images.hh
rename to milena/doc/groups/images.dox
diff --git a/milena/doc/groups/main.hh b/milena/doc/groups/main.dox
similarity index 100%
rename from milena/doc/groups/main.hh
rename to milena/doc/groups/main.dox
diff --git a/milena/doc/groups/neighb.hh b/milena/doc/groups/neighb.dox
similarity index 100%
rename from milena/doc/groups/neighb.hh
rename to milena/doc/groups/neighb.dox
diff --git a/milena/doc/groups/site_set.hh b/milena/doc/groups/site_set.dox
similarity index 100%
rename from milena/doc/groups/site_set.hh
rename to milena/doc/groups/site_set.dox
diff --git a/milena/doc/groups/util.hh b/milena/doc/groups/util.dox
similarity index 100%
rename from milena/doc/groups/util.hh
rename to milena/doc/groups/util.dox
diff --git a/milena/doc/groups/win.hh b/milena/doc/groups/win.dox
similarity index 100%
rename from milena/doc/groups/win.hh
rename to milena/doc/groups/win.dox
diff --git a/milena/doc/mainpage.dox b/milena/doc/mainpage.dox
new file mode 100644
index 0000000..df9eac0
--- /dev/null
+++ b/milena/doc/mainpage.dox
@@ -0,0 +1,121 @@
+/** \mainpage Documentation of milena
+
+ \section intro_sec Introduction
+
+Milena is a generic C++ library, providing many data structures for
+image processing as well as algorithms, in particular in the field of
+mathematical morphology. It is used as the base image processing
+library in all Olena modules.
+
+\subsection mlnimagestruct Images and Structures
+
+Milena can be used on:
+
+\li images based on regular grids (1D, 2D, 3D, ...),
+\li images based on (undirected) graphs,
+\li images based on complexes (http://en.wikipedia.org/wiki/Simplicial_complex),
+\li any subset of the previous image types,
+\li any of the previous images modified by a geometrical/topological transformation.
+
+Core concepts of morphology and topology like adjacency and (resp.)
+structuring elements are represented by neighborhood and window
+(resp.) objects. Milena provides classical neighborhoods and windows
+(e.g., for 4- and 8-connexity on regular 2D grids, adjacent vertices
+on graphs, etc.), but users can define their own objects, and use them
+seamlessly with existing or new algorithms.
+
+\subsection mlnvalues Values
+
+Milena supports many different value types and may therefore be used
+with virtually any real-world image inputs and outputs, as well as new
+and original image types.
+
+Currently handled values types are:
+
+\li Boolean (binary) values,
+\li n-bit integers (with fixed n),
+\li n-bit floating-point values (with fixed n),
+\li n-bit gray-level values (with fixed n),
+\li RGB, HSI, HSL color values,
+\li labels (with no arithmetic),
+\li fixed-size tuples and vectors of the previous value types.
+
+These value types can be freely used with any image type and any
+algorithm, provided the combination is valid. Users can provide
+missing definitions when they want to handle non-covered cases. For
+instance, they can write a definition of the supremum on the set of
+RGB values to compute the morphological dilation of an RGB color
+image.
+
+
+ \section quickstart Quick Start
+
+ If you are new at using Milena, take a look at the following pages :
+
+ \li \ref quickref
+ \li \ref tutorial
+
+ \section mln_sec Overview of Milena.
+
+ <UL>
+ <LI> \ref mln
+ <LI> \ref mln::accu
+ <LI> \ref mln::algebra
+ <LI> \ref mln::arith
+ <LI> \ref mln::binarization
+ <LI> \ref mln::border
+ <LI> \ref mln::canvas
+ <LI> \ref mln::convert
+ <LI> \ref mln::data
+ <LI> \ref mln::debug
+ <LI> \ref mln::display
+ <LI> \ref mln::draw
+ <LI> \ref mln::estim
+ <LI> \ref mln::extension
+ <LI> \ref mln::fun
+ <LI> \ref mln::geom
+ <LI> \ref mln::graph
+ <LI> \ref mln::histo
+ <LI> \ref mln::io
+ <LI> \ref mln::labeling
+ <LI> \ref mln::data
+ <LI> \ref mln::linear
+ <LI> \ref mln::literal
+ <LI> \ref mln::logical
+ <LI> \ref mln::make
+ <LI> \ref mln::math
+ <LI> \ref mln::metal
+ <LI> \ref mln::morpho
+ <LI> \ref mln::norm
+ <LI> \ref mln::opt
+ <LI> \ref mln::pw
+ <LI> \ref mln::registration
+ <LI> \ref mln::set
+ <LI> \ref mln::tag
+ <LI> \ref mln::test
+ <LI> \ref mln::topo
+ <LI> \ref mln::trace
+ <LI> \ref mln::trait
+ <LI> \ref mln::transform
+ <LI> \ref mln::util
+ <LI> \ref mln::value
+ <LI> \ref mln::win
+
+ \section copyright Copyright and License.
+ Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+ Development (LRDE)
+
+ This documentation is part of Olena.
+
+ Olena is free software: you can redistribute it and/or modify it under
+ the terms of the GNU General Public License as published by the Free
+ Software Foundation, version 2 of the License.
+
+ Olena 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 Olena. If not, see <http://www.gnu.org/licenses/>.
+ */
diff --git a/milena/mln/core/concept/object.hh b/milena/mln/core/concept/object.hh
index 4d58fbf..6fefeba 100644
--- a/milena/mln/core/concept/object.hh
+++ b/milena/mln/core/concept/object.hh
@@ -54,79 +54,6 @@
# include <mln/metal/math/all.hh>
-/** \mainpage Documentation of milena
-
- \section intro_sec Introduction
-
- This is the documentation of Milena.
-
- \section mln_sec Overview of Milena.
-
- <UL>
- <LI> \ref mln
- <LI> \ref mln::accu
- <LI> \ref mln::algebra
- <LI> \ref mln::arith
- <LI> \ref mln::binarization
- <LI> \ref mln::border
- <LI> \ref mln::canvas
- <LI> \ref mln::convert
- <LI> \ref mln::data
- <LI> \ref mln::debug
- <LI> \ref mln::display
- <LI> \ref mln::draw
- <LI> \ref mln::estim
- <LI> \ref mln::extension
- <LI> \ref mln::fun
- <LI> \ref mln::geom
- <LI> \ref mln::graph
- <LI> \ref mln::histo
- <LI> \ref mln::io
- <LI> \ref mln::labeling
- <LI> \ref mln::data
- <LI> \ref mln::linear
- <LI> \ref mln::literal
- <LI> \ref mln::logical
- <LI> \ref mln::make
- <LI> \ref mln::math
- <LI> \ref mln::metal
- <LI> \ref mln::morpho
- <LI> \ref mln::norm
- <LI> \ref mln::opt
- <LI> \ref mln::pw
- <LI> \ref mln::registration
- <LI> \ref mln::set
- <LI> \ref mln::tag
- <LI> \ref mln::test
- <LI> \ref mln::topo
- <LI> \ref mln::trace
- <LI> \ref mln::trait
- <LI> \ref mln::transform
- <LI> \ref mln::util
- <LI> \ref mln::value
- <LI> \ref mln::win
-
- \section copyright Copyright and License.
- Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
- Development (LRDE)
-
- This documentation is part of Olena.
-
- Olena is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free
- Software Foundation, version 2 of the License.
-
- Olena 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 Olena. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-
/** \namespace mln
\brief The namespace mln corresponds to the Milena (mini-Olena) project.
--
1.7.2.5
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Olena, a generic and efficient image processing platform".
The branch exp/newdoc has been created
at 77f1a73c35522b7ca5f244cd22875407a369ae33 (commit)
- Log -----------------------------------------------------------------
77f1a73 Fix copyright section name
5f8d131 Regen auto-generated makefiles
69c3a36 Cleanup Makefiles
d821327 Move logo
695a1f2 Add more information in binarization algorithms documentation.
81cd3b6 Add an image for illustrating Milena's possibilities.
cb12f69 Improve General documentation menu
967af63 Improve binarization related documentation.
e0093d8 Improve Milena doc directory structure.
a09c009 Improve Olena presentation.
0949555 Add more content in general documentation.
899e2b8 Update general documentation.
ef717c9 doc/Doxyfile.in: Do not warn about undocumented code.
20ec3f3 Fix and improve documentation in Scribo.
c3282fa Add support for bibliography generation and Improve scribo doc rendering.
dc00c29 Introduce bib files.
81ff577 Add support for bib files in Milena's doc.
d88afde First draft of unified doc.
769726b Move Otsu's threshold computation in a separate routine.
e300aac Add Niblack's binarization algorithm.
-----------------------------------------------------------------------
hooks/post-receive
--
Olena, a generic and efficient image processing platform
#43: Fix the initialization of all global constants.
------------------------+---------------------------------------------------
Reporter: garrigues | Owner: Olena Team
Type: defect | Status: closed
Priority: major | Milestone: Olena 2.1
Component: Milena | Version: 1.0
Resolution: fixed | Keywords:
------------------------+---------------------------------------------------
Changes (by lazzara):
* status: reopened => closed
* resolution: => fixed
Comment:
Several patches included in Olena 2.0 improved the initialization of
global constants and fixed compilation issues with multiple files.
MLN_WO_GLOBAL_VARS macro solved most of the compilation issues.
Ticket #243 is also related to global constant initialization and refers
to changes made about that.
Patch 1f0b6046717272eac676f1f9212ce1f6ab00eba0 adds missing 'inline'
keywords and re-enables the test checking compilation with multiple files.
The test is now valid and passes.
This ticket is considered as resolved.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/43#comment:7>
Olena <http://olena.lrde.epita.fr>
Olena, a software platform dedicated to image processing.