---
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