
This is a merge commit message of the following branches: Merge: 565a8ac... 53a57b1... Conflicts: milena/mln/io/magick/load.hh milena/mln/io/magick/save.hh milena/tests/io/magick/save.cc scribo/src/Makefile.am ChangeLog | 117 + Makefile.am | 4 +- bootstrap | 11 +- build-aux/autotroll.mk | 108 + build-aux/build_unit_test.sh | 201 ++- configure.ac | 286 +++- m4/autotroll.m4 | 565 +++++ m4/boost.m4 | 1038 +++++++++ m4/oln-with-lib.m4 | 5 +- m4/pkg.m4 | 155 ++ milena/ChangeLog | 802 +++++++- milena/doc/figures/fill-subdomain-2.ppm | Bin 206 -> 206 bytes milena/doc/figures/fill-subdomain-3.ppm | Bin 206 -> 206 bytes milena/doc/figures/labeling-compute-2.ppm | Bin 206 -> 206 bytes milena/doc/figures/tuto3_colorize-2.ppm | Bin 191 -> 191 bytes .../figures/tuto4_genericity_and_algorithms-5.ppm | Bin 12406 -> 12406 bytes milena/doc/tutorial.tex | 4 + milena/headers.mk | 27 +- milena/img/BUG_lean_ascii.pgm.gz | Bin 75726 -> 0 bytes milena/img/picasso.ppm | Bin 0 -> 244671 bytes milena/mln/accu/center.hh | 14 +- milena/mln/accu/count_value.hh | 30 +- milena/mln/accu/internal/base.hh | 4 +- milena/mln/accu/label_used.hh | 5 +- milena/mln/accu/math/sum.hh | 3 +- milena/mln/accu/pair.hh | 26 + milena/mln/accu/stat/variance.hh | 4 +- milena/mln/accu/tuple.hh | 13 +- milena/mln/border/thickness.hh | 4 + milena/mln/canvas/labeling/blobs.hh | 22 +- milena/mln/canvas/labeling/video.hh | 8 +- milena/mln/convert/from_to.hxx | 45 + milena/mln/convert/impl/from_float_to_value.hh | 10 + milena/mln/convert/impl/from_unsigned_to_value.hh | 10 + milena/mln/convert/to_qimage.hh | 300 +++ milena/mln/convert/to_qimage_nocopy.hh | 180 ++ milena/mln/core/alias/dpoint1d.hh | 4 + milena/mln/core/alias/dpoint2d.hh | 4 + milena/mln/core/alias/dpoint3d.hh | 4 + milena/mln/core/alias/neighb3d.hh | 42 + milena/mln/core/alias/window2d.hh | 3 +- milena/mln/core/concept/function.hh | 43 + milena/mln/core/concept/gpoint.hh | 2 +- milena/mln/core/image/image1d.hh | 6 +- milena/mln/core/image/image3d.hh | 9 +- milena/mln/core/image/imorph/interpolated.hh | 13 +- milena/mln/core/image/imorph/labeled_image.hh | 2 + milena/mln/core/internal/box_impl.hh | 61 +- milena/mln/core/internal/labeled_image_base.hh | 31 +- milena/mln/core/point.hh | 164 ++- milena/mln/core/routine/extend.hh | 57 +- milena/mln/core/site_set/box.hh | 37 +- milena/mln/data/fill_with_value.hh | 3 +- milena/mln/data/paste_without_localization.hh | 311 +++- milena/mln/data/split.hh | 99 + milena/mln/debug/mosaic.hh | 141 ++ milena/mln/debug/slices_2d.hh | 15 +- milena/mln/debug/z_order.hh | 159 ++ milena/mln/draw/all.hh | 1 + milena/mln/draw/box.hh | 5 +- milena/mln/draw/box_plain.hh | 92 + milena/mln/draw/dashed_line.hh | 113 + milena/mln/draw/line.hh | 1 + milena/mln/fun/all.hh | 2 + milena/mln/fun/internal/x2x_linear_impl.hh | 20 +- milena/mln/fun/n2v/all.hh | 51 + milena/mln/fun/n2v/white_gaussian.hh | 104 + milena/mln/fun/v2v/all.hh | 1 + milena/mln/fun/v2v/hsl_to_rgb.hh | 3 + milena/mln/fun/v2v/qt_rgb_to_int_u.hh | 71 + milena/mln/fun/v2v/rgb_to_int_u.hh | 69 + milena/mln/fun/v2v/saturate.hh | 9 +- milena/mln/fun/x2x/composed.hh | 18 +- milena/mln/fun/x2x/rotation.hh | 5 +- milena/mln/fun/x2x/translation.hh | 6 +- milena/mln/geom/all.hh | 4 +- milena/mln/geom/horizontal_symmetry.hh | 194 ++ milena/mln/geom/max_col.hh | 8 +- milena/mln/geom/max_row.hh | 8 +- milena/mln/geom/min_col.hh | 8 +- milena/mln/geom/min_row.hh | 8 +- milena/mln/geom/nslices.hh | 68 + milena/mln/geom/nslis.hh | 68 - milena/mln/geom/rotate.hh | 107 +- milena/mln/geom/size3d.hh | 5 +- milena/mln/geom/vertical_symmetry.hh | 196 ++ milena/mln/histo/compute.hh | 15 +- milena/mln/histo/equalize.hh | 97 + milena/mln/io/dicom/all.hh | 4 +- milena/mln/io/dicom/get_header.hh | 114 + milena/mln/io/dicom/load.hh | 17 +- milena/mln/io/dump/all.hh | 1 + milena/mln/io/dump/get_header.hh | 128 ++ milena/mln/io/dump/save.hh | 3 + milena/mln/io/fld/load.hh | 13 +- milena/mln/io/fld/max_components.hh | 32 +- milena/mln/io/magick/load.hh | 4 +- milena/mln/io/magick/save.hh | 8 +- milena/mln/io/plot/save.hh | 28 +- milena/mln/io/pnm/load.hh | 3 +- milena/mln/io/raw/all.hh | 49 + milena/mln/io/raw/get_header.hh | 136 ++ milena/mln/io/raw/load.hh | 226 ++ milena/mln/io/raw/save.hh | 177 ++ milena/mln/labeling/blobs.hh | 4 +- milena/mln/labeling/blobs_and_compute.hh | 60 +- milena/mln/labeling/colorize.hh | 75 +- milena/mln/labeling/compute.hh | 415 ++++- milena/mln/labeling/flat_zones.hh | 34 +- milena/mln/labeling/pack.hh | 2 +- milena/mln/labeling/relabel.hh | 23 +- milena/mln/labeling/value.hh | 16 +- milena/mln/labeling/value_and_compute.hh | 241 ++ milena/mln/linear/ch_convolve.hh | 9 +- milena/mln/linear/gaussian.hh | 8 +- milena/mln/linear/gaussian/impl.hh | 13 +- milena/mln/literal/black.hh | 4 + milena/mln/literal/colors.hh | 7 +- milena/mln/literal/identity.hh | 4 + milena/mln/literal/one.hh | 3 + milena/mln/literal/origin.hh | 6 +- milena/mln/literal/white.hh | 4 + milena/mln/literal/zero.hh | 4 + milena/mln/make/box3d.hh | 15 +- milena/mln/make/image.hh | 7 +- milena/mln/math/diff_abs.hh | 5 +- milena/mln/registration/icp.hh | 5 +- milena/mln/subsampling/antialiased.hh | 458 ++++ milena/mln/tag/init.hh | 4 + milena/mln/topo/skeleton/crest.hh | 51 +- milena/mln/trace/entering.hh | 3 + milena/mln/trace/quiet.hh | 5 +- milena/mln/transform/influence_zone_geodesic.hh | 13 +- milena/mln/value/int_u.hh | 69 +- milena/mln/value/internal/make_generic_name.hh | 67 + milena/mln/value/label.hh | 22 +- milena/mln/value/qt/rgb32.hh | 803 +++++++ milena/mln/value/rgb.hh | 67 +- milena/mln/value/sign.hh | 10 +- milena/mln/win/sline3d.hh | 76 + milena/mln/world/binary_2d/enlarge.hh | 4 +- milena/mln/world/inter_pixel/full2image.hh | 4 +- milena/sandbox/ChangeLog | 601 +++++ milena/sandbox/bench/README_CFLAGS | 8 + milena/sandbox/bench/extract_vertical_lines.cc | 49 + .../bench/fast_components_and_attributes.cc | 402 ++++ milena/sandbox/bench/fast_rows.cc | 247 +++ milena/sandbox/bench/fast_tiles.cc | 140 ++ milena/sandbox/bench/fastest.cc | 351 +++ milena/sandbox/bin/labeling/colorize.cc | 24 + milena/sandbox/bin/pgm_to_pbm.cc | 39 + milena/sandbox/bin/ppm_negate.cc | 43 + .../green/bench/transform/distance/Makefile.am | 150 ++ .../green/bench/transform/distance/distance.cc | 775 +++++++ .../sandbox/green/demo/annotating/bic/Makefile.am | 150 ++ milena/sandbox/green/demo/annotating/bic/bic.cc | 87 + .../sandbox/green/demo/annotating/hsv/Makefile.am | 152 ++ milena/sandbox/green/demo/annotating/hsv/hsv.cc | 607 +++++ .../sandbox/green/demo/annotating/lep/Makefile.am | 150 ++ milena/sandbox/green/demo/annotating/lep/lep.cc | 92 + .../green/demo/annotating/nb_color/Makefile.am | 150 ++ .../green/demo/annotating/nb_color/nb_color.cc | 101 + .../green/demo/annotating/project/Makefile.am | 150 ++ .../green/demo/annotating/project/project.cc | 210 ++ .../green/demo/annotating/rgb_64/Makefile.am | 150 ++ .../sandbox/green/demo/annotating/rgb_64/rgb_64.cc | 47 + .../green/demo/annotating/rgb_64_9/Makefile.am | 150 ++ .../green/demo/annotating/rgb_64_9/rgb_64_9.cc | 97 + .../green/demo/annotating/stddev_color/Makefile.am | 150 ++ .../demo/annotating/stddev_color/stddev_color.cc | 124 ++ .../demo/annotating/stddev_color_16/Makefile.am | 150 ++ .../annotating/stddev_color_16/stddev_color_16.cc | 178 ++ .../green/demo/clustering/kmean_rgb/Makefile.am | 148 ++ .../green/demo/clustering/kmean_rgb/kmean_rgb.cc | 91 + .../demo/labeling/regional_maxima/Makefile.am | 2 + .../labeling/regional_maxima/regional_maxima.cc | 906 ++++++-- .../demo/labeling/regional_maxima/thresholds.txt | 42 + milena/sandbox/green/doc/annotating/class.txt | 42 + .../green/doc/annotating/syntheseMillet2008.txt | 283 +++ milena/sandbox/green/doc/annotating/testMillet2008 | 69 + .../doc/regional_maxima/cmp_method/h0_input.pgm.gz | Bin 0 -> 18078 bytes .../doc/regional_maxima/cmp_method/h2_mean.pgm.gz | Bin 0 -> 374 bytes .../doc/regional_maxima/cmp_method/h2_merge.pgm.gz | Bin 0 -> 4491 bytes .../doc/regional_maxima/cmp_method/h3_mean.pgm.gz | Bin 0 -> 391 bytes .../doc/regional_maxima/cmp_method/h3_merge.pgm.gz | Bin 0 -> 10188 bytes .../doc/regional_maxima/cmp_method/h4_mean.pgm.gz | Bin 0 -> 367 bytes .../doc/regional_maxima/cmp_method/h4_merge.pgm.gz | Bin 0 -> 18078 bytes .../doc/regional_maxima/cmp_method/h5_mean.pgm.gz | Bin 0 -> 372 bytes .../doc/regional_maxima/cmp_method/h5_merge.pgm.gz | Bin 0 -> 12777 bytes .../doc/regional_maxima/cmp_method/i2_mean.ppm.gz | Bin 0 -> 566650 bytes .../doc/regional_maxima/cmp_method/i2_merge.ppm.gz | Bin 0 -> 1586150 bytes .../doc/regional_maxima/cmp_method/i3_mean.ppm.gz | Bin 0 -> 573407 bytes .../doc/regional_maxima/cmp_method/i3_merge.ppm.gz | Bin 0 -> 3050979 bytes .../doc/regional_maxima/cmp_method/i4_mean.ppm.gz | Bin 0 -> 663621 bytes .../doc/regional_maxima/cmp_method/i4_merge.ppm.gz | Bin 0 -> 3387044 bytes .../doc/regional_maxima/cmp_method/i5_mean.ppm.gz | Bin 0 -> 653140 bytes .../doc/regional_maxima/cmp_method/i5_merge.ppm.gz | Bin 0 -> 3217839 bytes .../doc/regional_maxima/cmp_method/l2_input.pgm.gz | Bin 0 -> 423612 bytes .../doc/regional_maxima/cmp_method/l3_input.pgm.gz | Bin 0 -> 420801 bytes .../doc/regional_maxima/cmp_method/l4_input.pgm.gz | Bin 0 -> 486206 bytes .../doc/regional_maxima/cmp_method/l5_input.pgm.gz | Bin 0 -> 479055 bytes .../regional_maxima/cmp_method/reponse_theo.eml | 106 + .../doc/regional_maxima/cmp_method/s2_histo.txt | 31 + .../doc/regional_maxima/cmp_method/s3_histo.txt | 31 + .../doc/regional_maxima/cmp_method/s4_histo.txt | 31 + .../doc/regional_maxima/cmp_method/s5_histo.txt | 31 + .../doc/regional_maxima/cmp_method/synthese.txt | 223 ++ .../doc/regional_maxima/cmp_quant/h0_input.pgm.gz | Bin 0 -> 18078 bytes .../regional_maxima/cmp_quant/h5_mean_q2.pgm.gz | Bin 0 -> 247 bytes .../regional_maxima/cmp_quant/h5_mean_q3.pgm.gz | Bin 0 -> 280 bytes .../regional_maxima/cmp_quant/h5_mean_q4.pgm.gz | Bin 0 -> 319 bytes .../regional_maxima/cmp_quant/h5_mean_q5.pgm.gz | Bin 0 -> 375 bytes .../regional_maxima/cmp_quant/h5_mean_q6.pgm.gz | Bin 0 -> 392 bytes .../regional_maxima/cmp_quant/h5_mean_q7.pgm.gz | Bin 0 -> 383 bytes .../regional_maxima/cmp_quant/h5_mean_q8.pgm.gz | Bin 0 -> 470 bytes .../regional_maxima/cmp_quant/h5_merge_q2.pgm.gz | Bin 0 -> 18081 bytes .../regional_maxima/cmp_quant/h5_merge_q3.pgm.gz | Bin 0 -> 18081 bytes .../regional_maxima/cmp_quant/h5_merge_q4.pgm.gz | Bin 0 -> 16358 bytes .../regional_maxima/cmp_quant/h5_merge_q5.pgm.gz | Bin 0 -> 12780 bytes .../regional_maxima/cmp_quant/h5_merge_q6.pgm.gz | Bin 0 -> 9694 bytes .../regional_maxima/cmp_quant/h5_merge_q7.pgm.gz | Bin 0 -> 6211 bytes .../regional_maxima/cmp_quant/h5_merge_q8.pgm.gz | Bin 0 -> 1564 bytes .../regional_maxima/cmp_quant/i5_mean_q2.ppm.gz | Bin 0 -> 112779 bytes .../regional_maxima/cmp_quant/i5_mean_q3.ppm.gz | Bin 0 -> 191264 bytes .../regional_maxima/cmp_quant/i5_mean_q4.ppm.gz | Bin 0 -> 298062 bytes .../regional_maxima/cmp_quant/i5_mean_q5.ppm.gz | Bin 0 -> 653143 bytes .../regional_maxima/cmp_quant/i5_mean_q6.ppm.gz | Bin 0 -> 807617 bytes .../regional_maxima/cmp_quant/i5_mean_q7.ppm.gz | Bin 0 -> 813222 bytes .../regional_maxima/cmp_quant/i5_mean_q8.ppm.gz | Bin 0 -> 861711 bytes .../regional_maxima/cmp_quant/i5_merge_q2.ppm.gz | Bin 0 -> 3387047 bytes .../regional_maxima/cmp_quant/i5_merge_q3.ppm.gz | Bin 0 -> 3387047 bytes .../regional_maxima/cmp_quant/i5_merge_q4.ppm.gz | Bin 0 -> 3355365 bytes .../regional_maxima/cmp_quant/i5_merge_q5.ppm.gz | Bin 0 -> 3217842 bytes .../regional_maxima/cmp_quant/i5_merge_q6.ppm.gz | Bin 0 -> 3033730 bytes .../regional_maxima/cmp_quant/i5_merge_q7.ppm.gz | Bin 0 -> 2295150 bytes .../regional_maxima/cmp_quant/i5_merge_q8.ppm.gz | Bin 0 -> 1319396 bytes .../regional_maxima/cmp_quant/l5_input_q2.pgm.gz | Bin 0 -> 83951 bytes .../regional_maxima/cmp_quant/l5_input_q3.pgm.gz | Bin 0 -> 143817 bytes .../regional_maxima/cmp_quant/l5_input_q4.pgm.gz | Bin 0 -> 220346 bytes .../regional_maxima/cmp_quant/l5_input_q5.pgm.gz | Bin 0 -> 479058 bytes .../regional_maxima/cmp_quant/l5_input_q6.pgm.gz | Bin 0 -> 593359 bytes .../regional_maxima/cmp_quant/l5_input_q7.pgm.gz | Bin 0 -> 600121 bytes .../regional_maxima/cmp_quant/l5_input_q8.pgm.gz | Bin 0 -> 630760 bytes .../doc/regional_maxima/cmp_quant/s5_histo_q2.txt | 3 + .../doc/regional_maxima/cmp_quant/s5_histo_q3.txt | 8 + .../doc/regional_maxima/cmp_quant/s5_histo_q4.txt | 18 + .../doc/regional_maxima/cmp_quant/s5_histo_q5.txt | 33 + .../doc/regional_maxima/cmp_quant/s5_histo_q6.txt | 33 + .../doc/regional_maxima/cmp_quant/s5_histo_q7.txt | 32 + .../doc/regional_maxima/cmp_quant/s5_histo_q8.txt | 75 + .../doc/regional_maxima/cmp_quant/synthese.txt | 205 ++ .../mp00411c/colormap_all_q4.txt.gz | Bin 0 -> 187 bytes .../mp00411c/colormap_all_q5.txt.gz | Bin 0 -> 420 bytes .../mp00411c/colormap_thick_q4.txt.gz | Bin 0 -> 159 bytes .../mp00411c/colormap_thick_q5.txt.gz | Bin 0 -> 352 bytes .../mp00411c/colormap_thin_q4.txt.gz | Bin 0 -> 173 bytes .../mp00411c/colormap_thin_q5.txt.gz | Bin 0 -> 366 bytes .../regional_maxima/mp00411c/histo_all_q4.dump.gz | Bin 0 -> 1233 bytes .../regional_maxima/mp00411c/histo_all_q5.dump.gz | Bin 0 -> 4779 bytes .../mp00411c/histo_thick_q4.dump.gz | Bin 0 -> 781 bytes .../mp00411c/histo_thick_q5.dump.gz | Bin 0 -> 2532 bytes .../regional_maxima/mp00411c/histo_thin_q4.dump.gz | Bin 0 -> 901 bytes .../regional_maxima/mp00411c/histo_thin_q5.dump.gz | Bin 0 -> 2976 bytes .../doc/regional_maxima/mp00411c/iz_all_q4.dump.gz | Bin 0 -> 659040 bytes .../doc/regional_maxima/mp00411c/iz_all_q5.dump.gz | Bin 0 -> 1505619 bytes .../regional_maxima/mp00411c/iz_thick_q4.dump.gz | Bin 0 -> 482831 bytes .../regional_maxima/mp00411c/iz_thick_q5.dump.gz | Bin 0 -> 1414258 bytes .../regional_maxima/mp00411c/iz_thin_q4.dump.gz | Bin 0 -> 647722 bytes .../regional_maxima/mp00411c/iz_thin_q5.dump.gz | Bin 0 -> 1458415 bytes .../mp00411c/labeled_all_q4.dump.gz | Bin 0 -> 149 bytes .../mp00411c/labeled_all_q5.dump.gz | Bin 0 -> 343 bytes .../mp00411c/labeled_thick_q4.dump.gz | Bin 0 -> 149 bytes .../mp00411c/labeled_thick_q5.dump.gz | Bin 0 -> 309 bytes .../mp00411c/labeled_thin_q4.dump.gz | Bin 0 -> 149 bytes .../mp00411c/labeled_thin_q5.dump.gz | Bin 0 -> 308 bytes .../regional_maxima/mp00411c/mean3_all_q4.ppm.gz | Bin 0 -> 985276 bytes .../regional_maxima/mp00411c/mean3_all_q5.ppm.gz | Bin 0 -> 1961577 bytes .../regional_maxima/mp00411c/mean3_thick_q4.ppm.gz | Bin 0 -> 865034 bytes .../regional_maxima/mp00411c/mean3_thick_q5.ppm.gz | Bin 0 -> 1831699 bytes .../regional_maxima/mp00411c/mean3_thin_q4.ppm.gz | Bin 0 -> 958289 bytes .../regional_maxima/mp00411c/mean3_thin_q5.ppm.gz | Bin 0 -> 1872271 bytes .../regional_maxima/mp00411c/mean4_all_q4.ppm.gz | Bin 0 -> 772605 bytes .../regional_maxima/mp00411c/mean4_all_q5.ppm.gz | Bin 0 -> 1852455 bytes .../regional_maxima/mp00411c/mean4_thick_q4.ppm.gz | Bin 0 -> 559850 bytes .../regional_maxima/mp00411c/mean4_thick_q5.ppm.gz | Bin 0 -> 1727247 bytes .../regional_maxima/mp00411c/mean4_thin_q4.ppm.gz | Bin 0 -> 760428 bytes .../regional_maxima/mp00411c/mean4_thin_q5.ppm.gz | Bin 0 -> 1781495 bytes .../doc/regional_maxima/mp00411c/mp00411c.ppm.gz | Bin 0 -> 5316204 bytes .../doc/regional_maxima/mp00411c/mp00411c.sh.gz | Bin 0 -> 636 bytes .../regional_maxima/mp00411c/mp00411c_thick.pbm.gz | Bin 0 -> 190478 bytes .../regional_maxima/mp00411c/mp00411c_thin.pbm.gz | Bin 0 -> 248730 bytes .../regional_maxima/mp00411c/opened_all_q4.dump.gz | Bin 0 -> 1159 bytes .../regional_maxima/mp00411c/opened_all_q5.dump.gz | Bin 0 -> 4531 bytes .../mp00411c/opened_thick_q4.dump.gz | Bin 0 -> 747 bytes .../mp00411c/opened_thick_q5.dump.gz | Bin 0 -> 2351 bytes .../mp00411c/opened_thin_q4.dump.gz | Bin 0 -> 848 bytes .../mp00411c/opened_thin_q5.dump.gz | Bin 0 -> 2772 bytes .../regional_maxima/mp00411c/proj1_all_q4.pgm.gz | Bin 0 -> 343 bytes .../regional_maxima/mp00411c/proj1_all_q5.pgm.gz | Bin 0 -> 779 bytes .../regional_maxima/mp00411c/proj1_thick_q4.pgm.gz | Bin 0 -> 312 bytes .../regional_maxima/mp00411c/proj1_thick_q5.pgm.gz | Bin 0 -> 612 bytes .../regional_maxima/mp00411c/proj1_thin_q4.pgm.gz | Bin 0 -> 339 bytes .../regional_maxima/mp00411c/proj1_thin_q5.pgm.gz | Bin 0 -> 718 bytes .../regional_maxima/mp00411c/proj2_all_q4.pgm.gz | Bin 0 -> 338 bytes .../regional_maxima/mp00411c/proj2_all_q5.pgm.gz | Bin 0 -> 750 bytes .../regional_maxima/mp00411c/proj2_thick_q4.pgm.gz | Bin 0 -> 315 bytes .../regional_maxima/mp00411c/proj2_thick_q5.pgm.gz | Bin 0 -> 606 bytes .../regional_maxima/mp00411c/proj2_thin_q4.pgm.gz | Bin 0 -> 331 bytes .../regional_maxima/mp00411c/proj2_thin_q5.pgm.gz | Bin 0 -> 693 bytes .../regional_maxima/mp00411c/proj3_all_q4.ppm.gz | Bin 0 -> 230 bytes .../regional_maxima/mp00411c/proj3_all_q5.ppm.gz | Bin 0 -> 401 bytes .../regional_maxima/mp00411c/proj3_thick_q4.ppm.gz | Bin 0 -> 224 bytes .../regional_maxima/mp00411c/proj3_thick_q5.ppm.gz | Bin 0 -> 343 bytes .../regional_maxima/mp00411c/proj3_thin_q4.ppm.gz | Bin 0 -> 229 bytes .../regional_maxima/mp00411c/proj3_thin_q5.ppm.gz | Bin 0 -> 359 bytes .../regional_maxima/mp00411c/proj4_all_q4.ppm.gz | Bin 0 -> 252 bytes .../regional_maxima/mp00411c/proj4_all_q5.ppm.gz | Bin 0 -> 447 bytes .../regional_maxima/mp00411c/proj4_thick_q4.ppm.gz | Bin 0 -> 221 bytes .../regional_maxima/mp00411c/proj4_thick_q5.ppm.gz | Bin 0 -> 369 bytes .../regional_maxima/mp00411c/proj4_thin_q4.ppm.gz | Bin 0 -> 234 bytes .../regional_maxima/mp00411c/proj4_thin_q5.ppm.gz | Bin 0 -> 415 bytes .../doc/regional_maxima/mp00411c/quant_q4.ppm.gz | Bin 0 -> 2590062 bytes .../doc/regional_maxima/mp00411c/quant_q5.ppm.gz | Bin 0 -> 3775184 bytes .../regional_maxima/mp00411c/stats3_all_q4.txt.gz | Bin 0 -> 292 bytes .../regional_maxima/mp00411c/stats3_all_q5.txt.gz | Bin 0 -> 701 bytes .../mp00411c/stats3_thick_q4.txt.gz | Bin 0 -> 244 bytes .../mp00411c/stats3_thick_q5.txt.gz | Bin 0 -> 584 bytes .../regional_maxima/mp00411c/stats3_thin_q4.txt.gz | Bin 0 -> 262 bytes .../regional_maxima/mp00411c/stats3_thin_q5.txt.gz | Bin 0 -> 606 bytes .../regional_maxima/mp00411c/stats4_all_q4.txt.gz | Bin 0 -> 284 bytes .../regional_maxima/mp00411c/stats4_all_q5.txt.gz | Bin 0 -> 704 bytes .../mp00411c/stats4_thick_q4.txt.gz | Bin 0 -> 234 bytes .../mp00411c/stats4_thick_q5.txt.gz | Bin 0 -> 580 bytes .../regional_maxima/mp00411c/stats4_thin_q4.txt.gz | Bin 0 -> 255 bytes .../regional_maxima/mp00411c/stats4_thin_q5.txt.gz | Bin 0 -> 591 bytes .../doc/regional_maxima/mp00411c/synthese.txt.gz | Bin 0 -> 4062 bytes .../green/exp/annotating/achromastism/Makefile.am | 153 ++ .../exp/annotating/achromastism/achromastism.cc | 113 + .../exp/annotating/achromastism/text-color.txt | 15 + .../green/exp/annotating/achromastism/text-img.txt | 40 + .../exp/annotating/achromastism/text-only.txt | 8 + .../sandbox/green/exp/annotating/bench/Makefile.am | 153 ++ milena/sandbox/green/exp/annotating/bench/bench.cc | 1213 ++++++++++ .../sandbox/green/exp/annotating/error/Makefile.am | 153 ++ milena/sandbox/green/exp/annotating/error/error.cc | 700 ++++++ .../sandbox/green/exp/annotating/histo/Makefile.am | 153 ++ milena/sandbox/green/exp/annotating/histo/histo.cc | 306 +++ .../sandbox/green/exp/annotating/hsv/Makefile.am | 153 ++ milena/sandbox/green/exp/annotating/hsv/hsv.cc | 652 ++++++ .../sandbox/green/exp/annotating/hue/Makefile.am | 153 ++ milena/sandbox/green/exp/annotating/hue/hue.cc | 291 +++ .../green/exp/annotating/hue/text-color.txt | 15 + .../sandbox/green/exp/annotating/hue/text-img.txt | 40 + .../sandbox/green/exp/annotating/hue/text-only.txt | 8 + .../green/exp/annotating/nb_color/Makefile.am | 151 ++ .../green/exp/annotating/nb_color/nb_color.cc | 131 ++ .../green/exp/annotating/saturation/Makefile.am | 153 ++ .../green/exp/annotating/saturation/saturation.cc | 119 + .../green/exp/annotating/saturation/text-color.txt | 15 + .../green/exp/annotating/saturation/text-img.txt | 40 + .../green/exp/annotating/saturation/text-only.txt | 8 + .../green/exp/annotating/stddev_color/Makefile.am | 151 ++ .../exp/annotating/stddev_color/stddev_color.cc | 153 ++ .../exp/annotating/stddev_color_16/Makefile.am | 151 ++ .../annotating/stddev_color_16/stddev_color_16.cc | 195 ++ .../sandbox/green/exp/annotating/value/Makefile.am | 153 ++ .../green/exp/annotating/value/text-color.txt | 15 + .../green/exp/annotating/value/text-img.txt | 40 + .../green/exp/annotating/value/text-only.txt | 8 + milena/sandbox/green/exp/annotating/value/value.cc | 316 +++ .../green/exp/labeling/regional_maxima/Makefile.am | 151 ++ .../labeling/regional_maxima/regional_maxima.cc | 156 ++ milena/sandbox/green/mln/accu/stat/histo1d.hh | 66 +- milena/sandbox/green/mln/clustering/kmean_rgb.hh | 973 ++++++++ milena/sandbox/green/mln/display/display_histo.hh | 98 +- milena/sandbox/green/mln/display/project_histo.hh | 443 ++++- milena/sandbox/green/mln/fun/p2b/achromatic.hh | 112 + .../sandbox/green/mln/fun/p2b/component_equals.hh | 99 + milena/sandbox/green/mln/fun/v2v/achromatism.hh | 64 + .../sandbox/green/mln/fun/v2v/hue_concentration.hh | 100 + milena/sandbox/green/mln/fun/v2v/rgb8_to_int_u8.hh | 71 + .../green/mln/fun/v2v/rgb_to_achromatism_map.hh | 77 + milena/sandbox/green/mln/fun/v2v/rgb_to_hsv.hh | 149 ++ milena/sandbox/green/mln/fun/v2v/rgb_to_hue_map.hh | 96 + .../green/mln/fun/v2v/rgb_to_saturation_map.hh | 83 + .../sandbox/green/mln/fun/v2v/rgb_to_value_map.hh | 75 + milena/sandbox/green/mln/img_path.hh | 221 ++- milena/sandbox/green/mln/math/ceil.hh | 64 + milena/sandbox/green/mln/math/floor.hh | 64 + milena/sandbox/green/mln/value/hsv.hh | 424 ++++ .../green/tools/annotating/histo/Makefile.am | 150 ++ .../sandbox/green/tools/annotating/histo/histo.cc | 143 ++ .../sandbox/green/tools/annotating/iz/Makefile.am | 150 ++ milena/sandbox/green/tools/annotating/iz/iz.cc | 373 ++++ .../green/tools/annotating/opening/Makefile.am | 150 ++ .../green/tools/annotating/opening/opening.cc | 111 + .../green/tools/annotating/regmax/Makefile.am | 150 ++ .../green/tools/annotating/regmax/regmax.cc | 328 +++ .../lazzara/scribo/binarization_naive/main.cc | 54 + .../lazzara/scribo/binarization_naive/toto.cc | 28 + milena/sandbox/lazzara/scribo/fill_holes/main.cc | 118 + .../separateurs_materialises/lines_pattern.cc | 69 + .../sandbox/lazzara/scribo/skeleton_crest/main.cc | 52 + milena/tests/accu/Makefile.am | 15 +- milena/tests/convert/Makefile.am | 25 +- milena/tests/convert/to_qimage.cc | 76 + milena/tests/convert/to_qimage_nocopy.cc | 56 + milena/tests/core/alias/box3d.cc | 5 +- milena/tests/core/image/image3d.cc | 11 +- milena/tests/core/other/box_runstart_piter.cc | 57 +- milena/tests/core/site_set/Makefile.am | 2 + milena/tests/core/site_set/box.cc | 42 + milena/tests/data/Makefile.am | 4 + milena/tests/data/paste_without_localization.cc | 81 + milena/tests/data/split.cc | 54 + milena/tests/fun/v2v/Makefile.am | 9 + milena/tests/fun/v2v/qt_rgb_to_int_u.cc | 44 + milena/tests/geom/Makefile.am | 12 +- milena/tests/geom/horizontal_symmetry.cc | 50 + milena/tests/geom/nslices.cc | 38 + milena/tests/geom/nslis.cc | 37 - milena/tests/geom/rotate.cc | 16 +- milena/tests/geom/translate.cc | 5 +- milena/tests/geom/vertical_symmetry.cc | 49 + milena/tests/io/magick/save.cc | 5 +- milena/tests/io/pbms/load.cc | 3 +- milena/tests/io/pgms/load.cc | 3 +- milena/tests/io/ppms/load.cc | 3 +- milena/tests/labeling/blobs_and_compute.cc | 17 +- milena/tests/labeling/colorize.cc | 6 +- milena/tests/labeling/flat_zones.cc | 4 +- milena/tests/labeling/foreground.cc | 4 +- milena/tests/labeling/relabel.cc | 6 +- milena/tests/subsampling/Makefile.am | 12 +- milena/tests/subsampling/antialiased.cc | 74 + milena/tests/topo/skeleton/crest.cc | 10 +- .../transform/bench_closest_point_geodesic.cc | 9 +- milena/tests/unit_test/Makefile.am | 18 +- .../cond_tests_boost-preprocessor_boost-tuple | 1 + milena/tests/unit_test/cond_tests_cfitsio | 2 + milena/tests/unit_test/cond_tests_gdcm | 3 + milena/tests/unit_test/cond_tests_magickxx | 3 + milena/tests/unit_test/cond_tests_qt | 2 + milena/tests/unit_test/cond_tests_tiff | 2 + milena/tests/unit_test/disabled_tests | 10 - milena/tests/unit_test/unit-tests.mk | 146 ++- scribo/ChangeLog | 2326 +++++++++++++++++++- scribo/Makefile.am | 9 +- scribo/README | 52 + scribo/all.hh | 51 - scribo/binarization/binarize.hh | 180 -- scribo/binarization/sauvola.hh | 192 -- scribo/binarization/sauvola_threshold.hh | 478 ---- scribo/binarization/simple.hh | 166 -- scribo/core/all.hh | 49 - scribo/core/central_sites.hh | 94 - scribo/core/concept/link_functor.hh | 53 - scribo/core/erase_objects.hh | 87 - scribo/core/internal/link_functor_base.hh | 119 - scribo/core/macros.hh | 38 - scribo/core/object_groups.hh | 140 -- scribo/core/object_image.hh | 38 - scribo/core/object_links.hh | 130 -- scribo/debug/alignment_decision_image.hh | 170 -- scribo/debug/all.hh | 49 - scribo/debug/decision_image.hh | 176 -- scribo/debug/links_decision_image.hh | 127 -- scribo/debug/save_bboxes_image.hh | 87 - scribo/debug/save_label_image.hh | 83 - scribo/debug/save_linked_bboxes_image.hh | 269 --- scribo/debug/save_object_diff.hh | 98 - scribo/debug/save_table_image.hh | 131 -- scribo/debug/several_links_decision_image.hh | 185 -- scribo/debug/usage.hh | 82 - scribo/demo/Makefile.am | 12 +- scribo/demo/demat/demat.pro | 42 + scribo/demo/demat/demat.qrc | 4 + scribo/demo/demat/src/doc_type.hh | 51 + scribo/demo/demat/src/main.cc | 31 + scribo/demo/demat/src/main_window.cc | 266 +++ scribo/demo/demat/src/main_window.hh | 96 + scribo/demo/demat/src/mln_widgets.cc | 11 + scribo/demo/demat/src/preprocessing_task.hh | 62 + scribo/demo/demat/src/process_args.hh | 47 + scribo/demo/demat/src/runner.cc | 327 +++ scribo/demo/demat/src/runner.hh | 94 + scribo/demo/demat/ui/main_window.ui | 381 ++++ scribo/demo/demo.pro | 16 - scribo/demo/demo.qrc | 13 - scribo/demo/icons/document-open.png | Bin 1550 -> 0 bytes scribo/demo/icons/edit-find.png | Bin 1636 -> 0 bytes scribo/demo/icons/format-indent-more.png | Bin 766 -> 0 bytes scribo/demo/icons/go-next.png | Bin 1219 -> 0 bytes scribo/demo/icons/image-x-generic.png | Bin 1163 -> 0 bytes scribo/demo/icons/list-add.png | Bin 601 -> 0 bytes scribo/demo/icons/ocr.png | Bin 14929 -> 0 bytes scribo/demo/icons/text-x-generic.png | Bin 744 -> 0 bytes scribo/demo/icons/view-refresh.png | Bin 2024 -> 0 bytes scribo/demo/icons/x-office-spreadsheet.png | Bin 1518 -> 0 bytes scribo/demo/review/Makefile.am | 11 + scribo/demo/review/icons/document-open.png | Bin 0 -> 1550 bytes scribo/demo/review/icons/edit-find.png | Bin 0 -> 1636 bytes scribo/demo/review/icons/format-indent-more.png | Bin 0 -> 766 bytes scribo/demo/review/icons/go-next.png | Bin 0 -> 1219 bytes scribo/demo/review/icons/image-x-generic.png | Bin 0 -> 1163 bytes scribo/demo/review/icons/list-add.png | Bin 0 -> 601 bytes scribo/demo/review/icons/ocr.png | Bin 0 -> 14929 bytes scribo/demo/review/icons/text-x-generic.png | Bin 0 -> 744 bytes scribo/demo/review/icons/view-refresh.png | Bin 0 -> 2024 bytes scribo/demo/review/icons/x-office-spreadsheet.png | Bin 0 -> 1518 bytes scribo/demo/review/review.pro | 16 + scribo/demo/review/review.qrc | 13 + scribo/demo/review/src/main.cc | 49 + scribo/demo/review/src/mainwindow.cc | 572 +++++ scribo/demo/review/src/mainwindow.hh | 138 ++ scribo/demo/review/ui/mainwindow.ui | 340 +++ scribo/demo/shared/icons/Symbols-Delete-icon.png | Bin 0 -> 3704 bytes scribo/demo/shared/icons/accept-icon.png | Bin 0 -> 4858 bytes scribo/demo/shared/icons/close.gif | Bin 0 -> 340 bytes scribo/demo/shared/icons/crop-icon.png | Bin 0 -> 228 bytes scribo/demo/shared/icons/image-add-icon.png | Bin 0 -> 2917 bytes scribo/demo/shared/icons/image-edit-icon.png | Bin 0 -> 2305 bytes scribo/demo/shared/icons/image-multi-icon.png | Bin 0 -> 2033 bytes scribo/demo/shared/icons/image-next-icon.png | Bin 0 -> 3008 bytes scribo/demo/shared/icons/image-remove-icon.png | Bin 0 -> 3127 bytes scribo/demo/shared/icons/next-icon.png | Bin 0 -> 4611 bytes scribo/demo/shared/icons/page-down-icon.png | Bin 0 -> 3450 bytes scribo/demo/shared/icons/page-search-icon.png | Bin 0 -> 3101 bytes scribo/demo/shared/icons/rotate_ccw.png | Bin 0 -> 4200 bytes scribo/demo/shared/icons/rotate_cw.png | Bin 0 -> 4161 bytes scribo/demo/shared/icons/search-add-icon.png | Bin 0 -> 4274 bytes scribo/demo/shared/icons/search-remove-icon.png | Bin 0 -> 4196 bytes scribo/demo/shared/shared.qrc | 20 + scribo/demo/shared/src/bak/crop_item.cc | 332 +++ scribo/demo/shared/src/bak/crop_item.hh | 100 + scribo/demo/shared/src/bak/image_viewer.cc | 242 ++ scribo/demo/shared/src/bak/image_viewer.hh | 116 + scribo/demo/shared/src/bak/types.hh | 50 + scribo/demo/shared/src/browse_widget.cc | 72 + scribo/demo/shared/src/browse_widget.hh | 78 + scribo/demo/shared/src/crop_item.cc | 396 ++++ scribo/demo/shared/src/crop_item.hh | 119 + scribo/demo/shared/src/image_viewer.cc | 410 ++++ scribo/demo/shared/src/image_viewer.hh | 148 ++ scribo/demo/shared/src/image_viewer.hxx | 31 + .../shared/src/internal.bak/interactive_scene.cc | 286 +++ .../shared/src/internal.bak/interactive_scene.hh | 108 + .../shared/src/internal.bak/selection_rectangle.cc | 241 ++ .../shared/src/internal.bak/selection_rectangle.hh | 91 + .../demo/shared/src/internal/interactive_scene.cc | 94 + .../demo/shared/src/internal/interactive_scene.hh | 85 + .../shared/src/internal/selection_rectangle.cc | 241 ++ .../shared/src/internal/selection_rectangle.hh | 91 + scribo/demo/shared/src/to_mln_image.hh | 77 + scribo/demo/shared/src/types.hh | 50 + scribo/demo/shared/ui/browse_widget.ui | 106 + scribo/demo/shared/ui/crop_widget.ui | 34 + scribo/demo/shared/ui/image_viewer.ui | 296 +++ scribo/demo/shared/ui/interactive_scene.cc | 143 ++ scribo/demo/shared/ui/interactive_scene.hh | 87 + scribo/demo/shared/ui/rotate_widget.ui | 34 + scribo/demo/src/main.cc | 42 - scribo/demo/src/mainwindow.cc | 570 ----- scribo/demo/src/mainwindow.hh | 138 -- scribo/demo/tip/gui.pro | 19 + scribo/demo/tip/gui.qrc | 9 + scribo/demo/tip/icons/next.png | Bin 0 -> 3337 bytes scribo/demo/tip/icons/ok.png | Bin 0 -> 3953 bytes scribo/demo/tip/icons/photos.png | Bin 0 -> 3750 bytes scribo/demo/tip/icons/prev.png | Bin 0 -> 3334 bytes scribo/demo/tip/icons/remove.png | Bin 0 -> 3704 bytes scribo/demo/tip/src/custom_delegate.cc | 105 + scribo/demo/tip/src/custom_delegate.hh | 81 + scribo/demo/tip/src/launch_dialog.cc | 94 + scribo/demo/tip/src/launch_dialog.hh | 63 + scribo/demo/tip/src/main.cc | 46 + scribo/demo/tip/src/main_window.cc | 526 +++++ scribo/demo/tip/src/main_window.hh | 119 + scribo/demo/tip/ui/launch_dialog.ui | 117 + scribo/demo/tip/ui/main_window.ui | 656 ++++++ scribo/demo/ui/mainwindow.ui | 340 --- scribo/demo/viewer/Makefile.am | 70 + scribo/demo/viewer/README | 33 + scribo/demo/viewer/browser_widget.cc | 78 + scribo/demo/viewer/browser_widget.hh | 42 + scribo/demo/viewer/common.hh | 38 + scribo/demo/viewer/domitem.cc | 98 + scribo/demo/viewer/domitem.hh | 75 + scribo/demo/viewer/dommodel.cc | 198 ++ scribo/demo/viewer/dommodel.hh | 85 + scribo/demo/viewer/help_dialog.cc | 55 + scribo/demo/viewer/help_dialog.hh | 32 + scribo/demo/viewer/image_region.cc | 139 ++ scribo/demo/viewer/image_region.hh | 76 + scribo/demo/viewer/image_region.hxx | 100 + scribo/demo/viewer/image_scene.cc | 90 + scribo/demo/viewer/image_scene.hh | 44 + scribo/demo/viewer/image_view.cc | 78 + scribo/demo/viewer/image_view.hh | 40 + scribo/demo/viewer/image_widget.cc | 48 + scribo/demo/viewer/image_widget.hh | 41 + scribo/demo/viewer/key_widget.cc | 90 + scribo/demo/viewer/key_widget.hh | 45 + scribo/demo/viewer/main.cc | 37 + scribo/demo/viewer/property_widget.cc | 73 + scribo/demo/viewer/property_widget.hh | 41 + scribo/demo/viewer/step_widget.cc | 122 + scribo/demo/viewer/step_widget.hh | 57 + scribo/demo/viewer/viewer.cc | 504 +++++ scribo/demo/viewer/viewer.hh | 88 + scribo/demo/viewer/viewer.hxx | 31 + scribo/demo/viewer/xml_widget.cc | 53 + scribo/demo/viewer/xml_widget.hh | 41 + scribo/demo/wizard/images/dematerialization.png | Bin 0 -> 76309 bytes scribo/demo/wizard/src/crop_page.cc | 48 + scribo/demo/wizard/src/crop_page.hh | 60 + scribo/demo/wizard/src/crop_widget.cc | 37 + scribo/demo/wizard/src/crop_widget.hh | 62 + scribo/demo/wizard/src/doc_type.hh | 51 + scribo/demo/wizard/src/doc_type_page.cc | 48 + scribo/demo/wizard/src/doc_type_page.hh | 61 + scribo/demo/wizard/src/doc_type_widget.cc | 38 + scribo/demo/wizard/src/doc_type_widget.hh | 64 + scribo/demo/wizard/src/load_page.cc | 71 + scribo/demo/wizard/src/load_page.hh | 67 + scribo/demo/wizard/src/load_widget.cc | 56 + scribo/demo/wizard/src/load_widget.hh | 64 + scribo/demo/wizard/src/main.cc | 28 + scribo/demo/wizard/src/main_window.cc | 144 ++ scribo/demo/wizard/src/main_window.hh | 72 + scribo/demo/wizard/src/mln_widgets.cc | 7 + scribo/demo/wizard/src/preprocessing_page.cc | 61 + scribo/demo/wizard/src/preprocessing_page.hh | 66 + scribo/demo/wizard/src/preprocessing_task.hh | 61 + scribo/demo/wizard/src/preprocessing_widget.cc | 93 + scribo/demo/wizard/src/preprocessing_widget.hh | 65 + scribo/demo/wizard/src/process_page.cc | 68 + scribo/demo/wizard/src/process_page.hh | 64 + scribo/demo/wizard/src/process_widget.cc | 80 + scribo/demo/wizard/src/process_widget.hh | 71 + scribo/demo/wizard/src/result_page.cc | 43 + scribo/demo/wizard/src/result_page.hh | 60 + scribo/demo/wizard/src/result_widget.cc | 43 + scribo/demo/wizard/src/result_widget.hh | 58 + scribo/demo/wizard/src/rotate_page.cc | 45 + scribo/demo/wizard/src/rotate_page.hh | 60 + scribo/demo/wizard/src/rotate_widget.cc | 38 + scribo/demo/wizard/src/rotate_widget.hh | 62 + scribo/demo/wizard/src/runner.cc | 296 +++ scribo/demo/wizard/src/runner.hh | 84 + scribo/demo/wizard/src/test.cc | 16 + scribo/demo/wizard/ui/doc_type_widget.ui | 115 + scribo/demo/wizard/ui/load_widget.ui | 110 + scribo/demo/wizard/ui/main_window.ui | 216 ++ scribo/demo/wizard/ui/preprocessing_widget.ui | 223 ++ scribo/demo/wizard/wizard.pro | 71 + scribo/demo/wizard/wizard.qrc | 5 + scribo/draw/all.hh | 47 - scribo/draw/bounding_box_links.hh | 417 ---- scribo/draw/bounding_boxes.hh | 109 - scribo/estim/object_groups_v_thickness.hh | 102 - scribo/filter/all.hh | 53 - scribo/filter/common/objects_photo.hh | 98 - scribo/filter/internal/compute.hh | 147 -- scribo/filter/object_groups_size_ratio.hh | 104 - scribo/filter/object_groups_small.hh | 98 - scribo/filter/object_groups_v_thickness.hh | 97 - scribo/filter/object_links_bbox_h_ratio.hh | 99 - scribo/filter/object_links_bbox_overlap.hh | 133 -- scribo/filter/object_links_bbox_ratio.hh | 112 - scribo/filter/object_links_bbox_w_ratio.hh | 97 - scribo/filter/object_links_bottom_aligned.hh | 120 - scribo/filter/object_links_center_aligned.hh | 113 - scribo/filter/object_links_non_aligned.hh | 138 -- scribo/filter/object_links_non_aligned_simple.hh | 186 -- scribo/filter/object_links_non_h_aligned.hh | 109 - scribo/filter/object_links_non_v_aligned.hh | 122 - scribo/filter/object_links_top_aligned.hh | 121 - scribo/filter/objects_h_thick.hh | 196 -- scribo/filter/objects_h_thin.hh | 192 -- scribo/filter/objects_large.hh | 198 -- scribo/filter/objects_size_ratio.hh | 120 - scribo/filter/objects_small.hh | 160 -- scribo/filter/objects_thick.hh | 191 -- scribo/filter/objects_thin.hh | 193 -- scribo/filter/objects_v_thick.hh | 196 -- scribo/filter/objects_v_thin.hh | 193 -- scribo/fun/v2b/objects_small_filter.hh | 129 -- scribo/headers.mk | 340 ++-- scribo/make/all.hh | 49 - scribo/make/debug_filename.hh | 102 - scribo/make/influence_zone_graph.hh | 116 - scribo/make/text.hh | 180 -- scribo/preprocessing/all.hh | 46 - scribo/preprocessing/split_bg_fg.hh | 340 --- scribo/preprocessing/unskew.hh | 115 - scribo/primitive/all.hh | 51 - scribo/primitive/extract/all.hh | 67 - scribo/primitive/extract/canvas.hh | 131 -- scribo/primitive/extract/cells.hh | 126 -- scribo/primitive/extract/lines_discontinued.hh | 152 -- scribo/primitive/extract/lines_h_discontinued.hh | 133 -- scribo/primitive/extract/lines_h_pattern.hh | 113 - scribo/primitive/extract/lines_h_single.hh | 203 -- scribo/primitive/extract/lines_h_thick.hh | 129 -- .../primitive/extract/lines_h_thick_and_single.hh | 152 -- scribo/primitive/extract/lines_pattern.hh | 137 -- scribo/primitive/extract/lines_thick.hh | 138 -- scribo/primitive/extract/lines_v_discontinued.hh | 131 -- scribo/primitive/extract/lines_v_pattern.hh | 106 - scribo/primitive/extract/lines_v_single.hh | 199 -- scribo/primitive/extract/lines_v_thick.hh | 129 -- .../primitive/extract/lines_v_thick_and_single.hh | 150 -- scribo/primitive/extract/objects.hh | 138 -- scribo/primitive/group/all.hh | 57 - scribo/primitive/group/apply.hh | 126 -- scribo/primitive/group/from_double_link.hh | 129 -- scribo/primitive/group/from_graph.hh | 180 -- scribo/primitive/group/from_single_link.hh | 108 - scribo/primitive/internal/all.hh | 60 - scribo/primitive/internal/find_graph_link.hh | 111 - scribo/primitive/internal/find_left_link.hh | 108 - scribo/primitive/internal/find_right_link.hh | 108 - scribo/primitive/internal/find_root.hh | 71 - scribo/primitive/internal/have_link_valid.hh | 79 - scribo/primitive/internal/init_link_array.hh | 71 - scribo/primitive/internal/is_invalid_link.hh | 100 - scribo/primitive/internal/is_link_valid.hh | 79 - scribo/primitive/internal/update_graph_link.hh | 102 - scribo/primitive/internal/update_link_array.hh | 105 - scribo/primitive/link/all.hh | 60 - scribo/primitive/link/compute.hh | 115 - scribo/primitive/link/compute_several.hh | 117 - scribo/primitive/link/internal/anchors_3.hh | 147 -- scribo/primitive/link/internal/find_link.hh | 116 - .../primitive/link/internal/find_several_links.hh | 124 -- .../link/internal/link_center_dmax_base.hh | 179 -- .../link/internal/link_center_dmax_ratio_base.hh | 175 -- .../primitive/link/internal/link_functor_base.hh | 518 ----- .../primitive/link/internal/link_ms_dmax_base.hh | 165 -- .../link/internal/link_ms_dmax_ratio_base.hh | 168 -- scribo/primitive/link/merge_double_link.hh | 123 - scribo/primitive/link/with_graph.hh | 125 -- scribo/primitive/link/with_rag.hh | 99 - scribo/primitive/link/with_several_graphes.hh | 128 -- scribo/primitive/link/with_several_left_links.hh | 166 -- .../link/with_several_right_closest_links.hh | 215 -- scribo/primitive/link/with_several_right_links.hh | 169 -- .../link/with_several_right_links_overlap.hh | 152 -- scribo/primitive/link/with_single_left_link.hh | 159 -- .../link/with_single_left_link_dmax_ratio.hh | 167 -- scribo/primitive/link/with_single_right_link.hh | 158 -- .../link/with_single_right_link_bottom.hh | 161 -- .../link/with_single_right_link_dmax_ratio.hh | 167 -- .../primitive/link/with_single_right_link_top.hh | 161 -- scribo/sandbox/ChangeLog | 9 + scribo/sandbox/green/ChangeLog | 264 +++ scribo/sandbox/green/README | 219 ++ scribo/sandbox/green/README.green | 416 ++++ scribo/sandbox/green/README.img | 124 ++ scribo/sandbox/green/README.result | 143 ++ .../green/bench/clustering/distance/Makefile.am | 153 ++ .../green/bench/clustering/distance/distance.cc | 842 +++++++ .../green/demo/clustering/kmean1d/Makefile.am | 153 ++ .../green/demo/clustering/kmean1d/kmean1d.cc | 258 +++ .../green/demo/clustering/kmean2d/Makefile.am | 153 ++ .../green/demo/clustering/kmean2d/kmean2d.cc | 278 +++ .../green/demo/clustering/kmean3d/Makefile.am | 153 ++ .../green/demo/clustering/kmean3d/kmean3d.cc | 265 +++ .../green/demo/clustering/kmean_rgb/Makefile.am | 153 ++ .../green/demo/clustering/kmean_rgb/kmean_rgb.cc | 239 ++ scribo/sandbox/green/gaussian.sh | 12 + scribo/sandbox/green/gaussian2d.sh | 21 + scribo/sandbox/green/mln/accu/stat/histo1d.hh | 337 +++ scribo/sandbox/green/mln/accu/stat/histo2d.hh | 346 +++ scribo/sandbox/green/mln/accu/stat/histo3d_hsl.hh | 388 ++++ scribo/sandbox/green/mln/accu/stat/histo3d_rgb.hh | 345 +++ scribo/sandbox/green/mln/clustering/k_mean.hh | 785 +++++++ scribo/sandbox/green/mln/clustering/kmean1d.hh | 1082 +++++++++ scribo/sandbox/green/mln/clustering/kmean2d.hh | 1344 +++++++++++ scribo/sandbox/green/mln/clustering/kmean3d.hh | 1345 +++++++++++ scribo/sandbox/green/mln/clustering/kmean_rgb.hh | 1042 +++++++++ scribo/sandbox/green/mln/display/display_histo.hh | 180 ++ scribo/sandbox/green/mln/display/project_histo.hh | 536 +++++ scribo/sandbox/green/mln/fun/p2b/achromatic.hh | 112 + .../sandbox/green/mln/fun/p2b/component_equals.hh | 99 + scribo/sandbox/green/mln/fun/v2v/achromatism.hh | 64 + .../sandbox/green/mln/fun/v2v/hue_concentration.hh | 100 + .../green/mln/fun/v2v/int_u16_to_int_u14.hh | 71 + scribo/sandbox/green/mln/fun/v2v/log.hh | 70 + scribo/sandbox/green/mln/fun/v2v/rg_to_rgb.hh | 119 + scribo/sandbox/green/mln/fun/v2v/rgb8_to_int_u8.hh | 71 + scribo/sandbox/green/mln/fun/v2v/rgb8_to_rgbn.hh | 119 + .../green/mln/fun/v2v/rgb_to_achromatism_map.hh | 77 + scribo/sandbox/green/mln/fun/v2v/rgb_to_hsv.hh | 149 ++ scribo/sandbox/green/mln/fun/v2v/rgb_to_hue_map.hh | 96 + scribo/sandbox/green/mln/fun/v2v/rgb_to_rg.hh | 109 + .../green/mln/fun/v2v/rgb_to_saturation_map.hh | 83 + .../sandbox/green/mln/fun/v2v/rgb_to_value_map.hh | 75 + scribo/sandbox/green/mln/img_path.hh | 239 ++ scribo/sandbox/green/mln/io/plot/save_image_sh.hh | 1090 +++++++++ scribo/sandbox/green/mln/math/ceil.hh | 64 + scribo/sandbox/green/mln/math/floor.hh | 64 + scribo/sandbox/green/mln/value/hsv.hh | 424 ++++ scribo/sandbox/green/mln/value/rg.hh | 175 ++ scribo/sandbox/green/ok/mln/accu/histo/histo1d.hh | 334 +++ scribo/sandbox/green/ok/mln/accu/histo/histo2d.hh | 346 +++ scribo/sandbox/green/ok/mln/accu/histo/histo3d.hh | 349 +++ scribo/sandbox/green/ok/mln/img_path.hh | 239 ++ .../sandbox/green/ok/test/accu/histo/gaussian.sh | 12 + scribo/sandbox/green/ok/test/accu/histo/histo1d | Bin 0 -> 802920 bytes scribo/sandbox/green/ok/test/accu/histo/histo1d.cc | 726 ++++++ scribo/sandbox/green/test_labelling.cc | 336 +++ scribo/sandbox/green/test_labelling_2.cc | 342 +++ scribo/sandbox/green/test_labelling_3.cc | 463 ++++ .../green/tests/accu/stat/histo1d/Makefile.am | 153 ++ .../green/tests/accu/stat/histo1d/histo1d.cc | 507 +++++ .../green/tests/accu/stat/histo3d_hsl/Makefile.am | 153 ++ .../tests/accu/stat/histo3d_hsl/histo3d_hsl.cc | 391 ++++ .../green/tests/accu/stat/histo3d_rgb/Makefile.am | 153 ++ .../tests/accu/stat/histo3d_rgb/histo3d_rgb.cc | 397 ++++ .../green/tests/clustering/k_mean/Makefile.am | 153 ++ .../green/tests/clustering/k_mean/k_mean.cc | 547 +++++ .../green/tests/clustering/kmean1d/Makefile.am | 148 ++ .../green/tests/clustering/kmean1d/kmean1d.cc | 483 ++++ .../green/tests/io/plot/save_image_sh/Makefile.am | 153 ++ .../tests/io/plot/save_image_sh/save_image_sh.cc | 774 +++++++ .../green/use/accu/stat/histo1d/Makefile.am | 153 ++ .../sandbox/green/use/accu/stat/histo1d/histo1d.cc | 49 + .../green/use/accu/stat/histo2d/Makefile.am | 153 ++ .../sandbox/green/use/accu/stat/histo2d/histo2d.cc | 58 + .../green/use/accu/stat/histo3d_hsl/Makefile.am | 153 ++ .../green/use/accu/stat/histo3d_hsl/histo3d_hsl.cc | 59 + .../green/use/accu/stat/histo3d_rgb/Makefile.am | 153 ++ .../green/use/accu/stat/histo3d_rgb/histo3d_rgb.cc | 57 + .../green/use/clustering/k_mean/Makefile.am | 153 ++ .../sandbox/green/use/clustering/k_mean/k_mean.cc | 55 + .../green/use/clustering/kmean1d/Makefile.am | 153 ++ .../green/use/clustering/kmean1d/kmean1d.cc | 50 + .../green/use/clustering/kmean2d/Makefile.am | 153 ++ .../green/use/clustering/kmean2d/kmean2d.cc | 61 + .../green/use/clustering/kmean3d/Makefile.am | 153 ++ .../green/use/clustering/kmean3d/kmean3d.cc | 63 + .../green/use/clustering/kmean_rgb/Makefile.am | 153 ++ .../green/use/clustering/kmean_rgb/kmean_rgb.cc | 63 + .../green/use/fun/v2v/rg_to_rgb/Makefile.am | 153 ++ .../green/use/fun/v2v/rg_to_rgb/rg_to_rgb.cc | 68 + .../green/use/fun/v2v/rgb8_to_rgbn/Makefile.am | 153 ++ .../green/use/fun/v2v/rgb8_to_rgbn/rgb8_to_rgbn.cc | 57 + .../green/use/fun/v2v/rgb_to_rg/Makefile.am | 153 ++ .../green/use/fun/v2v/rgb_to_rg/rgb_to_rg.cc | 58 + .../green/use/io/plot/save_image_sh/Makefile.am | 153 ++ .../use/io/plot/save_image_sh/save_image_sh.cc | 53 + scribo/sandbox/green/use/value/rg/Makefile.am | 153 ++ scribo/sandbox/green/use/value/rg/rg.cc | 58 + scribo/sandbox/z/white_spaces/hom_sep.cc | 133 ++ .../sandbox/z/white_spaces/white_space_closing.cc | 123 + scribo/sandbox/z/white_spaces/white_spaces.cc | 842 +++++++ scribo/scribo.mk | 9 +- scribo/scribo/all.hh | 53 + scribo/scribo/binarization/all.hh | 55 + scribo/scribo/binarization/global_threshold.hh | 90 + .../scribo/binarization/global_threshold_auto.hh | 168 ++ .../binarization/internal/first_pass_functor.hh | 173 ++ scribo/scribo/binarization/local_threshold.hh | 218 ++ scribo/scribo/binarization/sauvola.hh | 234 ++ scribo/scribo/binarization/sauvola_ms.hh | 988 +++++++++ scribo/scribo/binarization/sauvola_ms_split.hh | 168 ++ .../scribo/binarization/sauvola_threshold_image.hh | 616 ++++++ .../binarization/sauvola_threshold_image_debug.hh | 421 ++++ scribo/scribo/canvas/integral_browsing.hh | 422 ++++ scribo/scribo/convert/from_qimage.hh | 93 + scribo/scribo/core/all.hh | 49 + scribo/scribo/core/central_sites.hh | 94 + scribo/scribo/core/component_info.hh | 203 ++ scribo/scribo/core/component_set.hh | 606 +++++ scribo/scribo/core/concept/dmax_functor.hh | 50 + scribo/scribo/core/concept/link_functor.hh | 53 + scribo/scribo/core/def/lbl_type.hh | 48 + scribo/scribo/core/erase_objects.hh | 86 + scribo/scribo/core/init_integral_image.hh | 96 + scribo/scribo/core/line_info.hh | 937 ++++++++ scribo/scribo/core/line_set.hh | 421 ++++ scribo/scribo/core/macros.hh | 64 + scribo/scribo/core/object_groups.hh | 262 +++ scribo/scribo/core/object_links.hh | 258 +++ scribo/scribo/core/tag/anchor.hh | 68 + scribo/scribo/core/tag/component.hh | 121 + scribo/scribo/core/tag/line.hh | 216 ++ scribo/scribo/debug/alignment_decision_image.hh | 185 ++ scribo/scribo/debug/all.hh | 49 + scribo/scribo/debug/bboxes_enlarged_image.hh | 136 ++ scribo/scribo/debug/char_space_image.hh | 113 + scribo/scribo/debug/decision_image.hh | 183 ++ scribo/scribo/debug/highlight_text_area.hh | 305 +++ scribo/scribo/debug/line_info_image.hh | 123 + scribo/scribo/debug/links_decision_image.hh | 111 + .../scribo/debug/looks_like_a_text_line_image.hh | 130 ++ scribo/scribo/debug/mean_and_base_lines_image.hh | 149 ++ scribo/scribo/debug/save_bboxes_image.hh | 174 ++ scribo/scribo/debug/save_comp_diff.hh | 105 + scribo/scribo/debug/save_label_image.hh | 83 + scribo/scribo/debug/save_linked_bboxes_image.hh | 277 +++ scribo/scribo/debug/save_table_image.hh | 131 ++ .../scribo/debug/several_links_decision_image.hh | 179 ++ scribo/scribo/debug/text_areas_image.hh | 133 ++ scribo/scribo/debug/usage.hh | 84 + scribo/scribo/draw/all.hh | 47 + scribo/scribo/draw/bounding_box_links.hh | 340 +++ scribo/scribo/draw/bounding_boxes.hh | 117 + scribo/scribo/draw/groups_bboxes.hh | 93 + scribo/scribo/estim/object_groups_v_thickness.hh | 106 + scribo/scribo/filter/all.hh | 50 + scribo/scribo/filter/common/objects_photo.hh | 98 + scribo/scribo/filter/internal/alignment_angle.hh | 156 ++ scribo/scribo/filter/internal/component_aligned.hh | 114 + scribo/scribo/filter/internal/compute.hh | 147 ++ scribo/scribo/filter/object_groups_size_ratio.hh | 105 + scribo/scribo/filter/object_groups_small.hh | 100 + scribo/scribo/filter/object_groups_v_thickness.hh | 99 + scribo/scribo/filter/object_groups_with_holes.hh | 341 +++ scribo/scribo/filter/object_links_bbox_h_ratio.hh | 95 + scribo/scribo/filter/object_links_bbox_overlap.hh | 128 ++ scribo/scribo/filter/object_links_bbox_ratio.hh | 111 + scribo/scribo/filter/object_links_bbox_w_ratio.hh | 95 + .../scribo/filter/object_links_bottom_aligned.hh | 115 + .../scribo/filter/object_links_center_aligned.hh | 109 + scribo/scribo/filter/object_links_left_aligned.hh | 118 + .../filter/object_links_non_aligned_simple.hh | 131 ++ scribo/scribo/filter/object_links_right_aligned.hh | 118 + scribo/scribo/filter/object_links_top_aligned.hh | 114 + scribo/scribo/filter/objects_h_thick.hh | 192 ++ scribo/scribo/filter/objects_h_thin.hh | 196 ++ scribo/scribo/filter/objects_large.hh | 106 + scribo/scribo/filter/objects_size_ratio.hh | 125 ++ scribo/scribo/filter/objects_small.hh | 150 ++ scribo/scribo/filter/objects_thick.hh | 191 ++ scribo/scribo/filter/objects_thin.hh | 191 ++ scribo/scribo/filter/objects_v_thick.hh | 192 ++ scribo/scribo/filter/objects_v_thin.hh | 196 ++ scribo/scribo/filter/objects_with_holes.hh | 466 ++++ scribo/scribo/fun/v2b/label_to_bool.hh | 66 + scribo/scribo/fun/v2b/objects_large_filter.hh | 128 ++ scribo/scribo/fun/v2b/objects_small_filter.hh | 128 ++ scribo/scribo/io/text_boxes/save.hh | 102 + scribo/scribo/io/xml/save.hh | 253 +++ scribo/scribo/make/all.hh | 49 + scribo/scribo/make/debug_filename.hh | 102 + scribo/scribo/make/influence_zone_graph.hh | 116 + scribo/scribo/postprocessing/all.hh | 48 + scribo/scribo/postprocessing/fill_object_holes.hh | 408 ++++ scribo/scribo/preprocessing/all.hh | 63 + scribo/scribo/preprocessing/crop.hh | 84 + .../preprocessing/crop_without_localization.hh | 99 + scribo/scribo/preprocessing/denoise.hh | 106 + scribo/scribo/preprocessing/denoise_bg.hh | 159 ++ scribo/scribo/preprocessing/denoise_fg.hh | 118 + scribo/scribo/preprocessing/deskew.hh | 439 ++++ scribo/scribo/preprocessing/deskew_crop.hh | 187 ++ .../scribo/preprocessing/homogeneous_contrast.hh | 119 + scribo/scribo/preprocessing/rotate_90.hh | 163 ++ scribo/scribo/preprocessing/split_bg_fg.hh | 341 +++ scribo/scribo/primitive/all.hh | 51 + scribo/scribo/primitive/extract/all.hh | 68 + scribo/scribo/primitive/extract/canvas.hh | 131 ++ scribo/scribo/primitive/extract/cells.hh | 126 ++ scribo/scribo/primitive/extract/components.hh | 147 ++ .../primitive/extract/horizontal_separators.hh | 95 + .../scribo/primitive/extract/lines_discontinued.hh | 152 ++ .../primitive/extract/lines_h_discontinued.hh | 133 ++ scribo/scribo/primitive/extract/lines_h_pattern.hh | 126 ++ scribo/scribo/primitive/extract/lines_h_single.hh | 202 ++ scribo/scribo/primitive/extract/lines_h_thick.hh | 129 ++ .../primitive/extract/lines_h_thick_and_single.hh | 151 ++ scribo/scribo/primitive/extract/lines_pattern.hh | 298 +++ scribo/scribo/primitive/extract/lines_thick.hh | 137 ++ .../primitive/extract/lines_v_discontinued.hh | 131 ++ scribo/scribo/primitive/extract/lines_v_pattern.hh | 109 + scribo/scribo/primitive/extract/lines_v_single.hh | 198 ++ scribo/scribo/primitive/extract/lines_v_thick.hh | 129 ++ .../primitive/extract/lines_v_thick_and_single.hh | 150 ++ scribo/scribo/primitive/extract/separators.hh | 98 + .../primitive/extract/vertical_separators.hh | 95 + scribo/scribo/primitive/group/all.hh | 58 + scribo/scribo/primitive/group/apply.hh | 138 ++ scribo/scribo/primitive/group/from_double_link.hh | 125 ++ scribo/scribo/primitive/group/from_graph.hh | 180 ++ scribo/scribo/primitive/group/from_single_link.hh | 111 + scribo/scribo/primitive/internal/all.hh | 57 + .../scribo/primitive/internal/find_graph_link.hh | 115 + scribo/scribo/primitive/internal/find_root.hh | 74 + .../scribo/primitive/internal/have_link_valid.hh | 79 + scribo/scribo/primitive/internal/is_link_valid.hh | 81 + scribo/scribo/primitive/internal/rd.hh | 192 ++ .../scribo/primitive/internal/update_graph_link.hh | 102 + scribo/scribo/primitive/link/all.hh | 61 + scribo/scribo/primitive/link/compute.hh | 132 ++ scribo/scribo/primitive/link/compute_several.hh | 117 + .../primitive/link/internal/compute_anchor.hh | 252 +++ .../scribo/primitive/link/internal/dmax_default.hh | 83 + .../primitive/link/internal/dmax_functor_base.hh | 102 + .../link/internal/dmax_width_and_height.hh | 98 + .../primitive/link/internal/dmax_width_only.hh | 95 + scribo/scribo/primitive/link/internal/find_link.hh | 114 + .../primitive/link/internal/find_several_links.hh | 137 ++ .../primitive/link/internal/link_functor_base.hh | 516 +++++ .../link/internal/link_several_dmax_base.hh | 291 +++ .../link/internal/link_single_dmax_base.hh | 167 ++ .../link/internal/link_single_dmax_ratio_base.hh | 189 ++ scribo/scribo/primitive/link/merge_double_link.hh | 125 ++ scribo/scribo/primitive/link/with_graph.hh | 121 + scribo/scribo/primitive/link/with_rag.hh | 103 + .../scribo/primitive/link/with_several_graphes.hh | 127 ++ .../primitive/link/with_several_left_links.hh | 141 ++ .../link/with_several_right_closest_links.hh | 207 ++ .../primitive/link/with_several_right_links.hh | 143 ++ .../link/with_several_right_links_overlap.hh | 154 ++ .../scribo/primitive/link/with_single_down_link.hh | 181 ++ .../scribo/primitive/link/with_single_left_link.hh | 160 ++ .../link/with_single_left_link_dmax_ratio.hh | 221 ++ .../primitive/link/with_single_right_link.hh | 159 ++ .../link/with_single_right_link_bottom.hh | 162 ++ .../link/with_single_right_link_dmax_ratio.hh | 215 ++ .../primitive/link/with_single_right_link_top.hh | 163 ++ .../scribo/primitive/link/with_single_up_link.hh | 181 ++ .../primitive/regroup/from_single_left_link.hh | 144 ++ .../regroup/from_single_left_link_wrt_h_ratio.hh | 153 ++ scribo/scribo/primitive/remove/separators.hh | 114 + scribo/scribo/subsampling/bilinear.hh | 119 + scribo/scribo/subsampling/integral.hh | 420 ++++ scribo/scribo/subsampling/integral_single_image.hh | 460 ++++ scribo/scribo/table/align_lines_horizontaly.hh | 106 + scribo/scribo/table/align_lines_verticaly.hh | 102 + scribo/scribo/table/all.hh | 56 + scribo/scribo/table/connect_horizontal_lines.hh | 99 + scribo/scribo/table/connect_vertical_lines.hh | 97 + scribo/scribo/table/erase.hh | 99 + scribo/scribo/table/extract.hh | 118 + scribo/scribo/table/internal/align_lines.hh | 199 ++ scribo/scribo/table/internal/all.hh | 55 + scribo/scribo/table/internal/connect_lines.hh | 125 ++ scribo/scribo/table/internal/repair_lines.hh | 197 ++ scribo/scribo/table/rebuild.hh | 158 ++ scribo/scribo/table/repair_horizontal_lines.hh | 91 + scribo/scribo/table/repair_vertical_lines.hh | 97 + scribo/scribo/text/all.hh | 48 + scribo/scribo/text/clean.hh | 127 ++ scribo/scribo/text/clean_inplace.hh | 147 ++ scribo/scribo/text/extract_lines.hh | 137 ++ scribo/scribo/text/look_like_text_lines.hh | 116 + scribo/scribo/text/merging.hh | 922 ++++++++ scribo/scribo/text/recognition.hh | 269 +++ scribo/scribo/toolchain/nepomuk/text_extraction.hh | 163 ++ scribo/scribo/toolchain/text_in_doc.hh | 294 +++ scribo/scribo/upsampling/bs2x.hh | 147 ++ scribo/scribo/upsampling/eagle.hh | 149 ++ scribo/src/Makefile.am | 91 +- scribo/src/README | 39 + scribo/src/afp/components.hh | 228 ++ scribo/src/afp/link.hh | 178 ++ scribo/src/afp/regroup.hh | 119 + scribo/src/binarization/Makefile.am | 80 +- scribo/src/binarization/fg_sauvola_ms.cc | 108 + .../src/binarization/pgm_global_threshold_auto.cc | 63 + scribo/src/binarization/pgm_sauvola.cc | 80 + scribo/src/binarization/pgm_sauvola_ms.cc | 111 + scribo/src/binarization/ppm_fg_sauvola_ms.cc | 128 ++ scribo/src/binarization/ppm_sauvola.cc | 79 + scribo/src/binarization/ppm_sauvola_ms.cc | 117 + scribo/src/binarization/ppm_sauvola_ms_split.cc | 125 ++ scribo/src/binarization/sauvola.cc | 43 +- scribo/src/binarization/sauvola_debug.cc | 116 + scribo/src/binarization/sauvola_ms.cc | 398 +--- scribo/src/binarization/sauvola_ms_debug.cc | 147 ++ scribo/src/binarization/sauvola_ms_split.cc | 123 + scribo/src/binarization/sauvola_pgm.cc | 63 - scribo/src/binarization/simple.cc | 61 - scribo/src/contest/Makefile.am | 23 + scribo/src/contest/hdibco-2010/Makefile.am | 25 + .../src/contest/hdibco-2010/sauvola_ms_hdibco.cc | 85 + scribo/src/debug/Makefile.am | 39 +- scribo/src/debug/highlight_text_area.cc | 97 + .../src/debug/show_info_median_inter_characters.cc | 84 + scribo/src/debug/show_info_x_height.cc | 79 + .../src/debug/show_left_right_links_validation.cc | 122 - scribo/src/debug/show_links_bbox_h_ratio.cc | 24 +- scribo/src/debug/show_links_bbox_overlap.cc | 19 +- scribo/src/debug/show_links_bottom_aligned.cc | 30 +- scribo/src/debug/show_links_center_aligned.cc | 19 +- .../show_links_left_right_links_validation.cc | 119 + scribo/src/debug/show_links_non_h_aligned.cc | 25 +- scribo/src/debug/show_links_several_right.cc | 27 +- .../src/debug/show_links_several_right_overlap.cc | 79 +- scribo/src/debug/show_links_single_down.cc | 158 ++ .../debug/show_links_single_down_left_aligned.cc | 101 + .../debug/show_links_single_down_right_aligned.cc | 102 + scribo/src/debug/show_links_single_left.cc | 40 +- .../src/debug/show_links_single_left_dmax_ratio.cc | 48 +- scribo/src/debug/show_links_single_right.cc | 41 +- .../debug/show_links_single_right_dmax_ratio.cc | 40 +- scribo/src/debug/show_links_single_up.cc | 160 ++ .../src/debug/show_links_single_up_left_aligned.cc | 103 + .../debug/show_links_single_up_right_aligned.cc | 101 + scribo/src/debug/show_links_top_aligned.cc | 34 +- scribo/src/debug/show_objects_large.cc | 27 +- scribo/src/debug/show_objects_large_small.cc | 41 +- scribo/src/debug/show_objects_small.cc | 27 +- scribo/src/debug/show_objects_thick.cc | 26 +- scribo/src/debug/show_objects_thin.cc | 24 +- scribo/src/filter/Makefile.am | 6 +- scribo/src/filter/objects_large.cc | 30 +- scribo/src/filter/objects_small.cc | 22 +- scribo/src/filter/objects_thick.cc | 30 +- scribo/src/filter/objects_thin.cc | 30 +- scribo/src/filter/objects_with_holes.cc | 75 + scribo/src/filter/objects_with_holes_pgm.cc | 76 + scribo/src/misc/negate.cc | 5 +- scribo/src/misc/superpose.cc | 7 +- scribo/src/multi_scale/Makefile.am | 22 - scribo/src/multi_scale/find_lines.cc | 180 -- scribo/src/pbm_text_in_doc.cc | 130 ++ scribo/src/postprocessing/Makefile.am | 26 + scribo/src/postprocessing/fill_object_holes.cc | 67 + scribo/src/preprocessing/Makefile.am | 60 +- scribo/src/preprocessing/denoise_bg.cc | 67 + scribo/src/preprocessing/denoise_fg.cc | 66 + scribo/src/preprocessing/homogeneous_contrast.cc | 44 + scribo/src/preprocessing/preprocess.cc | 27 +- scribo/src/preprocessing/rotate.cc | 68 + scribo/src/preprocessing/rotate_90.cc | 77 + scribo/src/preprocessing/split_bg_fg.cc | 19 +- scribo/src/preprocessing/subsample.cc | 67 + scribo/src/preprocessing/to_pgm.cc | 46 + scribo/src/preprocessing/unskew.cc | 22 +- .../extract/extract_discontinued_hlines.cc | 26 +- .../extract/extract_discontinued_lines.cc | 47 +- .../extract/extract_discontinued_vlines.cc | 27 +- .../src/primitive/extract/extract_thick_hlines.cc | 25 +- .../src/primitive/extract/extract_thick_vlines.cc | 25 +- scribo/src/primitive/extract/lines_pattern.cc | 6 +- .../src/primitive/find/find_discontinued_lines.cc | 18 +- scribo/src/primitive/find/find_pattern_lines.cc | 10 +- scribo/src/primitive/find/find_single_lines.cc | 35 +- .../primitive/find/find_thick_and_single_lines.cc | 29 +- scribo/src/primitive/find/find_thick_lines.cc | 20 +- scribo/src/primitive/group/Makefile.am | 15 +- .../src/primitive/group/group_from_double_link.cc | 62 +- .../group/group_from_double_several_links.cc | 34 +- .../group/group_from_several_left_links.cc | 32 +- .../src/primitive/group/group_from_single_link.cc | 62 +- scribo/src/table/erase.cc | 15 +- scribo/src/table/extract.cc | 7 +- scribo/src/text/Makefile.am | 28 +- scribo/src/text/cleantxt.cc | 45 +- scribo/src/text/pbm_lines_recognition.cc | 107 + scribo/src/text/pbm_recognition.cc | 75 + scribo/src/text/recognition.cc | 101 - scribo/src/text_in_doc.cc | 304 --- scribo/src/text_in_doc_ppm.cc | 322 --- scribo/src/text_in_doc_preprocess.cc | 103 + scribo/src/text_in_photo.cc | 250 --- scribo/src/text_in_photo_invert.cc | 245 -- scribo/src/text_in_photo_ppm.cc | 318 --- scribo/src/text_in_picture.cc | 631 ++++++ scribo/src/text_recognition_in_picture.cc | 378 ++++ scribo/table/align_lines_horizontaly.hh | 101 - scribo/table/align_lines_verticaly.hh | 102 - scribo/table/all.hh | 56 - scribo/table/connect_horizontal_lines.hh | 99 - scribo/table/connect_vertical_lines.hh | 97 - scribo/table/erase.hh | 99 - scribo/table/extract.hh | 117 - scribo/table/internal/align_lines.hh | 196 -- scribo/table/internal/all.hh | 55 - scribo/table/internal/connect_lines.hh | 125 -- scribo/table/internal/repair_lines.hh | 197 -- scribo/table/rebuild.hh | 157 -- scribo/table/repair_horizontal_lines.hh | 91 - scribo/table/repair_vertical_lines.hh | 97 - scribo/tests/Makefile.am | 8 +- scribo/tests/binarization/Makefile.am | 30 + scribo/tests/binarization/global_threshold.cc | 24 + scribo/tests/binarization/local_threshold.cc | 29 + scribo/tests/core/Makefile.am | 25 + scribo/tests/filter/Makefile.am | 3 + scribo/tests/filter/objects_with_holes.cc | 62 + scribo/tests/filter/small_and_large_bboxes.cc | 67 +- scribo/tests/img/text_to_group.pgm | Bin 0 -> 3053 bytes scribo/tests/img/wildly.pbm | Bin 0 -> 2208 bytes scribo/tests/preprocessing/Makefile.am | 10 +- scribo/tests/preprocessing/crop.cc | 52 + .../preprocessing/crop_without_localization.cc | 56 + scribo/tests/preprocessing/deskew.cc | 52 + scribo/tests/preprocessing/rotate_90.cc | 59 + scribo/tests/preprocessing/unskew.cc | 44 - scribo/tests/table/extract_lines_with_rank.cc | 5 +- scribo/tests/table/repair_lines.cc | 5 +- scribo/tests/tests.mk | 23 +- scribo/tests/toolchain/Makefile.am | 20 + scribo/tests/toolchain/nepomuk/Makefile.am | 45 + scribo/tests/toolchain/nepomuk/text_extraction.cc | 44 + scribo/tests/unit_test/Makefile.am | 27 +- scribo/tests/unit_test/build_unit_test.sh | 85 - scribo/tests/unit_test/cond_tests_qt | 1 + .../tests/unit_test/cond_tests_qt_tesseract_tiff | 1 + scribo/tests/unit_test/cond_tests_tesseract_tiff | 1 + scribo/tests/unit_test/disabled_tests | 3 +- scribo/tests/unit_test/unit-tests.mk | 248 ++- scribo/text/all.hh | 48 - scribo/text/clean.hh | 156 -- scribo/text/extract_lines.hh | 152 -- scribo/text/recognition.hh | 193 -- scribo/util/all.hh | 46 - scribo/util/text.hh | 278 --- 1214 files changed, 112985 insertions(+), 24587 deletions(-) diff --cc milena/ChangeLog index b4e98cd,7cbebec..7ba470c --- a/milena/ChangeLog +++ b/milena/ChangeLog @@@ -1,31 -1,751 +1,779 @@@ + 2010-08-13 Guillaume Lazzara <z@lrde.epita.fr> + + Fix compilation with g++-3.3. + + * mln/value/qt/rgb32.hh: Here. + (name()): Change the returned string value. + + 2010-08-12 Guillaume Lazzara <z@lrde.epita.fr> + + * tests/unit_test/Makefile.am (DIST_FILES): Add missing files. + + 2010-08-12 Guillaume Lazzara <z@lrde.epita.fr> + + Make Boost dependent tests conditional. + + * tests/accu/Makefile.am (tuple): Add conditions. + + * tests/unit_test/cond_tests_boost-preprocessor_boost-tuple: New. + + * tests/unit_test/unit-tests.mk: Regen. + + 2010-08-12 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes in Milena. + + * mln/fun/v2v/saturate.hh: Add mln:: namespace prefix. + + * mln/value/rgb.hh: Add a missing include. + + * mln/accu/tuple.hh: Update include directive syntax. + + 2010-08-12 Guillaume Lazzara <z@lrde.epita.fr> + + Fix more warnings in Milena. + + * mln/convert/impl/from_float_to_value.hh: Add an overload for + short int. + + * mln/io/fld/load.hh: Use convert::from_to. + + * mln/io/fld/max_components.hh: Explicitly cast values to unsigned. + + 2010-08-11 Guillaume Lazzara <z@lrde.epita.fr> + + Fix more tests in Milena. + + * mln/fun/v2v/saturate.hh: Add a missing include. + + * mln/subsampling/antialiased.hh: Increment pointer after the call + to convert::from_to. + + * tests/subsampling/antialiased.cc: Fix references according to + last changes on 'round factor'. + + 2010-08-11 Guillaume Lazzara <z@lrde.epita.fr> + + Fix warnings with g++-4.1 in Milena. + + * mln/fun/v2v/saturate.hh, + * mln/subsampling/antialiased.hh, + * mln/value/rgb.hh: Use convert::from_to for type conversions. + + 2010-08-11 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/core/point.hh: Fix a warning. + + 2010-08-11 Guillaume Lazzara <z@lrde.epita.fr> + + Fix tests in Milena. + + * mln/draw/dashed_line.hh, + * mln/fun/n2v/white_gaussian.hh, + * mln/fun/v2v/rgb_to_int_u.hh, + * mln/io/dump/get_header.hh, + * mln/io/raw/get_header.hh: Add missing includes. + + * tests/topo/skeleton/crest.cc: Fix reference results since a bug + have been fixed. + + * tests/unit_test/cond_tests_qt: Add conditional tests. + + * tests/unit_test/unit-tests.mk: Regen. + + 2010-08-11 Guillaume Lazzara <z@lrde.epita.fr> + + Add missing traces. + + * mln/convert/to_qimage.hh, + * mln/convert/to_qimage_nocopy.hh: Here. + + 2010-08-11 Guillaume Lazzara <z@lrde.epita.fr> + + * headers.mk: Regen. + + 2010-08-10 Guillaume Lazzara <z@lrde.epita.fr> + + Fix tests in Milena. + + * tests/geom/rotate.cc: Fix test. + + * mln/labeling/blobs_and_compute.hh: Add comments. + + * mln/labeling/flat_zones.hh: Add missing members to functors. + + * tests/labeling/blobs_and_compute.cc: Fix return type. + + * tests/labeling/flat_zones.cc, + * tests/labeling/foreground.cc: Fix functor template parameters. + + * tests/labeling/relabel.cc: The number of components is not + updated anymore. + + * tests/labeling/colorize.cc: Fix reference according to last + changes in labeling::colorize routine. + + * mln/core/point.hh: Add mln:: namespace prefix. + + 2010-08-10 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/io/dicom/get_header.hh: Add missing headers. + + 2010-08-10 Guillaume Lazzara <z@lrde.epita.fr> + + Setup conditional unit-tests in Milena. + + * tests/unit_test/Makefile.am + (regen-am): Update the use of build_unit_test.sh. + (EXTRA_DIST): Add cond_tests_* files. + + * tests/unit_test/cond_tests_cfitsio, + * tests/unit_test/cond_tests_gdcm, + * tests/unit_test/cond_tests_magickxx, + * tests/unit_test/cond_tests_tiff: New. + + * tests/unit_test/disabled_tests: Remove some conditional tests. + + * tests/unit_test/unit-tests.mk: Regen. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + Small changes in Milena. + + * mln/accu/internal/base.hh, + * mln/accu/math/sum.hh: Aesthetic changes. + + * mln/data/paste_without_localization.hh: Add a missing include. + + * mln/geom/rotate.hh: Add a new overload taking a box as argument. + + 2010-08-04 Guillaume Lazzara <z@lrde.epita.fr> + + Replace deduced type 'point' by 'site'. + + * mln/geom/max_col.hh, + * mln/geom/max_row.hh, + * mln/geom/min_col.hh, + * mln/geom/min_row.hh: Replace deduced type 'point' by 'site'. + + 2010-07-06 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes in milena. + + * doc/figures/ima2d-rot-2.ppm: Update generated output. + + * mln/core/alias/window2d.hh: Aesthetic changes in the header. + + * mln/core/point.hh: Add mln:: prefix. + + * headers.mk, + * tests/unit_test/unit-tests.mk: Regen. + + 2010-06-21 Yann Jacquelet <jacquelet@lrde.epita.fr> + + Fix the way to convert unsigned to float. + + * mln/convert/from_to.hxx: New conversion utilities. + * mln/convert/impl/from_unsigned_to_value.hh: New conversion utilities. + + 2009-12-02 Yann Jacquelet <jacquelet@lrde.epita.fr> + + Fix the outside template use case for the convolve macros. + + * mln/linear/ch_convolve.hh (mln_ch_convolve_, mln_ch_convolve_grad_): + Define new macros to work outside templates. + + 2010-06-28 Guillaume Lazzara <z@lrde.epita.fr> + + Revamp and fix a bug in io::magick::*. + + * mln/io/magick/load.hh: Revamp. + + * mln/io/magick/save.hh: Fix a bug while saving. RGB values must + be between 0 and 1. + + * tests/io/magick/save.cc: Remove useless output. + + 2010-06-25 Guillaume Lazzara <z@lrde.epita.fr> + + Add new tests. + + * tests/convert/Makefile.am, + * tests/subsampling/Makefile.am: Add targets for these new tests. + + * tests/convert/to_qimage.cc, + * tests/convert/to_qimage_nocopy.cc, + * tests/subsampling/antialiased.cc: New. + + 2010-06-25 Guillaume Lazzara <z@lrde.epita.fr> + + Fix conversion routines towards qimage. + + * mln/convert/to_qimage.hh: Fix invalid conversions. + + * mln/convert/to_qimage_nocopy.hh: Avoid a warning. + + 2010-06-25 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/accu/count_value.hh: Add properties. + + 2010-06-18 Guillaume Lazzara <z@lrde.epita.fr> + + Fix a bug in conversions from vec to point. + + * milena/mln/core/concept/gpoint.hh: Fix comment. + + * milena/mln/core/image/image1d.hh: Share a dpoint value. + + * milena/mln/core/point.hh: Handle point1d. + + 2010-06-15 Guillaume Lazzara <z@lrde.epita.fr> + + Introduce labeling::value_and_compute. + + * mln/canvas/labeling/video.hh: Call more functor members. + + * mln/labeling/value.hh: Provide new members to the functor. + + * mln/labeling/value_and_compute.hh: New functor computing + attributes while labeling. + + 2010-05-18 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/io/magick/load.hh: set minimum resolution for PDF files to + 300DPI. + + 2010-07-01 Guillaume Lazzara <z@lrde.epita.fr> + + Fix a few tests. + + * tests/core/other/box_runstart_piter.cc, + * tests/geom/translate.cc: Fix test. + + 2010-07-01 Guillaume Lazzara <z@lrde.epita.fr> + + Update generated images included in the doc. + + * doc/figures/fill-subdomain-3.ppm, + * doc/figures/ima2d-rot-2.ppm, + * doc/figures/labeling-compute-2.ppm, + * doc/figures/tuto3_colorize-2.ppm, + * doc/figures/tuto4_genericity_and_algorithms-5.ppm: Update + generated images. + + 2010-07-01 Guillaume Lazzara <z@lrde.epita.fr> + + Add from_to overloads for conversions from algebra::vec to point. + + * mln/convert/from_to.hxx: Add new prototypes. + + * mln/core/point.hh: Add new from_to overloads. Remove specialized + constructors causing ambiguities. + + 2010-06-03 Guillaume Lazzara <z@lrde.epita.fr> + + Add a function to convert qt::rgb32 values to int_u8. + + * mln/fun/v2v/qt_rgb_to_int_u.hh: New. + + * tests/fun/v2v/Makefile.am, + * tests/fun/v2v/qt_rgb_to_int_u.cc: New test. + + 2010-06-03 Guillaume Lazzara <z@lrde.epita.fr> + + Use sites instead of pixels in canvas::labeling::blobs functors. + + * mln/canvas/labeling/blobs.hh, + * mln/labeling/blobs.hh: Update members prototypes. + + * mln/labeling/blobs_and_compute.hh: Do not construct on-the-fly + pixels anymore. + + 2010-05-25 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes. + + * mln/labeling/compute.hh: Add a missing include. + + * mln/literal/colors.hh: Revamp header. + + * mln/value/internal/make_generic_name.hh: Add a missing inline. + + * mln/value/qt/rgb32.hh: Add a missing inline and a useless + literal. + + * mln/value/rgb.hh: Add a fixme. + + 2010-05-25 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/subsampling/antialiased.hh: Fix an invalid output buffer + size which may lead to a segfault. + + 2010-05-25 Guillaume Lazzara <z@lrde.epita.fr> + + Add a new meta tool to deduce an extension type. + + mln/core/routine/extend.hh: Introduce a new macro + mln_extension_type. + + mln/geom/rotate.hh: Make use of this new macro. + + 2010-05-25 Guillaume Lazzara <z@lrde.epita.fr> + + Reduce precision issues in transformations. + + * mln/core/image/imorph/interpolated.hh: Make the vector type more + generic. + + * mln/core/point.hh: Provide specific conversion operators for + float and double. + + * mln/fun/internal/x2x_linear_impl.hh: Allow to set the matrix + value type. + + * mln/fun/x2x/composed.hh, + * mln/fun/x2x/rotation.hh, + * mln/fun/x2x/translation.hh: Introduce data_t typedef passed to + x2x_linear_impl. + + 2010-04-30 Guillaume Lazzara <z@lrde.epita.fr> + + Add some code in my sandbox. + + * sandbox/lazzara/scribo/binarization_naive/main.cc, + * sandbox/lazzara/scribo/binarization_naive/toto.cc, + * sandbox/lazzara/scribo/fill_holes/main.cc, + * sandbox/lazzara/scribo/separateurs_materialises/lines_pattern.cc, + * sandbox/lazzara/scribo/skeleton_crest/main.cc, + * sandbox/lazzara/skeleton_crest/main.cc: New. + + 2010-05-21 edwin carlinet <carlinet@lrde.epita.fr> + + Add MLN_WO_GLOBAL_VARS directive that prevents globals vars to be + included. + + * mln/border/thickness.hh, + * mln/core/alias/dpoint1d.hh, + * mln/core/alias/dpoint2d.hh, + * mln/core/alias/dpoint3d.hh, + * mln/fun/v2v/hsl_to_rgb.hh, + * mln/literal/black.hh, + * mln/literal/colors.hh, + * mln/literal/identity.hh, + * mln/literal/one.hh, + * mln/literal/origin.hh, + * mln/literal/white.hh, + * mln/literal/zero.hh, + * mln/tag/init.hh, + * mln/trace/entering.hh, + * mln/trace/quiet.hh, + * mln/value/sign.hh: Add MLN_WO_GLOBAL_VARS define. + + 2010-04-30 Guillaume Lazzara <z@lrde.epita.fr> + + Add some code in my sandbox. + + * milena/sandbox/lazzara/scribo/binarization_naive/main.cc, + * milena/sandbox/lazzara/scribo/binarization_naive/toto.cc, + * milena/sandbox/lazzara/scribo/fill_holes/main.cc, + * milena/sandbox/lazzara/scribo/separateurs_materialises/lines_pattern.cc, + * milena/sandbox/lazzara/scribo/skeleton_crest/main.cc, + * milena/sandbox/lazzara/skeleton_crest/main.cc: New. + + 2010-04-30 Guillaume Lazzara <z@lrde.epita.fr> + + Add fastest implementations in labeling::compute. + + * mln/labeling/compute.hh: New fastest implementations. + + 2010-04-30 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes in Milena. + + * mln/canvas/labeling/blobs.hh: Fill extension. + + * mln/data/paste_without_localization.hh: Check whether the + two images have the same domain. + + * mln/labeling/blobs_and_compute.hh: Rename members. + + * mln/labeling/colorize.hh: Add missing includes. + + * mln/world/binary_2d/enlarge.hh: use def::coord. + + 2010-04-13 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/labeling/blobs_and_compute.hh: Fix an invalid size of + reserved memory. + + 2010-04-13 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/subsampling/antialiased.hh: Fix the use of 'factor round'. + + 2010-04-09 Guillaume Lazzara <z@lrde.epita.fr> + + Rename nslis to nslices. + + * mln/geom/nslis.hh, + * tests/geom/nslis.cc: Rename as... + + * mln/geom/nslices.hh, + * tests/geom/nslices.cc: ... this. + + * mln/core/image/image3d.hh, + * mln/core/internal/box_impl.hh, + * mln/core/site_set/box.hh, + * mln/debug/slices_2d.hh, + * mln/geom/all.hh, + * mln/geom/size3d.hh, + * mln/linear/gaussian.hh, + * mln/linear/gaussian/impl.hh, + * mln/make/box3d.hh, + * mln/make/image.hh, + * mln/registration/icp.hh, + * tests/core/alias/box3d.cc, + * tests/core/image/image3d.cc, + * tests/geom/Makefile.am, + * tests/io/pbms/load.cc, + * tests/io/pgms/load.cc, + * tests/io/ppms/load.cc, + * tests/transform/bench_closest_point_geodesic.cc: Rename nslis to + nslices. + + 2010-04-07 Guillaume Lazzara <z@lrde.epita.fr> + + * img/picasso.ppm: Add a ppm version. + + 2010-04-07 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/value/qt/rgb32.hh: Explicitly cast float values to unsigned. + + 2010-04-06 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/debug/mosaic.hh: New. Construct a single image from a set of + images. + + 2010-04-06 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/histo/equalize.hh: New. Add histogram equalization. + + 2010-03-22 Guillaume Lazzara <z@lrde.epita.fr> + + Add vertical/horizontal symmetry. + + * mln/labeling/relabel.hh: Fix an invalid 'const'. + + * mln/geom/horizontal_symmetry.hh, + * mln/geom/vertical_symmetry.hh: New routines. + + * tests/geom/Makefile.am, + * tests/geom/horizontal_symmetry.cc, + * tests/geom/vertical_symmetry.cc: New tests. + + 2010-03-22 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/debug/z_order.hh: New image data initializer. + + 2010-03-22 Guillaume Lazzara <z@lrde.epita.fr> + + Improve antialiased subsampling. + + * mln/subsampling/antialiased.hh: Add support for any factors and + for RGB images. + + 2010-03-19 Guillaume Lazzara <z@lrde.epita.fr> + + Add a new routine to split a color image into three grayscale + images. + + * mln/data/split.hh: New. + + * tests/data/split.cc: New test. + + 2010-03-19 Guillaume Lazzara <z@lrde.epita.fr> + + Add new implementations of paste_without_localization. + + * mln/data/paste_without_localization.hh: Add new implementations. + + * tests/data/Makefile.am, + * tests/data/paste_without_localization.cc: New tests. + + 2010-03-19 Guillaume Lazzara <z@lrde.epita.fr> + + Improve to_qimage routines. + + * mln/convert/to_qimage.hh: rename namespace. + + * mln/convert/to_qimage_nocopy.hh: Add a new implementation and + improve existing ones. + + 2010-03-15 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/subsampling/antialiased.hh: Add support for reduction factor + different from 2 or 3. + + 2010-02-16 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/labeling/colorize.hh: Add support for value::qt::rgb32. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes in Milena. + + * mln/accu/center.hh: Add nsites() member. + + * mln/accu/pair.hh: Provide access to the underlying accus. + + * mln/accu/stat/variance.hh: Use literal::zero. + + * mln/core/internal/labeled_image_base.hh: Indent. + + * mln/core/site_set/box.hh: Rename center() as pcenter(). + + * mln/labeling/blobs_and_compute.hh: Return the array of + accumulators. + + * mln/labeling/colorize.hh: Make sure a color is not used + twice in the same image. + + * mln/labeling/compute.hh: Add a new overload. + + * mln/transform/influence_zone_geodesic.hh: Fix a + segmentation fault when an image had a border. + + 2009-12-14 Guillaume Lazzara <z@lrde.epita.fr> + + Add rbg_to_int_u function. + + * mln/fun/v2v/all.hh: Include the new header. + + * mln/fun/v2v/rgb_to_int_u.hh: New. + + 2009-12-14 Guillaume Lazzara <z@lrde.epita.fr> + + Add an antialiased subsampling. + + * mln/subsampling/antialiased.hh: New. + + 2009-12-14 Guillaume Lazzara <z@lrde.epita.fr> + + Add hooks for subclasses in labeled_image_base. + + * mln/core/internal/labeled_image_base.hh: New methods which can + be overridden in subclasses. + + * mln/core/image/imorph/labeled_image.hh: Add a missing header. + + 2010-03-11 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes. + + * mln/accu/count_value.hh: Fix doc. + + * mln/convert/from_to.hxx, + * mln/value/int_u.hh, + * mln/value/qt/rgb32.hhL: Add new from_to overloads. + + * mln/convert/to_qimage.hh: Add a missing include. + + * mln/convert/to_qimage_nocopy.hh: Rename an overload. + + * mln/core/concept/function.hh: Add new concept n2v. + + * mln/geom/rotate.hh: rename center() to pcenter(). + + * mln/histo/compute.hh: Fix a namespace ambiguity. + + * mln/io/magick/save.hh: Handle qt::rgb32. + + * mln/io/plot/save.hh: Add an overload for histograms. + + * mln/labeling/relabel.hh: Make 'nlabels' const. + + * mln/topo/skeleton/crest.hh: Fix a bug. + + * tests/core/other/box_runstart_piter.cc: Write a valid test. + + 2010-03-11 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/draw/dashed_line.hh: New draw line routine. + + 2010-02-24 Guillaume Lazzara <z@lrde.epita.fr> + + Add white gaussian noise function. + + * mln/fun/all.hh: Include a new file. + + * mln/fun/n2v/all.hh, + * mln/fun/n2v/white_gaussian.hh: New. + + 2010-02-16 Guillaume Lazzara <z@lrde.epita.fr> + + Cleanup to_qimage convertion routines. + + * mln/convert/to_qimage.hh: Remove useless comments and move a + specific implementation... + + * mln/convert/to_qimage_nocopy.hh: ... in this new file. + + 2010-02-16 Guillaume Lazzara <z@lrde.epita.fr> + + Add a routine to convert to a QImage. + + * mln/convert/to_qimage.hh: New. + + 2010-02-16 Guillaume Lazzara <z@lrde.epita.fr> + + Add box<>::merge. + + * mln/core/site_set/box.hh: New member 'merge()'. + + * tests/core/site_set/Makefile.am, + * tests/core/site_set/box.cc: New test. + + 2010-02-16 Guillaume Lazzara <z@lrde.epita.fr> + + Rename image3d<>::nslices to image3d<>::nslis. + + * mln/core/image/image3d.hh, + * mln/debug/slices_2d.hh, + * tests/io/pbms/load.cc, + * tests/io/pgms/load.cc, + * tests/io/ppms/load.cc: Rename nslices to nslis. + + 2010-02-16 Guillaume Lazzara <z@lrde.epita.fr> + + Various small fixes. + + * doc/tutorial/tutorial.tex: Add more contacts. + + * mln/accu/label_used.hh: Do not use label<>::next(). + + * mln/draw/line.hh: Add a fixme. + + * mln/io/dump/save.hh: Close the file. + + * mln/io/plot/save.hh: Fix an invalid prototype. + + * mln/io/pnm/load.hh: Fix an invalid static check. + + * mln/io/raw/get_header.hh: Fix comment. + + * mln/labeling/pack.hh: Disable a static check on symbolic values. + + * mln/math/diff_abs.hh: Add a fixme. + + * mln/world/inter_pixel/full2image.hh: Use mln_concrete(). + + * mln/data/fill_with_value.hh, + * mln/io/raw/load.hh, + * mln/io/raw/save.hh, + * mln/labeling/compute.hh, + * mln/registration/icp.hh: Aesthetic changes. + + 2010-02-16 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/topo/skeleton/crest.hh: Fix invalid PSI values for component + edge sites. + + 2010-02-16 Guillaume Lazzara <z@lrde.epita.fr> + + Add a routine to read dump files header. + + * mln/io/dump/all.hh: Include a new file. + + * mln/io/dump/get_header.hh: New. + + 2010-02-16 Guillaume Lazzara <z@lrde.epita.fr> + + Add a routine to read DICOM files header. + + * mln/io/dicom/all.hh: Include a new file. + + * mln/io/dicom/get_header.hh: New. + + * mln/io/dicom/load.hh: Add more doc. + + 2010-02-16 Guillaume Lazzara <z@lrde.epita.fr> + + Add A new routine to draw plain boxes. + + * mln/draw/all.hh: Include new file. + + * mln/draw/box.hh: Add a fixme. + + * mln/draw/box_plain.hh: New. + + 2010-02-16 Guillaume Lazzara <z@lrde.epita.fr> + + Add more implementations for box specializations. + + * mln/core/internal/box_impl.hh: Add width, height and depth. + + 2010-02-16 Guillaume Lazzara <z@lrde.epita.fr> + + First draft of raw format support. + + * mln/io/raw/all.hh, + * mln/io/raw/get_header.hh, + * mln/io/raw/load.hh, + * mln/io/raw/save.hh: New. + + 2010-02-16 Guillaume Lazzara <z@lrde.epita.fr> + + Add new 3D neighborhoods and windows. + + * mln/core/alias/neighb3d.hh, + * mln/win/sline3d.hh: New. + + 2010-02-16 Guillaume Lazzara <z@lrde.epita.fr> + + Add a new rgb32 type for Qt compatibility. + + * mln/convert/from_to.hxx: Declare conversion routines. + + * mln/value/qt/rgb32.hh: New. + + 2010-02-16 Guillaume Lazzara <z@lrde.epita.fr> + + Fix invalid value type names in dump format. + + * mln/value/internal/make_generic_name.hh: New. + + * mln/value/int_u.hh, + * mln/value/label.hh, + * mln/value/rgb.hh: Make use of the new routine to print a + correct type names in dump format. + +2010-07-19 Roland Levillain <roland@lrde.epita.fr> + + Fix and improve the Magick++ I/O API wrapper. + + * mln/io/magick/load.hh + (io::magick::do_it): Enclose these helpers... + (io::magick::impl::do_it): ...in a sub-namespace. + (io::magick::load): Ensure a Magick++'s Quantum is an 8-bit value. + Use a pixel view (Magick::Pixels) to access to pixel values. + No longer pass the input filename to the `do_it' helper. + Simplify the code. + Improve the documentation. + Aesthetic changes. + * mln/io/magick/save.hh + (io::magick::get_color): Enclose these helpers... + (io::magick::impl::get_color): ...in a sub-namespace. + Properly use Magick::Color. + Properly pass the width and the height of the image. + Use a pixel view (Magick::Pixels) to access to pixel values. + Simplify the code. + Aesthetic changes. + * tests/io/magick/load.cc, + * tests/io/magick/save.cc: + Properly initialize Magick++. + Exercice more cases. + * tests/io/magick/Makefile.am (MOSTLYCLEANFILES): + Update the list of files created by tests. + 2010-04-26 Roland Levillain <roland@lrde.epita.fr> Clean Milena's tests' outputs during `make mostlyclean'. diff --cc milena/mln/io/magick/load.hh index 662e67c,625134f..f961ccb --- a/milena/mln/io/magick/load.hh +++ b/milena/mln/io/magick/load.hh @@@ -1,4 -1,4 +1,5 @@@ - // Copyright (C) 2009, 2010 EPITA Research and Development Laboratory (LRDE) -// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE) ++// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory ++// (LRDE) // // This file is part of Olena. // @@@ -139,26 -114,51 +140,27 @@@ namespace ml { trace::entering("mln::io::magick::load"); - I& ima = exact(ima_); + // Ensure a Magick++'s Quantum is an 8-bit value. + mln::metal::equal<Magick::Quantum, unsigned char>::check(); - Magick::Image im_file; - im_file.ping(filename); - -// if (im_file) -// { -// std::cerr << "error: cannot open file '" << filename << "'!"; -// abort(); -// } + I& ima = exact(ima_); - // Force a minimum resolution of 300DPI for PDF document. - if (im_file.magick() == "PDF" - && (im_file.xResolution() < 300 - || im_file.yResolution() < 300)) - { - im_file.density(Magick::Geometry(300, 300)); - } + // FIXME: Handle Magick++'s exceptions (see either + // ImageMagick++'s or GraphicsMagick++'s documentation). + Magick::Image magick_ima(filename); + magick_ima.read(filename); + magick_ima.type(Magick::TrueColorType); + int nrows = magick_ima.rows(); + int ncols = magick_ima.columns(); + mln_site(I) pmin(0, 0); + mln_site(I) pmax(nrows - 1, ncols - 1); + - im_file.read(filename); - - - im_file.modifyImage(); - im_file.type(Magick::TrueColorType); - int columns = im_file.columns(); - int rows = im_file.rows(); - /*std::cout << "width: " <<columns << std::endl; - std::cout << "height: " <<rows << std::endl; - std::cout << "depth: " <<im_file.depth() << std::endl; - std::cout << "format: " <<im_file.format() << std::endl; - std::cout << "magick: " <<im_file.magick() << std::endl;*/ - - const Magick::PixelPacket * - pixel_cache = im_file.getConstPixels(0, 0, columns, rows); - - algebra::vec<mln_site_(I)::dim, unsigned int> vmin; - algebra::vec<mln_site_(I)::dim, unsigned int> vmax; - vmin[0] = 0; - vmin[1] = 0; - vmax[0] = rows - 1; - vmax[1] = columns - 1; - mln_site(I) pmin(vmin); - mln_site(I) pmax(vmax); mln_concrete(I) result(box<mln_site(I)>(pmin, pmax)); initialize(ima, result); + + Magick::Pixels view(magick_ima); + // Note that `ncols' is passed before `nrows'. + Magick::PixelPacket* pixels = view.get(0, 0, ima.ncols(), ima.nrows()); mln_piter(I) p(ima.domain()); for_all(p) { diff --cc milena/mln/io/magick/save.hh index d524564,72613c2..3d3a05b --- a/milena/mln/io/magick/save.hh +++ b/milena/mln/io/magick/save.hh @@@ -28,23 -29,17 +29,24 @@@ /// \file /// -/// Define a function which saves an image of kind magick with -/// given path. +/// \brief Image output routines based on Magick++. /// -/// \todo At the moment it works; is it a miracle? +/// Do not forget to call Magick::InitializeMagick(*argv) +/// <em>before</em> using any of these functions, as advised by the +/// GraphicsMagick documentation +/// (http://www.graphicsmagick.org/Magick++/Image.html). + +# include <cstdlib> + +# include <Magick++.h> -# include <mln/core/image/image2d.hh> # include <mln/metal/equal.hh> + +# include <mln/core/image/image2d.hh> + # include <mln/value/int_u8.hh> # include <mln/value/rgb8.hh> + # include <mln/value/qt/rgb32.hh> -# include <Magick++.h> namespace mln @@@ -79,53 -72,52 +81,53 @@@ # ifndef MLN_INCLUDE_ONLY - inline - Magick::Color get_color(bool value) + namespace impl { - return Magick::ColorMono(value); - } - // Gray values must be between 0 and 1. - inline - Magick::Color get_color(const value::int_u8& value) - { - return Magick::ColorGray(value / 255.0f); - } + inline + Magick::Color get_color(bool value) + { + return Magick::ColorMono(value); + } - // Color values must be between 0 and 1. - inline - Magick::Color get_color(const value::rgb8& value) - { - return Magick::ColorRGB(value.red() / 255.0f, - value.green() / 255.0f, - value.blue() / 255.0f); - } + inline + Magick::Color get_color(const value::int_u8& value) + { + // Ensure a Magick++'s Quantum is an 8-bit value. + mln::metal::equal<Magick::Quantum, unsigned char>::check(); + return Magick::Color(value, value, value); + } - // Color values must be between 0 and 1. - inline - Magick::Color get_color(const value::qt::rgb32& value) - { - return Magick::ColorRGB(value.red() / 255.0f, - value.green() / 255.0f, - value.blue() / 255.0f); - } + inline + Magick::Color get_color(const value::rgb8& value) + { + // Ensure a Magick++'s Quantum is an 8-bit value. + mln::metal::equal<Magick::Quantum, unsigned char>::check(); + return Magick::Color(value.red(), value.green(), value.blue()); + } + + } // end of namespace mln::io::magick::impl - template <typename I> inline - void save(const Image<I>& ima_, const std::string& filename) + void + save(const Image<I>& ima_, const std::string& filename) { trace::entering("mln::io::magick::save"); mln_precondition(mln_site_(I)::dim == 2); - const I& ima = exact(ima_); + // Turn this into a static check? if (!(mln::metal::equal<mln_value(I), bool>::value || mln::metal::equal<mln_value(I), value::int_u8>::value || - mln::metal::equal<mln_value(I), value::rgb8>::value)) + mln::metal::equal<mln_value(I), value::rgb8>::value || + mln::metal::equal<mln_value(I), value::qt::rgb32>::value)) { - std::cerr << "error: trying to save an unsupported format" << std::endl; - std::cerr << "supported formats: binary, 8bits grayscale (int_u8), 8bits truecolor (rgb8)" << std::endl; + std::cerr << + "error: trying to save an unsupported format\n" + "supported formats are:\n" + " binary (bool)\n" + " 8-bit grayscale (mln::value::int_u8)\n" + " 3x8-bit truecolor (rgb8)" << std::endl; abort(); } diff --cc milena/tests/io/magick/save.cc index 9f5eae7,a6361c6..d01643e --- a/milena/tests/io/magick/save.cc +++ b/milena/tests/io/magick/save.cc @@@ -24,38 -25,28 +25,38 @@@ // executable file might be covered by the GNU General Public License. #include <mln/core/image/image2d.hh> + +#include <mln/data/compare.hh> + #include <mln/io/magick/load.hh> #include <mln/io/magick/save.hh> + +#include <mln/io/pbm/load.hh> +#include <mln/io/pbm/save.hh> + +#include <mln/io/pgm/load.hh> +#include <mln/io/pgm/save.hh> + #include <mln/io/ppm/load.hh> -#include <mln/data/compare.hh> +#include <mln/io/ppm/save.hh> + #include "tests/data.hh" - -#include <mln/io/magick/load.hh> + -int main() -{ - using namespace mln; +using namespace mln; - point2d p(0,0); - image2d<value::rgb8> lena_mln; - io::ppm::load(lena_mln, MLN_IMG_DIR "/tiny.ppm"); - value::rgb8 c = lena_mln(p); +template <typename T> +image2d<T> +test(const image2d<T>& lena_mln, const std::string& temp_filename) +{ + point2d p(0,0); - io::magick::save(lena_mln, "save-tiny.png"); + T c = lena_mln(p); - image2d<value::rgb8> lena_im; - io::magick::load(lena_im, "save-tiny.png"); + io::magick::save(lena_mln, temp_filename); + image2d<T> lena_im; + io::magick::load(lena_im, temp_filename); mln_assertion(lena_im(p) == c); mln_assertion(lena_im.domain() == lena_mln.domain()); diff --cc scribo/ChangeLog index 3f0ee54,2dd5cb4..6bdcf0c --- a/scribo/ChangeLog +++ b/scribo/ChangeLog @@@ -1,10 -1,2321 +1,2328 @@@ + 2010-08-13 Guillaume Lazzara <z@lrde.epita.fr> + + * scribo/debug/text_areas_image.hh: Add a typedef to help g++-3.3. + + 2010-08-12 Guillaume Lazzara <z@lrde.epita.fr> + + * scribo/preprocessing/rotate_90.hh: Add a typedef to help + g++-3.3. + + 2010-08-12 Guillaume Lazzara <z@lrde.epita.fr> + + Fix invalid pointer offset types. + + * scribo/preprocessing/rotate_90.hh + (out_next_offset, out_next_p_offset): Fix a wrong type leading to + overflows. + (output): Add an assertion checking its validity. + + 2010-08-10 Guillaume Lazzara <z@lrde.epita.fr> + + Fix warnings with g++-4.1 in Scribo. + + * scribo/binarization/internal/first_pass_functor.hh, + * scribo/binarization/sauvola_ms.hh, + * scribo/binarization/sauvola_threshold_image.hh, + * scribo/binarization/sauvola_threshold_image_debug.hh, + * scribo/postprocessing/fill_object_holes.hh, + * scribo/preprocessing/deskew.hh, + * scribo/primitive/extract/lines_pattern.hh, + * scribo/subsampling/bilinear.hh, + * scribo/subsampling/integral_single_image.hh, + * scribo/text/clean_inplace.hh, + * src/debug/show_links_several_right_overlap.cc, + * src/debug/show_links_single_down.cc, + * src/debug/show_links_single_down_left_aligned.cc, + * src/debug/show_links_single_down_right_aligned.cc, + * src/debug/show_links_single_left.cc, + * src/debug/show_links_single_right.cc, + * src/debug/show_links_single_up.cc, + * src/debug/show_links_single_up_left_aligned.cc, + * src/debug/show_links_single_up_right_aligned.cc: explicitly + convert to a specific type when necessary. + + 2010-08-10 Guillaume Lazzara <z@lrde.epita.fr> + + Regen headers.mk and unit-tests.mk in Scribo. + + * headers.mk, + * tests/unit_test/unit-tests.mk: Regen. + + 2010-08-10 Guillaume Lazzara <z@lrde.epita.fr> + + Update READMEs. + + * README, + * src/README: Add few details about the content. + + 2010-08-10 Guillaume Lazzara <z@lrde.epita.fr> + + Update Scribo include paths. + + * Makefile.am, + * tests/unit_test/Makefile.am: Fix path of generated header list. + + * src/text_in_picture.cc, + * src/text_recognition_in_picture.cc, + * tests/filter/objects_with_holes.cc, + * tests/filter/small_and_large_bboxes.cc, + * tests/preprocessing/crop.cc, + * tests/preprocessing/crop_without_localization.cc, + * tests/preprocessing/deskew.cc, + * tests/preprocessing/rotate_90.cc, + * tests/table/extract_lines_with_rank.cc, + * tests/table/repair_lines.cc, + * tests/toolchain/nepomuk/text_extraction.cc: Fix path to data.hh. + + * demo/demat/demat.pro, + * demo/wizard/wizard.pro, + * scribo.mk, + * tests/tests.mk: Set correct path to Scribo includes. + + * headers.mk, + * tests/unit_test/unit-tests.mk: Regen. + + 2010-08-10 Guillaume Lazzara <z@lrde.epita.fr> + + Move Scribo includes in a specific directory. + + * all.hh, + * binarization/all.hh, + * binarization/global_threshold.hh, + * binarization/global_threshold_auto.hh, + * binarization/internal/first_pass_functor.hh, + * binarization/local_threshold.hh, + * binarization/sauvola.hh, + * binarization/sauvola_ms.hh, + * binarization/sauvola_ms_split.hh, + * binarization/sauvola_threshold_image.hh, + * binarization/sauvola_threshold_image_debug.hh, + * canvas/integral_browsing.hh, + * convert/from_qimage.hh, + * core/all.hh, + * core/central_sites.hh, + * core/component_info.hh, + * core/component_set.hh, + * core/concept/dmax_functor.hh, + * core/concept/link_functor.hh, + * core/def/lbl_type.hh, + * core/erase_objects.hh, + * core/init_integral_image.hh, + * core/line_info.hh, + * core/line_set.hh, + * core/macros.hh, + * core/object_groups.hh, + * core/object_links.hh, + * core/tag/anchor.hh, + * core/tag/component.hh, + * core/tag/line.hh, + * debug/alignment_decision_image.hh, + * debug/all.hh, + * debug/bboxes_enlarged_image.hh, + * debug/char_space_image.hh, + * debug/decision_image.hh, + * debug/highlight_text_area.hh, + * debug/line_info_image.hh, + * debug/links_decision_image.hh, + * debug/looks_like_a_text_line_image.hh, + * debug/mean_and_base_lines_image.hh, + * debug/save_bboxes_image.hh, + * debug/save_comp_diff.hh, + * debug/save_label_image.hh, + * debug/save_linked_bboxes_image.hh, + * debug/save_table_image.hh, + * debug/several_links_decision_image.hh, + * debug/text_areas_image.hh, + * debug/usage.hh, + * draw/all.hh, + * draw/bounding_box_links.hh, + * draw/bounding_boxes.hh, + * draw/groups_bboxes.hh, + * estim/object_groups_v_thickness.hh, + * filter/all.hh, + * filter/common/objects_photo.hh, + * filter/internal/alignment_angle.hh, + * filter/internal/component_aligned.hh, + * filter/internal/compute.hh, + * filter/object_groups_size_ratio.hh, + * filter/object_groups_small.hh, + * filter/object_groups_v_thickness.hh, + * filter/object_groups_with_holes.hh, + * filter/object_links_bbox_h_ratio.hh, + * filter/object_links_bbox_overlap.hh, + * filter/object_links_bbox_ratio.hh, + * filter/object_links_bbox_w_ratio.hh, + * filter/object_links_bottom_aligned.hh, + * filter/object_links_center_aligned.hh, + * filter/object_links_left_aligned.hh, + * filter/object_links_non_aligned_simple.hh, + * filter/object_links_right_aligned.hh, + * filter/object_links_top_aligned.hh, + * filter/objects_h_thick.hh, + * filter/objects_h_thin.hh, + * filter/objects_large.hh, + * filter/objects_size_ratio.hh, + * filter/objects_small.hh, + * filter/objects_thick.hh, + * filter/objects_thin.hh, + * filter/objects_v_thick.hh, + * filter/objects_v_thin.hh, + * filter/objects_with_holes.hh, + * fun/v2b/label_to_bool.hh, + * fun/v2b/objects_large_filter.hh, + * fun/v2b/objects_small_filter.hh, + * io/text_boxes/save.hh, + * io/xml/save.hh, + * make/all.hh, + * make/debug_filename.hh, + * make/influence_zone_graph.hh, + * postprocessing/all.hh, + * postprocessing/fill_object_holes.hh, + * preprocessing/all.hh, + * preprocessing/crop.hh, + * preprocessing/crop_without_localization.hh, + * preprocessing/denoise.hh, + * preprocessing/denoise_bg.hh, + * preprocessing/denoise_fg.hh, + * preprocessing/deskew.hh, + * preprocessing/deskew_crop.hh, + * preprocessing/homogeneous_contrast.hh, + * preprocessing/rotate_90.hh, + * preprocessing/split_bg_fg.hh, + * primitive/all.hh, + * primitive/extract/all.hh, + * primitive/extract/canvas.hh, + * primitive/extract/cells.hh, + * primitive/extract/components.hh, + * primitive/extract/horizontal_separators.hh, + * primitive/extract/lines_discontinued.hh, + * primitive/extract/lines_h_discontinued.hh, + * primitive/extract/lines_h_pattern.hh, + * primitive/extract/lines_h_single.hh, + * primitive/extract/lines_h_thick.hh, + * primitive/extract/lines_h_thick_and_single.hh, + * primitive/extract/lines_pattern.hh, + * primitive/extract/lines_thick.hh, + * primitive/extract/lines_v_discontinued.hh, + * primitive/extract/lines_v_pattern.hh, + * primitive/extract/lines_v_single.hh, + * primitive/extract/lines_v_thick.hh, + * primitive/extract/lines_v_thick_and_single.hh, + * primitive/extract/separators.hh, + * primitive/extract/vertical_separators.hh, + * primitive/group/all.hh, + * primitive/group/apply.hh, + * primitive/group/from_double_link.hh, + * primitive/group/from_graph.hh, + * primitive/group/from_single_link.hh, + * primitive/internal/all.hh, + * primitive/internal/find_graph_link.hh, + * primitive/internal/find_root.hh, + * primitive/internal/have_link_valid.hh, + * primitive/internal/is_link_valid.hh, + * primitive/internal/rd.hh, + * primitive/internal/update_graph_link.hh, + * primitive/link/all.hh, + * primitive/link/compute.hh, + * primitive/link/compute_several.hh, + * primitive/link/internal/compute_anchor.hh, + * primitive/link/internal/dmax_default.hh, + * primitive/link/internal/dmax_functor_base.hh, + * primitive/link/internal/dmax_width_and_height.hh, + * primitive/link/internal/dmax_width_only.hh, + * primitive/link/internal/find_link.hh, + * primitive/link/internal/find_several_links.hh, + * primitive/link/internal/link_functor_base.hh, + * primitive/link/internal/link_several_dmax_base.hh, + * primitive/link/internal/link_single_dmax_base.hh, + * primitive/link/internal/link_single_dmax_ratio_base.hh, + * primitive/link/merge_double_link.hh, + * primitive/link/with_graph.hh, + * primitive/link/with_rag.hh, + * primitive/link/with_several_graphes.hh, + * primitive/link/with_several_left_links.hh, + * primitive/link/with_several_right_closest_links.hh, + * primitive/link/with_several_right_links.hh, + * primitive/link/with_several_right_links_overlap.hh, + * primitive/link/with_single_down_link.hh, + * primitive/link/with_single_left_link.hh, + * primitive/link/with_single_left_link_dmax_ratio.hh, + * primitive/link/with_single_right_link.hh, + * primitive/link/with_single_right_link_bottom.hh, + * primitive/link/with_single_right_link_dmax_ratio.hh, + * primitive/link/with_single_right_link_top.hh, + * primitive/link/with_single_up_link.hh, + * primitive/regroup/from_single_left_link.hh, + * primitive/regroup/from_single_left_link_wrt_h_ratio.hh, + * primitive/remove/separators.hh, + * subsampling/bilinear.hh, + * subsampling/integral.hh, + * subsampling/integral_single_image.hh, + * table/align_lines_horizontaly.hh, + * table/align_lines_verticaly.hh, + * table/all.hh, + * table/connect_horizontal_lines.hh, + * table/connect_vertical_lines.hh, + * table/erase.hh, + * table/extract.hh, + * table/internal/align_lines.hh, + * table/internal/all.hh, + * table/internal/connect_lines.hh, + * table/internal/repair_lines.hh, + * table/rebuild.hh, + * table/repair_horizontal_lines.hh, + * table/repair_vertical_lines.hh, + * text/all.hh, + * text/clean.hh, + * text/clean_inplace.hh, + * text/extract_lines.hh, + * text/look_like_text_lines.hh, + * text/merging.hh, + * text/recognition.hh, + * toolchain/nepomuk/text_extraction.hh, + * toolchain/text_in_doc.hh, + * upsampling/bs2x.hh, + * upsampling/eagle.hh: Move... + + * scribo/all.hh, + * scribo/binarization/all.hh, + * scribo/binarization/global_threshold.hh, + * scribo/binarization/global_threshold_auto.hh, + * scribo/binarization/internal/first_pass_functor.hh, + * scribo/binarization/local_threshold.hh, + * scribo/binarization/sauvola.hh, + * scribo/binarization/sauvola_ms.hh, + * scribo/binarization/sauvola_ms_split.hh, + * scribo/binarization/sauvola_threshold_image.hh, + * scribo/binarization/sauvola_threshold_image_debug.hh, + * scribo/canvas/integral_browsing.hh, + * scribo/convert/from_qimage.hh, + * scribo/core/all.hh, + * scribo/core/central_sites.hh, + * scribo/core/component_info.hh, + * scribo/core/component_set.hh, + * scribo/core/concept/dmax_functor.hh, + * scribo/core/concept/link_functor.hh, + * scribo/core/def/lbl_type.hh, + * scribo/core/erase_objects.hh, + * scribo/core/init_integral_image.hh, + * scribo/core/line_info.hh, + * scribo/core/line_set.hh, + * scribo/core/macros.hh, + * scribo/core/object_groups.hh, + * scribo/core/object_links.hh, + * scribo/core/tag/anchor.hh, + * scribo/core/tag/component.hh, + * scribo/core/tag/line.hh, + * scribo/debug/alignment_decision_image.hh, + * scribo/debug/all.hh, + * scribo/debug/bboxes_enlarged_image.hh, + * scribo/debug/char_space_image.hh, + * scribo/debug/decision_image.hh, + * scribo/debug/highlight_text_area.hh, + * scribo/debug/line_info_image.hh, + * scribo/debug/links_decision_image.hh, + * scribo/debug/looks_like_a_text_line_image.hh, + * scribo/debug/mean_and_base_lines_image.hh, + * scribo/debug/save_bboxes_image.hh, + * scribo/debug/save_comp_diff.hh, + * scribo/debug/save_label_image.hh, + * scribo/debug/save_linked_bboxes_image.hh, + * scribo/debug/save_table_image.hh, + * scribo/debug/several_links_decision_image.hh, + * scribo/debug/text_areas_image.hh, + * scribo/debug/usage.hh, + * scribo/draw/all.hh, + * scribo/draw/bounding_box_links.hh, + * scribo/draw/bounding_boxes.hh, + * scribo/draw/groups_bboxes.hh, + * scribo/estim/object_groups_v_thickness.hh, + * scribo/filter/all.hh, + * scribo/filter/common/objects_photo.hh, + * scribo/filter/internal/alignment_angle.hh, + * scribo/filter/internal/component_aligned.hh, + * scribo/filter/internal/compute.hh, + * scribo/filter/object_groups_size_ratio.hh, + * scribo/filter/object_groups_small.hh, + * scribo/filter/object_groups_v_thickness.hh, + * scribo/filter/object_groups_with_holes.hh, + * scribo/filter/object_links_bbox_h_ratio.hh, + * scribo/filter/object_links_bbox_overlap.hh, + * scribo/filter/object_links_bbox_ratio.hh, + * scribo/filter/object_links_bbox_w_ratio.hh, + * scribo/filter/object_links_bottom_aligned.hh, + * scribo/filter/object_links_center_aligned.hh, + * scribo/filter/object_links_left_aligned.hh, + * scribo/filter/object_links_non_aligned_simple.hh, + * scribo/filter/object_links_right_aligned.hh, + * scribo/filter/object_links_top_aligned.hh, + * scribo/filter/objects_h_thick.hh, + * scribo/filter/objects_h_thin.hh, + * scribo/filter/objects_large.hh, + * scribo/filter/objects_size_ratio.hh, + * scribo/filter/objects_small.hh, + * scribo/filter/objects_thick.hh, + * scribo/filter/objects_thin.hh, + * scribo/filter/objects_v_thick.hh, + * scribo/filter/objects_v_thin.hh, + * scribo/filter/objects_with_holes.hh, + * scribo/fun/v2b/label_to_bool.hh, + * scribo/fun/v2b/objects_large_filter.hh, + * scribo/fun/v2b/objects_small_filter.hh, + * scribo/io/text_boxes/save.hh, + * scribo/io/xml/save.hh, + * scribo/make/all.hh, + * scribo/make/debug_filename.hh, + * scribo/make/influence_zone_graph.hh, + * scribo/postprocessing/all.hh, + * scribo/postprocessing/fill_object_holes.hh, + * scribo/preprocessing/all.hh, + * scribo/preprocessing/crop.hh, + * scribo/preprocessing/crop_without_localization.hh, + * scribo/preprocessing/denoise.hh, + * scribo/preprocessing/denoise_bg.hh, + * scribo/preprocessing/denoise_fg.hh, + * scribo/preprocessing/deskew.hh, + * scribo/preprocessing/deskew_crop.hh, + * scribo/preprocessing/homogeneous_contrast.hh, + * scribo/preprocessing/rotate_90.hh, + * scribo/preprocessing/split_bg_fg.hh, + * scribo/primitive/all.hh, + * scribo/primitive/extract/all.hh, + * scribo/primitive/extract/canvas.hh, + * scribo/primitive/extract/cells.hh, + * scribo/primitive/extract/components.hh, + * scribo/primitive/extract/horizontal_separators.hh, + * scribo/primitive/extract/lines_discontinued.hh, + * scribo/primitive/extract/lines_h_discontinued.hh, + * scribo/primitive/extract/lines_h_pattern.hh, + * scribo/primitive/extract/lines_h_single.hh, + * scribo/primitive/extract/lines_h_thick.hh, + * scribo/primitive/extract/lines_h_thick_and_single.hh, + * scribo/primitive/extract/lines_pattern.hh, + * scribo/primitive/extract/lines_thick.hh, + * scribo/primitive/extract/lines_v_discontinued.hh, + * scribo/primitive/extract/lines_v_pattern.hh, + * scribo/primitive/extract/lines_v_single.hh, + * scribo/primitive/extract/lines_v_thick.hh, + * scribo/primitive/extract/lines_v_thick_and_single.hh, + * scribo/primitive/extract/separators.hh, + * scribo/primitive/extract/vertical_separators.hh, + * scribo/primitive/group/all.hh, + * scribo/primitive/group/apply.hh, + * scribo/primitive/group/from_double_link.hh, + * scribo/primitive/group/from_graph.hh, + * scribo/primitive/group/from_single_link.hh, + * scribo/primitive/internal/all.hh, + * scribo/primitive/internal/find_graph_link.hh, + * scribo/primitive/internal/find_root.hh, + * scribo/primitive/internal/have_link_valid.hh, + * scribo/primitive/internal/is_link_valid.hh, + * scribo/primitive/internal/rd.hh, + * scribo/primitive/internal/update_graph_link.hh, + * scribo/primitive/link/all.hh, + * scribo/primitive/link/compute.hh, + * scribo/primitive/link/compute_several.hh, + * scribo/primitive/link/internal/compute_anchor.hh, + * scribo/primitive/link/internal/dmax_default.hh, + * scribo/primitive/link/internal/dmax_functor_base.hh, + * scribo/primitive/link/internal/dmax_width_and_height.hh, + * scribo/primitive/link/internal/dmax_width_only.hh, + * scribo/primitive/link/internal/find_link.hh, + * scribo/primitive/link/internal/find_several_links.hh, + * scribo/primitive/link/internal/link_functor_base.hh, + * scribo/primitive/link/internal/link_several_dmax_base.hh, + * scribo/primitive/link/internal/link_single_dmax_base.hh, + * scribo/primitive/link/internal/link_single_dmax_ratio_base.hh, + * scribo/primitive/link/merge_double_link.hh, + * scribo/primitive/link/with_graph.hh, + * scribo/primitive/link/with_rag.hh, + * scribo/primitive/link/with_several_graphes.hh, + * scribo/primitive/link/with_several_left_links.hh, + * scribo/primitive/link/with_several_right_closest_links.hh, + * scribo/primitive/link/with_several_right_links.hh, + * scribo/primitive/link/with_several_right_links_overlap.hh, + * scribo/primitive/link/with_single_down_link.hh, + * scribo/primitive/link/with_single_left_link.hh, + * scribo/primitive/link/with_single_left_link_dmax_ratio.hh, + * scribo/primitive/link/with_single_right_link.hh, + * scribo/primitive/link/with_single_right_link_bottom.hh, + * scribo/primitive/link/with_single_right_link_dmax_ratio.hh, + * scribo/primitive/link/with_single_right_link_top.hh, + * scribo/primitive/link/with_single_up_link.hh, + * scribo/primitive/regroup/from_single_left_link.hh, + * scribo/primitive/regroup/from_single_left_link_wrt_h_ratio.hh, + * scribo/primitive/remove/separators.hh, + * scribo/subsampling/bilinear.hh, + * scribo/subsampling/integral.hh, + * scribo/subsampling/integral_single_image.hh, + * scribo/table/align_lines_horizontaly.hh, + * scribo/table/align_lines_verticaly.hh, + * scribo/table/all.hh, + * scribo/table/connect_horizontal_lines.hh, + * scribo/table/connect_vertical_lines.hh, + * scribo/table/erase.hh, + * scribo/table/extract.hh, + * scribo/table/internal/align_lines.hh, + * scribo/table/internal/all.hh, + * scribo/table/internal/connect_lines.hh, + * scribo/table/internal/repair_lines.hh, + * scribo/table/rebuild.hh, + * scribo/table/repair_horizontal_lines.hh, + * scribo/table/repair_vertical_lines.hh, + * scribo/text/all.hh, + * scribo/text/clean.hh, + * scribo/text/clean_inplace.hh, + * scribo/text/extract_lines.hh, + * scribo/text/look_like_text_lines.hh, + * scribo/text/merging.hh, + * scribo/text/recognition.hh, + * scribo/toolchain/nepomuk/text_extraction.hh, + * scribo/toolchain/text_in_doc.hh, + * scribo/upsampling/bs2x.hh, + * scribo/upsampling/eagle.hh: ... here. + + 2010-08-10 Guillaume Lazzara <z@lrde.epita.fr> + + Setup conditional unit-tests in Scribo. + + * tests/tests.mk: Add specific flags for external dependencies. + + * tests/unit_test/Makefile.am + (EXTRA_DIST): Add const_tests_* files. + (regen-am): Use build-aux/build_unit_test.sh. + (scribo_*FLAGS): Remove specific flags for conditional unit-tests. + + * tests/unit_test/build_unit_test.sh: Remove. Useless since + build-aux/build_unit_test.sh is used instead. + + * tests/unit_test/cond_tests_qt, + * tests/unit_test/cond_tests_qt_tesseract_tiff, + * tests/unit_test/cond_tests_tesseract_tiff: New. + + * tests/unit_test/unit-tests.mk: Regen. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + * tests/unit_test/disabled_tests: Update list of disabled tests. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + Add a new rotation tool. + + * src/preprocessing/Makefile.am: Add a new target. + + * src/preprocessing/rotate.cc: New. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + Remove deprecated references to object_image. + + * core/object_image.hh: Remove. + + * filter/object_groups_size_ratio.hh, + * filter/object_links_bbox_w_ratio.hh, + * filter/object_links_left_aligned.hh, + * filter/object_links_right_aligned.hh, + * primitive/extract/lines_h_thick_and_single.hh, + * primitive/extract/lines_v_thick_and_single.hh, + * primitive/link/internal/find_several_links.hh, + * primitive/link/internal/link_several_dmax_base.hh, + * primitive/link/with_single_up_link.hh, + * src/debug/show_links_left_right_links_validation.cc, + * src/primitive/find/find_discontinued_lines.cc, + * src/primitive/find/find_pattern_lines.cc, + * tests/filter/small_and_large_bboxes.cc, + * src/primitive/group/group_from_double_link_filter_non_aligned.cc: + Remove include of object_image.hh. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + Cleanup Makefiles. + + * src/Makefile.am: Disable tests and remove deprecated ones. + + * src/preprocessing/Makefile.am: Use MAGICKXX_* flags. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + Cleanup and improve text recognition. + + * src/text_recognition_in_picture.cc: Use new routines. Cleanup + useless comments. Use a height ratio filter to improve OCR + results. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + Cleanup and make use of the new routines. + + * src/text_in_picture.cc: Here. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + Make use of the new component_set interface. + + * filter/internal/compute.hh, + * filter/objects_small.hh, + * filter/objects_thick.hh, + * filter/objects_thin.hh, + * primitive/group/from_double_link.hh, + * primitive/link/compute_several.hh, + * table/align_lines_horizontaly.hh, + * table/erase.hh, + * table/extract.hh: Here. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + Fix compilation of Scribo tools. + + * src/debug/show_links_bbox_overlap.cc, + * src/debug/show_links_center_aligned.cc, + * src/debug/show_links_non_h_aligned.cc, + * src/debug/show_links_several_right.cc, + * src/debug/show_links_several_right_overlap.cc, + * src/debug/show_links_single_down.cc, + * src/debug/show_links_single_down_left_aligned.cc, + * src/debug/show_links_single_down_right_aligned.cc, + * src/debug/show_links_single_left.cc, + * src/debug/show_links_single_left_dmax_ratio.cc, + * src/debug/show_links_single_right.cc, + * src/debug/show_links_single_right_dmax_ratio.cc, + * src/debug/show_links_single_up.cc, + * src/debug/show_links_single_up_left_aligned.cc, + * src/debug/show_links_single_up_right_aligned.cc, + * src/debug/show_objects_large.cc, + * src/debug/show_objects_large_small.cc, + * src/debug/show_objects_small.cc, + * src/debug/show_objects_thick.cc, + * src/debug/show_objects_thin.cc, + * src/filter/objects_large.cc, + * src/filter/objects_small.cc, + * src/filter/objects_thick.cc, + * src/filter/objects_thin.cc, + * src/filter/objects_with_holes.cc, + * src/filter/objects_with_holes_pgm.cc, + * src/preprocessing/preprocess.cc, + * src/preprocessing/split_bg_fg.cc, + * src/preprocessing/unskew.cc, + * src/primitive/extract/extract_discontinued_hlines.cc, + * src/primitive/extract/extract_discontinued_lines.cc, + * src/primitive/extract/extract_discontinued_vlines.cc, + * src/primitive/extract/extract_thick_hlines.cc, + * src/primitive/extract/extract_thick_vlines.cc, + * src/primitive/find/find_discontinued_lines.cc, + * src/primitive/find/find_single_lines.cc, + * src/primitive/find/find_thick_and_single_lines.cc, + * src/primitive/find/find_thick_lines.cc, + * src/primitive/group/Makefile.am, + * src/primitive/group/group_from_double_link.cc, + * src/primitive/group/group_from_double_several_links.cc, + * src/primitive/group/group_from_several_left_links.cc, + * src/primitive/group/group_from_single_link.cc, + * src/table/erase.cc, + * src/text/cleantxt.cc: Here. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + Catch up with the current interface of scribo::debug::usage. + + * src/debug/show_links_bottom_aligned.cc, + * src/debug/show_links_top_aligned.cc, + * src/misc/negate.cc, + * src/misc/superpose.cc, + * src/preprocessing/rotate_90.cc, + * src/primitive/extract/lines_pattern.cc, + * src/primitive/find/find_pattern_lines.cc, + * src/table/extract.cc: Here. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + Replace the use of object_image with component_set. + + * core/erase_objects.hh, + * debug/several_links_decision_image.hh, + * filter/object_groups_size_ratio.hh, + * filter/object_links_bbox_w_ratio.hh, + * filter/object_links_center_aligned.hh, + * filter/object_links_left_aligned.hh, + * filter/object_links_right_aligned.hh, + * filter/objects_h_thick.hh, + * filter/objects_h_thin.hh, + * filter/objects_size_ratio.hh, + * filter/objects_v_thick.hh, + * filter/objects_v_thin.hh, + * primitive/extract/lines_h_thick_and_single.hh, + * primitive/extract/lines_v_thick_and_single.hh, + * primitive/group/from_graph.hh, + * primitive/internal/find_graph_link.hh, + * primitive/link/with_graph.hh, + * primitive/link/with_rag.hh, + * primitive/link/with_several_graphes.hh, + * primitive/link/with_several_left_links.hh, + * primitive/link/with_several_right_closest_links.hh, + * primitive/link/with_several_right_links.hh, + * primitive/link/with_single_down_link.hh, + * primitive/link/with_single_up_link.hh: Replace the use of + object_image with component_set. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes in Scribo. + + * core/component_info.hh (is_valid): Check the bounding box + validity. + + * core/macros.hh: Add a new macro. + + * debug/decision_image.hh: Remove deprecated preconditions and add + missing includes. + + * draw/bounding_boxes.hh: Check the component validity. + + * filter/object_links_non_aligned_simple.hh: Update doc. + + * filter/objects_with_holes.hh: Remove debug and timers. Add + missing includes. + + * primitive/extract/lines_pattern.hh: Use the window template + parameter instead of an exact window type. + + * primitive/link/internal/find_several_links.hh: Update code with + new interfaces. + + * primitive/link/internal/link_functor_base.hh + (nanchors()): Remove this method. + (labeled_image()): Add a const version. + + * primitive/link/internal/link_several_dmax_base.hh + (nanchors(), anchors()): New methods. + Introduce 'direction_' attribute. + + * debug/several_links_decision_image.hh: Remove deprecated + preconditions. + + * src/debug/show_links_single_left.cc: Update include. + + * table/internal/align_lines.hh, + * table/rebuild.hh: Make use of component_set structure. + + * debug/text_areas_image.hh, + * primitive/regroup/from_single_left_link_wrt_h_ratio.hh: Add + missing includes. + + * src/contest/hdibco-2010/Makefile.am: Do not consider this tool + as a test anymore. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + Add missing includes and headers in AFP's dedicated code. + + * src/afp/components.hh, + * src/afp/link.hh, + * src/afp/regroup.hh: Add missing includes and headers. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + Add new routines in Scribo. + + * debug/highlight_text_area.hh, + * debug/save_bboxes_image.hh: Add a new overload. + + * debug/save_comp_diff.hh, + * debug/text_areas_image.hh, + * primitive/regroup/from_single_left_link_wrt_h_ratio.hh: New. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + Remove deprecated files. + + * core/internal/link_functor_base.hh, + * debug/save_object_diff.hh, + * make/text.hh, + * primitive/internal/update_link_array.hh, + * primitive/link/internal/anchors_3.hh, + * primitive/link/internal/link_ms_dmax_base.hh, + * primitive/link/internal/link_ms_dmax_ratio_base.hh, + * src/pbm_lines_in_doc.cc: Remove. + + 2010-08-09 Guillaume Lazzara <z@lrde.epita.fr> + + Fix many tests in Scribo. + + * all.hh, + * binarization/all.hh, + * binarization/internal/first_pass_functor.hh, + * convert/from_qimage.hh, + * core/tag/component.hh, + * core/tag/line.hh, + * debug/links_decision_image.hh, + * debug/mean_and_base_lines_image.hh, + * filter/object_groups_with_holes.hh, + * io/xml/save.hh, + * make/all.hh, + * postprocessing/all.hh, + * postprocessing/fill_object_holes.hh, + * preprocessing/all.hh, + * preprocessing/crop_without_localization.hh, + * preprocessing/denoise_bg.hh, + * preprocessing/denoise_fg.hh, + * preprocessing/deskew.hh, + * preprocessing/deskew_crop.hh, + * preprocessing/split_bg_fg.hh, + * primitive/extract/all.hh, + * primitive/extract/lines_h_single.hh, + * primitive/extract/lines_pattern.hh, + * primitive/extract/lines_v_single.hh, + * primitive/group/all.hh, + * primitive/internal/all.hh, + * primitive/internal/is_link_valid.hh, + * primitive/link/all.hh, + * primitive/link/internal/compute_anchor.hh, + * primitive/link/internal/dmax_functor_base.hh, + * primitive/regroup/from_single_left_link.hh, + * primitive/remove/separators.hh, + * subsampling/bilinear.hh, + * text/merging.hh, + * toolchain/nepomuk/text_extraction.hh, + * upsampling/eagle.hh: Add missing headers in order to fix + unit-tests. + + * tests/Makefile.am: Disable "table" directory's tests. + + * tests/core/Makefile.am: Remove object_image test. + + * tests/core/object_image.cc: Remove. Deprecated. + + * tests/filter/objects_with_holes.cc, + * tests/filter/small_and_large_bboxes.cc: Write a real test. + + * tests/unit_test/Makefile.am: Add specific flags for unit-tests + using tesseract and image magick. + + 2010-07-21 Roland Levillain <roland@lrde.epita.fr> + + Have Tesseract-related parts of Scribo compile again. + + * scribo/debug/bboxes_enlarged_image.hh, + * scribo/debug/looks_like_a_text_line_image.hh, + * scribo/debug/mean_and_base_lines_image.hh, + * scribo/debug/save_bboxes_image.hh: + Catch up with scribo::line_info<L>'s current interface. + Reported by Olivier Grisel <ogrisel@nuxeo.com>. + + 2010-08-04 Guillaume Lazzara <z@lrde.epita.fr> + + * core/component_set.hh: Add a new internal member + valid_comps_image_(). + + 2010-08-04 Guillaume Lazzara <z@lrde.epita.fr> + + * filter/object_groups_with_holes.hh: Fix an invalid mismatch + between groups ids and their related component ids and add more + comments. + + 2010-07-06 Guillaume Lazzara <z@lrde.epita.fr> + + Compilation related fixes in Scribo. + + * core/line_info.hh: Rename hidden as is_hidden. + + * core/object_links.hh: Add duplicate(). + + * filter/object_links_bbox_ratio.hh: Use object_links::duplicate. + + * debug/links_decision_image.hh, + * src/debug/show_info_median_inter_characters.cc, + * src/debug/show_info_x_height.cc, + * src/debug/show_links_bbox_h_ratio.cc, + * src/debug/show_links_left_right_links_validation.cc: Make + compile again. + + * tests/unit_test/unit-tests.mk: Regen. + + * text/extract_lines.hh: Update with latest changes. + + * text/recognition.hh: Check whether a line is hidden or not. + + 2010-07-06 Guillaume Lazzara <z@lrde.epita.fr> + + Add new debug routines. + + * debug/char_space_image.hh, + * debug/line_info_image.hh: New. + + 2010-07-06 Guillaume Lazzara <z@lrde.epita.fr> + + Disable some debug output. + + * text/clean_inplace.hh, + * text/recognition.hh: Disable some debug output. + + 2010-07-06 Guillaume Lazzara <z@lrde.epita.fr> + + Add a tool for text recognition in natural pictures. + + * src/Makefile.am: Add a new rule. + + * src/text_recognition_in_picture.cc: New. + + 2010-07-06 Guillaume Lazzara <z@lrde.epita.fr> + + Add text::look_like_text_lines. + + * text/look_like_text_lines.hh: New. + + * text/merging.hh: Make use of + text::look_like_text_lines. + + 2010-06-30 Arthur Crepin-Leblond <crepin@stockholm.lrde.epita.fr> + + Extended XML mode support. + + * scribo/demo/viewer/Makefile.am + + * demo/viewer/image_region.cc, + * viewer/image_region.hh, + * viewer/image_region.hxx: Change regions depths to have a + hierarchy. + + * demo/viewer/image_scene.cc, + * demo/viewer/image_scene.hh: Change mouse click behaviour. + + * demo/viewer/key_widget.cc, + * demo/viewer/key_widget.hh: Add new items (text line and + paragraph) + + * demo/viewer/viewer.cc, + * demo/viewer/viewer.hh: Change XML parsing to support extended + format. + + * scribo/demo/viewer/common.hh: Add new RegionId's. + + 2010-06-30 Arthur Crepin-Leblond <crepin@stockholm.lrde.epita.fr> + + New features in Qt interface. + + * demo/viewer/browser_widget.hh: Improve picture browser. + + * demo/viewer/step_widget.cc: Add a "step chooser" to load several + XML files related to one picture. + + 2010-06-30 Arthur Crepin-Leblond <crepin@stockholm.lrde.epita.fr> + + Change XML output (replacement of html markups). + + * io/xml/save.hh: Add internal::html_markups_replace. + + 2010-06-29 Guillaume Lazzara <z@lrde.epita.fr> + + Add text::clean_inplace. + + * text/clean.hh: Make use of text::clean_inplace. + + * text/clean_inplace.hh: New. + + * text/recognition.hh: Include text::clean_inplace. + + 2010-06-25 Guillaume Lazzara <z@lrde.epita.fr> + + Small Fixes in Scribo build system. + + * demo/Makefile.am: Enabled demos only if QT is configured. + + * src/Makefile.am: Make use of MAGICKCXX flags. + + 2010-06-25 Guillaume Lazzara <z@lrde.epita.fr> + + Improve text recognition. + + * text/clean.hh: Use upsampling::eagle. + + * text/recognition.hh: Make sure there is a border around the + text even after having resized images. + + 2010-06-25 Guillaume Lazzara <z@lrde.epita.fr> + + * binarization/sauvola_ms.hh: Fix an invalid test. + + 2010-06-25 Guillaume Lazzara <z@lrde.epita.fr> + + * upsampling/eagle.hh: Add a new upsampling algorithm. + + 2010-06-23 Arthur Crepin-Leblond <crepin@stockholm.lrde.epita.fr> + + Add extensions to ICDAR XML format. + + * io/xml/save_text_lines.hh: Rename as... + * io/xml/save.hh: ...this. + + * src/pbm_text_in_doc.cc: Update call to io::xml::save. + + 2010-06-18 green <jacquelet@lrde.epita.fr> + + Prepare green's sandbox. + + * sandbox: New experimental directory. + * sandbox/green: New green'work. + * sandbox/green/ChangeLog: New ChangeLog file. + + 2010-06-15 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes. + + * debug/save_linked_bboxes_image.hh: Fix namespace ambiguity. + + * src/pbm_text_in_doc.cc: Fix comment. + + * src/text_in_picture: Change few settings. + + * text/recognition.hh: Fix invalid default arguments. + + 2010-06-15 Guillaume Lazzara <z@lrde.epita.fr> + + Remove deprecated code. + + * util/all.hh, + * util/text.hh: Remove. + + 2010-06-15 Guillaume Lazzara <z@lrde.epita.fr> + + Add new Makefiles in Scribo demo directories. + + * Makefile.am, + * demo/Makefile.am: Add new Makefiles. + + 2010-06-15 Guillaume Lazzara <z@lrde.epita.fr> + + * primitive/extract/components.hh: Use labeling::value_and_compute. + + 2010-06-15 Guillaume Lazzara <z@lrde.epita.fr> + + Add a fast rotation tool. + + * src/preprocessing/Makefile.am, + * src/preprocessing/rotate_90.cc: New. + + 2010-06-15 Guillaume Lazzara <z@lrde.epita.fr> + + Add a new routine to highlight text areas in an image. + + * debug/highlight_text_area.hh: New. + + * src/debug/Makefile.am, + * src/debug/highlight_text_area.cc: New tool. + + * src/text_in_picture.cc: Make use of this new routine. + + 2010-06-03 Guillaume Lazzara <z@lrde.epita.fr> + + * src/README: New. + + 2010-06-03 Guillaume Lazzara <z@lrde.epita.fr> + + Improve Scribo demo. + + * demo/demat/demat.pro: Add new flags. + + * demo/demat/src/main.cc: Make use of MLN_WO_GLOBALS_VARS. + + * demo/demat/src/main_window.cc, + * demo/demat/src/main_window.hh: Cropping is not required + anymore. Improve visualization speed. + + * demo/demat/src/preprocessing_task.hh, + * demo/demat/src/runner.cc, + * demo/demat/src/runner.hh, + * demo/demat/ui/main_window.ui: Add a new task for Sauvola ms + split. + + * demo/review/src/main.cc, + * demo/review/src/mainwindow.cc, + * demo/review/src/mainwindow.hh: Start updating executable names + and arguments. + + * demo/shared/src/crop_item.cc, + * demo/shared/src/crop_item.hh, + * demo/shared/src/image_viewer.cc, + * demo/shared/src/image_viewer.hh, + * demo/shared/src/image_viewer.hxx, + * demo/shared/src/internal/interactive_scene.cc, + * demo/shared/src/internal/interactive_scene.hh, + * demo/shared/ui/image_viewer.ui: Improve look and feel and + drawing speed of these components. + + * demo/wizard/src/load_page.cc, + * demo/wizard/src/main_window.cc, + * demo/wizard/src/runner.cc: Fix compilation. + + 2010-06-03 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes. + + * binarization/sauvola_threshold_image.hh: Add ifdefs. + + * core/object_groups.hh: Fix a wrong assertion. + + * postprocessing/fill_object_holes.hh: Disable debug output. + + * preprocessing/denoise_bg.hh: Do not negate the image anymore. + + 2010-06-03 Guillaume Lazzara <z@lrde.epita.fr> + + Add the binarization tool submitted to H-DIBCO 2010. + + * src/Makefile.am, + * src/contest/Makefile.am, + * src/contest/hdibco-2010/Makefile.am: New. + + * src/contest/hdibco-2010/sauvola_ms_hdibco.cc: New. Source code + of the submitted program for H-DIBCO 2010. + + 2010-06-03 Guillaume Lazzara <z@lrde.epita.fr> + + Update tools in scribo/src. + + * src/Makefile.am: Add postprocessing subdir. + + * src/postprocessing/Makefile.am, + * src/postprocessing/fill_object_holes.cc: New. + + * src/preprocessing/denoise.cc: Remove. + + * src/preprocessing/denoise_bg.cc, + * src/preprocessing/denoise_fg.cc: New. + + 2010-06-03 Guillaume Lazzara <z@lrde.epita.fr> + + Add a specific toolchain for Nepomuk integration. + + * convert/from_qimage.hh: New. convert an image2d to a QImage. + + * core/line_info.hh: Add a new member has_text. + + * text/recognition.hh: Remove an invalid precondition. + + * toolchain/nepomuk/text_extraction.hh: New. Specific toolchain + for Nepomuk. + + * tests/Makefile.am: Add toolchain/* subdirs. + + * tests/toolchain/Makefile.am, + * tests/toolchain/nepomuk/Makefile.am: New. + + * tests/img/wildly.pbm: New. New test image. + + * tests/toolchain/nepomuk/text_extraction.cc: New. New test. + + 2010-05-25 Guillaume Lazzara <z@lrde.epita.fr> + + Cleanup sample tools. + + * src/preprocessing/Makefile.am, + * src/text/Makefile.am, + * src/Makefile.am: Update. + + * src/multi_scale/Makefile.am, + * src/multi_scale/find_lines.cc + * src/text/pbm_recognition.cc + * src/text/recognition.cc + * src/text_in_article_preprocess.cc + * src/text_in_doc.cc + * src/text_in_doc_ppm.cc + * src/text_in_photo.cc + * src/text_in_photo_invert.cc + * src/text_in_photo_pbm_fast.cc + * src/text_in_photo_ppm.cc + * test.cc: Remove. Deprecated. + + * src/text_in_article_pbm.cc: Rename as... + * src/pbm_text_in_doc.cc: ... this. Make use of the new toolchain + routines. + + * src/text/pbm_lines_recognition.cc, + * src/text_in_doc_preprocess.cc: New. + + * src/text_in_photo_fast.cc: Rename as... + * src/text_in_picture.cc: ... this. + + * src/preprocessing/subsample.cc: Make use of io::magick. + + 2010-05-25 Guillaume Lazzara <z@lrde.epita.fr> + + * toolchain/text_in_doc.hh: Introduce a new routine for extracting + text in a document. + + 2010-05-25 Guillaume Lazzara <z@lrde.epita.fr> + + * core/def/lbl_type.hh: Introduce a global label type. + + 2010-05-25 Guillaume Lazzara <z@lrde.epita.fr> + + Improve line detection. + + * primitive/extract/lines_h_pattern.hh, + * primitive/extract/lines_v_pattern.hh: Use reconstruction + algorithm. + + * primitive/extract/lines_pattern.hh: Add a fast implementation. + + 2010-05-25 Guillaume Lazzara <z@lrde.epita.fr> + + * io/text_boxes/save.hh: New. Save text boxes information. + + 2010-05-25 Guillaume Lazzara <z@lrde.epita.fr> + + Add a new deskew algorithm. + + * preprocessing/deskew.hh, + * preprocessing/deskew_crop.hh: New. + + * preprocessing/unskew.hh: Remove. Deprecated. + + * tests/preprocessing/unskew.cc: Rename as... + * tests/preprocessing/deskew.cc: ... this. + + * tests/preprocessing/Makefile.am: Update. + + * tests/img/text_to_group.pgm: New test image. + + 2010-05-25 Guillaume Lazzara <z@lrde.epita.fr> + + Add crop tools. + + * preprocessing/crop.hh, + * preprocessing/crop_without_localization.hh: new routines. + + * tests/preprocessing/Makefile.am, + * tests/preprocessing/crop.cc, + * tests/preprocessing/crop_without_localization.cc: Associated + tests. + + 2010-05-25 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes. + + * core/object_groups.hh: Fix an invalid size. + + * debug/save_bboxes_image.hh, + * filter/object_links_non_aligned_simple.hh, + * primitive/group/from_single_link.hh, + * subsampling/bilinear.hh, + * text/merging.hh, + * upsampling/bs2x.hh: Fix namespace ambiguities. + + * primitive/group/from_double_link.hh: Fix comment. + + * primitive/internal/find_root.hh: Fix guards. + + * primitive/link/with_single_right_link_dmax_ratio.hh: Add a + missing include. + + * primitive/remove/separators.hh: Improve computation time. + + * preprocessing/rotate_90.hh: Add a fixme. + + 2010-05-25 Guillaume Lazzara <z@lrde.epita.fr> + + Store OCR results in the line_info structure. + + * core/line_info.hh: Add a new attribute 'text'. + + * text/recognition.hh: Store results in the line_info structure. + + 2010-05-25 Guillaume Lazzara <z@lrde.epita.fr> + + Improve debug outputs in Sauvola and make binarization tools + compile again. + + * binarization/internal/first_pass_functor.hh, + * binarization/sauvola_ms.hh, + * binarization/sauvola_threshold_image.hh: Add debug outputs if + SCRIBO_SAUVOLA_DEBUG flag is set. + + * binarization/sauvola_ms_split.hh: Remove lambda argument. + + * binarization/sauvola_threshold_image_debug.hh: Add the threshold + image as debug output. + + * src/binarization/Makefile.am: Add sauvola_ms_debug. + * src/binarization/sauvola_ms_debug.cc: New. + + * src/binarization/fg_sauvola_ms.cc, + * src/binarization/pgm_sauvola_ms.cc, + * src/binarization/ppm_fg_sauvola_ms.cc, + * src/binarization/ppm_sauvola_ms.cc, + * src/binarization/ppm_sauvola_ms_split.cc, + * src/binarization/sauvola_debug.cc, + * src/binarization/sauvola_ms.cc, + * src/binarization/sauvola_ms_split.cc: Make compile again. + + 2010-05-04 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes for Nuxeo/XWiki. + + * src/text_in_article_preprocess.cc: Fix use of program + arguments. + + * core/line_set.hh, + * text/clean.hh, + * text/merging.hh: Fix compilation. + + * text/recognition.hh: Update output format. + + 2010-05-04 Guillaume Lazzara <z@lrde.epita.fr> + + * text/merging.hh: Disable some debug. + + 2010-05-04 Guillaume Lazzara <z@lrde.epita.fr> + + Prepare DIA tools for Nuxeo/XWiki. + + * src/Makefile.am: Add a new target. + + * src/text_in_article_preprocess.cc: New. + + * src/text_in_article_pbm.cc: Add optional cropping and makes the + debug optionnal. + + * text/clean.hh: Improve cleanup. + + * text/recognition.hh: Remove last '\n' in Tesseract's output. + + 2010-04-30 Guillaume Lazzara <z@lrde.epita.fr> + + Improve OCR recognition. + + * src/text_in_article_pbm.cc: Update call to text::recognition. + + * text/clean.hh: Resize text lines according to their x_height. + + * text/extract_lines.hh: Update call to extract::components. + + * text/merging.hh: Remove Debug. + + * text/recognition.hh: Update call to text::clean and do + recognition only on lines considered as text. + + * subsampling/bilinear.hh, + * upsampling/bs2x.hh: New. + + 2010-04-30 Guillaume Lazzara <z@lrde.epita.fr> + + * postprocessing/fill_object_holes.hh: New routine. + + 2010-04-30 Guillaume Lazzara <z@lrde.epita.fr> + + Add new routines to detect separators. + + * primitive/extract/horizontal_separators.hh, + * primitive/extract/separators.hh, + * primitive/extract/vertical_separators.hh, + * primitive/remove/separators.hh: New. + + 2010-04-30 Guillaume Lazzara <z@lrde.epita.fr> + + Add A first draft of a README in Scribo. + + * README: New. + + 2010-04-30 Guillaume Lazzara <z@lrde.epita.fr> + + Move AFP's GUI into Scribo's demo directory. + + * ../milena/sandbox/lazzara/afp/photos/gui/gui.pro, + * ../milena/sandbox/lazzara/afp/photos/gui/gui.qrc, + * ../milena/sandbox/lazzara/afp/photos/gui/icons/next.png, + * ../milena/sandbox/lazzara/afp/photos/gui/icons/ok.png, + * ../milena/sandbox/lazzara/afp/photos/gui/icons/photos.png, + * ../milena/sandbox/lazzara/afp/photos/gui/icons/prev.png, + * ../milena/sandbox/lazzara/afp/photos/gui/icons/remove.png, + * ../milena/sandbox/lazzara/afp/photos/gui/src/custom_delegate.cc, + * ../milena/sandbox/lazzara/afp/photos/gui/src/custom_delegate.hh, + * ../milena/sandbox/lazzara/afp/photos/gui/src/launch_dialog.cc, + * ../milena/sandbox/lazzara/afp/photos/gui/src/launch_dialog.hh, + * ../milena/sandbox/lazzara/afp/photos/gui/src/main.cc, + * ../milena/sandbox/lazzara/afp/photos/gui/src/main_window.cc, + * ../milena/sandbox/lazzara/afp/photos/gui/src/main_window.hh, + * ../milena/sandbox/lazzara/afp/photos/gui/ui/launch_dialog.ui, + * ../milena/sandbox/lazzara/afp/photos/gui/ui/main_window.ui: Move... + + * demo/tip/gui.pro, + * demo/tip/gui.qrc, + * demo/tip/icons/next.png, + * demo/tip/icons/ok.png, + * demo/tip/icons/photos.png, + * demo/tip/icons/prev.png, + * demo/tip/icons/remove.png, + * demo/tip/src/custom_delegate.cc, + * demo/tip/src/custom_delegate.hh, + * demo/tip/src/launch_dialog.cc, + * demo/tip/src/launch_dialog.hh, + * demo/tip/src/main.cc, + * demo/tip/src/main_window.cc, + * demo/tip/src/main_window.hh, + * demo/tip/ui/launch_dialog.ui, + * demo/tip/ui/main_window.ui: ... here. + + 2010-04-30 Guillaume Lazzara <z@lrde.epita.fr> + + Introduce dmax_functor concept. + + * core/concept/dmax_functor.hh, + * primitive/link/internal/dmax_default.hh, + * primitive/link/internal/dmax_functor_base.hh, + * primitive/link/internal/dmax_width_and_height.hh, + * primitive/link/internal/dmax_width_only.hh: New. + + * primitive/link/internal/link_single_dmax_ratio_base.hh, + * primitive/link/with_single_left_link_dmax_ratio.hh, + * primitive/link/with_single_right_link_dmax_ratio.hh: Make use of + the new functors. + + 2010-04-30 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes in Scribo. + + * binarization/sauvola_ms.hh, + * binarization/sauvola_threshold_image_debug.hh: Update prototypes. + + * primitive/internal/rd.hh, + * primitive/group/apply.hh, + * debug/save_bboxes_image.hh: Add missing mln:: namespace prefix. + + * filter/objects_large.hh: Split into a routine and a functor. + + * fun/v2b/objects_large_filter.hh: New. + + * io/xml/save_text_lines.hh: Save line type. + + * table/internal/repair_lines.hh, + * table/internal/align_lines.hh, + * make/text.hh: Update macro name. + + * core/erase_objects.hh, + * primitive/extract/lines_discontinued.hh, + * primitive/extract/lines_h_discontinued.hh, + * primitive/extract/lines_h_pattern.hh, + * primitive/extract/lines_h_single.hh, + * primitive/extract/lines_h_thick.hh, + * primitive/extract/lines_thick.hh, + * primitive/extract/lines_v_discontinued.hh, + * primitive/extract/lines_v_single.hh, + * primitive/extract/lines_v_thick.hh, + * primitive/group/from_graph.hh, + * primitive/internal/find_graph_link.hh, + * primitive/link/with_graph.hh, + * primitive/link/with_several_graphes.hh, + * primitive/link/with_several_left_links.hh, + * primitive/link/with_several_right_links.hh, + * table/erase.hh, + * table/extract.hh: Remove any references to object_image. + + * table/internal/connect_lines.hh: use + influence_zone_geodesic_saturated + + * filter/objects_small.hh: Duplicate component set. + + * primitive/internal/all.hh, + * primitive/extract/all.hh, + * filter/all.hh, + * core/all.hh: Remove non existing includes. + + * core/macros.hh: New macro. + + * core/line_info.hh: Fix stats. + + * filter/object_links_non_aligned.hh, + * filter/object_links_non_h_aligned.hh, + * filter/object_links_non_v_aligned.hh: Removed. + + 2010-03-19 Guillaume Lazzara <z@lrde.epita.fr> + + Improve dematerialization wizard. + + * demo/wizard/src/crop_widget.cc, + * demo/wizard/src/main.cc, + * demo/wizard/src/main_window.cc, + * demo/wizard/src/main_window.hh, + * demo/wizard/src/preprocessing_widget.cc, + * demo/wizard/src/process_page.cc, + * demo/wizard/src/result_page.cc, + * demo/wizard/src/result_page.hh, + * demo/wizard/src/result_widget.cc, + * demo/wizard/src/result_widget.hh, + * demo/wizard/src/runner.cc, + * demo/wizard/ui/preprocessing_widget.ui, + * demo/wizard/wizard.pro: Add support for text recognition and + display results. + + 2010-03-19 Guillaume Lazzara <z@lrde.epita.fr> + + Add a new demo in Scribo. + + * demo/demat/demat.pro, + * demo/demat/demat.qrc, + * demo/demat/src/doc_type.hh, + * demo/demat/src/main.cc, + * demo/demat/src/main_window.cc, + * demo/demat/src/main_window.hh, + * demo/demat/src/mln_widgets.cc, + * demo/demat/src/preprocessing_task.hh, + * demo/demat/src/process_args.hh, + * demo/demat/src/runner.cc, + * demo/demat/src/runner.hh, + * demo/demat/ui/main_window.ui: New. + + * demo/shared/src/crop_item.cc, + * demo/shared/src/crop_item.hh, + * demo/shared/src/image_viewer.cc, + * demo/shared/src/image_viewer.hh, + * demo/shared/ui/image_viewer.ui: Update according the needs of + this new demo. + + 2010-04-13 Guillaume Lazzara <z@lrde.epita.fr> + + * io/xml/save_text_lines.hh: Fix XML output. + + 2010-04-13 Guillaume Lazzara <z@lrde.epita.fr> + + * debug/decision_image.hh: Add the anchor::Type as argument. + + 2010-04-13 Guillaume Lazzara <z@lrde.epita.fr> + + Use anchor::Type in alignment routines' dispatch. + + * filter/object_links_bottom_aligned.hh, + * filter/object_links_center_aligned.hh, + * filter/object_links_left_aligned.hh, + * filter/object_links_non_aligned_simple.hh, + * filter/object_links_right_aligned.hh, + * filter/object_links_top_aligned.hh: Use anchor::Type. + + * filter/internal/alignment_angle.hh, + * filter/internal/component_aligned.hh: New. + + 2010-04-13 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes related to object_groups. + + * core/object_groups.hh: Add more preconditions. + + * filter/object_groups_small.hh: Call duplicate(). + + 2010-04-13 Guillaume Lazzara <z@lrde.epita.fr> + + Add init() member to object_links structure. + + * core/object_links.hh: New init() member. + + * filter/object_groups_v_thickness.hh, + * filter/object_groups_with_holes.hh, + * primitive/group/from_double_link.hh, + * primitive/link/internal/link_functor_base.hh, + * primitive/link/merge_double_link.hh, + * src/afp/link.hh, + * src/afp/regroup.hh: Call init() on object_links instances. + + * primitive/internal/init_link_array.hh: Remove. + + 2010-04-13 Guillaume Lazzara <z@lrde.epita.fr> + + * src/text_in_photo_fast.cc: Group routine parameters in a global + structure. + + 2010-04-13 Guillaume Lazzara <z@lrde.epita.fr> + + Add new Sauvola overloads and update examples. + + * binarization/internal/first_pass_functor.hh, + * binarization/local_threshold.hh, + * binarization/sauvola.hh, + * binarization/sauvola_ms.hh, + * binarization/sauvola_ms_split.hh, + * binarization/sauvola_threshold_image.hh, + * canvas/integral_browsing.hh: Add more parameters to Sauvola + routines. + + * binarization/sauvola_threshold_image_debug.hh: New. New overload + providing debug outputs. + + * debug/usage.hh: Remove a parameter. + + * src/binarization/Makefile.am, + * src/binarization/pgm_global_threshold_auto.cc, + * src/binarization/pgm_sauvola.cc, + * src/binarization/pgm_sauvola_ms.cc, + * src/binarization/ppm_fg_sauvola_ms.cc, + * src/binarization/ppm_sauvola.cc, + * src/binarization/ppm_sauvola_ms.cc, + * src/binarization/ppm_sauvola_ms_split.cc: Add new program + arguments. + + * src/binarization/fg_sauvola_ms.cc, + * src/binarization/sauvola.cc, + * src/binarization/sauvola_ms.cc, + * src/binarization/sauvola_ms_split.cc, + * src/binarization/sauvola_debug.cc: New. + + 2010-03-29 Guillaume Lazzara <z@lrde.epita.fr> + + Add support for various image types in text_in_photo_fast. + + * src/Makefile.am: Add ImageMagick CPPFLAGS and LDFLAGS. + + * src/text_in_photo_ppm_fast.cc: Rename as... + * src/text_in_photo_fast.cc: ... this. Use ImageMagick to load images. + + 2010-03-19 Guillaume Lazzara <z@lrde.epita.fr> + + Improve dematerialization wizard. + + * demo/wizard/src/crop_widget.cc, + * demo/wizard/src/main.cc, + * demo/wizard/src/main_window.cc, + * demo/wizard/src/main_window.hh, + * demo/wizard/src/preprocessing_widget.cc, + * demo/wizard/src/process_page.cc, + * demo/wizard/src/result_page.cc, + * demo/wizard/src/result_page.hh, + * demo/wizard/src/result_widget.cc, + * demo/wizard/src/result_widget.hh, + * demo/wizard/src/runner.cc, + * demo/wizard/ui/preprocessing_widget.ui, + * demo/wizard/wizard.pro: Add support for text recognition and + display results. + + 2010-03-19 Guillaume Lazzara <z@lrde.epita.fr> + + Add a new demo in Scribo. + + * demo/demat/demat.pro, + * demo/demat/demat.qrc, + * demo/demat/src/doc_type.hh, + * demo/demat/src/main.cc, + * demo/demat/src/main_window.cc, + * demo/demat/src/main_window.hh, + * demo/demat/src/mln_widgets.cc, + * demo/demat/src/preprocessing_task.hh, + * demo/demat/src/process_args.hh, + * demo/demat/src/runner.cc, + * demo/demat/src/runner.hh, + * demo/demat/ui/main_window.ui: New. + + * demo/shared/src/crop_item.cc, + * demo/shared/src/crop_item.hh, + * demo/shared/src/image_viewer.cc, + * demo/shared/src/image_viewer.hh, + * demo/shared/ui/image_viewer.ui: Update according the needs of + this new demo. + + 2010-03-19 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes in Scribo. + + * binarization/sauvola_ms.hh: Fix compilation issues on MacOS X. + + * core/component_set.hh: Add labeled_image_() member. + + * debug/save_bboxes_image.hh: Add a missing include. + + * preprocessing/split_bg_fg.hh, + * primitive/extract/components.hh: Fix namespace ambiguities. + + * src/text_in_article.cc: Rename as... + * src/text_in_article_pbm.cc: ... this. + + * src/Makefile.am: Update source file names. + + 2010-03-18 Guillaume Lazzara <z@lrde.epita.fr> + + Cleanup binarization tools. + + * binarization/binarize.hh, + * binarization/simple.hh, + * binarization/sauvola_threshold.hh, + * src/binarization/simple.cc, + * src/binarization/sauvola_pgm.cc, + * src/binarization/sauvola_ms.cc, + * src/binarization/sauvola.cc: Rename as... + + + * binarization/local_threshold.hh, + * binarization/global_threshold_auto.hh, + * binarization/sauvola_threshold_image.hh, + * src/binarization/pgm_global_threshold_auto.cc, + * src/binarization/pgm_sauvola.cc, + * src/binarization/pgm_sauvola_ms.cc, + * src/binarization/ppm_sauvola.cc: ... this. + + * binarization/global_threshold.hh, + * binarization/sauvola_ms_split.hh, + * src/binarization/ppm_fg_sauvola_ms.cc, + * src/binarization/ppm_sauvola_ms.cc, + * src/binarization/ppm_sauvola_ms_split.cc: New. + + * binarization/internal/first_pass_functor.hh: Fix an include. + + * binarization/sauvola.hh: Update code according to last renaming. + + * binarization/sauvola_ms.hh: Invert threshold test and add + documentation. + + * src/binarization/Makefile.am: Add new targets. + + * tests/Makefile.am, + * tests/binarization/Makefile.am, + * tests/binarization/global_threshold.cc, + * tests/binarization/local_threshold.cc: New tests. + + 2010-03-17 Guillaume Lazzara <z@lrde.epita.fr> + + Update AFP's toolchain according to last changes in core classes. + + * core/object_groups.hh: Add duplicate(). + + * primitive/group/apply.hh: Preserve components ids. + + * draw/groups_bboxes.hh, + * filter/object_groups_with_holes.hh, + * primitive/regroup/from_single_left_link.hh: New. + + * src/text_in_photo_ppm_fast.cc: Make it work with the new core + classes. Fix component ids issues when relabeling. + + 2010-03-11 Guillaume Lazzara <z@lrde.epita.fr> + + Add a new example for finding text in pictures. + + * src/Makefile.am: Add new target. + + * src/text_in_photo_pbm_fast.cc: New. + + 2010-03-11 Guillaume Lazzara <z@lrde.epita.fr> + + First draft of the dematerialization wizard. + + * demo/shared/icons/Symbols-Delete-icon.png, + * demo/shared/icons/accept-icon.png, + * demo/shared/icons/close.gif, + * demo/shared/icons/crop-icon.png, + * demo/shared/icons/image-add-icon.png, + * demo/shared/icons/image-edit-icon.png, + * demo/shared/icons/image-multi-icon.png, + * demo/shared/icons/image-next-icon.png, + * demo/shared/icons/image-remove-icon.png, + * demo/shared/icons/next-icon.png, + * demo/shared/icons/page-down-icon.png, + * demo/shared/icons/page-search-icon.png, + * demo/shared/icons/rotate_ccw.png, + * demo/shared/icons/rotate_cw.png, + * demo/shared/icons/search-add-icon.png, + * demo/shared/icons/search-remove-icon.png, + * demo/shared/shared.qrc, + * demo/shared/src/bak/crop_item.cc, + * demo/shared/src/bak/crop_item.hh, + * demo/shared/src/bak/image_viewer.cc, + * demo/shared/src/bak/image_viewer.hh, + * demo/shared/src/bak/types.hh, + * demo/shared/src/browse_widget.cc, + * demo/shared/src/browse_widget.hh, + * demo/shared/src/crop_item.cc, + * demo/shared/src/crop_item.hh, + * demo/shared/src/image_viewer.cc, + * demo/shared/src/image_viewer.hh, + * demo/shared/src/internal.bak/interactive_scene.cc, + * demo/shared/src/internal.bak/interactive_scene.hh, + * demo/shared/src/internal.bak/selection_rectangle.cc, + * demo/shared/src/internal.bak/selection_rectangle.hh, + * demo/shared/src/internal/interactive_scene.cc, + * demo/shared/src/internal/interactive_scene.hh, + * demo/shared/src/internal/selection_rectangle.cc, + * demo/shared/src/internal/selection_rectangle.hh, + * demo/shared/src/to_mln_image.hh, + * demo/shared/src/types.hh, + * demo/shared/ui/browse_widget.ui, + * demo/shared/ui/crop_widget.ui, + * demo/shared/ui/image_viewer.ui, + * demo/shared/ui/interactive_scene.cc, + * demo/shared/ui/interactive_scene.hh, + * demo/shared/ui/rotate_widget.ui, + * demo/wizard/images/dematerialization.png, + * demo/wizard/src/crop_page.cc, + * demo/wizard/src/crop_page.hh, + * demo/wizard/src/crop_widget.cc, + * demo/wizard/src/crop_widget.hh, + * demo/wizard/src/doc_type.hh, + * demo/wizard/src/doc_type_page.cc, + * demo/wizard/src/doc_type_page.hh, + * demo/wizard/src/doc_type_widget.cc, + * demo/wizard/src/doc_type_widget.hh, + * demo/wizard/src/load_page.cc, + * demo/wizard/src/load_page.hh, + * demo/wizard/src/load_widget.cc, + * demo/wizard/src/load_widget.hh, + * demo/wizard/src/main.cc, + * demo/wizard/src/main_window.cc, + * demo/wizard/src/main_window.hh, + * demo/wizard/src/mln_widgets.cc, + * demo/wizard/src/preprocessing_page.cc, + * demo/wizard/src/preprocessing_page.hh, + * demo/wizard/src/preprocessing_task.hh, + * demo/wizard/src/preprocessing_widget.cc, + * demo/wizard/src/preprocessing_widget.hh, + * demo/wizard/src/process_page.cc, + * demo/wizard/src/process_page.hh, + * demo/wizard/src/process_widget.cc, + * demo/wizard/src/process_widget.hh, + * demo/wizard/src/rotate_page.cc, + * demo/wizard/src/rotate_page.hh, + * demo/wizard/src/rotate_widget.cc, + * demo/wizard/src/rotate_widget.hh, + * demo/wizard/src/runner.cc, + * demo/wizard/src/runner.hh, + * demo/wizard/src/test.cc, + * demo/wizard/ui/doc_type_widget.ui, + * demo/wizard/ui/load_widget.ui, + * demo/wizard/ui/main_window.ui, + * demo/wizard/ui/preprocessing_widget.ui, + * demo/wizard/wizard.pro, + * demo/wizard/wizard.qrc: New. + + 2010-03-11 Guillaume Lazzara <z@lrde.epita.fr> + + Update examples. + + * src/text_in_photo_ppm_fast.cc, + * src/debug/show_links_bottom_aligned.cc, + * src/debug/show_links_top_aligned.cc: Update calls to routines. + + * src/preprocessing/trash.cc, + * src/text_in_photo_ppm_fast_2.cc, + * src/preprocessing/split_bg_fg_ms.cc, + * src/preprocessing/denoising.cc: Removed. + + * src/preprocessing/denoise.cc, + * src/preprocessing/homogeneous_contrast.ccm, + * src/preprocessing/subsample.cc: New. + + * src/preprocessing/Makefile.am: Add new files as target. + + * src/preprocessing/split_bg_fg.cc: Fix usage. + + * src/text_in_article.cc: Update processing chain. + + 2010-03-11 Guillaume Lazzara <z@lrde.epita.fr> + + Improve text line merging algorithm. + + * text/merging.hh: Change merge rules and improve integration with + Scribo line structures. + + 2010-03-11 Guillaume Lazzara <z@lrde.epita.fr> + + Add a reconstruction algorithm. + + * primitive/internal/rd.hh: New. + + 2010-03-11 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes. + + * binarization/sauvola_ms.hh: Add a missing include. + + * binarization/sauvola_threshold.hh: Remove debug and useless + comments. + + * preprocessing/unskew.hh: Fix invalid guards. + + * primitive/extract/components.hh: Fill image extension. + + * primitive/extract/lines_pattern.hh: Adjust and fill image + extension. + + * primitive/extract/lines_v_thick.hh: Fix traces. + + 2010-03-11 Guillaume Lazzara <z@lrde.epita.fr> + + Add new preprocessing routines. + + * preprocessing/denoise.hh, + * preprocessing/denoise_bg.hh, + * preprocessing/denoise_fg.hh, + * preprocessing/homogeneous_contrast.hh, + * preprocessing/rotate_90.hh: New routines. + + * fun/v2b/label_to_bool.hh: New function. + + * tests/preprocessing/Makefile.am, + * tests/preprocessing/rotate_90.cc: New test. + + 2010-03-11 Guillaume Lazzara <z@lrde.epita.fr> + + Update code according to last changes in Scribo core classes. + + * draw/bounding_box_links.hh, + * primitive/internal/init_link_array.hh, + * primitive/internal/is_link_valid.hh, + * primitive/link/internal/link_single_dmax_base.hh, + * src/afp/link.hh: Update the use of object_link class. + + * draw/bounding_boxes.hh, + * filter/objects_with_holes.hh, + * src/afp/regroup.hh: Update for_all macro. + + * estim/object_groups_v_thickness.hh, + * filter/object_groups_small.hh, + * filter/object_groups_v_thickness.hh, + * text/recognition.hh: Update access to component_set. + + * filter/object_links_bbox_h_ratio.hh, + * filter/object_links_bbox_overlap.hh, + * filter/object_links_bbox_ratio.hh, + * filter/object_links_bottom_aligned.hh, + * filter/object_links_non_aligned_simple.hh, + * filter/object_links_top_aligned.hh, + * primitive/group/apply.hh, + * primitive/group/from_single_link.hh, + * primitive/link/merge_double_link.hh, + * primitive/link/with_single_right_link_bottom.hh, + * primitive/link/with_single_right_link_dmax_ratio.hh, + * primitive/link/with_single_right_link_top.hh: Improve routine + prototypes. + + * primitive/link/internal/link_functor_base.hh: Make use of + separators if exist. + + 2010-03-11 Guillaume Lazzara <z@lrde.epita.fr> + + Improve debug routines in Scribo. + + * debug/bboxes_enlarged_image.hh, + * debug/looks_like_a_text_line_image.hh, + * debug/mean_and_base_lines_image.hh: New routines. + + * debug/alignment_decision_image.hh, + * debug/decision_image.hh, + * debug/save_bboxes_image.hh: Update code according to last + changes in core classes. + + * debug/usage.hh: Make the description optional. + + 2010-03-11 Guillaume Lazzara <z@lrde.epita.fr> + + Improve core classes in Scribo. + + * core/component_info.hh, + * core/component_set.hh: Add new methods and an output operator. + + * core/line_info.hh: Add new methods and improve stats computation. + + * core/line_set.hh: Add new methods. + + * core/macros.hh: Add more specific macros. + + * core/tag/component.hh, + * core/tag/line.hh: Add output operators. + + 2010-03-09 Guillaume Lazzara <z@lrde.epita.fr> + + Share internal data in groups and links structures. + + * core/object_groups.hh, + * core/object_links.hh: Share internal data using a tracked + pointer. + + 2010-03-02 Guillaume Lazzara <z@lrde.epita.fr> + + * text/merging.hh (scribo): Update code with lastest Theo's + changes. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + Add a small tool to recognize text in a binary image. + + * src/text/Makefile.am: New target. + + * src/text/pbm_recognition.cc: New. + + * text/recognition.hh: Add an overload taking an image as + argument. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + Add a subsampling algorithm. + + * subsampling/integral.hh: New. Compute a subsample image and an + integral image at the same time. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + Add a first draft of a text line merging algorithm. + + * text/merging.hh: New. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + Add and update examples. + + * src/Makefile.am, + * src/binarization/Makefile.am, + * src/preprocessing/Makefile.am: Add new targets. + + * src/preprocessing/denoising.cc: New. + + * src/preprocessing/split_bg_fg.cc: Fix usage. + + * src/text_in_article.cc, + * src/text_in_photo_ppm_fast.cc: Update code according last + changes in core classes. + + * src/text_in_photo_ppm_fast_2.cc: New example. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + Small fixes. + + * binarization/sauvola_ms.hh: Remove a useless include. + + * debug/usage.hh: Move description output. + + * io/xml/save_text_lines.hh: Fix invalid xml output. + + * primitive/link/internal/link_ms_dmax_ratio_base.hh, + * primitive/link/internal/link_single_dmax_ratio_base.hh: update + distance criterion. + + * scribo.mk: Change compilation flags. + + * src/afp/components.hh: Merge data in only one array. + + * tests/filter/Makefile.am, + * tests/filter/objects_with_holes.cc: New test. + + * text/clean.hh: use upsampling::hq4x instead of upsampling::hq2x. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + Keep updating code according to last changed in core classes. + + * debug/decision_image.hh, + * debug/save_linked_bboxes_image.hh, + * draw/bounding_boxes.hh, + * estim/object_groups_v_thickness.hh, + * filter/common/objects_photo.hh, + * filter/internal/compute.hh, + * filter/object_groups_size_ratio.hh, + * filter/object_groups_small.hh, + * filter/object_groups_v_thickness.hh, + * filter/object_links_bbox_overlap.hh, + * filter/object_links_bottom_aligned.hh, + * filter/object_links_non_aligned_simple.hh, + * filter/objects_thick.hh, + * filter/objects_thin.hh, + * filter/objects_with_holes.hh, + * primitive/group/apply.hh, + * primitive/group/from_double_link.hh, + * primitive/group/from_single_link.hh, + * primitive/link/internal/link_single_dmax_base.hh, + * primitive/link/with_single_left_link.hh, + * primitive/link/with_single_right_link.hh, + * src/afp/link.hh, + * src/afp/regroup.hh, + * text/recognition.hh: Update the use of core classes. Replace the + use of object_image with component_set. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + Improve core classes. + + * core/component_info.hh, + * core/component_set.hh, + * core/line_info.hh, + * core/line_set.hh, + * core/object_groups.hh: Add more methods and constructors. + + * core/macros.hh: Add a new macro. + + * core/tag/line.hh: Add more enums. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + * io/xml/save_text_lines.hh: New. Add partial support for + PageContent XML format. + + 2010-03-11 Guillaume Lazzara <z@lrde.epita.fr> + + Introduce new Scribo core classes and start using them. + + * core/component_info.hh, + * core/component_set.hh, + * core/line_info.hh, + * core/line_set.hh, + * core/macros.hh, + * core/object_groups.hh, + * core/object_links.hh, + * core/tag/anchor.hh, + * core/tag/component.hh, + * core/tag/line.hh: New core classes. + + * core/object_image.hh: Remove. + + * core/anchors.hh + * primitive/extract/objects.hh: Rename as... + + * primitive/link/internal/compute_anchor.hh, + * primitive/extract/components.hh: ... this. + + * draw/bounding_box_links.hh, + * filter/object_links_bbox_h_ratio.hh, + * filter/object_links_bbox_ratio.hh, + * filter/objects_small.hh, + * fun/v2b/objects_small_filter.hh, + * primitive/group/apply.hh, + * primitive/group/from_single_link.hh, + * primitive/internal/find_root.hh, + * primitive/internal/init_link_array.hh, + * primitive/link/compute.hh, + * primitive/link/internal/find_link.hh, + * primitive/link/internal/find_several_links.hh, + * primitive/link/internal/link_functor_base.hh, + * primitive/link/internal/link_several_dmax_base.hh, + * primitive/link/internal/link_single_dmax_base.hh, + * primitive/link/internal/link_single_dmax_ratio_base.hh, + * primitive/link/merge_double_link.hh, + * primitive/link/with_single_left_link_dmax_ratio.hh, + * primitive/link/with_single_right_link_bottom.hh, + * primitive/link/with_single_right_link_dmax_ratio.hh, + * primitive/link/with_single_right_link_top.hh: Make use of + the new core classes. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + Add anchor support in debug routines. + + * debug/alignment_decision_image.hh, + * debug/links_decision_image.hh, + * debug/save_linked_bboxes_image.hh, + * draw/bounding_box_links.hh: Make use of anchor points to + draw debug outputs. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + Add new link filters. + + * filter/object_links_non_aligned_simple.hh: Handle new + cases. + + * filter/object_links_left_aligned.hh, + * filter/object_links_right_aligned.hh: New filters. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + Improve object linking backend. + + * primitive/internal/find_left_link.hh, + * primitive/internal/find_right_link.hh, + * primitive/internal/is_invalid_link.hh: Remove. + + * primitive/link/internal/compute_anchor.hh, + * primitive/link/internal/link_ms_dmax_base.hh, + * primitive/link/internal/link_ms_dmax_ratio_base.hh, + * primitive/link/internal/link_single_dmax_base.hh, + * primitive/link/internal/link_single_dmax_ratio_base.hh, + * primitive/link/with_single_down_link.hh, + * primitive/link/with_single_left_link.hh, + * primitive/link/with_single_left_link_dmax_ratio.hh, + * primitive/link/with_single_right_link.hh, + * primitive/link/with_single_right_link_dmax_ratio.hh, + * primitive/link/with_single_up_link.hh: Introduce the + anchor concept and make use of it. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + * filter/objects_with_holes.hh: New component filter. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + * draw/bounding_boxes.hh: Do not draw box centers anymore. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + Add dedicated routines for AFP's use case. + + * src/afp/components.hh, + * src/afp/link.hh, + * src/afp/regroup.hh: New. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + Add new tools in Scribo. + + * src/preprocessing/Makefile.am, + * src/filter/Makefile.am, + * src/debug/Makefile.am: Add new targets. + + * src/debug/show_info_median_inter_characters.cc, + * src/debug/show_info_x_height.cc, + * src/debug/show_links_single_down.cc, + * src/debug/show_links_single_down_left_aligned.cc, + * src/debug/show_links_single_down_right_aligned.cc, + * src/debug/show_links_single_up.cc, + * src/debug/show_links_single_up_left_aligned.cc, + * src/debug/show_links_single_up_right_aligned.cc, + * src/filter/objects_with_holes.cc, + * src/filter/objects_with_holes_pgm.cc, + * src/pbm_lines_in_doc.cc, + * src/preprocessing/split_bg_fg_ms.cc, + * src/text_in_article.cc, + * src/text_in_photo_ppm_fast.cc: New tools. + + * src/debug/show_left_right_links_validation.cc: Rename as... + * src/debug/show_links_left_right_links_validation.cc: ...this. + + * src/debug/show_links_bbox_h_ratio.cc: Add a missing argument. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + * src/text_in_photo_ppm.cc: Improve output. + + 2010-02-19 Guillaume Lazzara <z@lrde.epita.fr> + + Cleanup and avoid warnings in Sauvola related files. + + * binarization/sauvola_ms.hh, + * binarization/sauvola_threshold.hh, + * canvas/integral_browsing.hh, + * src/binarization/sauvola_ms.cc, + * src/binarization/sauvola_pgm.cc,x + * subsampling/integral_single_image.hh: Cleanup and avoir + warnings. + + 2009-12-15 Guillaume Lazzara <z@lrde.epita.fr> + + Add a new test for object_image. + + * tests/Makefile.am, + * tests/core/Makefile.am: Update build system. + + * tests/core/object_image.cc: New test. + + 2009-12-15 Guillaume Lazzara <z@lrde.epita.fr> + + * primitive/extract/objects.hh: Compute and store mass centers. + + 2009-12-14 Guillaume Lazzara <z@lrde.epita.fr> + + Fix object links filters. + + * filter/object_links_bottom_aligned.hh, + * filter/object_links_center_aligned.hh, + * filter/object_links_non_aligned_simple.hh, + * filter/object_links_top_aligned.hh: Pass the proper dimension as + routine argument. + + 2009-12-14 Guillaume Lazzara <z@lrde.epita.fr> + + Cleanup Sauvola's binarization code. + + * binarization/sauvola_threshold.hh, + * binarization/sauvola.hh: Use fun::v2v::rgb_to_int_u8. + + * binarization/sauvola_ms.hh: New. Sauvola multi-scale routine. + + * src/binarization/sauvola.cc: Make the window size a program + argument. + + * src/binarization/sauvola_ms.cc: Use Sauvola multi-scale routine. + + 2009-12-14 Guillaume Lazzara <z@lrde.epita.fr> + + * core/object_image.hh: Make use of mln::labeled_image_base. + + 2009-12-14 Guillaume Lazzara <z@lrde.epita.fr> + + Improve linking routines. + + * core/anchors.hh: New. Add anchor types. + + * filter/objects_thin.hh: Use filter::internal::compute. + + * primitive/link/internal/find_several_links.hh, + * primitive/link/internal/find_link.hh, + * primitive/link/compute.hh: Update functor interface in order to + specify anchors. + + * primitive/link/compute_several.hh: Fix an invalid namespace. + + * primitive/link/internal/anchors_3.hh: Move... + + * primitive/link/internal/compute_anchor.hh: ... here. + + * primitive/link/internal/link_functor_base.hh: Use anchor type. + + * primitive/link/internal/link_several_dmax_base.hh: New. + + * primitive/link/internal/link_center_dmax_base.hh, + * primitive/link/internal/link_center_dmax_ratio_base.hh: Removed. + + * primitive/link/with_several_right_links_overlap.hh: Fix includes. + + * primitive/link/with_single_right_link_bottom.hh, + * primitive/link/with_single_right_link_top.hh, + * primitive/link/with_single_left_link.hh, + * primitive/link/with_single_right_link.hh: Use + link_single_dmax_base functor. + + * src/debug/show_links_several_right_overlap.cc, + * src/debug/show_links_single_left.cc, + * src/debug/show_links_single_left_dmax_ratio.cc, + * src/debug/show_links_single_right.cc, + * src/debug/show_links_single_right_dmax_ratio.cc: Update functor + interface. + + 2009-12-11 Guillaume Lazzara <z@lrde.epita.fr> + + Improve Sauvola Multi-scale. + + * binarization/internal/first_pass_functor.hh: Use + sauvola_threshold routine. + + * binarization/sauvola_threshold.hh: Remove debug and fix invalid + read in integral image. + + * canvas/integral_browsing.hh, + * subsampling/integral_single_image.hh: Fix stats computation. + + * src/binarization/sauvola_ms.cc: Fix window parameter and make + debug output optional. + + 2009-12-04 Guillaume Lazzara <z@lrde.epita.fr> + + Optimize Sauvola's multiscale binarization. + + * core/init_integral_image.hh: New. + + * src/binarization/sauvola_ms.cc: Optimize and make it more + robust. + + * canvas/integral_browsing.hh: New canvas to browse and compute + data in an integral image. + + * binarization/internal/first_pass_functor.hh: New functor to be + used in the integral browsing. + + * binarization/sauvola_threshold.hh: Add new overloads. + + * subsampling/integral_single_image.hh: Subsample an image and + compute integral images at the same time. + +2010-07-31 Roland Levillain <roland@lrde.epita.fr> + + Fix Scribo's dependencies w.r.t. libraries. + + * src/Makefile.am (text_in_doc_LDFLAGS, text_in_doc_ppm_LDFLAGS): + Remove -lhpdf. + 2010-04-23 Roland Levillain <roland@lrde.epita.fr> Get C++ compiler flags for Scribo from configure. hooks/post-receive -- Olena, a generic and efficient image processing platform