Olena-patches
Threads by month
- ----- 2026 -----
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- 9625 discussions
---
milena/ChangeLog | 96 ++++----
milena/sandbox/ChangeLog | 663 +++++++++++++++++++++++-----------------------
2 files changed, 378 insertions(+), 381 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 1881b78..5f5994c 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -13,7 +13,7 @@
2009-09-24 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Add correct reference for HSL to RGB conversion.
- * mln/fun/v2v/hsl_to_rgb.hh: Add correct reference for HSL
+ * mln/fun/v2v/hsl_to_rgb.hh: Add correct reference for HSL
to RGB conversion.
2009-09-24 Roland Levillain <roland(a)lrde.epita.fr>
@@ -143,13 +143,13 @@
2009-09-22 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Fix HSL values in test.
- * tests/fun/v2v/hsl_to_rgb.cc: Fix HSL values.
+ * tests/fun/v2v/hsl_to_rgb.cc: Fix HSL values.
2009-09-21 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Add new algorithm for conversion HSL to RGB.
- * mln/fun/v2v/hsl_to_rgb.hh: Add new algorithm for conversion.
- * mln/value/rgb.hh: Enable convertion to HSL.
+ * mln/fun/v2v/hsl_to_rgb.hh: Add new algorithm for conversion.
+ * mln/value/rgb.hh: Enable convertion to HSL.
2009-09-21 Roland Levillain <roland(a)lrde.epita.fr>
@@ -333,25 +333,25 @@
2009-09-15 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
- Fix ISO C++ compilation problem : L101.
+ Fix ISO C++ compilation problem: L101.
- * mln/io/plot/load.hh (load) : Update source file.
+ * mln/io/plot/load.hh (load): Update source file.
2009-09-14 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Disable tiled2d image support (still experimental).
- * mln/io/magick/save.hh: Disable tiled2d image support.
+ * mln/io/magick/save.hh: Disable tiled2d image support.
2009-09-14 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Update RGB to HSL test, correct luminance values with fractions.
- * tests/fun/v2v/rgb_to_hsl.cc: Update luminance values with fractions.
+ * tests/fun/v2v/rgb_to_hsl.cc: Update luminance values with fractions.
2009-09-14 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Disable tiled2d image support (still experimental).
- * mln/io/magick/load.hh: Disable tiled2d image support.
- * tests/fun/v2v/rgb_to_hsl.cc: Update test for luminance value.
+ * mln/io/magick/load.hh: Disable tiled2d image support.
+ * tests/fun/v2v/rgb_to_hsl.cc: Update test for luminance value.
2009-09-10 Roland Levillain <roland(a)lrde.epita.fr>
@@ -428,10 +428,10 @@
2009-09-10 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Fix luminance value computation for RGB to HSL.
- * mln/fun/v2v/rgb_to_hsl.hh: Fix luminance value computation
+ * mln/fun/v2v/rgb_to_hsl.hh: Fix luminance value computation
to fit in [0,1].
- * mln/io/magick/load.hh: Minor update.
- * mln/io/magick/save.hh: Minor update.
+ * mln/io/magick/load.hh: Minor update.
+ * mln/io/magick/save.hh: Minor update.
2009-09-09 Roland Levillain <roland(a)lrde.epita.fr>
@@ -446,14 +446,14 @@
2009-09-09 Edwin Carlinet <carlinet(a)lrde.epita.fr>
Add mask-based max tree computation based on union-find algorithm.
- * morpho/tree/component_tree.hh: Some shortcuts to compute max
+ * morpho/tree/component_tree.hh: Some shortcuts to compute max
and min tree.
- * morpho/tree/compute_parent_dual_input.hh: New. Union-find based
+ * morpho/tree/compute_parent_dual_input.hh: New. Union-find based
algorithm for computing the dual input max tree.
- * morpho/tree/data.hh:
+ * morpho/tree/data.hh:
Comment debug instructions related to tree/graph usage.
Improve the tree diplay method.
- * morpho/tree/dual_input_tree.hh: Some shortcuts to compute
+ * morpho/tree/dual_input_tree.hh: Some shortcuts to compute
dual-input max and min tree.
2009-09-08 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
@@ -802,8 +802,8 @@
2009-08-17 Edwin Carlinet <carlinet(a)lrde.epita.fr>
Fix rvalue for tree methods and other minor fixes..
- * morpho/tree/compute_attribute_image.hh: Supress warning.
- * morpho/tree/data.hh: Fix rvalue and overload operator << for tree.
+ * morpho/tree/compute_attribute_image.hh: Supress warning.
+ * morpho/tree/data.hh: Fix rvalue and overload operator << for tree.
2009-08-17 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
@@ -1189,7 +1189,7 @@
Fix compilation issues with icc and meta accumulators.
- * mln/core/concept/meta_accumulator.hh: introduce a helper to help
+ * mln/core/concept/meta_accumulator.hh: introduce a helper to help
icc resolving routine return types.
2009-07-06 Guillaume Lazzara <guillaume.lazzara(a)lrde.epita.fr>
@@ -30176,7 +30176,7 @@
* mln/canvas/browsing/snake_vert.hh: New, snake vert browsing
canvas. This canvas browse all the point of an image 'input' like
- this :
+ this:
1 4 5
|| /\ ||
|| || ||
@@ -32399,7 +32399,7 @@
2008-09-05 Ugo Jardonnet <ugo.jardonnet(a)lrde.epita.fr>
- Minor fix : Translation Rotation.
+ Minor fix: Translation Rotation.
* mln/fun/x2x/translation.hh,
* mln/fun/x2x/rotation.hh: Fix wrong namespaces.
@@ -37218,7 +37218,7 @@
2008-04-03 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
- A fast point2d set : p_image2d.
+ A fast point2d set: p_image2d.
* mln/core/p_image2d.hh: The new set.
* mln/core/p_image2d_piter.hh: To iter on it.
@@ -37646,7 +37646,7 @@
2008-03-19 Ugo Jardonnet <ugo.jardonnet(a)lrde.epita.fr>
- Icp : n dim, refactored, uses p_array, vec -> rounded point proc.
+ Icp: n dim, refactored, uses p_array, vec -> rounded point proc.
* mln/core/point.hh: Fix convertion to vec.
* mln/algebra/quat.hh: Fix namespace.
@@ -38289,7 +38289,7 @@
Binarization.
* mln/level/threshold.hh: Remove.
- * mln/fun/v2b: New directory : value to bool function.
+ * mln/fun/v2b: New directory: value to bool function.
* mln/fun/v2b/threshold.hh: value to bool threshold.
* mln/fun/v2v/threshold.hh: Remove.
* mln/binarization: New directory.
@@ -39023,7 +39023,7 @@
2008-01-17 Guillaume Duhamel <guillaume.duhamel(a)lrde.epita.fr>
Update graph.
- * mln/util/graph.hh: Fix : ordpair replace unsigned for edge.
+ * mln/util/graph.hh: Fix: ordpair replace unsigned for edge.
* mln/draw/mesh.hh: Apply this modification.
* mln/make/voronoi.hh: Fix comment.
@@ -39899,7 +39899,7 @@
2007-12-12 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
Add traits for rgb. Fix the test rgb_full.
- * mln/value/rgb.hh: Add traits :
+ * mln/value/rgb.hh: Add traits:
rgb<n> + rgb<n> -> rgb<n>
rgb<n> - rgb<n> -> rgb<n>
rgb<n> * scalar_ -> rgb<n>
@@ -41078,7 +41078,7 @@
* mln/value/int_u.hh: Replace argument type by (unsigned int)
when it was (int).
- (value_integer_::max()) : Replace card - 1 by mln_max(enc_) to avoid
+ (value_integer_::max()): Replace card - 1 by mln_max(enc_) to avoid
returning -1 for high quantized values.
* tests/io/ppm/ppm16.cc,
@@ -41091,7 +41091,7 @@
* mln/io/fits/load.hh: Remove debug.
* mln/io/pfm/load.hh,
- * mln/io/pfm/save.hh: Fix a bug : the last line wasn't read/written.
+ * mln/io/pfm/save.hh: Fix a bug: the last line wasn't read/written.
* tests/io/fits/Makefile.am: Remove spaces.
@@ -42210,7 +42210,7 @@
2008-01-17 Guillaume Duhamel <guillaume.duhamel(a)lrde.epita.fr>
Update graph.
- * mln/util/graph.hh: Fix : ordpair replace unsigned for edge.
+ * mln/util/graph.hh: Fix: ordpair replace unsigned for edge.
* mln/draw/mesh.hh: Apply this modification.
* mln/make/voronoi.hh: Fix comment.
@@ -43086,7 +43086,7 @@
2007-12-12 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
Add traits for rgb. Fix the test rgb_full.
- * mln/value/rgb.hh: Add traits :
+ * mln/value/rgb.hh: Add traits:
rgb<n> + rgb<n> -> rgb<n>
rgb<n> - rgb<n> -> rgb<n>
rgb<n> * scalar_ -> rgb<n>
@@ -44265,7 +44265,7 @@
* mln/value/int_u.hh: Replace argument type by (unsigned int)
when it was (int).
- (value_integer_::max()) : Replace card - 1 by mln_max(enc_) to avoid
+ (value_integer_::max()): Replace card - 1 by mln_max(enc_) to avoid
returning -1 for high quantized values.
* tests/io/ppm/ppm16.cc,
@@ -44278,7 +44278,7 @@
* mln/io/fits/load.hh: Remove debug.
* mln/io/pfm/load.hh,
- * mln/io/pfm/save.hh: Fix a bug : the last line wasn't read/written.
+ * mln/io/pfm/save.hh: Fix a bug: the last line wasn't read/written.
* tests/io/fits/Makefile.am: Remove spaces.
@@ -45039,7 +45039,7 @@
Review the mln/geom directory.
* mln/geom/seeds2tiling.hh: Clean dead code, update doc. Fixme for
- guillaume : Review the documentation.
+ guillaume: Review the documentation.
* mln/geom/seeds2tiling_with_chamfer.hh: likewise.
Add unit tests.
@@ -45374,7 +45374,7 @@
2007-11-13 Guillaume Duhamel <guillaume.duhamel(a)lrde.epita.fr>
- Fix queue : rename empty in is_empty and add method pop_front.
+ Fix queue: rename empty in is_empty and add method pop_front.
Rename empty in is_empty and add method pop_front, which
return the front element and pop the queue.
@@ -45540,7 +45540,7 @@
Desactivate set_of::operator<<.
* mln/core/internal/set_of.hh: (operator<<) Desactivate due to
- an ambiguity with Point_set::operator<<. QUESTION for theo : Can I
+ an ambiguity with Point_set::operator<<. QUESTION for theo: Can I
remove it?
2007-11-06 Guillaume Duhamel <guillaume.duhamel(a)lrde.epita.fr>
@@ -45669,7 +45669,7 @@
Add functon which display a binary image from a FLLT branch.
* mln/util/tree_to_image.hh:
- (display_branch(const Image<J>& ima_, node<I>* node)) :
+ (display_branch(const Image<J>& ima_, node<I>* node)):
Take a node and compute its binary image from set_p of FLLT
and display this image.
@@ -45734,8 +45734,8 @@
Add debug display tools for fllt.
- * mln/util/tree_to_image.hh: Add functions :
- (display_set(const Image<J>& ima_, set_p<P>& s)) :
+ * mln/util/tree_to_image.hh: Add functions:
+ (display_set(const Image<J>& ima_, set_p<P>& s)):
display set_p with ima_ domain into a binary image.
(display_tree_rec(const Image<J>& ima_, node<T>* node, int level))
Recursive function of ...
@@ -46795,7 +46795,7 @@
* mln/core/point.hh: Fix to respect homogeneous vector handling.
* mln/fun/internal/x2x_impl.hh: Rename as ...
* mln/fun/internal/x2x_linear_impl.hh: ...this
- (operator()) : Take vec and return vec.
+ (operator()): Take vec and return vec.
2007-10-12 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
@@ -46891,7 +46891,7 @@
* mln/value/graylevel.hh: Re add operator=(int)
* tests/value_int_u8.cc: More tests.
- * tests/value_graylevel.cc: Likewise. FIXME : to augment.
+ * tests/value_graylevel.cc: Likewise. FIXME: to augment.
2007-10-11 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
@@ -47287,7 +47287,7 @@
2007-10-09 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
- Improve hexagonal images. Fixme : doesn't work properly now.
+ Improve hexagonal images. Fixme: doesn't work properly now.
* mln/debug/println.hh: Println for hexa images.
@@ -47310,7 +47310,7 @@
2007-10-09 Simon Nivault <simon.nivault(a)lrde.epita.fr>
- Refactoring : move mln/core/win to mln/win.
+ Refactoring: move mln/core/win to mln/win.
* mln/core/win/backdiag2d.hh,
* mln/core/win/cube3d.hh,
* mln/core/win/diag2d.hh,
@@ -47614,7 +47614,7 @@
2007-10-08 Guillaume Duhamel <guillaume.duhamel(a)lrde.epita.fr>
- Move color_sub from sandbox into color_pretty in a new folder : display.
+ Move color_sub from sandbox into color_pretty in a new folder: display.
* mln/display/color_pretty.hh: New.
* mln/display: New folder for display.
@@ -47638,7 +47638,7 @@
* mln/make/box2d_h.hh: New.
* mln/make/dpoint2d_h.hh: New.
* mln/make/point2d_h.hh: New.
- * tests/hexa.cc: New, Fixme : write more tests.
+ * tests/hexa.cc: New, Fixme: write more tests.
2007-10-08 Thierry Geraud <thierry.geraud(a)lrde.epita.fr>
@@ -48846,8 +48846,8 @@
2007-09-26 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
- Add plain image. FIXME : doesn't compile because of a error in init (called by
- clone).
+ Add plain image. FIXME: doesn't compile because of a error in
+ init (called by clone).
* mln/core/plain.hh: New.
* tests/plain.cc: New.
@@ -49619,7 +49619,7 @@
loading of ppm 8/16 bits format done
* mln/value/rgb.hh:
- To fix : we can't apply level:transform on rgb images
+ To fix: we can't apply level:transform on rgb images
convert_< rgb8 > could be one part of the problem.
* mln/value/rgb16.hh:
diff --git a/milena/sandbox/ChangeLog b/milena/sandbox/ChangeLog
index 6c9c7d3..797fa7b 100644
--- a/milena/sandbox/ChangeLog
+++ b/milena/sandbox/ChangeLog
@@ -1,15 +1,15 @@
2009-09-24 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Add benchmark for disk-mapped image and work for color types.
- * fabien/igr/color/find_color.cc: Find green color in an image.
- * fabien/mln/core/image/disk_ima.hh: Implement disk-mapped image.
- * fabien/mln/io/pnm/load_disk_ima.hh: Implement loading of disk-
+ * fabien/igr/color/find_color.cc: Find green color in an image.
+ * fabien/mln/core/image/disk_ima.hh: Implement disk-mapped image.
+ * fabien/mln/io/pnm/load_disk_ima.hh: Implement loading of disk-
mapped image from a PNM file.
- * fabien/tests/core/image/bench.sh: New script for benchmarking
+ * fabien/tests/core/image/bench.sh: New script for benchmarking
disk-mapped image and tiled image.
- * fabien/mln/test/conversion.hh: Implement test for evaluation of
+ * fabien/mln/test/conversion.hh: Implement test for evaluation of
type conversion.
- * fabien/tests/test/conversion.cc: Test evalution of type conversion.
+ * fabien/tests/test/conversion.cc: Test evalution of type conversion.
2009-09-24 Roland Levillain <roland(a)lrde.epita.fr>
@@ -52,67 +52,64 @@
Prepare demo for theo and questions for guillaume.
Rename fraction directory into frac directory.
-
- * green/doc/examples/fraction/frac.cc : Delete.
- * green/doc/examples/fraction/frac.hh : Delete.
- * green/doc/examples/fraction/gcd.hh : Delete
- * green/doc/examples/fraction/sign_prod.hh : Delete.
-
- * green/doc/examples/frac/frac.cc : New.
- * green/doc/examples/frac/frac.hh : New.
- * green/doc/examples/frac/gcd.hh : New.
- * green/doc/examples/frac/sign_prod.hh : New.
- * green/doc/examples/frac/Makefile.am : New.
+
+ * green/doc/examples/fraction/frac.cc: Delete.
+ * green/doc/examples/fraction/frac.hh: Delete.
+ * green/doc/examples/fraction/gcd.hh: Delete
+ * green/doc/examples/fraction/sign_prod.hh: Delete.
+
+ * green/doc/examples/frac/frac.cc: New.
+ * green/doc/examples/frac/frac.hh: New.
+ * green/doc/examples/frac/gcd.hh: New.
+ * green/doc/examples/frac/sign_prod.hh: New.
+ * green/doc/examples/frac/Makefile.am: New.
Collect some tmp results.
-
+
* green/mln/io/plot/save_histo_sh.hh
- (save_histo_sh<2d>) : Comment method.
- * green/mln/mln/accu/stat/histo1d.hh
- : Update documentation.
- * green/mln/mln/accu/stat/histo3d_rgb.hh
- : Update documentation.
- * green/mln/mln/accu/stat/histo3d_hsl.hh
- : Update documentation.
+ (save_histo_sh<2d>): Comment method.
+ * green/mln/mln/accu/stat/histo1d.hh: Update documentation.
+ * green/mln/mln/accu/stat/histo3d_rgb.hh: Update documentation.
+ * green/mln/mln/accu/stat/histo3d_hsl.hh: Update documentation.
* green/mln/tests/accu/stat/histo1d/histo1d.cc
- (test_8bits_integration, main) : Comment unused code, save tmp results.
- (test_8bits_operator_equal) : Test infer "!=" operator.
+ (test_8bits_integration, main): Comment unused code, save tmp results.
+ (test_8bits_operator_equal): Test infer "!=" operator.
* green/mln/tests/accu/stat/histo3d_rgb/histo3d_rgb.cc
- (test_integration, main) : Comment unused code, save tmp results.
+ (test_integration, main): Comment unused code, save tmp results.
* green/mln/tests/accu/stat/histo3d_hsl/histo3d_hsl.cc
- (test_integration, main) : Comment unused code, save tmp results.
+ (test_integration, main): Comment unused code, save tmp results.
2009-09-22 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Adapt styles. Need some 2d code.
-
- * green/mln/io/plot/save_histo_sh.hh (save_histo_sh<2d>) : New func.
+
+ * green/mln/io/plot/save_histo_sh.hh (save_histo_sh<2d>): New func.
2009-09-22 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Fix bug in histo3d_hsl count method.
-
- * green/mln/accu/stat/histo3d_hsl.hh (take) : Fix bug.
+
+ * green/mln/accu/stat/histo3d_hsl.hh (take): Fix bug.
* green/tests/accu/stat/histo3d_hsl/histo3d_hsl.cc
(count_histo, mean_histo, var_histo, test_integration): Fix bug.
2009-09-22 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Put the basis of a general gnuplot shell export function.
-
- * green/mln/io/plot/save_image_sh.hh : New library file.
- * green/tests/io/plot/save_image_sh : New directory.
- * green/tests/io/plot/save_image_sh/Makefile : New Makefile.
- * green/tests/io/plot/save_image_sh/save_image_sh.cc : New unit tests.
+
+ * green/mln/io/plot/save_image_sh.hh: New library file.
+ * green/tests/io/plot/save_image_sh: New directory.
+ * green/tests/io/plot/save_image_sh/Makefile: New Makefile.
+ * green/tests/io/plot/save_image_sh/save_image_sh.cc: New unit tests.
2009-09-21 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Add disk_ima test, improve HSL operations.
- * fabien/igr/color/find_color.cc: Add operations on HSL values.
- * fabien/mln/core/image/disk_ima.hh: Implement an image directly
+ * fabien/igr/color/find_color.cc: Add operations on HSL values.
+ * fabien/mln/core/image/disk_ima.hh: Implement an image directly
mapped on disk.
- * fabien/tests/core/image/Makefile: Add `disk_ima' target.
- * fabien/tests/core/image/disk_ima.cc: New test file for the
+ * fabien/tests/core/image/Makefile: Add `disk_ima' target.
+ * fabien/tests/core/image/disk_ima.cc: New test file for the
disk_ima class.
2009-09-18 Roland Levillain <roland(a)lrde.epita.fr>
@@ -132,24 +129,24 @@
2009-09-17 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Fix index value bug.
- * fabien/mln/core/image/cache.hh: Fix index value bug.
- * fabien/tests/core/image/tiled2d.cc: Minor update.
+ * fabien/mln/core/image/cache.hh: Fix index value bug.
+ * fabien/tests/core/image/tiled2d.cc: Minor update.
2009-09-16 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Implement basic LRU cache algorithm.
- * fabien/mln/core/image/cache.hh: Implement basic LRU cache
+ * fabien/mln/core/image/cache.hh: Implement basic LRU cache
algorithm.
- * fabien/tests/core/image/tiled2d.cc: Minor update.
+ * fabien/tests/core/image/tiled2d.cc: Minor update.
2009-09-16 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Add experimental cache support in 2D tiled image.
- * fabien/mln/core/image/cache.hh: Implement cache management.
- * fabien/mln/core/image/page.hh: Implement page management.
- * fabien/mln/core/image/tiled2d.hh: Add cache management.
- * fabien/tests/core/image/Makefile: Minor update.
- * fabien/tests/core/image/tiled2d.cc: Minor update.
+ * fabien/mln/core/image/cache.hh: Implement cache management.
+ * fabien/mln/core/image/page.hh: Implement page management.
+ * fabien/mln/core/image/tiled2d.hh: Add cache management.
+ * fabien/tests/core/image/Makefile: Minor update.
+ * fabien/tests/core/image/tiled2d.cc: Minor update.
2009-09-15 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
@@ -164,31 +161,31 @@
2009-09-14 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Fix bug in histo3d_rgb (parameters'order in Point's constructor)
-
+
* green/mln/accu/stat/histo3d_rgb.hh
- (take) : Fix point's call.
+ (take): Fix point's call.
* green/tests/accu/stat/histo3d_rgb/histo3d_rgb.cc
- (conv) : Delete func.
+ (conv): Delete func.
* green/tests/accu/stat/histo3d_rgb/histo3d_rgb.cc
- (mean_histo, var_histo2) : Update func.
+ (mean_histo, var_histo2): Update func.
2009-09-14 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Move stats directory in doc/examples.
-
- * green/doc/examples/stats : New directory.
- * green/doc/examples/stats/Makefile.am : Copy makefile.
- * green/doc/examples/stats/stats.cc : Copy source file.
-
- * green/stats/stats.cc : Remove source file.
- * green/stats/Makefile.am : Remove makefile.
- * green/stats : Remove directory.
+
+ * green/doc/examples/stats: New directory.
+ * green/doc/examples/stats/Makefile.am: Copy makefile.
+ * green/doc/examples/stats/stats.cc: Copy source file.
+
+ * green/stats/stats.cc: Remove source file.
+ * green/stats/Makefile.am: Remove makefile.
+ * green/stats: Remove directory.
2009-09-13 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Save work in progress for histo and hsl. Everything is updated.
- * green/mln/accu/stat/histo3d_hsl.hh :Update library file.
+ * green/mln/accu/stat/histo3d_hsl.hh:Update library file.
* green/tests/accu/stat/histo3d_hsl/histo3d_hsl.cc:Update unitary test.
@@ -196,213 +193,213 @@
Delete obsolete sources.
- * green/mln/fun/x2v/sampler.hh : Delete obsolete library file.
- * green/mln/fun/x2v : Delete directory.
+ * green/mln/fun/x2v/sampler.hh: Delete obsolete library file.
+ * green/mln/fun/x2v: Delete directory.
2009-09-11 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Save work in progress for histo and hsl (interpolation part).
- * green/mln/fun/x2v : New directory.
- * green/mln/fun/x2v/sampler.hh : New library file.
+ * green/mln/fun/x2v: New directory.
+ * green/mln/fun/x2v/sampler.hh: New library file.
2009-09-11 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Save work in progress for histo and hsl.
- * green/mln/accu/stat/histo3d_hsl.hh : New library file.
+ * green/mln/accu/stat/histo3d_hsl.hh: New library file.
- * green/tests/accu/stat/histo3d_hsl : New directory.
- * green/tests/accu/stat/histo3d_hsl/Makefile.am : New makefile.
- * green/tests/accu/stat/histo3d_hsl/histo3d_hsl.cc : New source file.
+ * green/tests/accu/stat/histo3d_hsl: New directory.
+ * green/tests/accu/stat/histo3d_hsl/Makefile.am: New makefile.
+ * green/tests/accu/stat/histo3d_hsl/histo3d_hsl.cc: New source file.
2009-09-11 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Do some refactoring in green's sandbox.
- * green/doc/examples : New directory.
+ * green/doc/examples: New directory.
Move hello_world directory in doc/examples.
- * green/doc/examples/hello_world : New directory.
- * green/doc/examples/hello_world/Makefile.am : Copy makefile.
- * green/doc/examples/hello_world/hellow_world.cc : Copy source file.
- * green/doc/examples/hello_world/print.cc : Copy source file.
+ * green/doc/examples/hello_world: New directory.
+ * green/doc/examples/hello_world/Makefile.am: Copy makefile.
+ * green/doc/examples/hello_world/hellow_world.cc: Copy source file.
+ * green/doc/examples/hello_world/print.cc: Copy source file.
- * green/hello_world/hello_world.cc : Remove source file.
- * green/hello_world/print.cc : Remove source file.
- * green/hello_world/Makefile.am : Remove makefile.
- * green/hello_world : Remove directory.
+ * green/hello_world/hello_world.cc: Remove source file.
+ * green/hello_world/print.cc: Remove source file.
+ * green/hello_world/Makefile.am: Remove makefile.
+ * green/hello_world: Remove directory.
Move hello_milena directory in doc/examples.
- * green/doc/exampleshello_milena : New directory.
- * green/doc/exampleshello_milena/Makefile.am : Copy makefile.
- * green/doc/examples/hello_milena/hello_milena.cc : Copy source file.
+ * green/doc/exampleshello_milena: New directory.
+ * green/doc/exampleshello_milena/Makefile.am: Copy makefile.
+ * green/doc/examples/hello_milena/hello_milena.cc: Copy source file.
- * green/hello_milena/hello_milena.cc : Remove source file.
- * green/hello_milena/Makefile.am : Remove makefile.
- * green/hello_milena : Remove directory.
+ * green/hello_milena/hello_milena.cc: Remove source file.
+ * green/hello_milena/Makefile.am: Remove makefile.
+ * green/hello_milena: Remove directory.
Move learn_milena directory in doc/examples.
- * green/doc/examples/learn_milena : New directory.
- * green/doc/examples/learn_milena/Makefile.am : Copy makefile.
- * green/doc/examples/learn_milena/learn_milena.cc : Copy source file.
+ * green/doc/examples/learn_milena: New directory.
+ * green/doc/examples/learn_milena/Makefile.am: Copy makefile.
+ * green/doc/examples/learn_milena/learn_milena.cc: Copy source file.
- * green/learn_milena/learn_milena.cc : Remove source file.
- * green/learn_milena/Makefile.am : Remove makefile.
- * green/learn_milena : Remove directory.
+ * green/learn_milena/learn_milena.cc: Remove source file.
+ * green/learn_milena/Makefile.am: Remove makefile.
+ * green/learn_milena: Remove directory.
Move otsu directory in doc/examples.
- * green/doc/examples/otsu : New directory.
- * green/doc/examples/otsu/Makefile.am : Copy makefile.
- * green/doc/examples/otsu/otsu.cc : Copy source file.
+ * green/doc/examples/otsu: New directory.
+ * green/doc/examples/otsu/Makefile.am: Copy makefile.
+ * green/doc/examples/otsu/otsu.cc: Copy source file.
- * green/otsu/otsu.cc : Remove source file.
- * green/otsu/Makefile.am : Remove makefile.
- * green/otsu : Remove directory.
+ * green/otsu/otsu.cc: Remove source file.
+ * green/otsu/Makefile.am: Remove makefile.
+ * green/otsu: Remove directory.
Move fraction directory in doc/examples.
- * green/doc/examples/fraction : Remove directory.
- * green/doc/examples/fraction/Makefile.am : Remove makefile.
- * green/doc/examples/fraction/frac.cc : Remove source file.
- * green/doc/examples/fraction/frac.hh : Remove source file.
- * green/doc/examples/fraction/sign_prod.hh : Remove source file.
- * green/doc/examples/fraction/gcd.hh : Remove source file.
+ * green/doc/examples/fraction: Remove directory.
+ * green/doc/examples/fraction/Makefile.am: Remove makefile.
+ * green/doc/examples/fraction/frac.cc: Remove source file.
+ * green/doc/examples/fraction/frac.hh: Remove source file.
+ * green/doc/examples/fraction/sign_prod.hh: Remove source file.
+ * green/doc/examples/fraction/gcd.hh: Remove source file.
- * green/fraction/frac.cc : Remove source file.
- * green/fraction/frac.hh : Remove source file.
- * green/fraction/sign_prod.hh : Remove source file.
- * green/fraction/gcd.hh : Remove source file.
- * green/fraction/Makefile.am : Remove makefile.
- * green/fraction : Remove directory.
+ * green/fraction/frac.cc: Remove source file.
+ * green/fraction/frac.hh: Remove source file.
+ * green/fraction/sign_prod.hh: Remove source file.
+ * green/fraction/gcd.hh: Remove source file.
+ * green/fraction/Makefile.am: Remove makefile.
+ * green/fraction: Remove directory.
Add A new example in doc/examples.
- * green/doc/examples/accu_color : New directory.
- * green/doc/examples/accu_color/accu_color.cc : New source file.
+ * green/doc/examples/accu_color: New directory.
+ * green/doc/examples/accu_color/accu_color.cc: New source file.
2009-09-11 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Remove trailing spaces.
- * green/doc/formulae/formulae.tex : Correct file.
+ * green/doc/formulae/formulae.tex: Correct file.
2009-09-11 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Correct english writing in the documentation file.
- * green/doc/formulae/formulae.tex : Correct file.
+ * green/doc/formulae/formulae.tex: Correct file.
2009-09-10 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Try to fix order problem between points and vectors.
* green/tests/accu/stat/histo3d_rgb/histo3d_rgb.cc
- (var_histo, mean_histo) : Comment p.to_vec code.
+ (var_histo, mean_histo): Comment p.to_vec code.
2009-09-10 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Write down the basis of the quick tour summary documentation.
- * green/doc/quick_tour : New specific directory.
- * green/doc/quick_tour/quick_tour.tex : New documentation work.
+ * green/doc/quick_tour: New specific directory.
+ * green/doc/quick_tour/quick_tour.tex: New documentation work.
2009-09-10 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Write down 3d currently used formulaes.
- * green/doc : New documentation directory.
- * green/doc/formulae : New specific directory.
- * green/doc/formulae/formulae.tex : New recipe of 3d formulae.
+ * green/doc: New documentation directory.
+ * green/doc/formulae: New specific directory.
+ * green/doc/formulae/formulae.tex: New recipe of 3d formulae.
2009-09-09 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Fix bugs an compilation problem on histo3d_rgb source code.
* green/tests/accu/stat/histo3d_rgb/histo3d_rgb.cc
- (test_integration) : Manage conversion between rgb and vector.
+ (test_integration): Manage conversion between rgb and vector.
2009-09-07 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Work with histogram as image 3d on rgb color space.
- * green/tests/accu/stat/histo3d_rgb : New directory.
- * green/tests/accu/stat/histo3d_rgb/Makefile.am : New makefile.
- * green/tests/accu/stat/histo3d_rgb/histo3d_rgb.cc : New unitary tests.
- * green/mln/accu/stat/histo3d_rgb/histo3d_rgb.hh : New library code.
- * green/mln/fun/v2v/rgb8_to_rgbn.hh : New converting fun.
+ * green/tests/accu/stat/histo3d_rgb: New directory.
+ * green/tests/accu/stat/histo3d_rgb/Makefile.am: New makefile.
+ * green/tests/accu/stat/histo3d_rgb/histo3d_rgb.cc: New unitary tests.
+ * green/mln/accu/stat/histo3d_rgb/histo3d_rgb.hh: New library code.
+ * green/mln/fun/v2v/rgb8_to_rgbn.hh: New converting fun.
2009-09-07 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Prepare unitary test with histogram 2d.
- * green/tests/accu/stat/histo2d : New directory.
- * green/tests/accu/stat/histo2d/Makefile.am : New makefile.
- * green/tests/accu/stat/histo2d/gaussian2d.sh : New calibrating tool.
+ * green/tests/accu/stat/histo2d: New directory.
+ * green/tests/accu/stat/histo2d/Makefile.am: New makefile.
+ * green/tests/accu/stat/histo2d/gaussian2d.sh: New calibrating tool.
2009-09-07 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Make some test on 14 bits grayscale image.
- * green/mln/accu/stat/histo1d/histo1d.hh : Improve documentation.
+ * green/mln/accu/stat/histo1d/histo1d.hh: Improve documentation.
* green/tests/accu/stat/histo1d/histo1d.cc
- (test_14bits_classifying) : Test gausian filtering.
- * green/mln/io/plot/save_histo_sh.hh : Test new gnuplot style.
+ (test_14bits_classifying): Test gausian filtering.
+ * green/mln/io/plot/save_histo_sh.hh: Test new gnuplot style.
2009-09-07 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Improve histo1d testing with 14 bits grayscale image.
- * green/mln/fun : New directory.
- * green/mln/fun/v2v : New directory.
- * green/mln/fun/v2v/int_u16_to_int_u14.hh : New subsampling function.
- * green/tests/accu/stat/histo1d/histo1d.cc : Improve unitary tests.
+ * green/mln/fun: New directory.
+ * green/mln/fun/v2v: New directory.
+ * green/mln/fun/v2v/int_u16_to_int_u14.hh: New subsampling function.
+ * green/tests/accu/stat/histo1d/histo1d.cc: Improve unitary tests.
2009-09-07 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Delete old k_mean source location.
- * green/k_mean/Makefile.am : Remove old makefile.
- * green/k_mean/k_mean.hh : Remove old library code.
- * green/k_mean/k_mean.cc : Remove old unitary tests.
- * green/k_mean : Remove old directory.
+ * green/k_mean/Makefile.am: Remove old makefile.
+ * green/k_mean/k_mean.hh: Remove old library code.
+ * green/k_mean/k_mean.cc: Remove old unitary tests.
+ * green/k_mean: Remove old directory.
2009-09-07 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Delete old histo1d source location.
- * green/histo1d/Makefile.am : Remove old makefile.
- * green/histo1d/gaussian.sh : Remove old tools.
- * green/histo1d/histo1d.hh : Remove old library code.
- * green/histo1d/histo1d.cc : Remove old unitary tests.
- * green/histo1d/mp00082c_50p.pgm : Remove old image.
- * green/histo1d/save_sh.hh : Remove old library code.
- * green/histo1d : Remove old directory.
+ * green/histo1d/Makefile.am: Remove old makefile.
+ * green/histo1d/gaussian.sh: Remove old tools.
+ * green/histo1d/histo1d.hh: Remove old library code.
+ * green/histo1d/histo1d.cc: Remove old unitary tests.
+ * green/histo1d/mp00082c_50p.pgm: Remove old image.
+ * green/histo1d/save_sh.hh: Remove old library code.
+ * green/histo1d: Remove old directory.
2009-09-07 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Do some refactoring for best future olena integration.
- * green/mln : New dev directory.
- * green/mln/accu : New directory.
- * green/mln/accu/stat : New directory.
- * green/mln/accu/stat/histo1d.hh : New histo1d location.
- * green/mln/img_path.hh : New image path defines.
- * green/mln/io : New directory.
- * green/mln/io/plot : New directory.
- * green/mln/io/plot/save_histo_sh : New saving func for histo.
- * green/tests : New unitary test directory.
- * green/tests/accu : New directory.
- * green/tests/accu/stat : New directory.
- * green/tests/accu/stat/histo1d : New histo1d test directory.
+ * green/mln: New dev directory.
+ * green/mln/accu: New directory.
+ * green/mln/accu/stat: New directory.
+ * green/mln/accu/stat/histo1d.hh: New histo1d location.
+ * green/mln/img_path.hh: New image path defines.
+ * green/mln/io: New directory.
+ * green/mln/io/plot: New directory.
+ * green/mln/io/plot/save_histo_sh: New saving func for histo.
+ * green/tests: New unitary test directory.
+ * green/tests/accu: New directory.
+ * green/tests/accu/stat: New directory.
+ * green/tests/accu/stat/histo1d: New histo1d test directory.
* green/tests/accu/stat/histo1d/Makefile.am: New makefle.
- * green/tests/accu/stat/histo1d/histo1d.cc : New unit tests location.
+ * green/tests/accu/stat/histo1d/histo1d.cc: New unit tests location.
* green/tests/accu/stat/histo1d/gaussian.sh: New tools to test filter.
@@ -410,39 +407,39 @@
Do some refactoring for best future olena integration.
- * green/mln : New dev directory.
- * green/mln/clustering : New directory.
- * green/mln/clustering/k_mean.hh : New k_mean source location.
- * green/tests : New unitary test directory.
- * green/tests/clustering : New directory.
- * green/tests/clustering/k_mean : New k_mean test directory.
+ * green/mln: New dev directory.
+ * green/mln/clustering: New directory.
+ * green/mln/clustering/k_mean.hh: New k_mean source location.
+ * green/tests: New unitary test directory.
+ * green/tests/clustering: New directory.
+ * green/tests/clustering/k_mean: New k_mean test directory.
* green/tests/clustering/k_mean/Makefile.am: New makefle.
- * green/tests/clustering/k_mean/k_mean.cc : New unit tests location.
+ * green/tests/clustering/k_mean/k_mean.cc: New unit tests location.
2009-09-07 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Fix output dimensions.
- * fabien/mln/upsampling/hq4x.hh: Fix output dimensions.
+ * fabien/mln/upsampling/hq4x.hh: Fix output dimensions.
2009-09-07 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Add HQ4x algorithm, change license and add credit to original author.
- * fabien/mln/upsampling/hq2x.hh: Change license and add credit to
+ * fabien/mln/upsampling/hq2x.hh: Change license and add credit to
original author.
- * fabien/mln/upsampling/hq3x.hh: Change license and add credit to
+ * fabien/mln/upsampling/hq3x.hh: Change license and add credit to
original author.
- * fabien/mln/upsampling/hq4x.hh: Implement HQ4x algorithm, still
+ * fabien/mln/upsampling/hq4x.hh: Implement HQ4x algorithm, still
not working properly.
- * fabien/tests/upsampling/Makefile: Add target `hq4x'.
- * fabien/tests/upsampling/hq4x.cc: New test file for hq4x().
+ * fabien/tests/upsampling/Makefile: Add target `hq4x'.
+ * fabien/tests/upsampling/hq4x.cc: New test file for hq4x().
2009-09-04 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Implement HQ2x upscaling algorithm.
- * fabien/mln/upsampling/hq2x.hh: Implement HQ2x algorithm.
- * fabien/mln/upsampling/hq3x.hh: Remove dead code.
- * fabien/tests/upsampling/Makefile: Add `hq2x' target.
- * fabien/tests/upsampling/hq2x.cc: New test file for HQ2x.
+ * fabien/mln/upsampling/hq2x.hh: Implement HQ2x algorithm.
+ * fabien/mln/upsampling/hq3x.hh: Remove dead code.
+ * fabien/tests/upsampling/Makefile: Add `hq2x' target.
+ * fabien/tests/upsampling/hq2x.cc: New test file for HQ2x.
2009-09-04 Roland Levillain <roland(a)lrde.epita.fr>
@@ -498,19 +495,19 @@
2009-09-04 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Fix red component bug.
- * fabien/mln/upsampling/hq3x.hh: Fix red component bug, still not
+ * fabien/mln/upsampling/hq3x.hh: Fix red component bug, still not
working properly because of blue artifacts.
2009-09-04 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Add implementation of HQ3x algorithm.
- * fabien/mln/core/image/magick_tiled2d.hh: Small update.
- * fabien/mln/core/image/tiled2d.hh: Small update.
- * fabien/mln/upsampling/hq3x.hh: Implement HQ3x algorithm, not working
+ * fabien/mln/core/image/magick_tiled2d.hh: Small update.
+ * fabien/mln/core/image/tiled2d.hh: Small update.
+ * fabien/mln/upsampling/hq3x.hh: Implement HQ3x algorithm, not working
properly with colors.
- * fabien/tests/core/image/tiled2d.cc: Update test.
- * fabien/tests/upsampling/Makefile: New Makefile for target hq3x.
- * fabien/tests/upsampling/hq3x.cc: New test for algorithm HQ3x.
+ * fabien/tests/core/image/tiled2d.cc: Update test.
+ * fabien/tests/upsampling/Makefile: New Makefile for target hq3x.
+ * fabien/tests/upsampling/hq3x.cc: New test for algorithm HQ3x.
2009-08-31 Roland Levillain <roland(a)lrde.epita.fr>
@@ -523,59 +520,59 @@
Write the kmean main loop.
- * green/k_mean/k_mean.hh (update_variance) : Fix bug.
- * green/k_mean/k_mean.hh (update_center) : Fix bug.
- * green/k_mean/k_mean.hh (min_row) : New min func.
- * green/k_mean/k_mean.hh (min) : Remove old min func.
- * green/k_mean/k_mean.hh (loop) : New main func.
- * green/k_mean/k_mean.hh : Refactoring.
- * green/k_mean/k_mean.cc (test_loop) : New unitary test.
- * green/k_mean/k_mean.cc (main) : New test calls.
+ * green/k_mean/k_mean.hh (update_variance): Fix bug.
+ * green/k_mean/k_mean.hh (update_center): Fix bug.
+ * green/k_mean/k_mean.hh (min_row): New min func.
+ * green/k_mean/k_mean.hh (min): Remove old min func.
+ * green/k_mean/k_mean.hh (loop): New main func.
+ * green/k_mean/k_mean.hh: Refactoring.
+ * green/k_mean/k_mean.cc (test_loop): New unitary test.
+ * green/k_mean/k_mean.cc (main): New test calls.
2009-08-28 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Improve and continue testing the kmean clustering code.
- * green/k_mean/k_mean.hh (get_distance) : New accessor method.
- * green/k_mean/k_mean.hh (get_group) : New accessor method.
- * green/k_mean/k_mean.hh (get_variance) : New accessor method.
- * green/k_mean/k_mean.hh (update_variance) : New compute method.
- * green/k_mean/k_mean.hh (div_col) : New tool method.
- * green/k_mean/k_mean.hh (sum_row) : New tool method.
- * green/k_mean/k_mean.hh (k_mean) : Add variance code.
- * green/k_mean/k_mean.hh (~k_mean) : Add variance code.
- * green/k_mean/k_mean.hh (update_center) : Fix bugs.
- * green/k_mean/k_mean.hh (update_distance) : New debugging code.
- * green/k_mean/k_mean.cc (#define) : New macros.
- * green/k_mean/k_mean.cc (rgb8_to_4colors) : Comment debugging code.
- * green/k_mean/k_mean.cc (is_equivalent) : Adapt the signature.
- * green/k_mean/k_mean.cc (test_init_point) : Adapt the k_mean call.
- * green/k_mean/k_mean.cc (is_equal) : Remove old function.
- * green/k_mean/k_mean.cc (set_point) : New assignment func.
- * green/k_mean/k_mean.cc (fake_init_point) : New initializat° func.
- * green/k_mean/k_mean.cc (is_equal) : New predicate.
- * green/k_mean/k_mean.cc (test_init_center) : New unitary test.
- * green/k_mean/k_mean.cc (set_center) : New assignment func.
- * green/k_mean/k_mean.cc (fake_init_center) : New initializat° func.
- * green/k_mean/k_mean.cc (dist) : New distance function.
+ * green/k_mean/k_mean.hh (get_distance): New accessor method.
+ * green/k_mean/k_mean.hh (get_group): New accessor method.
+ * green/k_mean/k_mean.hh (get_variance): New accessor method.
+ * green/k_mean/k_mean.hh (update_variance): New compute method.
+ * green/k_mean/k_mean.hh (div_col): New tool method.
+ * green/k_mean/k_mean.hh (sum_row): New tool method.
+ * green/k_mean/k_mean.hh (k_mean): Add variance code.
+ * green/k_mean/k_mean.hh (~k_mean): Add variance code.
+ * green/k_mean/k_mean.hh (update_center): Fix bugs.
+ * green/k_mean/k_mean.hh (update_distance): New debugging code.
+ * green/k_mean/k_mean.cc (#define): New macros.
+ * green/k_mean/k_mean.cc (rgb8_to_4colors): Comment debugging code.
+ * green/k_mean/k_mean.cc (is_equivalent): Adapt the signature.
+ * green/k_mean/k_mean.cc (test_init_point): Adapt the k_mean call.
+ * green/k_mean/k_mean.cc (is_equal): Remove old function.
+ * green/k_mean/k_mean.cc (set_point) : New assignment func.
+ * green/k_mean/k_mean.cc (fake_init_point): New initializat° func.
+ * green/k_mean/k_mean.cc (is_equal): New predicate.
+ * green/k_mean/k_mean.cc (test_init_center): New unitary test.
+ * green/k_mean/k_mean.cc (set_center): New assignment func.
+ * green/k_mean/k_mean.cc (fake_init_center): New initializat° func.
+ * green/k_mean/k_mean.cc (dist): New distance function.
* green/k_mean/k_mean.cc (test_update_distance): New unitary test.
- * green/k_mean/k_mean.cc (set_distance) : New assignment func.
- * green/k_mean/k_mean.cc (fake_init_distance) : New initializat° func.
- * green/k_mean/k_mean.cc (test_update_group) : New unitary test.
- * green/k_mean/k_mean.cc (set_group) : New assignment func.
- * green/k_mean/k_mean.cc (fake_update_group) : New initializat° func.
- * green/k_mean/k_mean.cc (test_update_center) : New unitary test.
- * green/k_mean/k_mean.cc (test_row) : Remove old function.
- * green/k_mean/k_mean.cc (test_col) : Remove old function.
- * green/k_mean/k_mean.cc (test_update_var) : New unitary test.
- * green/k_mean/k_mean.cc (main) : New test calls.
+ * green/k_mean/k_mean.cc (set_distance): New assignment func.
+ * green/k_mean/k_mean.cc (fake_init_distance): New initializat° func.
+ * green/k_mean/k_mean.cc (test_update_group): New unitary test.
+ * green/k_mean/k_mean.cc (set_group): New assignment func.
+ * green/k_mean/k_mean.cc (fake_update_group): New initializat° func.
+ * green/k_mean/k_mean.cc (test_update_center): New unitary test.
+ * green/k_mean/k_mean.cc (test_row): Remove old function.
+ * green/k_mean/k_mean.cc (test_col): Remove old function.
+ * green/k_mean/k_mean.cc (test_update_var): New unitary test.
+ * green/k_mean/k_mean.cc (main): New test calls.
2009-08-27 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Improve and test the kmean clustering code.
- * green/k_mean/k_mean.hh (get_center, get_point) : New accessors.
+ * green/k_mean/k_mean.hh (get_center, get_point): New accessors.
* green/k_mean/k_mean.cc (rgb8_to_4colors),
(print_color),
(fill_image_with_4colors),
@@ -583,22 +580,22 @@
(test_init_point),
(is_equal),
(is_center_initialized),
- (test_init_center) : New test functions.
+ (test_init_center): New test functions.
2009-08-26 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
New kmean clustering code.
- * green/k_mean : New directory.
- * green/k_mean/k_mean.hh : New source.
- * green/k_mean/k_mean.cc : New test file.
- * green/k_mean/Makefile.am : New makefile.
+ * green/k_mean: New directory.
+ * green/k_mean/k_mean.hh: New source.
+ * green/k_mean/k_mean.cc: New test file.
+ * green/k_mean/Makefile.am: New makefile.
2009-08-17 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Improve documentation.
- * green/histo1d/histo1d.hh : Improve documentation aspect.
+ * green/histo1d/histo1d.hh: Improve documentation aspect.
2009-08-17 Thierry Geraud <thierry.geraud(a)lrde.epita.fr>
@@ -609,9 +606,9 @@
2009-08-17 Edwin Carlinet <carlinet(a)lrde.epita.fr>
Some tries with segmentation using graph (still segfault)..
- * edwin/exec/score.hh: New.
- * edwin/exec/zi.cc,
- * edwin/exec/zi.hh:
+ * edwin/exec/score.hh: New.
+ * edwin/exec/zi.cc,
+ * edwin/exec/zi.hh:
Use min-tree based method instead of WST to group components.
2009-08-17 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
@@ -654,25 +651,25 @@
Test more accurately the histo1d class in image processing chain.
Try to isolate the background color of mp000082c_50p.pgm.
- * green/histo1d/Makefile.am : Update minor settings in Makefile.
- * green/histo1d/histo1d.hh : New C++ type.
- * green/histo1d/gaussian.sh : New GNUPLOT script to calibrate
+ * green/histo1d/Makefile.am: Update minor settings in Makefile.
+ * green/histo1d/histo1d.hh: New C++ type.
+ * green/histo1d/gaussian.sh: New GNUPLOT script to calibrate
gaussian filter.
* green/histo1d/save_sh.hh
- (save_sh) : Update some GNUPLOT style.
+ (save_sh): Update some GNUPLOT style.
* green/histo1d/histo1d.cc
- (test_classify) : New function.
- * green/histo1d/mp00082c_50p.pgm : New test scribo image.
+ (test_classify): New function.
+ * green/histo1d/mp00082c_50p.pgm: New test scribo image.
2009-08-12 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Write an histogram accumulator which the result is an image1d.
- * green/histo1d : New directory.
- * green/histo1d/Makefile.am : New Makefile.
- * green/histo1d/histo1d.hh : New C++ type.
- * green/histo1d/save_sh.hh : New gnuplot export routines.
- * green/histo1d/histo1d.cc : New unitary tests.
+ * green/histo1d: New directory.
+ * green/histo1d/Makefile.am: New Makefile.
+ * green/histo1d/histo1d.hh: New C++ type.
+ * green/histo1d/save_sh.hh: New gnuplot export routines.
+ * green/histo1d/histo1d.cc: New unitary tests.
2009-08-12 Fabien Freling <fabien.freling(a)lrde.epita.fr>
@@ -696,81 +693,81 @@
Integrate LRDE code writting rules in the Stats code.
- * green/Stats/Makefile.am : Remove Makefile.
- * green/Stats/Stats.cc : Remove source.
- * green/Stats : Remove directory.
+ * green/Stats/Makefile.am: Remove Makefile.
+ * green/Stats/Stats.cc: Remove source.
+ * green/Stats: Remove directory.
- * green/stats : New directory.
- * green/stats/Makefile.am : New Makefile.
- * green/stats/stats.cc : New source.
+ * green/stats: New directory.
+ * green/stats/Makefile.am: New Makefile.
+ * green/stats/stats.cc: New source.
2009-08-04 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Integrate LRDE code writting rules in the HelloMilena code.
- * green/LearnMilena/Makefile.am : Remove Makefile.
- * green/LearnMilena/LearnMilena.cc : Remove source.
- * green/LearnMilena : Remove directory.
+ * green/LearnMilena/Makefile.am: Remove Makefile.
+ * green/LearnMilena/LearnMilena.cc: Remove source.
+ * green/LearnMilena: Remove directory.
- * green/learn_milena : New directory.
- * green/learn_milena/Makefile.am : New Makefile.
- * green/learn_milena/learn_milena.cc : New source.
+ * green/learn_milena: New directory.
+ * green/learn_milena/Makefile.am: New Makefile.
+ * green/learn_milena/learn_milena.cc: New source.
2009-08-04 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Integrate LRDE code writting rules in the HelloMilena code.
- * green/HelloMilena/Makefile.am : Remove Makefile.
- * green/HelloMilena/HelloMilena.cc : Remove source.
- * green/HelloMilena : Remove directory.
+ * green/HelloMilena/Makefile.am: Remove Makefile.
+ * green/HelloMilena/HelloMilena.cc: Remove source.
+ * green/HelloMilena: Remove directory.
- * green/hello_milena : New directory.
- * green/hello_milena/Makefile.am : New Makefile.
- * green/hello_milena/hello_milena.cc : New source.
+ * green/hello_milena: New directory.
+ * green/hello_milena/Makefile.am: New Makefile.
+ * green/hello_milena/hello_milena.cc: New source.
2009-08-04 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Integrate LRDE code writting rules in the HelloWorld code.
- * green/HelloWorld/Makefile.am : Remove Makefile.
- * green/HelloWorld/HelloWorld.cc : Remove source.
- * green/HelloWorld/Print.cc : Remove source.
- * green/HelloWorld : Remove directory.
+ * green/HelloWorld/Makefile.am: Remove Makefile.
+ * green/HelloWorld/HelloWorld.cc: Remove source.
+ * green/HelloWorld/Print.cc: Remove source.
+ * green/HelloWorld: Remove directory.
- * green/hello_world : New directory.
- * green/hello_world/Makefile.am : New Makefile.
- * green/hello_world/hello_world.cc : New source.
- * green/hello_world/print.cc : New source.
+ * green/hello_world: New directory.
+ * green/hello_world/Makefile.am: New Makefile.
+ * green/hello_world/hello_world.cc: New source.
+ * green/hello_world/print.cc: New source.
2009-08-04 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Integrate LRDE code writting rules in my own otsu code.
- * green/Otsu/Makefile.am : Remove Makefile.
- * green/Otsu/Otsu.cc : Remove source.
- * green/Otsu : Remove directory.
+ * green/Otsu/Makefile.am: Remove Makefile.
+ * green/Otsu/Otsu.cc: Remove source.
+ * green/Otsu: Remove directory.
- * green/otsu : New directory.
- * green/otsu/Makefile.am : New Makefile.
- * green/otsu/otsu.cc : New source (substituate float by double).
+ * green/otsu: New directory.
+ * green/otsu/Makefile.am: New Makefile.
+ * green/otsu/otsu.cc: New source (substituate float by double).
2009-08-04 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Integrate LRDE code writting rules in the fraction c++ type.
- * green/Fraction/Makefile.am : Remove Makefile.
- * green/Fraction/main.cc : Remove source.
- * green/Fraction/frac.hh : Remove source.
- * green/Fraction/frac.cc : Remove source.
- * green/Fraction : Remove directory.
+ * green/Fraction/Makefile.am: Remove Makefile.
+ * green/Fraction/main.cc: Remove source.
+ * green/Fraction/frac.hh: Remove source.
+ * green/Fraction/frac.cc: Remove source.
+ * green/Fraction: Remove directory.
- * green/fraction : New directory.
- * green/fraction/Makefile.am : New Makefile.
- * green/fraction/sign_prod.hh : New source.
- * green/fraction/gcd.hh : New source.
- * green/fraction/frac.hh : New source.
- * green/fraction/frac.cc : New source.
+ * green/fraction: New directory.
+ * green/fraction/Makefile.am: New Makefile.
+ * green/fraction/sign_prod.hh: New source.
+ * green/fraction/gcd.hh: New source.
+ * green/fraction/frac.hh: New source.
+ * green/fraction/frac.cc: New source.
2009-08-03 Fabien Freling <fabien.freling(a)lrde.epita.fr>
@@ -800,16 +797,16 @@
Integration of the fraction type in the accumulators.
- * green/Fraction/frac.cc : Complete unary tests.
- * green/Fraction/frac.hh : Complete fraction type.
+ * green/Fraction/frac.cc: Complete unary tests.
+ * green/Fraction/frac.hh: Complete fraction type.
2009-07-28 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Learn how creating new types in milena (Fraction).
- * green/Fraction/Makefile.am : New Makefile.
- * green/Fraction/main.cc : New Unitary Tests.
- * green/Fraction/frac.hh : New Fraction type.
+ * green/Fraction/Makefile.am: New Makefile.
+ * green/Fraction/main.cc: New Unitary Tests.
+ * green/Fraction/frac.hh: New Fraction type.
2009-07-27 Thierry Geraud <thierry.geraud(a)lrde.epita.fr>
@@ -838,22 +835,22 @@
Correct warning on previous software
- * green/LearnMilena/LearnMilena.cc : Add () around operator |.
- * green/Otsu/Otsu.cc : Evict mln_VAR macro.
+ * green/LearnMilena/LearnMilena.cc: Add () around operator |.
+ * green/Otsu/Otsu.cc: Evict mln_VAR macro.
2009-07-23 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Learn to compute image statistics
- * green/Stats/Makefile.am : New.
- * green/Stats/Stats.cc : Compute histogram, variance and max.
+ * green/Stats/Makefile.am: New.
+ * green/Stats/Stats.cc: Compute histogram, variance and max.
2009-07-23 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Learn to reduce image domain while filling the image
- * green/LearnMilena/Makefile.am : New.
- * green/LearnMilena/LearnMilena.cc : Filling operator.
+ * green/LearnMilena/Makefile.am: New.
+ * green/LearnMilena/LearnMilena.cc: Filling operator.
2009-07-23 Edwin Carlinet <carlinet(a)lrde.epita.fr>
@@ -865,8 +862,8 @@
Small Demo with milena, it produces an HelloWorld pbm image.
- * green/HelloMilena/Makefile.am : New.
- * green/HelloMilena/HelloMilena.cc : Creating and saving image.
+ * green/HelloMilena/Makefile.am: New.
+ * green/HelloMilena/HelloMilena.cc: Creating and saving image.
2009-07-22 Edwin Carlinet <carlinet(a)lrde.epita.fr>
@@ -912,9 +909,9 @@
First test with git, test c++ install with HelloWorld program
- * green/HelloWorld/Makefile.am : Bypass .gitignore, New
+ * green/HelloWorld/Makefile.am: Bypass .gitignore, New
* green/HelloWorld/HelloWorld.cc: Write "HelloWorld" on CRT.
- * green/HelloWorld/Print.cc : Deported cout call
+ * green/HelloWorld/Print.cc: Deported cout call
2009-07-16 Edwin Carlinet <carlinet(a)lrde.epita.fr>
@@ -5952,7 +5949,7 @@
2008-12-06 Ugo Jardonnet <ugo.jardonnet(a)lrde.epita.fr>
- Add n_cmpt4 : version without util::set.
+ Add n_cmpt4: version without util::set.
* jardonnet/n_cmpt/n_cmpt3.hh: Minor fix for test.
* jardonnet/n_cmpt/n_cmpt3.cc: Add 1d test.
@@ -6598,7 +6595,7 @@
Add co-occurence matrix computing.
* nature/co_occurence.hh: New
- (mln::co_occurence) : compute co-occurence matrix.
+ (mln::co_occurence): compute co-occurence matrix.
* nature/mco.cc: New
Dummy test.
@@ -6654,7 +6651,7 @@
exactly one connected component of the object, and only one connected
component of the background
- Examples : ( | == object, - = background)
+ Examples: ( | == object, - = background)
- - |
| P | Here P is simple in the c4 and c8 case.
@@ -6687,17 +6684,17 @@
2008-10-29 Alexandre Abraham <abraham(a)lrde.epita.fr>
- INIM : nature filters and little bug fixes.
+ INIM: nature filters and little bug fixes.
* abraham/mln/trait: New.
* abraham/mln/trait/images.hh: New
- (mln::trait::default_image_morpher) : Adjust quant according
+ (mln::trait::default_image_morpher): Adjust quant according
to new value quant..
* abraham/mln/morpho/hit_or_miss.hh: New
- (mln::morpho::hit_or_miss) : First implementation of hit or
+ (mln::morpho::hit_or_miss): First implementation of hit or
miss algorithm.
* abraham/mln/level/transform.hh: New
- (mln::level::transform) : Add procedure.
+ (mln::level::transform): Add procedure.
* abraham/mln/core/image/thru.hh:
Temporary trait modification.
* abraham/mln/core/image/shell.hh:
@@ -6825,7 +6822,7 @@
* abraham/mln/core/image/thru.hh: .
* abraham/mln/core/image/shell.hh: Fix result value.
* abraham/mln/core/concept/meta_fun.hh:
- (mln::meta::impl) : now templated by return type (necessary to
+ (mln::meta::impl): now templated by return type (necessary to
typedef result).
* abraham/mln/fun/meta/red.hh: .
@@ -6886,7 +6883,7 @@
Clean.
* abraham/tests/fun/meta: New.
* abraham/tests/fun/meta/red.cc: New
- (mln::meta::red) : meta function to access red in rgb.
+ (mln::meta::red): meta function to access red in rgb.
* abraham/tests/core/image/thru_norm.cc: New
test for norm functor.
* abraham/tests/core/image/thru_v2v.cc: New
@@ -7325,7 +7322,7 @@
2008-09-17 Ugo Jardonnet <ugo.jardonnet(a)lrde.epita.fr>
- Sandbox : Update test on virtually transformed image.
+ Sandbox: Update test on virtually transformed image.
* jardonnet/virtual/access.hh: Update test.
* jardonnet/virtual/lena.pgm: Add test image.
@@ -7657,7 +7654,7 @@
Sandbox: ICP: Make icp stop if e_k < d_k (errors).
* jardonnet/test/icp_ref.cc: Fix p_array initialisation.
- * jardonnet/registration/icp_ref.hh (impl::icp) : Update :
+ * jardonnet/registration/icp_ref.hh (impl::icp): Update:
Stop if e_k < d_k.
2008-06-06 Thierry Geraud <thierry.geraud(a)lrde.epita.fr>
@@ -8033,9 +8030,9 @@
Add results about final_qk.
fun_k_cn_xn.ppm
- fun : final_qk v1 or v2
- k : nstddev == k * stdddev
- cn,xn : images from img/
+ fun: final_qk v1 or v2
+ k: nstddev == k * stdddev
+ cn,xn: images from img/
* jardonnet/test/final/final_qk_1.ppm: .
* jardonnet/test/final/final_qk_3.ppm: New.
@@ -8045,7 +8042,7 @@
2008-05-16 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
- * geraud/fllt.cc: FLLT : Finalize merge.
+ * geraud/fllt.cc: FLLT: Finalize merge.
2008-05-16 Etienne FOLIO <folio(a)lrde.epita.fr>
@@ -8067,7 +8064,7 @@
Add few results about final_qk.
- bunch of results : _1 and _2 means using stddev 1 or 2 times.
+ bunch of results: _1 and _2 means using stddev 1 or 2 times.
* jardonnet/test/final: New.
* jardonnet/test/final/final_qk_1.ppm: New.
@@ -8081,7 +8078,7 @@
2008-05-16 Ugo Jardonnet <jardonnet(a)lrde.epita.fr>
- Add functions on box : enlarge and bigger.
+ Add functions on box: enlarge and bigger.
* jardonnet/registration/tools.hh (enlarge,bigger): Add.
* jardonnet/test/icp.cc: Update: use enlarge and bigger.
@@ -8642,7 +8639,7 @@
Add red getter.
* vigouroux/cmy/fun.hh, vigouroux/hsi/fun.hh,
- * vigouroux/yiq/fun.hh, vigouroux/yuv/fun.hh :
+ * vigouroux/yiq/fun.hh, vigouroux/yuv/fun.hh:
New red getter.
* vigouroux/cmy/my_cmy.hh,
* vigouroux/hsi/my_hsi.hh,
@@ -8655,7 +8652,7 @@
* vigouroux/yuv/rgb_to_yuv.hh:
Added inheritance from function_v2v.
* vigouroux/cmy/test.cc, vigouroux/yiq/test.cc,
- * vigouroux/yuv/test.cc : New test.
+ * vigouroux/yuv/test.cc: New test.
* vigouroux/cmy/testfun.cc,
* vigouroux/yiq/testfun.cc,
* vigouroux/yuv/testfun.cc: New test.
@@ -8807,7 +8804,7 @@
2008-04-03 Ugo Jardonnet <ugo.jardonnet(a)lrde.epita.fr>
- Sandboc : ICP: Update check script (gprof).
+ Sandboc: ICP: Update check script (gprof).
* jardonnet/test/bench: Add info.
* jardonnet/test/icp_check.sh: Update testes.
@@ -8931,7 +8928,7 @@
2008-03-29 Ugo Jardonnet <jardonnet(a)lrde.epita.fr>
- Sandbox: ICP : projection::memo.
+ Sandbox: ICP: projection::memo.
* jardonnet/test/icp.cc: Update.
* jardonnet/test/check: Test projection techniques.
@@ -9019,7 +9016,7 @@
* garrigues/tiled_image2d/tiled_image2d.cc: Test the type with
a big image.
* garrigues/tiled_image2d/tiled_image2d.hh: Allocate enough
- space for the image. Fixme : some debug will be removed later.
+ space for the image. Fixme: some debug will be removed later.
2008-03-21 Michel Pellegrin <pellegrin(a)lrde.epita.fr>
@@ -9063,7 +9060,7 @@
2008-03-19 Ugo Jardonnet <ugo.jardonnet(a)lrde.epita.fr>
- Icp : n dim, refactored, uses p_array, vec -> rounded point proc.
+ Icp: n dim, refactored, uses p_array, vec -> rounded point proc.
* jardonnet/test/icp.cc,
* jardonnet/registration/quat7.hh,
@@ -9874,7 +9871,7 @@
the upper tree's one and the lower tree's one in order to keep the
good values of the input image.
(fllt) add a second call to merge_trees to test the contrast
- invariant of the algorithm. FIXME : In some test, we get a segv when
+ invariant of the algorithm. FIXME: In some test, we get a segv when
calling merge_trees swapping the upper_tree and lower_tree
arguments. Add some debug too.
@@ -10001,7 +9998,7 @@
Update fllt.
- * garrigues/fllt.hh: More output. FIXME : optimize.
+ * garrigues/fllt.hh: More output. FIXME: optimize.
2007-10-26 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
@@ -10178,13 +10175,13 @@
Add translate image in sandbox.
* duhamel/translate_image.cc: New test for translate image.
- * duhamel/translate_image.hh: New image : translate image.
+ * duhamel/translate_image.hh: New image: translate image.
* duhamel/color_sub.cc: Update.
2007-10-09 Simon Nivault <simon.nivault(a)lrde.epita.fr>
- Refactoring : move mln/core/win to mln/win.
+ Refactoring: move mln/core/win to mln/win.
* nivault/dyn_line.hh,
* nivault/median.hh,
@@ -10248,7 +10245,7 @@
* duhamel/color_sub.cc: .
- * duhamel/color_sub.hh: New : split ols version.
+ * duhamel/color_sub.hh: New: split ols version.
* duhamel/labeling_algo.cc: .
* duhamel/labeling_level_fast.cc: .
@@ -10308,7 +10305,7 @@
2007-10-01 Guillaume Duhamel <guillaume.duhamel(a)lrde.epita.fr>
Add graph_labeling in sandbox.
- * duhamel/graph_labeling.hh: New make_graph : convert a labeled image
+ * duhamel/graph_labeling.hh: New make_graph: convert a labeled image
into mesh_p.
* duhamel/graph_labeling.cc: New test for graph labeling.
* duhamel/graph_labeling2.cc: New test for graph labeling.
--
1.6.3.1
1
0
* src/extract/primitive/Makefile.am,
* src/preprocessing/Makefile.am: Add new examples as target.
* src/extract/primitive/find_pattern_lines.cc,
* src/preprocessing/split_bg_fg.cc: New examples.
---
scribo/ChangeLog | 10 +++
scribo/src/extract/primitive/Makefile.am | 2 +
scribo/src/extract/primitive/find_pattern_lines.cc | 75 ++++++++++++++++++++
scribo/src/preprocessing/Makefile.am | 4 +-
scribo/src/preprocessing/split_bg_fg.cc | 67 +++++++++++++++++
5 files changed, 157 insertions(+), 1 deletions(-)
create mode 100644 scribo/src/extract/primitive/find_pattern_lines.cc
create mode 100644 scribo/src/preprocessing/split_bg_fg.cc
diff --git a/scribo/ChangeLog b/scribo/ChangeLog
index fd7af50..c4e7c1f 100644
--- a/scribo/ChangeLog
+++ b/scribo/ChangeLog
@@ -1,5 +1,15 @@
2009-09-25 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+ Add new examples in Scribo.
+
+ * src/extract/primitive/Makefile.am,
+ * src/preprocessing/Makefile.am: Add new examples as target.
+
+ * src/extract/primitive/find_pattern_lines.cc,
+ * src/preprocessing/split_bg_fg.cc: New examples.
+
+2009-09-25 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+
Add new filters in Scribo.
* filter/object_groups_size_ratio.hh,
diff --git a/scribo/src/extract/primitive/Makefile.am b/scribo/src/extract/primitive/Makefile.am
index 51850f6..c4ebeaf 100644
--- a/scribo/src/extract/primitive/Makefile.am
+++ b/scribo/src/extract/primitive/Makefile.am
@@ -27,6 +27,7 @@ bin_PROGRAMS = \
extract_thick_vlines \
extract_thick_hlines \
find_discontinued_lines \
+ find_pattern_lines \
find_single_lines \
find_thick_lines \
find_thick_and_single_lines
@@ -37,6 +38,7 @@ extract_discontinued_hlines_SOURCES = extract_discontinued_hlines.cc
extract_thick_vlines_SOURCES = extract_thick_vlines.cc
extract_thick_hlines_SOURCES = extract_thick_hlines.cc
find_discontinued_lines_SOURCES = find_discontinued_lines.cc
+find_pattern_lines_SOURCES = find_pattern_lines.cc
find_single_lines_SOURCES = find_single_lines.cc
find_thick_lines_SOURCES = find_thick_lines.cc
find_thick_and_single_lines_SOURCES = find_thick_and_single_lines.cc
diff --git a/scribo/src/extract/primitive/find_pattern_lines.cc b/scribo/src/extract/primitive/find_pattern_lines.cc
new file mode 100644
index 0000000..eaf2d59
--- /dev/null
+++ b/scribo/src/extract/primitive/find_pattern_lines.cc
@@ -0,0 +1,75 @@
+// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of Olena.
+//
+// Olena is free software: you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation, version 2 of the License.
+//
+// Olena is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Olena. If not, see <http://www.gnu.org/licenses/>.
+//
+// As a special exception, you may use this file as part of a free
+// software project without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to produce
+// an executable, this file does not by itself cause the resulting
+// executable to be covered by the GNU General Public License. This
+// exception does not however invalidate any other reasons why the
+// executable file might be covered by the GNU General Public License.
+
+#include <mln/core/image/image2d.hh>
+#include <mln/value/label_16.hh>
+#include <mln/value/rgb8.hh>
+#include <mln/core/alias/neighb2d.hh>
+#include <mln/io/pbm/all.hh>
+#include <mln/io/ppm/save.hh>
+#include <mln/data/convert.hh>
+#include <mln/debug/superpose.hh>
+
+#include <scribo/debug/usage.hh>
+
+#include <scribo/core/object_image.hh>
+#include <scribo/primitive/extract/lines_h_pattern.hh>
+#include <scribo/primitive/extract/lines_v_pattern.hh>
+
+const char *args_desc[][2] =
+{
+ { "input.pbm", "A binary image." },
+ { "length", " Minimum line length." },
+ {0, 0}
+};
+
+
+int main(int argc, char *argv[])
+{
+ using namespace mln;
+
+ if (argc != 4)
+ return scribo::debug::usage(argv,
+ "Extract discontinued horizontal and vertical lines",
+ "input.pbm length output.ppm",
+ args_desc,
+ "A color image. Horizontal lines are in red and vertical lines in green.");
+
+ trace::entering("main");
+
+ typedef image2d<bool> I;
+ I input;
+ io::pbm::load(input, argv[1]);
+
+ I hlines = scribo::primitive::extract::lines_h_pattern(input, atoi(argv[2]));
+ I vlines = scribo::primitive::extract::lines_v_pattern(input, atoi(argv[2]));
+
+ image2d<value::rgb8> out = debug::superpose(input, hlines, literal::red);
+ out = debug::superpose(out, vlines, literal::green);
+
+ io::ppm::save(out, argv[3]);
+
+ trace::exiting("main");
+}
diff --git a/scribo/src/preprocessing/Makefile.am b/scribo/src/preprocessing/Makefile.am
index f6d877c..af6db48 100644
--- a/scribo/src/preprocessing/Makefile.am
+++ b/scribo/src/preprocessing/Makefile.am
@@ -20,6 +20,8 @@
include $(top_srcdir)/scribo/scribo.mk
bin_PROGRAMS = \
+ split_bg_fg \
unskew
-unskew_SOURCES = unskew.cc
+split_bg_fg_SOURCES = split_bg_fg.cc
+unskew_SOURCES = unskew.cc
diff --git a/scribo/src/preprocessing/split_bg_fg.cc b/scribo/src/preprocessing/split_bg_fg.cc
new file mode 100644
index 0000000..a1aab52
--- /dev/null
+++ b/scribo/src/preprocessing/split_bg_fg.cc
@@ -0,0 +1,67 @@
+// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of Olena.
+//
+// Olena is free software: you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation, version 2 of the License.
+//
+// Olena is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Olena. If not, see <http://www.gnu.org/licenses/>.
+//
+// As a special exception, you may use this file as part of a free
+// software project without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to produce
+// an executable, this file does not by itself cause the resulting
+// executable to be covered by the GNU General Public License. This
+// exception does not however invalidate any other reasons why the
+// executable file might be covered by the GNU General Public License.
+
+#include <mln/core/image/image2d.hh>
+#include <mln/io/ppm/all.hh>
+
+#include <scribo/preprocessing/split_bg_fg.hh>
+#include <scribo/debug/usage.hh>
+
+
+const char *args_desc[][2] =
+{
+ { "input.pbm", "A color image." },
+ { "lambda", "Lambda value. (FIX Description)" },
+ { "delta", "Delta value. (FIX Description)" },
+ { "bg.ppm", "The background image (2nd output)." },
+ {0, 0}
+};
+
+
+
+int main(int argc, char *argv[])
+{
+ mln::trace::entering("main");
+ using namespace mln;
+
+ if (argc != 6)
+ return scribo::debug::usage(argv,
+ "Split background and foreground.",
+ "input.pbm bg.ppm fg.ppm",
+ args_desc, "The foreground image.");
+
+ typedef image2d<value::rgb8> I;
+ I input;
+ io::ppm::load(input, argv[1]);
+
+ util::couple<I,I>
+ bg_fg = scribo::preprocessing::split_bg_fg(input,
+ atoi(argv[2]),
+ atoi(argv[3]));
+ io::ppm::save(bg_fg.first(), argv[4]);
+ io::ppm::save(bg_fg.second(), argv[5]);
+
+ mln::trace::exiting("main");
+}
--
1.5.6.5
1
0
* filter/object_groups_size_ratio.hh,
* filter/objects_size_ratio.hh: New filters.
---
scribo/ChangeLog | 7 ++
scribo/filter/object_groups_size_ratio.hh | 104 +++++++++++++++++++++++++
scribo/filter/objects_size_ratio.hh | 120 +++++++++++++++++++++++++++++
3 files changed, 231 insertions(+), 0 deletions(-)
create mode 100644 scribo/filter/object_groups_size_ratio.hh
create mode 100644 scribo/filter/objects_size_ratio.hh
diff --git a/scribo/ChangeLog b/scribo/ChangeLog
index 0a7f625..fd7af50 100644
--- a/scribo/ChangeLog
+++ b/scribo/ChangeLog
@@ -1,5 +1,12 @@
2009-09-25 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+ Add new filters in Scribo.
+
+ * filter/object_groups_size_ratio.hh,
+ * filter/objects_size_ratio.hh: New filters.
+
+2009-09-25 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+
Small fixes in Scribo.
* demo/src/mainwindow.cc: Do not always resize pics.
diff --git a/scribo/filter/object_groups_size_ratio.hh b/scribo/filter/object_groups_size_ratio.hh
new file mode 100644
index 0000000..b52c30d
--- /dev/null
+++ b/scribo/filter/object_groups_size_ratio.hh
@@ -0,0 +1,104 @@
+// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of Olena.
+//
+// Olena is free software: you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation, version 2 of the License.
+//
+// Olena is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Olena. If not, see <http://www.gnu.org/licenses/>.
+//
+// As a special exception, you may use this file as part of a free
+// software project without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to produce
+// an executable, this file does not by itself cause the resulting
+// executable to be covered by the GNU General Public License. This
+// exception does not however invalidate any other reasons why the
+// executable file might be covered by the GNU General Public License.
+
+#ifndef SCRIBO_FILTER_OBJECT_GROUPS_SIZE_RATIO_HH
+# define SCRIBO_FILTER_OBJECT_GROUPS_SIZE_RATIO_HH
+
+/// \file
+///
+
+
+# include <mln/util/array.hh>
+
+# include <scribo/core/macros.hh>
+# include <scribo/core/object_groups.hh>
+# include <scribo/core/object_image.hh>
+
+namespace scribo
+{
+
+ namespace filter
+ {
+
+ using namespace mln;
+
+ template <typename L>
+ object_groups<L>
+ object_groups_size_ratio(const object_groups<L>& groups,
+ float max_size_ratio,
+ float max_invalid_ratio_per_group);
+
+# ifndef MLN_INCLUDE_ONLY
+
+
+ template <typename L>
+ object_groups<L>
+ object_groups_size_ratio(const object_groups<L>& groups,
+ float max_size_ratio,
+ float max_invalid_ratio_per_group)
+ {
+ trace::entering("scribo::filter::object_groups_size_ratio");
+
+ mln_precondition(groups.is_valid());
+
+ const object_image(L)& objects = groups.object_image_();
+
+ // FIXME: estimating the group size should be removed once
+ // available in the object_group structure.
+ // Counting the number of objects per group with a size ratio >
+ // max_ratio.
+ mln::util::array<unsigned>
+ group_size(groups.size(), 0),
+ invalid_object_in_group(groups.size(), 0);
+
+ for_all_ncomponents(i, objects.nlabels())
+ {
+ if ((objects.bbox(i).nrows() / objects.bbox(i).ncols())
+ >= max_size_ratio)
+ ++invalid_object_in_group[groups[i]];
+
+ ++group_size[groups[i]];
+ }
+
+ object_groups<L> output(groups);
+ output(0) = 0;
+ for (unsigned i = 1; i < output.size(); ++i)
+ if ((invalid_object_in_group[groups[i]] / static_cast<float>(group_size[groups[i]])) >= max_invalid_ratio_per_group)
+ output(i) = 0;
+
+ trace::exiting("scribo::filter::object_groups_size_ratio");
+ return output;
+ }
+
+
+# endif // ! MLN_INCLUDE_ONLY
+
+
+ } // end of namespace scribo::filter
+
+} // end of namespace scribo
+
+
+#endif // ! SCRIBO_FILTER_OBJECT_GROUPS_SIZE_RATIO_HH
diff --git a/scribo/filter/objects_size_ratio.hh b/scribo/filter/objects_size_ratio.hh
new file mode 100644
index 0000000..7a68f7f
--- /dev/null
+++ b/scribo/filter/objects_size_ratio.hh
@@ -0,0 +1,120 @@
+// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of Olena.
+//
+// Olena is free software: you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation, version 2 of the License.
+//
+// Olena is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Olena. If not, see <http://www.gnu.org/licenses/>.
+//
+// As a special exception, you may use this file as part of a free
+// software project without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to produce
+// an executable, this file does not by itself cause the resulting
+// executable to be covered by the GNU General Public License. This
+// exception does not however invalidate any other reasons why the
+// executable file might be covered by the GNU General Public License.
+
+#ifndef SCRIBO_FILTER_OBJECTS_SIZE_RATIO_HH
+# define SCRIBO_FILTER_OBJECTS_SIZE_RATIO_HH
+
+/// \file
+///
+///
+
+# include <mln/core/concept/function.hh>
+# include <scribo/core/object_image.hh>
+
+
+
+namespace scribo
+{
+
+ namespace filter
+ {
+
+
+ template <typename L>
+ object_image(L)
+ objects_size_ratio(const object_image(L)& objects,
+ float size_ratio);
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+
+ namespace internal
+ {
+
+
+ /// Filter Functor.
+ /// Return false for all objects which have a bad ratio.
+ template <typename L>
+ struct objects_size_ratio_filter
+ : Function_v2b< objects_size_ratio_filter<L> >
+ {
+ typedef accu::shape::bbox<mln_psite(L)> box_accu_t;
+
+ objects_size_ratio_filter(const object_image(L)& objects,
+ float ratio)
+ : objects_(objects), ratio_(ratio)
+ {
+ }
+
+ bool operator()(const mln_value(L)& l) const
+ {
+ if (l == literal::zero)
+ return true;
+ return (objects_.bbox(l).nrows() / static_cast<float>(objects_.bbox(l).ncols())) < ratio_;
+ }
+
+ /// Component bounding boxes.
+ object_image(L) objects_;
+
+ /// The maximum size ratio.
+ float ratio_;
+ };
+
+
+ } // end of namespace scribo::filter::internal
+
+
+
+ template <typename L>
+ object_image(L)
+ objects_size_ratio(const object_image(L)& objects,
+ float size_ratio)
+ {
+
+ trace::entering("scribo::primitive::objects_size_ratio");
+
+ mln_precondition(objects.is_valid());
+
+ typedef internal::objects_size_ratio_filter<L> func_t;
+ func_t has_bad_ratio(objects, size_ratio);
+
+ object_image(L) output;
+ output.init_from_(objects);
+ output.relabel(has_bad_ratio);
+
+ trace::exiting("scribo::primitive::objects_size_ratio");
+ return output;
+ }
+
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace scribo::filter
+
+} // end of namespace scribo
+
+
+#endif // ! SCRIBO_FILTER_OBJECTs_SIZE_RATIO_HH
--
1.5.6.5
1
0
* demo/src/mainwindow.cc: Do not always resize pics.
* filter/object_groups_small.hh: Add missing traces.
* preprocessing/split_bg_fg.hh: Fix type ambiguities.
* src/table/extract.cc,
* src/text/grouping/group_from_double_link_filter_non_aligned.cc,
* src/text/grouping/group_from_rag.cc: Cosmetic changes.
---
scribo/ChangeLog | 14 ++++++++++++++
scribo/demo/src/mainwindow.cc | 3 ++-
scribo/filter/object_groups_small.hh | 3 +++
scribo/preprocessing/split_bg_fg.hh | 9 ++++++---
scribo/src/table/extract.cc | 6 ++++--
.../group_from_double_link_filter_non_aligned.cc | 2 +-
scribo/src/text/grouping/group_from_rag.cc | 4 ++--
7 files changed, 32 insertions(+), 9 deletions(-)
diff --git a/scribo/ChangeLog b/scribo/ChangeLog
index 47627e0..0a7f625 100644
--- a/scribo/ChangeLog
+++ b/scribo/ChangeLog
@@ -1,3 +1,17 @@
+2009-09-25 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+
+ Small fixes in Scribo.
+
+ * demo/src/mainwindow.cc: Do not always resize pics.
+
+ * filter/object_groups_small.hh: Add missing traces.
+
+ * preprocessing/split_bg_fg.hh: Fix type ambiguities.
+
+ * src/table/extract.cc,
+ * src/text/grouping/group_from_double_link_filter_non_aligned.cc,
+ * src/text/grouping/group_from_rag.cc: Cosmetic changes.
+
2009-09-15 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
Small fixes in Scribo.
diff --git a/scribo/demo/src/mainwindow.cc b/scribo/demo/src/mainwindow.cc
index f808d8b..4a12359 100644
--- a/scribo/demo/src/mainwindow.cc
+++ b/scribo/demo/src/mainwindow.cc
@@ -310,7 +310,8 @@ namespace scribo
item = view->scene()->addPixmap(pixmap);
view->scene()->setSceneRect(item->boundingRect());
Q_ASSERT(item != 0);
- view->fitInView(item->boundingRect(), Qt::KeepAspectRatio);
+ if (pixmap.width() > view->maximumViewportSize().width())
+ view->fitInView(item->boundingRect(), Qt::KeepAspectRatio);
view_to_item(view) = item;
bool b = (mainResultItem_ != 0 || mainRefItem_ != 0);
diff --git a/scribo/filter/object_groups_small.hh b/scribo/filter/object_groups_small.hh
index 1e6c636..6a50aba 100644
--- a/scribo/filter/object_groups_small.hh
+++ b/scribo/filter/object_groups_small.hh
@@ -68,6 +68,8 @@ namespace scribo
object_groups_small(const object_groups<L>& groups,
unsigned n_links)
{
+ trace::entering("scribo::filter::object_groups_small");
+
mln_precondition(groups.is_valid());
// Counting the number of objects per group.
@@ -81,6 +83,7 @@ namespace scribo
if (group_size[groups[i]] < n_links)
output(i) = 0;
+ trace::exiting("scribo::filter::object_groups_small");
return output;
}
diff --git a/scribo/preprocessing/split_bg_fg.hh b/scribo/preprocessing/split_bg_fg.hh
index 7e05d0d..f64635b 100644
--- a/scribo/preprocessing/split_bg_fg.hh
+++ b/scribo/preprocessing/split_bg_fg.hh
@@ -31,6 +31,7 @@
///
/// Split the background and the foreground.
+# include <mln/core/macros.hh>
# include <mln/core/image/image2d.hh>
# include <mln/core/alias/neighb2d.hh>
# include <mln/core/routine/duplicate.hh>
@@ -61,6 +62,8 @@
# include <mln/labeling/compute.hh>
# include <mln/accu/stat/mean.hh>
+# include <mln/util/couple.hh>
+
@@ -84,7 +87,7 @@ namespace scribo
and the second is the foreground.
*/
template <typename I>
- util::couple<mln_concrete(I), mln_concrete(I)>
+ mln::util::couple<mln_concrete(I), mln_concrete(I)>
split_bg_fg(const Image<I>& input_, unsigned lambda, unsigned delta);
@@ -287,7 +290,7 @@ namespace scribo
// }
typedef accu::stat::mean< rgb8, algebra::vec<3,float>, rgb8 > A;
- util::array<rgb8> m = labeling::compute(A(), input, con, nblobs);
+ mln::util::array<rgb8> m = labeling::compute(A(), input, con, nblobs);
data::fill((output | pw::value(mask)).rw(),
data::transform(lab, m));
@@ -305,7 +308,7 @@ namespace scribo
// Facade
template <typename I>
- util::couple<mln_concrete(I), mln_concrete(I)>
+ mln::util::couple<mln_concrete(I), mln_concrete(I)>
split_bg_fg(const Image<I>& input_, unsigned lambda, unsigned delta)
{
trace::entering("scribo::preprocessing::split_bg_fg");
diff --git a/scribo/src/table/extract.cc b/scribo/src/table/extract.cc
index 060f2f8..c510753 100644
--- a/scribo/src/table/extract.cc
+++ b/scribo/src/table/extract.cc
@@ -65,9 +65,11 @@ the background, other colors indicates cells.");
io::pbm::load(input, argv[1]);
value::label_16 ncells;
- image2d<value::label_16> tables = scribo::table::extract(input, ncells).first();
+ image2d<value::label_16>
+ tables = scribo::table::extract(input, ncells).first();
- io::ppm::save(mln::labeling::colorize(value::rgb8(), tables, ncells), argv[3]);
+ io::ppm::save(mln::labeling::colorize(value::rgb8(), tables, ncells),
+ argv[3]);
io::dump::save(tables, argv[2]);
diff --git a/scribo/src/text/grouping/group_from_double_link_filter_non_aligned.cc b/scribo/src/text/grouping/group_from_double_link_filter_non_aligned.cc
index fce389e..ef9362d 100644
--- a/scribo/src/text/grouping/group_from_double_link_filter_non_aligned.cc
+++ b/scribo/src/text/grouping/group_from_double_link_filter_non_aligned.cc
@@ -141,7 +141,7 @@ int main(int argc, char *argv[])
// Filter non-correctly aligned grouped objects.
object_links<L> filtered_links
- = filter::object_links_non_h_aligned(text, double_link, atoi(argv[4]));
+ = filter::object_links_non_h_aligned(text, double_link, atof(argv[4]));
text_t aligned_grouped_text
diff --git a/scribo/src/text/grouping/group_from_rag.cc b/scribo/src/text/grouping/group_from_rag.cc
index 8b3d5fd..e354d09 100644
--- a/scribo/src/text/grouping/group_from_rag.cc
+++ b/scribo/src/text/grouping/group_from_rag.cc
@@ -127,8 +127,8 @@ namespace scribo
bool operator()(const point2d& p1, const point2d& p2) const
{
- return (math::sqrt(math::sqr(p1.row() - p2.row())
- + math::sqr(p1.col() - p2.col()))) < 5;
+ return (math::sqrt(math::sqr(static_cast<float>(p1.row() - p2.row()))
+ + math::sqr(static_cast<float>(p1.col() - p2.col())))) < 5;
}
};
--
1.5.6.5
1
0
* doc/examples/Makefile.am: Fix invalid source filename.
* mln/fun/from_accu.hh: Fix guard.
* mln/linear/gaussian_directional_2d.hh: Fix a warning.
* tests/accu/pair.cc: revamp header.
---
milena/ChangeLog | 14 ++++-
milena/doc/examples/Makefile.am | 4 +-
milena/mln/fun/from_accu.hh | 83 ++++++++++++++++++++++----
milena/mln/linear/gaussian_directional_2d.hh | 2 +-
milena/tests/accu/pair.cc | 5 +-
5 files changed, 91 insertions(+), 17 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index e205a6c..1881b78 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,15 @@
+2009-09-25 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+
+ Small fixes.
+
+ * doc/examples/Makefile.am: Fix invalid source filename.
+
+ * mln/fun/from_accu.hh: Fix guard.
+
+ * mln/linear/gaussian_directional_2d.hh: Fix a warning.
+
+ * tests/accu/pair.cc: revamp header.
+
2009-09-24 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Add correct reference for HSL to RGB conversion.
@@ -324,7 +336,7 @@
Fix ISO C++ compilation problem : L101.
* mln/io/plot/load.hh (load) : Update source file.
-
+
2009-09-14 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Disable tiled2d image support (still experimental).
diff --git a/milena/doc/examples/Makefile.am b/milena/doc/examples/Makefile.am
index 843c6b3..e6c3cd6 100644
--- a/milena/doc/examples/Makefile.am
+++ b/milena/doc/examples/Makefile.am
@@ -33,7 +33,7 @@ EXTRA_PROGRAMS = \
fill-part-image \
fill-subdomain \
fill-subdomain-shorter \
- fill-subimage-cfun \
+ fill-imageif-cfun \
first_routine \
forall-piter \
fun-p2v-1 \
@@ -94,7 +94,7 @@ fill_call_1_SOURCES = fill-call-1.cc
fill_part_image_SOURCES = fill-part-image.cc
fill_subdomain_SOURCES = fill-subdomain.cc
fill_subdomain_shorter_SOURCES = fill-subdomain-shorter.cc
-fill_subimage_cfun_SOURCES = fill-subimage-cfun.cc
+fill_imageif_cfun_SOURCES = fill-imageif-cfun.cc
first_routine_SOURCES = tuto3/first_routine.cc
forall_piter_SOURCES = forall-piter.cc
fun_p2v_1_SOURCES = fun-p2v-1.cc
diff --git a/milena/mln/fun/from_accu.hh b/milena/mln/fun/from_accu.hh
index 9228a30..f01a93d 100644
--- a/milena/mln/fun/from_accu.hh
+++ b/milena/mln/fun/from_accu.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -23,24 +24,32 @@
// exception does not however invalidate any other reasons why the
// executable file might be covered by the GNU General Public License.
+/// \file
+///
+/// Wrap an accumulator into a function.
+
+
#ifndef MLN_FUN_FROM_ACCU_HH
# define MLN_FUN_FROM_ACCU_HH
# include <mln/fun/unary_param.hh>
# include <mln/core/concept/accumulator.hh>
+
namespace mln
{
- // from_accu: wrap an accumulator into a function
namespace fun
{
+
+ /*! \brief Wrap an accumulator into a function.
+ */
template <typename A>
struct from_accu : unary_param<from_accu<A>, A*>
{
- from_accu() : unary_param<from_accu<A>, A*>() {};
- from_accu(A* a) : unary_param<from_accu<A>, A*>(a) {};
+ from_accu();
+ from_accu(A* a);
};
} // end of namespace mln::fun
@@ -58,20 +67,70 @@ namespace mln
typedef typename A::argument argument;
typedef A* param_t;
- static inline
- result read(const param_t& accu_, const argument& x)
- {
- mln_precondition(accu_ != 0);
+ static result read(const param_t& accu_, const argument& x);
- accu_->take(x);
- return accu_->to_result ();
- }
};
} // end of namespace mln::trait::next
} // end of namespace mln::trait
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+
+ namespace fun
+ {
+
+ template <typename A>
+ inline
+ from_accu<A>::from_accu()
+ : unary_param<from_accu<A>, A*>()
+ {
+
+ }
+
+
+ template <typename A>
+ inline
+ from_accu<A>::from_accu(A* a)
+ : unary_param<from_accu<A>, A*>(a)
+ {
+
+ }
+
+ } // end of namespace mln::fun
+
+
+
+ namespace trait
+ {
+
+ namespace next
+ {
+
+ template <typename A, typename T>
+ inline
+ typename set_unary_<mln::fun::from_accu<A>, mln::Object, T>::result
+ set_unary_<mln::fun::from_accu<A>,
+ mln::Object, T>::read(const param_t& accu_,
+ const argument& x)
+ {
+ mln_precondition(accu_ != 0);
+
+ accu_->take(x);
+ return accu_->to_result ();
+ }
+
+ } // end of namespace mln::trait::next
+
+ } // end of namespace mln::trait
+
+
+
+# endif // ! MLN_INCLUDE_ONLY
+
} // end of namespace mln
-#endif /* ! MLN_FUN_FROM_ACCU_HH */
+#endif // ! MLN_FUN_FROM_ACCU_HH
diff --git a/milena/mln/linear/gaussian_directional_2d.hh b/milena/mln/linear/gaussian_directional_2d.hh
index 37a8449..bda0eda 100644
--- a/milena/mln/linear/gaussian_directional_2d.hh
+++ b/milena/mln/linear/gaussian_directional_2d.hh
@@ -453,7 +453,7 @@ namespace mln
o_current = o_start;
for (int i = 0; i < len; ++i)
{
- ima.element(o_current) = (tmp1[i] + tmp2[i]);
+ ima.element(o_current) = static_cast<mln_value(I)>(tmp1[i] + tmp2[i]);
o_current += delta_offset;
}
}
diff --git a/milena/tests/accu/pair.cc b/milena/tests/accu/pair.cc
index 83667da..de03b7d 100644
--- a/milena/tests/accu/pair.cc
+++ b/milena/tests/accu/pair.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -23,6 +24,8 @@
// exception does not however invalidate any other reasons why the
// executable file might be covered by the GNU General Public License.
+/// \file
+
#include <mln/core/image/image2d.hh>
#include <mln/value/int_u8.hh>
--
1.5.6.5
1
0
24 Sep '09
URL: https://svn.lrde.epita.fr/svn/oln/trunk/milena
ChangeLog:
2009-09-24 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Add correct reference for HSL to RGB conversion.
* mln/fun/v2v/hsl_to_rgb.hh: Add correct reference for HSL
to RGB conversion.
---
hsl_to_rgb.hh | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
Index: trunk/milena/mln/fun/v2v/hsl_to_rgb.hh
===================================================================
--- trunk/milena/mln/fun/v2v/hsl_to_rgb.hh (revision 4545)
+++ trunk/milena/mln/fun/v2v/hsl_to_rgb.hh (revision 4546)
@@ -92,15 +92,23 @@
/// \}
- // This method implement the conversion from HSL to RGB
- // explained by Wikipedia.
- // url: http://en.wikipedia.org/wiki/HSL_and_HSV
+ /// This method implements the conversion from HSL to RGB as described by
+ /// Max K. Agoston in `Computer Graphics and Geometric Modeling:
+ /// Implementation and Algorithms (2005)'.
template <typename T_rgb>
template <typename T_hsl>
inline
T_rgb
f_hsl_to_rgb_<T_rgb>::operator()(const T_hsl& hsl) const
{
+ typedef typename T_rgb::red_t red_t;
+ typedef typename T_rgb::green_t green_t;
+ typedef typename T_rgb::blue_t blue_t;
+
+ static math::round<red_t> to_r;
+ static math::round<green_t> to_g;
+ static math::round<blue_t> to_b;
+
const float q = (hsl.lum() < 0.5) ? hsl.lum() * (1.0 + hsl.sat()) :
hsl.lum() + hsl.sat() - (hsl.lum() * hsl.sat());
const float p = 2.0 * hsl.lum() - q;
@@ -158,7 +166,11 @@
blue = p;
// Each component is in [0, 1].
- T_rgb rgb_result(red * 255, green * 255, blue * 255);
+ red_t r = to_r(red * 255);
+ green_t g = to_g(green * 255);
+ blue_t b = to_b(blue * 255);
+
+ T_rgb rgb_result(r, g, b);
return rgb_result;
}
1
0
24 Sep '09
URL: https://svn.lrde.epita.fr/svn/oln/trunk/milena/sandbox
ChangeLog:
2009-09-24 Fabien Freling <fabien.freling(a)lrde.epita.fr>
Add benchmark for disk-mapped image and work for color types.
* fabien/igr/color/find_color.cc: Find green color in an image.
* fabien/mln/core/image/disk_ima.hh: Implement disk-mapped image.
* fabien/mln/io/pnm/load_disk_ima.hh: Implement loading of disk-
mapped image from a PNM file.
* fabien/tests/core/image/bench.sh: New script for benchmarking
disk-mapped image and tiled image.
* fabien/mln/test/conversion.hh: Implement test for evaluation of
type conversion.
* fabien/tests/test/conversion.cc: Test evalution of type conversion.
---
igr/color/find_color.cc | 34 ++++++++---
mln/core/image/disk_ima.hh | 1
mln/io/pnm/load_disk_ima.hh | 88 ++++++++++++++++++++++++++++
mln/test/conversion.hh | 136 ++++++++++++++++++++++++++++++++++++++++++++
tests/core/image/bench.sh | 12 +++
tests/test/conversion.cc | 33 ++++++++++
6 files changed, 297 insertions(+), 7 deletions(-)
Index: trunk/milena/sandbox/fabien/igr/color/find_color.cc
===================================================================
--- trunk/milena/sandbox/fabien/igr/color/find_color.cc (revision 4544)
+++ trunk/milena/sandbox/fabien/igr/color/find_color.cc (revision 4545)
@@ -1,18 +1,23 @@
#include <mln/core/image/image2d.hh>
+#include <mln/io/pgm/all.hh>
#include <mln/io/ppm/all.hh>
#include <mln/value/rgb8.hh>
#include <mln/value/hsl.hh>
+#include <mln/value/int_u8.hh>
#include <mln/convert/from_to.hh>
#include <mln/data/convert.hh>
+#include <mln/math/diff_abs.hh>
using namespace mln;
using value::rgb8;
using value::hsl_;
+using value::int_u8;
+inline
bool
is_green(hsl_<float, float, float> value)
{
@@ -24,6 +29,24 @@
return false;
}
+inline
+int_u8
+how_green(hsl_<float, float, float> value)
+{
+ float proba = 0.0;
+
+ if (value.hue() > 60 && value.hue() < 180)
+ {
+ proba += 1.f - ((math::diff_abs(120.f, value.hue()) / 100.0) / 0.6);
+ proba *= value.sat();
+ proba *= 1.f - (math::diff_abs(0.5f, value.lum()));
+ }
+
+ if (proba > 1.f)
+ proba = 1.f;
+ return (int_u8) (proba * 255);
+}
+
int main(int argc, char* argv[])
{
if (argc != 3)
@@ -34,21 +57,18 @@
image2d<rgb8> input;
io::ppm::load(input, argv[1]);
+ image2d<int_u8> output;
+ initialize(output, input);
typedef image2d<hsl_<float, float, float> > H;
H ima_hsl = data::convert(hsl_<float, float, float>(), input);
mln_piter_(H) p(ima_hsl.domain());
for_all(p)
{
- if (!is_green(ima_hsl(p)))
- {
- ima_hsl(p).sat() = 0.3;
- ima_hsl(p).lum() = 0.3;
- }
+ output(p) = how_green(ima_hsl(p));
}
- image2d<rgb8> output = data::convert(rgb8(), ima_hsl);
- io::ppm::save(output, argv[2]);
+ io::pgm::save(output, argv[2]);
return 0;
}
Index: trunk/milena/sandbox/fabien/tests/test/conversion.cc
===================================================================
--- trunk/milena/sandbox/fabien/tests/test/conversion.cc (revision 0)
+++ trunk/milena/sandbox/fabien/tests/test/conversion.cc (revision 4545)
@@ -0,0 +1,33 @@
+#include <mln/core/image/image2d.hh>
+
+#include <mln/io/pgm/all.hh>
+#include <mln/io/ppm/all.hh>
+
+#include <mln/value/rgb8.hh>
+#include <mln/value/hsl.hh>
+
+#include <mln/test/conversion.hh>
+
+using namespace mln;
+using value::rgb8;
+using value::hsl_;
+using value::int_u8;
+
+
+int main(int argc, char* argv[])
+{
+ if (argc != 2)
+ {
+ std::cout << "Usage: " << argv[0] << " input" << std::endl;
+ return 1;
+ }
+
+ image2d<rgb8> input;
+ io::ppm::load(input, argv[1]);
+
+ float delta = test::conversion(input, hsl_<float, float, float>());
+
+ std::cout << "delta conversion = " << delta << std::endl;
+
+ return 0;
+}
Index: trunk/milena/sandbox/fabien/tests/core/image/bench.sh
===================================================================
--- trunk/milena/sandbox/fabien/tests/core/image/bench.sh (revision 0)
+++ trunk/milena/sandbox/fabien/tests/core/image/bench.sh (revision 4545)
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+make disk_ima
+make tiled2d
+
+echo "---"
+echo "Disk Image Performance"
+time ./disk_ima $1
+
+echo "---"
+echo "Tiled Image Performance"
+time ./tiled2d $1
Property changes on: trunk/milena/sandbox/fabien/tests/core/image/bench.sh
___________________________________________________________________
Added: svn:executable
+ *
Index: trunk/milena/sandbox/fabien/mln/test/conversion.hh
===================================================================
--- trunk/milena/sandbox/fabien/mln/test/conversion.hh (revision 0)
+++ trunk/milena/sandbox/fabien/mln/test/conversion.hh (revision 4545)
@@ -0,0 +1,136 @@
+// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of Olena.
+//
+// Olena is free software: you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation, version 2 of the License.
+//
+// Olena is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Olena. If not, see <http://www.gnu.org/licenses/>.
+//
+// As a special exception, you may use this file as part of a free
+// software project without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to produce
+// an executable, this file does not by itself cause the resulting
+// executable to be covered by the GNU General Public License. This
+// exception does not however invalidate any other reasons why the
+// executable file might be covered by the GNU General Public License.
+
+#ifndef MLN_TEST_CONVERSION_HH
+# define MLN_TEST_CONVERSION_HH
+
+/// \file
+///
+/// Test a conversion on the pixel values of an image.
+
+# include <mln/core/concept/image.hh>
+# include <mln/data/convert.hh>
+# include <mln/math/diff_abs.hh>
+# include <mln/value/rgb8.hh>
+
+
+namespace mln
+{
+
+ namespace test
+ {
+
+ /// Test if all pixel values of \p ima can correctly convert into
+ /// the type of \p value and then reconvert into their original
+ /// type.
+ ///
+ /// \param[in] ima The image.
+ /// \param[in] value A value of the conversion type.
+ //
+ template <typename I, typename V>
+ float conversion(const Image<I>& ima, const V& value);
+
+# ifndef MLN_INCLUDE_ONLY
+
+
+ // Implementations.
+
+ namespace impl
+ {
+
+ template <typename V>
+ inline
+ float color_distance(const V& color1, const V& color2)
+ {
+ return -1.0; // FIXME
+ }
+
+ template <>
+ inline
+ float color_distance<value::rgb8>(const value::rgb8& color1, const value::rgb8& color2)
+ {
+ float dist = 0.0;
+
+ dist += math::diff_abs(color1.red(), color2.red());
+ dist += math::diff_abs(color1.green(), color2.green());
+ dist += math::diff_abs(color1.blue(), color2.blue());
+
+ dist /= 3 * 255;
+
+ return dist;
+ }
+
+ /// \return The percentage of points which value is not preserved.
+ /// The return value is normalized ([0..1]).
+ template <typename I, typename V>
+ inline
+ float conversion_(const I& ima, const V& value)
+ {
+ float delta = 0;
+
+ typedef mln_ch_value(I, V) J;
+ J converted = data::convert(value, ima);
+ I output = data::convert(mln_value(I)(), converted);
+
+ mln_piter(I) p(ima.domain());
+ for_all(p)
+ {
+ delta += color_distance(ima(p), output(p));
+ //if (ima(p) != output(p))
+ // delta += 1.0;
+ }
+
+ delta /= ima.nelements();
+ return delta;
+ }
+
+ } // end of namespace mln::test::impl
+
+
+
+ // Facades.
+
+
+ template <typename I, typename V>
+ inline
+ float conversion(const Image<I>& ima, const V& value)
+ {
+ trace::entering("test::conversion");
+
+ float res = impl::conversion_(exact(ima), value);
+
+ trace::exiting("test::conversion");
+ return res;
+ }
+
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::test
+
+} // end of namespace mln
+
+
+#endif // ! MLN_TEST_CONVERSION_HH
Index: trunk/milena/sandbox/fabien/mln/io/pnm/load_disk_ima.hh
===================================================================
--- trunk/milena/sandbox/fabien/mln/io/pnm/load_disk_ima.hh (revision 0)
+++ trunk/milena/sandbox/fabien/mln/io/pnm/load_disk_ima.hh (revision 4545)
@@ -0,0 +1,88 @@
+// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of Olena.
+//
+// Olena is free software: you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation, version 2 of the License.
+//
+// Olena is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Olena. If not, see <http://www.gnu.org/licenses/>.
+//
+// As a special exception, you may use this file as part of a free
+// software project without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to produce
+// an executable, this file does not by itself cause the resulting
+// executable to be covered by the GNU General Public License. This
+// exception does not however invalidate any other reasons why the
+// executable file might be covered by the GNU General Public License.
+
+#ifndef MLN_IO_PNM_LOAD_DISK_IMA_HH
+# define MLN_IO_PNM_LOAD_DISK_IMA_HH
+
+/// \file
+///
+/// Define a function which loads an image of kind PNM 8/16bits with
+/// given path.
+
+# include <iostream>
+# include <fstream>
+# include <string>
+
+# include <mln/io/pnm/load_header.hh>
+# include <mln/io/pnm/max_component.hh>
+# include <mln/io/pnm/macros.hh>
+
+# include <mln/metal/is_a.hh>
+
+namespace mln
+{
+
+ namespace io
+ {
+
+ namespace pnm
+ {
+
+# ifndef MLN_INCLUDE_ONLY
+
+
+ // Warning if we try to load uncontiguous 2D PNM file into a disk
+ // image, this is not currently supported.
+ template <typename V>
+ inline
+ void load_raw_2d_uncontiguous(std::ifstream& file, disk_ima<V>& ima)
+ {
+ (void) file;
+ (void) ima;
+ std::cout << "You can't load an uncontiguous 2D PNM file into ";
+ std::cout << "a disk image" << std::endl;
+ abort();
+ }
+
+ // Load raw 2d for disk images.
+ template <typename T>
+ inline
+ void load_raw_2d_contiguous(std::ifstream& file, disk_ima<T>& ima, const std::string& filename)
+ {
+ ima.pos_() = file.tellg();
+ ima.file_() = filename;
+ }
+
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::io::pnm
+
+ } // end of namespace mln::io
+
+} // end of namespace mln
+
+
+#endif // ! MLN_IO_PNM_LOAD_DISK_IMA_HH
Index: trunk/milena/sandbox/fabien/mln/core/image/disk_ima.hh
===================================================================
--- trunk/milena/sandbox/fabien/mln/core/image/disk_ima.hh (revision 4544)
+++ trunk/milena/sandbox/fabien/mln/core/image/disk_ima.hh (revision 4545)
@@ -638,6 +638,7 @@
# include <mln/make/image.hh>
+# include <mln/io/pnm/load_disk_ima.hh>
#endif // ! MLN_CORE_IMAGE_DISK_IMA_HH
1
0
Rename fraction directory into frac directory.
* green/doc/examples/fraction/frac.cc : Delete.
* green/doc/examples/fraction/frac.hh : Delete.
* green/doc/examples/fraction/gcd.hh : Delete
* green/doc/examples/fraction/sign_prod.hh : Delete.
* green/doc/examples/frac/frac.cc : New.
* green/doc/examples/frac/frac.hh : New.
* green/doc/examples/frac/gcd.hh : New.
* green/doc/examples/frac/sign_prod.hh : New.
* green/doc/examples/frac/Makefile.am : New.
Collect some tmp results.
* green/mln/io/plot/save_histo_sh.hh
(save_histo_sh<2d>) : Comment method.
* green/mln/mln/accu/stat/histo1d.hh
: Update documentation.
* green/mln/mln/accu/stat/histo3d_rgb.hh
: Update documentation.
* green/mln/mln/accu/stat/histo3d_hsl.hh
: Update documentation.
* green/mln/tests/accu/stat/histo1d/histo1d.cc
(test_8bits_integration, main) : Comment unused code, save tmp results.
(test_8bits_operator_equal) : Test infer "!=" operator.
* green/mln/tests/accu/stat/histo3d_rgb/histo3d_rgb.cc
(test_integration, main) : Comment unused code, save tmp results.
* green/mln/tests/accu/stat/histo3d_hsl/histo3d_hsl.cc
(test_integration, main) : Comment unused code, save tmp results.
---
trunk/milena/sandbox/ChangeLog | 35 +++++
.../sandbox/green/doc/examples/frac/Makefile.am | 148 ++++++++++++++++++++
.../green/doc/examples/{fraction => frac}/frac.cc | 0
.../green/doc/examples/{fraction => frac}/frac.hh | 0
.../green/doc/examples/{fraction => frac}/gcd.hh | 0
.../doc/examples/{fraction => frac}/sign_prod.hh | 0
.../green/doc/examples/fraction/Makefile.am | 49 -------
.../milena/sandbox/green/mln/accu/stat/histo1d.hh | 57 +++++---
.../sandbox/green/mln/accu/stat/histo3d_hsl.hh | 4 +-
.../sandbox/green/mln/accu/stat/histo3d_rgb.hh | 56 +++++---
.../sandbox/green/mln/io/plot/save_histo_sh.hh | 10 +-
.../green/tests/accu/stat/histo1d/histo1d.cc | 14 +-
.../tests/accu/stat/histo3d_hsl/histo3d_hsl.cc | 19 ++--
.../tests/accu/stat/histo3d_rgb/histo3d_rgb.cc | 12 +-
14 files changed, 287 insertions(+), 117 deletions(-)
create mode 100644 trunk/milena/sandbox/green/doc/examples/frac/Makefile.am
rename trunk/milena/sandbox/green/doc/examples/{fraction => frac}/frac.cc (100%)
rename trunk/milena/sandbox/green/doc/examples/{fraction => frac}/frac.hh (100%)
rename trunk/milena/sandbox/green/doc/examples/{fraction => frac}/gcd.hh (100%)
rename trunk/milena/sandbox/green/doc/examples/{fraction => frac}/sign_prod.hh (100%)
delete mode 100644 trunk/milena/sandbox/green/doc/examples/fraction/Makefile.am
diff --git a/trunk/milena/sandbox/ChangeLog b/trunk/milena/sandbox/ChangeLog
index cc14c70..cb4de1e 100644
--- a/trunk/milena/sandbox/ChangeLog
+++ b/trunk/milena/sandbox/ChangeLog
@@ -8,6 +8,41 @@
2009-09-22 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
+ Prepare demo for theo and questions for guillaume.
+
+ Rename fraction directory into frac directory.
+
+ * green/doc/examples/fraction/frac.cc : Delete.
+ * green/doc/examples/fraction/frac.hh : Delete.
+ * green/doc/examples/fraction/gcd.hh : Delete
+ * green/doc/examples/fraction/sign_prod.hh : Delete.
+
+ * green/doc/examples/frac/frac.cc : New.
+ * green/doc/examples/frac/frac.hh : New.
+ * green/doc/examples/frac/gcd.hh : New.
+ * green/doc/examples/frac/sign_prod.hh : New.
+ * green/doc/examples/frac/Makefile.am : New.
+
+ Collect some tmp results.
+
+ * green/mln/io/plot/save_histo_sh.hh
+ (save_histo_sh<2d>) : Comment method.
+ * green/mln/mln/accu/stat/histo1d.hh
+ : Update documentation.
+ * green/mln/mln/accu/stat/histo3d_rgb.hh
+ : Update documentation.
+ * green/mln/mln/accu/stat/histo3d_hsl.hh
+ : Update documentation.
+ * green/mln/tests/accu/stat/histo1d/histo1d.cc
+ (test_8bits_integration, main) : Comment unused code, save tmp results.
+ (test_8bits_operator_equal) : Test infer "!=" operator.
+ * green/mln/tests/accu/stat/histo3d_rgb/histo3d_rgb.cc
+ (test_integration, main) : Comment unused code, save tmp results.
+ * green/mln/tests/accu/stat/histo3d_hsl/histo3d_hsl.cc
+ (test_integration, main) : Comment unused code, save tmp results.
+
+2009-09-22 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
+
Adapt styles. Need some 2d code.
* green/mln/io/plot/save_histo_sh.hh (save_histo_sh<2d>) : New func.
diff --git a/trunk/milena/sandbox/green/doc/examples/frac/Makefile.am b/trunk/milena/sandbox/green/doc/examples/frac/Makefile.am
new file mode 100644
index 0000000..d970989
--- /dev/null
+++ b/trunk/milena/sandbox/green/doc/examples/frac/Makefile.am
@@ -0,0 +1,148 @@
+#
+# Generic Makefile
+#
+
+#########
+# TOOLS #
+#########
+
+INCLUDES= -I$(HOME)/svn/oln/trunk/milena/sandbox/green
+CXXFLAGS= -ggdb -O0 -Wall -W -pedantic -ansi -pipe $(INCLUDES)
+ECHO= echo
+RM= rm
+MKDIR= mkdir -p
+CP= cp
+
+SOURCE_PATTERN= green/tests
+BUILD__PATTERN= green/build/tests
+
+
+ifeq ($(findstring $(BUILD__PATTERN),$(PWD)), $(BUILD__PATTERN))
+# Case where make is done from build directory.
+SOURCE_DIR= $(subst $(BUILD__PATTERN),$(SOURCE_PATTERN),$(PWD))
+BUILD__DIR= $(PWD)
+else
+# Case where make is done from source directory.
+SOURCE_DIR= $(PWD)
+BUILD__DIR= $(subst $(SOURCE_PATTERN),$(BUILD__PATTERN),$(PWD))
+endif
+
+SRC= $(notdir $(wildcard $(SOURCE_DIR)/*.cc))
+OLD= $(notdir $(wildcard $(SOURCE_DIR)/*~))
+OBJ= $(patsubst %.cc,%.o,$(SRC))
+SOURCE_MAKEFILE=Makefile.am
+BUILD__MAKEFILE=Makefile
+TARGET_FILE= $(notdir $(PWD))
+SOURCE_FILES= $(notdir $(wildcard $(SOURCE_DIR)/*.*))
+BUILD__FILES= $(filter-out $(SRC) $(SOURCE_MAKEFILE), $(SOURCE_FILES))
+
+BUILD__F_PATH= $(addprefix $(BUILD__DIR)/,$(BUILD__FILES))
+SOURCE_F_PATH= $(addprefix $(SOURCE_DIR)/,$(SOURCE_FILES))
+
+BUILD__M_PATH= $(addprefix $(BUILD__DIR)/,$(BUILD__MAKEFILE))
+SOURCE_M_PATH= $(addprefix $(SOURCE_DIR)/,$(SOURCE_MAKEFILE))
+
+TARGET_F_PATH= $(addprefix $(BUILD__DIR)/,$(TARGET_FILE))
+OBJ_F_PATH= $(addprefix $(BUILD__DIR)/,$(OBJ))
+SRC_F_PATH= $(addprefix $(SOURCE_DIR)/,$(SRC))
+OLD_F_PATH= $(addprefix $(SOURCE_DIR)/,$(OLD))
+
+#############
+# BOOTSTRAP #
+#############
+
+
+bootstrap: $(BUILD__DIR) $(BUILD__F_PATH) $(BUILD__M_PATH)
+
+# Create, if nessary, the destination directory
+$(BUILD__DIR):
+ $(MKDIR) $(BUILD__DIR)
+
+# Copy, if nessary, all the files, except the Makefile.am
+$(BUILD__F_PATH): $(SOURCE_F_PATH)
+ $(CP) $(addprefix $(SOURCE_DIR)/,$(@F)) $@
+
+# Copy if nessary, the Makefile.am into Makefile
+$(BUILD__M_PATH): $(SOURCE_M_PATH)
+ $(CP) $(SOURCE_M_PATH) $(BUILD__M_PATH)
+
+
+#######
+# ALL #
+#######
+
+# We assume that the call is done from the build directory.
+# With the directive vpath, hidden files are found in the source directory.
+
+all: $(TARGET_F_PATH)
+
+
+$(TARGET_F_PATH): $(OBJ_F_PATH)
+ $(LINK.cc) $< $(LOADLIBES) $(LDLIBS) -o $@
+
+$(OBJ_F_PATH):$(SRC_F_PATH)
+ $(COMPILE.cc) $(OUTPUT_OPTION) $<
+
+
+#########
+# CLEAN #
+#########
+
+# Force every time the deletion
+clean: clean_target clean_obj clean_dst clean_old #clean_make
+
+
+clean_target:
+ -@$(RM) $(TARGET_F_PATH) &> /dev/null
+
+clean_obj:
+ -@$(RM) $(OBJ_F_PATH) &> /dev/null
+
+clean_dst:
+ -@$(RM) $(BUILD_F_PATH) &> /dev/null
+
+clean_make:
+ -@$(RM) $(BUILD_M_PATH) &> /dev/null
+
+clean_old:
+ -@$(RM) $(OLD_F_PATH) &> /dev/null
+
+
+#########
+# PRINT #
+#########
+
+print: print_tools print_bootstrap
+
+print_tools:
+ @$(ECHO) "HOME = $(HOME)"
+ @$(ECHO) "INCLUDES = $(INCLUDES)"
+ @$(ECHO) "CXXFLAGS = $(CXXFLAGS)"
+ @$(ECHO) "ECHO = $(ECHO)"
+ @$(ECHO) "RM = $(RM)"
+ @$(ECHO) "MKDIR = $(MKDIR)"
+ @$(ECHO) "CP = $(CP)"
+ @$(ECHO)
+
+print_bootstrap:
+ @$(ECHO) "PWD = $(PWD)"
+ @$(ECHO) "SOURCE_PATTERN = $(SOURCE_PATTERN)"
+ @$(ECHO) "BUILD__PATTERN = $(BUILD__PATTERN)"
+ @$(ECHO) "SOURCE_DIR = $(SOURCE_DIR)"
+ @$(ECHO) "BUILD__DIR = $(BUILD__DIR)"
+ @$(ECHO) "SOURCE_MAKEFILE = $(SOURCE_MAKEFILE)"
+ @$(ECHO) "BUILD__MAKEFILE = $(BUILD__MAKEFILE)"
+ @$(ECHO) "TARGET_FILE = $(TARGET_FILE)"
+ @$(ECHO) "SOURCE_FILES = $(SOURCE_FILES)"
+ @$(ECHO) "SOURCE_F_PATH = $(SOURCE_F_PATH)"
+ @$(ECHO) "BUILD__FILES = $(BUILD__FILES)"
+ @$(ECHO) "BUILD__F_PATH = $(BUILD__F_PATH)"
+ @$(ECHO) "BUILD__M_PATH = $(BUILD__M_PATH)"
+ @$(ECHO) "SOURCE_M_PATH = $(SOURCE_M_PATH)"
+ @$(ECHO) "SRC = $(SRC)"
+ @$(ECHO) "OBJ = $(OBJ)"
+ @$(ECHO) "OLD = $(OLD)"
+ @$(ECHO) "SRC_F_PATH = $(SRC_F_PATH)"
+ @$(ECHO) "OBJ_F_PATH = $(OBJ_F_PATH)"
+ @$(ECHO) "OLD_F_PATH = $(OLD_F_PATH)"
+ @$(ECHO)
diff --git a/trunk/milena/sandbox/green/doc/examples/fraction/frac.cc b/trunk/milena/sandbox/green/doc/examples/frac/frac.cc
similarity index 100%
rename from trunk/milena/sandbox/green/doc/examples/fraction/frac.cc
rename to trunk/milena/sandbox/green/doc/examples/frac/frac.cc
diff --git a/trunk/milena/sandbox/green/doc/examples/fraction/frac.hh b/trunk/milena/sandbox/green/doc/examples/frac/frac.hh
similarity index 100%
rename from trunk/milena/sandbox/green/doc/examples/fraction/frac.hh
rename to trunk/milena/sandbox/green/doc/examples/frac/frac.hh
diff --git a/trunk/milena/sandbox/green/doc/examples/fraction/gcd.hh b/trunk/milena/sandbox/green/doc/examples/frac/gcd.hh
similarity index 100%
rename from trunk/milena/sandbox/green/doc/examples/fraction/gcd.hh
rename to trunk/milena/sandbox/green/doc/examples/frac/gcd.hh
diff --git a/trunk/milena/sandbox/green/doc/examples/fraction/sign_prod.hh b/trunk/milena/sandbox/green/doc/examples/frac/sign_prod.hh
similarity index 100%
rename from trunk/milena/sandbox/green/doc/examples/fraction/sign_prod.hh
rename to trunk/milena/sandbox/green/doc/examples/frac/sign_prod.hh
diff --git a/trunk/milena/sandbox/green/doc/examples/fraction/Makefile.am b/trunk/milena/sandbox/green/doc/examples/fraction/Makefile.am
deleted file mode 100644
index 36a83e3..0000000
--- a/trunk/milena/sandbox/green/doc/examples/fraction/Makefile.am
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# Generic Makefile
-#
-
-BIN_PATTERN= trunk/build/milena
-SRC_PATTERN= trunk/milena
-
-CXXFLAGS= -ggdb -O0 -Wall -W -pedantic -ansi -pipe
-ECHO= echo
-RM= rm
-MKDIR= mkdir
-CP= cp
-
-ifeq ($(findstring $(BIN_PATTERN),$(PWD)), $(BIN_PATTERN))
-BIN_DIR=
-SRC_DIR= $(subst $(BIN_PATTERN),$(SRC_PATTERN), $(PWD))/
-else
-BIN_DIR= $(subst $(SRC_PATTERN),$(BIN_PATTERN), $(PWD))/
-SRC_DIR=
-endif
-
-TARGET= $(BIN_DIR)$(notdir $(PWD))
-BIN_MAKE= $(BIN_DIR)Makefile
-SRC_MAKE= $(SRC_DIR)Makefile.am
-
-
-SRC_FILES= $(wildcard $(SRC_DIR)*.cc)
-OLD_FILES= $(addsuffix ~, $(SRC_FILES))
-OBJ_FILES= $(addprefix $(BIN_DIR), $(notdir $(SRC_FILES:%.cc=%.o)))
-
-
-all: $(BIN_DIR) $(TARGET)
- @$(ECHO) "Compilation terminée"
-
-$(BIN_DIR):
- $(MKDIR) $(BIN_DIR)
- $(CP) $(SRC_MAKE) $(BIN_MAKE)
-
-$(TARGET):$(OBJ_FILES)
- $(LINK.cc) $^ $(LOADLIBES) $(LDLIBS) -o $@
-
-$(BIN_DIR)%.o:$(SRC_DIR)%.cc
- $(COMPILE.cc) $(OUTPUT_OPTION) $<
-
-clean:
- -@$(RM) $(TARGET)
- -@$(RM) $(OBJ_FILES)
- -@$(RM) $(OLD_FILES)
-
diff --git a/trunk/milena/sandbox/green/mln/accu/stat/histo1d.hh b/trunk/milena/sandbox/green/mln/accu/stat/histo1d.hh
index 541b749..807f3bd 100644
--- a/trunk/milena/sandbox/green/mln/accu/stat/histo1d.hh
+++ b/trunk/milena/sandbox/green/mln/accu/stat/histo1d.hh
@@ -33,7 +33,7 @@
/// \brief Define a histogram as an accumulator which returns an image1d .
///
/// This source implements the discrete histogram version. The number of beans
-/// is infer from the number of greylevels. A typical int_u8 image has got
+/// is infer from the number of graylevels. A typical int_u8 image has got
/// 256 bins. An int_u<14> image has got 16384 bins.
/// The following sample is a typical use of the histogram.
///
@@ -43,9 +43,8 @@
/// #include <mln/io/pgm/load.hh>
/// #include <mln/accu/stat/histo1d.hh>
/// #include <mln/data/compute.hh>
-/// #include <mln/io/plot/save_histo_sh.hh>
///
-/// #define OLENA_LENA ""/usr/local/share/olena/images/lena.pgm"
+/// #define OLENA_LENA "/usr/local/share/olena/images/lena.pgm"
///
/// void test()
/// {
@@ -54,7 +53,7 @@
/// mln::image1d<unsigned> img_res;
///
/// mln::io::pgm::load(img_ref, OLENA_LENA);
-/// img_res = mln::data::compute(mln::accu::stat::histo1d<int_u8>(), img_ref);
+/// img_res = mln::data::compute(mln::accu::meta::stat::histo1d(), img_ref);
/// }
@@ -64,6 +63,7 @@
#include <mln/core/macros.hh>
#include <mln/core/image/image1d.hh>
+#include <mln/core/concept/meta_accumulator.hh>
#include <mln/trait/value/comp.hh>
@@ -89,8 +89,27 @@ namespace mln
} // end of namespace mln::accu::stat
- } // end of namespace mln::accu
+ namespace meta
+ {
+
+ namespace stat
+ {
+
+ struct histo1d : public Meta_Accumulator<histo1d>
+ {
+ template <typename V>
+ struct with
+ {
+ typedef accu::stat::histo1d<V> ret;
+ };
+ };
+
+ } // end of namespace mln::accu::meta::stat
+
+ } // end of namespace mln::accu::meta
+
+ } // end of namespace mln::accu
namespace trait
{
@@ -123,9 +142,9 @@ namespace mln
/// \brief Define an histogram which returns an image1d .
///
/// Param V defines the space in which we count the values.
- /// For instance, this histogram works image2d<int_u8> or
+ /// For instance, this histogram works with image2d<int_u8> or with
/// image1d<int_u<14> >. The histogram count the occurrence of each value.
- /// The number of bins depends of the greyscale values, for 8 bits there
+ /// The number of bins depends of the graylevel values, for 8 bits there
/// is 256 bins, for 14 bits there is 16384 bins. Note that over
/// quantification works too (up to 14 bits).
///
@@ -144,7 +163,7 @@ namespace mln
/// \brief Initialize the size of the resulting image1d.
///
/// Initialize the size the resulting image from the theorical dynamic
- /// of the greylevel values (Use V to manage it).
+ /// of the graylevel values (Use V to manage it).
histo1d();
/// \}
@@ -159,8 +178,8 @@ namespace mln
void init();
- /// \brief Update the histogram with the greylevel of the pixel t.
- /// \param[in] t a greylevel pixel of type V.
+ /// \brief Update the histogram with the graylevel of the pixel t.
+ /// \param[in] t a graylevel pixel of type V.
///
/// The end user shouldn't call this method. In place of it, he can
/// go through the data compute interface.
@@ -169,6 +188,10 @@ namespace mln
/// \brief Update the histogram with an other histogram.
/// \param[in] other the other histogram.
+ ///
+ /// The end user shouldn't call this method. This is part of
+ /// data compute interface mechanism.
+
void take(const histo1d<V>& other);
/// \}
@@ -196,7 +219,7 @@ namespace mln
/// \param[in] histo1 the first histogram to compare with.
/// \param[in] histo2 the second histogram.
///
- /// The operator compare all the bins from the two histogram.
+ /// The operator compare all the bins from the two histograms.
template <typename V>
bool operator==(const histo1d<V>& histo1, const histo1d<V>& histo2);
@@ -219,17 +242,9 @@ namespace mln
count_.init_(box1d(point1d(mln_min(comp)),
point1d(mln_max(comp))));
- // std::cout << "min : " << mln_min(comp) << std::endl;
+ // std::cout << "min : " << mln_min(comp) << std::endl;
// std::cout << "max : " << mln_max(comp) << std::endl;
- // std::cout << "min : " << v_point1d(mln_min(comp)) << std::endl;
- // std::cout << "max : " << v_point1d(mln_max(comp)) << std::endl;
-
- //count_.init_(v_box1d(v_point1d(mln_min(comp)),
- // v_point1d(mln_max(comp))));
- // this does not work as image1d is friendly close to box1d
-
-
trace::exiting("mln::accu::stat::histo1d<V>::histo1d");
}
@@ -249,7 +264,7 @@ namespace mln
{
trace::entering("mln::accu::stat::histo1d<V>::take");
- // Just convert a greyscale value (int_u8 like) to a position for an
+ // Just convert a graylevel value (int_u8 like) to a position for an
// iterator on the resulting image.
++count_(point1d(t));
diff --git a/trunk/milena/sandbox/green/mln/accu/stat/histo3d_hsl.hh b/trunk/milena/sandbox/green/mln/accu/stat/histo3d_hsl.hh
index f29a725..c84aaa4 100644
--- a/trunk/milena/sandbox/green/mln/accu/stat/histo3d_hsl.hh
+++ b/trunk/milena/sandbox/green/mln/accu/stat/histo3d_hsl.hh
@@ -280,7 +280,7 @@ namespace mln
unsigned x = (t.hue() - min_hue)/step_hue;
unsigned y = (t.lum() - min_lum)/step_lum;
unsigned z = (t.sat() - min_sat)/step_sat;
-
+ /*
std::cout << "H : " << t.hue() << std::endl;
std::cout << "L : " << t.lum() << std::endl;
@@ -293,7 +293,7 @@ namespace mln
std::cout << "X : " << x << std::endl;
std::cout << "Y : " << y << std::endl;
std::cout << "Z : " << z << std::endl;
-
+ */
// faire attention avec les histoires de points et leurs coordonnées
++count_(point3d(z, x, y));
diff --git a/trunk/milena/sandbox/green/mln/accu/stat/histo3d_rgb.hh b/trunk/milena/sandbox/green/mln/accu/stat/histo3d_rgb.hh
index 461870a..3f6411e 100644
--- a/trunk/milena/sandbox/green/mln/accu/stat/histo3d_rgb.hh
+++ b/trunk/milena/sandbox/green/mln/accu/stat/histo3d_rgb.hh
@@ -33,28 +33,27 @@
/// \brief Define a histogram as an accumulator which returns an image1d .
///
/// This source implements the discrete histogram version. The number of beans
-/// is infer from the number of greylevels. A typical int_u8 image has got
-/// 256 bins. An int_u16 image has got 65535 bins.
+/// is infer from the number of greylevels. A typical rgb8 image has got
+/// 256x3 bins. Working with a 8 bit quantification in rgb is very costly.
/// The following sample is a typical use of the histogram.
///
-/// #include <mln/value/int_u8.hh>
+/// #include <mln/value/rgb.hh>
/// #include <mln/core/image/image1d.hh>
-/// #include <mln/core/image/image2d.hh>
-/// #include <mln/io/pgm/load.hh>
-/// #include <mln/accu/stat/histo1d.hh>
+/// #include <mln/core/image/image3d.hh>
+/// #include <mln/io/ppm/load.hh>
+/// #include <mln/accu/stat/histo3d_rgb.hh>
/// #include <mln/data/compute.hh>
-/// #include <mln/io/plot/save_histo_sh.hh>
///
-/// #define OLENA_LENA ""/usr/local/share/olena/images/lena.pgm"
+/// #define OLENA_LENA ""/usr/local/share/olena/images/lena.ppm"
///
/// void test()
/// {
-/// typedef mln::value::int_u8 int_u8;
-/// mln::image2d<int_u8> img_ref;
-/// mln::image1d<unsigned> img_res;
+/// typedef mln::value::rgb<7> rgb7;
+/// mln::image2d<rgb7> img_ref;
+/// mln::image3d<unsigned> img_res;
///
-/// mln::io::pgm::load(img_ref, OLENA_LENA);
-/// img_res = mln::data::compute(mln::accu::stat::histo1d<int_u8>(), img_ref);
+/// mln::io::ppm::load(img_ref, OLENA_LENA);
+/// img_res=mln::data::compute(mln::accu::meta::stat::histo3d_rgb(),img_ref);
/// }
@@ -90,7 +89,26 @@ namespace mln
struct histo3d_rgb;
} // end of namespace mln::accu::stat
-
+
+ namespace meta
+ {
+
+ namespace stat
+ {
+
+ struct histo3d_rgb : public Meta_Accumulator<histo3d_rgb>
+ {
+ template <typename V>
+ struct with
+ {
+ typedef accu::stat::histo3d_rgb<V> ret;
+ };
+ };
+
+ } // end of namespace mln::accu::meta::stat
+
+ } // end of namespace mln::accu::meta
+
} // end of namespace mln::accu
@@ -122,13 +140,13 @@ namespace mln
namespace stat
{
- /// \brief Define an histogram which returns an image1d .
+ /// \brief Define an histogram which returns an image3d .
///
/// Param V defines the space in which we count the values.
- /// For instance, this histogram works image2d<int_u8> or
- /// image1d<int_u16>. The histogram count the occurrence of each value.
- /// The number of bins depends of the greyscale values, for 8 bits there
- /// is 256 bins, for 16 bits there is 65536 bins. Note that over
+ /// For instance, this histogram works image2d<rgb<2>> or
+ /// image2d<rgb<7>>. The histogram count the occurrence of each value.
+ /// The number of bins depends of the grayscale values, for 8 bits there
+ /// is 256x3 bins. Note that over
/// quantification works too.
///
/// \ingroup modaccuvalues
diff --git a/trunk/milena/sandbox/green/mln/io/plot/save_histo_sh.hh b/trunk/milena/sandbox/green/mln/io/plot/save_histo_sh.hh
index cfd3446..111949a 100644
--- a/trunk/milena/sandbox/green/mln/io/plot/save_histo_sh.hh
+++ b/trunk/milena/sandbox/green/mln/io/plot/save_histo_sh.hh
@@ -63,8 +63,8 @@ namespace mln
void save_histo_sh(const image1d<I>& img, const std::string& filename);
- template <typename I>
- void save_histo_sh(const image2d<I>& img, const std::string& filename);
+ //template <typename I>
+ //void save_histo_sh(const image2d<I>& img, const std::string& filename);
/// \brief Save an histogram image3d as a gnuplot script shell.
/// \param[in] img the 3d image which contains the data to save.
@@ -123,7 +123,7 @@ namespace mln
out.close();
trace::exiting("mln::io::plot::save_histo_sh<1d>");
}
-
+ /*
template <typename I>
inline
void save_histo_sh(const image2d<I>& img, const std::string& filename)
@@ -157,7 +157,7 @@ namespace mln
trace::exiting("mln::io::plot::save_histo_sh<2d>");
}
-
+ */
template <typename I>
inline
void save_histo_sh(const image3d<I>& img, const std::string& filename)
@@ -183,7 +183,7 @@ namespace mln
out << p.row() << " ";
out << p.col() << " ";
out << p.sli() << " ";
- out << img(p) << std::endl;
+ out << img(p) << std::endl;
}
out << "e" << std::endl;
out << "EOF" << std::endl;
diff --git a/trunk/milena/sandbox/green/tests/accu/stat/histo1d/histo1d.cc b/trunk/milena/sandbox/green/tests/accu/stat/histo1d/histo1d.cc
index e959cbd..71266d1 100644
--- a/trunk/milena/sandbox/green/tests/accu/stat/histo1d/histo1d.cc
+++ b/trunk/milena/sandbox/green/tests/accu/stat/histo1d/histo1d.cc
@@ -74,8 +74,7 @@ void test_8bits_operator_equal()
histo1.take(val);
- /// FIXME mln_assertion(histo1 != histo2); doesn't work!!
- mln_assertion(!(histo1 == histo2));
+ mln_assertion(histo1 != histo2);
histo2.take(val);
@@ -259,7 +258,8 @@ void test_8bits_integration()
const double mean_ref = mln::data::compute(mean(), img_ref);
const double var_ref = mln::data::compute(variance(), img_ref);
- img_res = mln::data::compute(mln::accu::stat::histo1d<int_u8>(), img_ref);
+ img_res = mln::data::compute(mln::accu::meta::stat::histo1d(), img_ref);
+ // img_res = mln::data::compute(mln::accu::stat::histo1d<int_u8>(), img_ref);
const double count_res = count_histo(img_res);
const double mean_res = mean_histo(img_res);
@@ -678,15 +678,17 @@ void test_14bits_classifying()
int main()
{
+ test_8bits_operator_equal();
/*
test_8bits_instantiation_without_argument();
test_8bits_initialization();
test_8bits_take_argument();
test_8bits_take_other();
test_8bits_operator_equal();
- test_8bits_integration();
*/
- test_8bits_classifying();
+ //test_8bits_integration();
+
+ //test_8bits_classifying();
// PROBLEME AVEC LES COORDONNEES PAR DEFAUT QUI SONT EN SIGNED SHORT
// SEE mln/core/def/coord.hh
@@ -698,7 +700,7 @@ int main()
test_14bits_operator_equal();
test_14bits_integration();
*/
- test_14bits_classifying();
+ //test_14bits_classifying();
return 0;
}
diff --git a/trunk/milena/sandbox/green/tests/accu/stat/histo3d_hsl/histo3d_hsl.cc b/trunk/milena/sandbox/green/tests/accu/stat/histo3d_hsl/histo3d_hsl.cc
index 47b3900..0a12706 100644
--- a/trunk/milena/sandbox/green/tests/accu/stat/histo3d_hsl/histo3d_hsl.cc
+++ b/trunk/milena/sandbox/green/tests/accu/stat/histo3d_hsl/histo3d_hsl.cc
@@ -330,13 +330,13 @@ void test_integration()
mln::image2d<float> img_sav;
- //mln::io::ppm::load(img_fst, OLENA_IMG_PATH"/lena.ppm")
- mln::io::ppm::load(img_fst, OLENA_IMG_PATH"/fly.ppm");
- img_sec = mln::data::transform(img_fst, mln::fun::v2v::rgb8_to_rgbn<n>());
- img_thd = mln::data::transform(img_sec,mln::fun::v2v::f_rgb_to_hsl_<hsl_f>());
+ mln::io::ppm::load(img_fst, OLENA_IMG_PATH"/lena.ppm");
+ //mln::io::ppm::load(img_fst, OLENA_IMG_PATH"/fly.ppm");
+ //img_sec = mln::data::transform(img_fst, mln::fun::v2v::rgb8_to_rgbn<n>());
+ img_thd = mln::data::transform(img_fst,mln::fun::v2v::f_rgb_to_hsl_<hsl_f>());
- img_sav = mln::data::transform(img_thd, hslf_2_h());
- mln::io::plot::save_histo_sh(img_sav, "fly2.sh");
+ //img_sav = mln::data::transform(img_thd, hslf_2_h());
+ //mln::io::plot::save_histo_sh(img_sav, "lena2.sh");
img_ref = mln::data::transform(img_thd, hslf_2_vec3f());
@@ -347,7 +347,7 @@ void test_integration()
img_res = mln::data::compute(mln::accu::stat::histo3d_hsl<q,hsl_f>(),img_thd);
- mln::io::plot::save_histo_sh(img_res, "fly3.sh");
+ mln::io::plot::save_histo_sh(img_res, "histo_hsl.sh");
const double count_res = count_histo(img_res);
const vec3f mean_res = mean_histo(img_res, q);
@@ -410,13 +410,14 @@ void test()
int main()
{
-
+ /*
test_operator_equal<3>();
test_instantiation_without_argument<3>();
test_initialization<3>();
test_take_argument<3>();
test_take_other<3>();
- test_integration<3,7>();
+ */
+ test_integration<7,6>();
return 0;
}
diff --git a/trunk/milena/sandbox/green/tests/accu/stat/histo3d_rgb/histo3d_rgb.cc b/trunk/milena/sandbox/green/tests/accu/stat/histo3d_rgb/histo3d_rgb.cc
index eb87332..cbf273b 100644
--- a/trunk/milena/sandbox/green/tests/accu/stat/histo3d_rgb/histo3d_rgb.cc
+++ b/trunk/milena/sandbox/green/tests/accu/stat/histo3d_rgb/histo3d_rgb.cc
@@ -9,6 +9,7 @@
#include <mln/io/ppm/load.hh>
#include <mln/io/ppm/save.hh>
#include <mln/io/plot/save.hh>
+#include <mln/io/plot/save_histo_sh.hh>
#include <mln/data/compute.hh>
#include <mln/data/transform.hh>
@@ -279,6 +280,7 @@ void test_integration()
img_res = mln::data::compute(mln::accu::stat::histo3d_rgb<rgbn>(), img_ref);
+ mln::io::plot::save_histo_sh(img_res, "histo_rgb.sh");
const double count_res = count_histo(img_res);
const vec3f mean_res = mean_histo(img_res);
@@ -329,14 +331,14 @@ int main()
test_take_other<1>();
test_integration<1>();
*/
-
+ /*
test_operator_equal<2>();
test_instantiation_without_argument<2>();
test_initialization<2>();
test_take_argument<2>();
test_take_other<2>();
test_integration<2>();
-
+ */
/*
test_operator_equal<3>();
test_instantiation_without_argument<3>();
@@ -361,14 +363,14 @@ int main()
test_take_argument<5>();
test_take_other<5>();
test_integration<5>();
-
+ */
test_operator_equal<6>();
test_instantiation_without_argument<6>();
test_initialization<6>();
test_take_argument<6>();
test_take_other<6>();
test_integration<6>();
- */
+
/*
test_operator_equal<7>();
test_instantiation_without_argument<7>();
@@ -392,7 +394,5 @@ int main()
*/
- // p2p/fold+transform_domain for hcv
-
return 0;
}
--
1.5.6.5
1
0
* fabien/mln/upsampling/hq2x.hh,
* fabien/mln/upsampling/hq3x.hh,
* fabien/mln/upsampling/hq4x.hh: Fix invalid output domain.
---
milena/sandbox/ChangeLog | 18 +++++++++++++-----
milena/sandbox/fabien/mln/upsampling/hq2x.hh | 5 +++--
milena/sandbox/fabien/mln/upsampling/hq3x.hh | 4 +++-
milena/sandbox/fabien/mln/upsampling/hq4x.hh | 4 +++-
4 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/milena/sandbox/ChangeLog b/milena/sandbox/ChangeLog
index 16bbebb..cc14c70 100644
--- a/milena/sandbox/ChangeLog
+++ b/milena/sandbox/ChangeLog
@@ -1,3 +1,11 @@
+2009-09-22 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+
+ Fix invalid output domain in hq*x algorithms.
+
+ * fabien/mln/upsampling/hq2x.hh,
+ * fabien/mln/upsampling/hq3x.hh,
+ * fabien/mln/upsampling/hq4x.hh: Fix invalid output domain.
+
2009-09-22 Yann Jacquelet <jacquelet(a)lrde.epita.fr>
Adapt styles. Need some 2d code.
@@ -139,12 +147,12 @@
* green/doc/examples : New directory.
Move hello_world directory in doc/examples.
-
+
* green/doc/examples/hello_world : New directory.
* green/doc/examples/hello_world/Makefile.am : Copy makefile.
* green/doc/examples/hello_world/hellow_world.cc : Copy source file.
* green/doc/examples/hello_world/print.cc : Copy source file.
-
+
* green/hello_world/hello_world.cc : Remove source file.
* green/hello_world/print.cc : Remove source file.
* green/hello_world/Makefile.am : Remove makefile.
@@ -155,7 +163,7 @@
* green/doc/exampleshello_milena : New directory.
* green/doc/exampleshello_milena/Makefile.am : Copy makefile.
* green/doc/examples/hello_milena/hello_milena.cc : Copy source file.
-
+
* green/hello_milena/hello_milena.cc : Remove source file.
* green/hello_milena/Makefile.am : Remove makefile.
* green/hello_milena : Remove directory.
@@ -165,7 +173,7 @@
* green/doc/examples/learn_milena : New directory.
* green/doc/examples/learn_milena/Makefile.am : Copy makefile.
* green/doc/examples/learn_milena/learn_milena.cc : Copy source file.
-
+
* green/learn_milena/learn_milena.cc : Remove source file.
* green/learn_milena/Makefile.am : Remove makefile.
* green/learn_milena : Remove directory.
@@ -175,7 +183,7 @@
* green/doc/examples/otsu : New directory.
* green/doc/examples/otsu/Makefile.am : Copy makefile.
* green/doc/examples/otsu/otsu.cc : Copy source file.
-
+
* green/otsu/otsu.cc : Remove source file.
* green/otsu/Makefile.am : Remove makefile.
* green/otsu : Remove directory.
diff --git a/milena/sandbox/fabien/mln/upsampling/hq2x.hh b/milena/sandbox/fabien/mln/upsampling/hq2x.hh
index 78ed271..4368212 100644
--- a/milena/sandbox/fabien/mln/upsampling/hq2x.hh
+++ b/milena/sandbox/fabien/mln/upsampling/hq2x.hh
@@ -24,6 +24,7 @@
/// Reference can be found at:
/// http://web.archive.org/web/20070624082212/www.hiend3d.com/hq2x.html
+# include <mln/core/alias/dpoint2d.hh>
# include <mln/extension/adjust_duplicate.hh>
# include <mln/geom/max_col.hh>
# include <mln/geom/max_row.hh>
@@ -237,8 +238,8 @@ namespace mln
{
trace::entering("upsampling::impl::hq2x_");
- mln_domain(image2d<T>) bbox(input.domain().pmin() * 4,
- input.domain().pmax() * 4);
+ mln_domain(image2d<T>) bbox(input.domain().pmin() * 2,
+ input.domain().pmax() * 2 + mln::down_right);
mln_concrete(image2d<T>) output(bbox);
int LUT16to32[65536];
diff --git a/milena/sandbox/fabien/mln/upsampling/hq3x.hh b/milena/sandbox/fabien/mln/upsampling/hq3x.hh
index 15c1e65..940fe61 100644
--- a/milena/sandbox/fabien/mln/upsampling/hq3x.hh
+++ b/milena/sandbox/fabien/mln/upsampling/hq3x.hh
@@ -24,6 +24,7 @@
/// Reference can be found at:
/// http://web.archive.org/web/20070624082212/www.hiend3d.com/hq3x.html
+# include <mln/core/alias/dpoint2d.hh>
# include <mln/extension/adjust_duplicate.hh>
# include <mln/geom/max_col.hh>
# include <mln/geom/max_row.hh>
@@ -224,7 +225,8 @@ namespace mln
trace::entering("upsampling::impl::hq3x_");
mln_domain(image2d<T>) bbox(input.domain().pmin() * 3,
- input.domain().pmax() * 3);
+ input.domain().pmax() * 3
+ + 2 * mln::down_right);
mln_concrete(image2d<T>) output(bbox);
int LUT16to32[65536];
diff --git a/milena/sandbox/fabien/mln/upsampling/hq4x.hh b/milena/sandbox/fabien/mln/upsampling/hq4x.hh
index c77ef6a..1d091dc 100644
--- a/milena/sandbox/fabien/mln/upsampling/hq4x.hh
+++ b/milena/sandbox/fabien/mln/upsampling/hq4x.hh
@@ -24,6 +24,7 @@
/// Reference can be found at:
/// http://web.archive.org/web/20070624082212/www.hiend3d.com/hq4x.html
+# include <mln/core/alias/dpoint2d.hh>
# include <mln/extension/adjust_duplicate.hh>
# include <mln/geom/max_col.hh>
# include <mln/geom/max_row.hh>
@@ -344,7 +345,8 @@ namespace mln
trace::entering("upsampling::impl::hq4x_");
mln_domain(image2d<T>) bbox(input.domain().pmin() * 4,
- input.domain().pmax() * 4);
+ input.domain().pmax() * 4
+ + 3 * mln::down_right);
mln_concrete(image2d<T>) output(bbox);
int LUT16to32[65536];
--
1.5.6.5
1
0
---
ChangeLog | 4 ++++
configure.ac | 2 ++
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 2946671..10d4808 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-09-22 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
+
+ * configure.ac: Configure milena/tests/upscaling.
+
2009-09-21 Guillaume Lazzara <lazzara(a)lrde.epita.fr>
Filter results in QA Scripts.
diff --git a/configure.ac b/configure.ac
index efbbb27..4aa31d4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -365,6 +365,8 @@ AC_CONFIG_FILES([
milena/tests/trait/value/Makefile
milena/tests/transform/Makefile
milena/tests/unit_test/Makefile
+ milena/tests/upscaling/Makefile
+ milena/tests/upscaling/art/Makefile
milena/tests/util/Makefile
milena/tests/value/Makefile
milena/tests/value/builtin/Makefile
--
1.5.6.5
1
0