This is a merge commit message of the following branches:
Merge: eecd7d1... 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 | 7 +-
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 | 57 +-
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, 112974 insertions(+), 24563 deletions(-)
diff --cc ChangeLog
index 12bf80f,301ed5d..1860ecf
--- a/ChangeLog
+++ b/ChangeLog
@@@ -1,13 -1,120 +1,130 @@@
+ 2010-08-12 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * build-aux/build_unit_test.sh: Handle composed dependency names
+ in cond_tests_* files.
+
+ 2010-08-12 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Improve configure output.
+
+ * configure.ac: Improve configure output.
+
+ * m4/oln-with-lib.m4: Always set oln_have_* variable.
+
+ 2010-08-10 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Handle Boost dependency.
+
+ * configure.ac: Add tests.
+
+ * m4/boost.m4: New.
+
+ 2010-08-10 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * Makefile.am: Fix call to build_unit_test.sh.
+
+ 2010-08-10 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * build-aux/build_unit_test.sh: Add more comments.
+
+ 2010-08-11 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Handle libgdcmCommon's dependencies.
+
+ * configure.ac: Pass more libraries to OLN_WITH_LIB when searching
+ for libgdcmCommon.
+
+ 2010-08-11 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * configure.ac: Display a summary of the configuration when the
+ build directory is ready.
+
+ 2010-08-11 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * configure.ac: Set oln_with_* variables correctly.
+
+ 2010-08-11 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * configure.ac: Require Qt 4.x minimum to enable the use of Qt.
+
+ 2010-08-11 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * m4/autotroll.m4: Fix an invalid generation of configure with
+ autoconf 2.61.
+
+ 2010-08-10 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * bootstrap: Update calls to build_unit_test.sh.
+
+ 2010-08-10 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * build-aux/build_unit_test.sh: Add support for conditional
+ unit-tests.
+
+ 2010-08-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * configure.ac: Improve configure's outputs for external library
+ checks.
+
+ 2010-08-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Handle libMagick++ dependency with pkg-config.
+
+ * configure.ac: Use PKG_* macros to find Magick++ path and
+ libraries.
+
+ * m4/pkg.m4: New macros to use pkg-config.
+
+ 2010-07-01 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * m4/autotroll.m4: Fix invalid configuration when Qt is missing.
+
+ 2010-06-25 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * configure.ac: Set HAVE_QT correctly.
+
+ 2010-06-15 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * configure.ac: Configure scribo/demo.
+
+ 2010-06-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * configure.ac: Configure several directories in scribo/.
+
+ 2010-07-01 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * m4/autotroll.m4: Fix invalid configuration when Qt is missing.
+
+ 2010-06-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * configure.ac: Check for Qt library using AutoTroll.
+
+ 2010-05-25 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * configure.ac: Do not configure scribo/src/multi_scale anymore.
+
+ 2010-02-16 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * configure.ac: Configure scribo/tests/binarization.
+
+ 2010-02-16 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * configure.ac: Configure scribo/demo/review.
+
+ 2009-12-15 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * configure.ac: Configure scribo/tests/core.
+
+2010-07-13 Roland Levillain <roland(a)lrde.epita.fr>
+
+ * AUTHORS: Update.
+
+2010-06-29 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Have AC_PROG_SWIG be more flexible w.r.t. major/minor version numbers.
+
+ * m4/swig.m4: Here.
+
2010-06-24 Roland Levillain <roland(a)lrde.epita.fr>
Add `mesh-segm-skel' to the branches to be uploaded (as snapshot).
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(a)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(a)lrde.epita.fr>
+
+ * tests/unit_test/Makefile.am (DIST_FILES): Add missing files.
+
+ 2010-08-12 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ * mln/core/point.hh: Fix a warning.
+
+ 2010-08-11 Guillaume Lazzara <z(a)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(a)lrde.epita.fr>
+
+ Add missing traces.
+
+ * mln/convert/to_qimage.hh,
+ * mln/convert/to_qimage_nocopy.hh: Here.
+
+ 2010-08-11 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * headers.mk: Regen.
+
+ 2010-08-10 Guillaume Lazzara <z(a)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(a)lrde.epita.fr>
+
+ * mln/io/dicom/get_header.hh: Add missing headers.
+
+ 2010-08-10 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ * mln/accu/count_value.hh: Add properties.
+
+ 2010-06-18 Guillaume Lazzara <z(a)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(a)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(a)lrde.epita.fr>
+
+ * mln/io/magick/load.hh: set minimum resolution for PDF files to
+ 300DPI.
+
+ 2010-07-01 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ Add fastest implementations in labeling::compute.
+
+ * mln/labeling/compute.hh: New fastest implementations.
+
+ 2010-04-30 Guillaume Lazzara <z(a)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(a)lrde.epita.fr>
+
+ * mln/labeling/blobs_and_compute.hh: Fix an invalid size of
+ reserved memory.
+
+ 2010-04-13 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * mln/subsampling/antialiased.hh: Fix the use of 'factor round'.
+
+ 2010-04-09 Guillaume Lazzara <z(a)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(a)lrde.epita.fr>
+
+ * img/picasso.ppm: Add a ppm version.
+
+ 2010-04-07 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * mln/value/qt/rgb32.hh: Explicitly cast float values to unsigned.
+
+ 2010-04-06 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * mln/debug/mosaic.hh: New. Construct a single image from a set of
+ images.
+
+ 2010-04-06 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * mln/histo/equalize.hh: New. Add histogram equalization.
+
+ 2010-03-22 Guillaume Lazzara <z(a)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(a)lrde.epita.fr>
+
+ * mln/debug/z_order.hh: New image data initializer.
+
+ 2010-03-22 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ * mln/subsampling/antialiased.hh: Add support for reduction factor
+ different from 2 or 3.
+
+ 2010-02-16 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * mln/labeling/colorize.hh: Add support for value::qt::rgb32.
+
+ 2010-02-19 Guillaume Lazzara <z(a)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(a)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(a)lrde.epita.fr>
+
+ Add an antialiased subsampling.
+
+ * mln/subsampling/antialiased.hh: New.
+
+ 2009-12-14 Guillaume Lazzara <z(a)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(a)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(a)lrde.epita.fr>
+
+ * mln/draw/dashed_line.hh: New draw line routine.
+
+ 2010-02-24 Guillaume Lazzara <z(a)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(a)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(a)lrde.epita.fr>
+
+ Add a routine to convert to a QImage.
+
+ * mln/convert/to_qimage.hh: New.
+
+ 2010-02-16 Guillaume Lazzara <z(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ * mln/topo/skeleton/crest.hh: Fix invalid PSI values for component
+ edge sites.
+
+ 2010-02-16 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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..aa02ddf
--- 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
@@@ -115,17 -110,14 +117,18 @@@
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(a)lrde.epita.fr>
+
+ * scribo/debug/text_areas_image.hh: Add a typedef to help g++-3.3.
+
+ 2010-08-12 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * scribo/preprocessing/rotate_90.hh: Add a typedef to help
+ g++-3.3.
+
+ 2010-08-12 Guillaume Lazzara <z(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ Update READMEs.
+
+ * README,
+ * src/README: Add few details about the content.
+
+ 2010-08-10 Guillaume Lazzara <z(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ * tests/unit_test/disabled_tests: Update list of disabled tests.
+
+ 2010-08-09 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ Cleanup and make use of the new routines.
+
+ * src/text_in_picture.cc: Here.
+
+ 2010-08-09 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)nuxeo.com>om>.
+
+ 2010-08-04 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * core/component_set.hh: Add a new internal member
+ valid_comps_image_().
+
+ 2010-08-04 Guillaume Lazzara <z(a)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(a)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(a)lrde.epita.fr>
+
+ Add new debug routines.
+
+ * debug/char_space_image.hh,
+ * debug/line_info_image.hh: New.
+
+ 2010-07-06 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Disable some debug output.
+
+ * text/clean_inplace.hh,
+ * text/recognition.hh: Disable some debug output.
+
+ 2010-07-06 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ * binarization/sauvola_ms.hh: Fix an invalid test.
+
+ 2010-06-25 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * upsampling/eagle.hh: Add a new upsampling algorithm.
+
+ 2010-06-23 Arthur Crepin-Leblond <crepin(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ Remove deprecated code.
+
+ * util/all.hh,
+ * util/text.hh: Remove.
+
+ 2010-06-15 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Add new Makefiles in Scribo demo directories.
+
+ * Makefile.am,
+ * demo/Makefile.am: Add new Makefiles.
+
+ 2010-06-15 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * primitive/extract/components.hh: Use labeling::value_and_compute.
+
+ 2010-06-15 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Add a fast rotation tool.
+
+ * src/preprocessing/Makefile.am,
+ * src/preprocessing/rotate_90.cc: New.
+
+ 2010-06-15 Guillaume Lazzara <z(a)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(a)lrde.epita.fr>
+
+ * src/README: New.
+
+ 2010-06-03 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ * toolchain/text_in_doc.hh: Introduce a new routine for extracting
+ text in a document.
+
+ 2010-05-25 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * core/def/lbl_type.hh: Introduce a global label type.
+
+ 2010-05-25 Guillaume Lazzara <z(a)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(a)lrde.epita.fr>
+
+ * io/text_boxes/save.hh: New. Save text boxes information.
+
+ 2010-05-25 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ * text/merging.hh: Disable some debug.
+
+ 2010-05-04 Guillaume Lazzara <z(a)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(a)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(a)lrde.epita.fr>
+
+ * postprocessing/fill_object_holes.hh: New routine.
+
+ 2010-04-30 Guillaume Lazzara <z(a)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(a)lrde.epita.fr>
+
+ Add A first draft of a README in Scribo.
+
+ * README: New.
+
+ 2010-04-30 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ * io/xml/save_text_lines.hh: Fix XML output.
+
+ 2010-04-13 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * debug/decision_image.hh: Add the anchor::Type as argument.
+
+ 2010-04-13 Guillaume Lazzara <z(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ * src/text_in_photo_fast.cc: Group routine parameters in a global
+ structure.
+
+ 2010-04-13 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ Add a reconstruction algorithm.
+
+ * primitive/internal/rd.hh: New.
+
+ 2010-03-11 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ * text/merging.hh (scribo): Update code with lastest Theo's
+ changes.
+
+ 2010-02-19 Guillaume Lazzara <z(a)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(a)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(a)lrde.epita.fr>
+
+ Add a first draft of a text line merging algorithm.
+
+ * text/merging.hh: New.
+
+ 2010-02-19 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ * io/xml/save_text_lines.hh: New. Add partial support for
+ PageContent XML format.
+
+ 2010-03-11 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)lrde.epita.fr>
+
+ * filter/objects_with_holes.hh: New component filter.
+
+ 2010-02-19 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * draw/bounding_boxes.hh: Do not draw box centers anymore.
+
+ 2010-02-19 Guillaume Lazzara <z(a)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(a)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(a)lrde.epita.fr>
+
+ * src/text_in_photo_ppm.cc: Improve output.
+
+ 2010-02-19 Guillaume Lazzara <z(a)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(a)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(a)lrde.epita.fr>
+
+ * primitive/extract/objects.hh: Compute and store mass centers.
+
+ 2009-12-14 Guillaume Lazzara <z(a)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(a)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(a)lrde.epita.fr>
+
+ * core/object_image.hh: Make use of mln::labeled_image_base.
+
+ 2009-12-14 Guillaume Lazzara <z(a)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(a)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(a)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(a)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(a)lrde.epita.fr>
Get C++ compiler flags for Scribo from configure.
diff --cc scribo/src/Makefile.am
index 818b005,b1a29e8..e7decc3
--- a/scribo/src/Makefile.am
+++ b/scribo/src/Makefile.am
@@@ -22,45 -24,68 +24,80 @@@ SUBDIRS =
primitive \
filter \
misc \
- multi_scale \
+ postprocessing \
preprocessing \
- table \
text
- bin_PROGRAMS = \
- text_in_photo \
- text_in_photo_ppm \
- text_in_photo_invert
+ # Disabled for the moment:
+ # table
- text_in_photo_SOURCES = text_in_photo.cc
- text_in_photo_ppm_SOURCES = text_in_photo_ppm.cc
- text_in_photo_invert_SOURCES = text_in_photo_invert.cc
+ bin_PROGRAMS =
+ if HAVE_TESSERACT
+
+ bin_PROGRAMS += pbm_text_in_doc
+ pbm_text_in_doc_CPPFLAGS = $(AM_CPPFLAGS) -g -ggdb \
+ $(TESSERACT_CPPFLAGS) \
+ $(TIFF_CPPFLAGS)
+ pbm_text_in_doc_LDFLAGS = $(AM_LDFLAGS) -g -ggdb\
+ $(TESSERACT_LDFLAGS) \
+ $(TIFF_LDFLAGS) \
+ -lpthread
+
+ pbm_text_in_doc_SOURCES = pbm_text_in_doc.cc
+
+ endif HAVE_TESSERACT
+
+
+ if HAVE_MAGICKXX
+
+ bin_PROGRAMS += text_in_doc_preprocess
+ text_in_doc_preprocess_CPPFLAGS = $(AM_CPPFLAGS) \
+ $(MAGICKXX_CPPFLAGS)
+ text_in_doc_preprocess_LDFLAGS = $(AM_LDFLAGS) \
+ -lpthread \
+ $(MAGICKXX_LDFLAGS)
+
+ text_in_doc_preprocess_SOURCES = text_in_doc_preprocess.cc
+
+
+
+ bin_PROGRAMS += text_in_picture
+ text_in_picture_SOURCES = text_in_picture.cc
+ text_in_picture_CPPFLAGS = $(AM_CPPFLAGS) \
+ $(MAGICKXX_CPPFLAGS)
+ text_in_picture_LDFLAGS = $(AM_LDFLAGS) \
+ -lpthread \
+ $(MAGICKXX_LDFLAGS)
if HAVE_TESSERACT
+
- bin_PROGRAMS += text_recognition_in_picture
- text_recognition_in_picture_SOURCES = text_recognition_in_picture.cc
- text_recognition_in_picture_CPPFLAGS = $(AM_CPPFLAGS) \
- $(TESSERACT_CPPFLAGS) \
- $(TIFF_CPPFLAGS) \
- $(MAGICKXX_CPPFLAGS)
- text_recognition_in_picture_LDFLAGS = $(AM_LDFLAGS) \
- -lpthread \
- $(TESSERACT_LDFLAGS) \
- $(TIFF_LDFLAGS) \
- $(MAGICKXX_LDFLAGS)
+if HAVE_TIFF
+
+ bin_PROGRAMS += text_in_doc
+ text_in_doc_SOURCES = text_in_doc.cc
+ text_in_doc_CPPFLAGS = $(AM_CPPFLAGS) \
+ $(TESSERACT_CPPFLAGS) \
+ $(TIFF_CPPFLAGS)
+ text_in_doc_LDFLAGS = $(AM_LDFLAGS) \
+ $(TESSERACT_LDFLAGS) \
+ $(TIFF_LDFLAGS) \
+ -lpthread
+
+ bin_PROGRAMS += text_in_doc_ppm
+ text_in_doc_ppm_SOURCES = text_in_doc_ppm.cc
+ text_in_doc_ppm_CPPFLAGS = $(AM_CPPFLAGS) \
+ $(TESSERACT_CPPFLAGS) \
+ $(TIFF_CPPFLAGS)
+ text_in_doc_ppm_LDFLAGS = $(AM_LDFLAGS) \
+ $(TESSERACT_LDFLAGS) \
+ $(TIFF_LDFLAGS) \
+ -lpthread
+
+endif HAVE_TIFF
+
endif HAVE_TESSERACT
+
+ endif HAVE_MAGICKXX
hooks/post-receive
--
Olena, a generic and efficient image processing platform