LRE
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
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
List overview
Download
Olena-patches
January 2009
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
olena-patches@lrde.epita.fr
9 participants
152 discussions
Start a n
N
ew thread
3206: Fix mln::registration::multiscale test.
by Ugo Jardonnet
https://svn.lrde.epita.fr/svn/oln/trunk/milena
Index: ChangeLog from Ugo Jardonnet <jardonnet(a)lrde.epita.fr> Fix mln::registration::multiscale test. * tests/registration/Makefile.am: Add missing multiscale. * tests/registration/multiscale.cc: Add missing inclusion. * tests/registration/registration.cc: Use lena for tests (bof). * mln/registration/multiscale.hh: Fix wrong function call. * mln/registration/icp.hh: Fix documentation. mln/registration/icp.hh | 23 ++++++++++++++++------- mln/registration/multiscale.hh | 8 ++++---- tests/registration/Makefile.am | 4 +++- tests/registration/multiscale.cc | 2 +- tests/registration/registration.cc | 4 ++-- 5 files changed, 26 insertions(+), 15 deletions(-) Index: mln/registration/multiscale.hh --- mln/registration/multiscale.hh (revision 3206) +++ mln/registration/multiscale.hh (working copy) @@ -106,7 +106,7 @@ const unsigned nb_it) { p_array<mln_psite(I)> c = convert::to< p_array<mln_psite(I)> >(cloud); - p_array<mln_psite(J)> x = convert::to< p_array<mln_psite(I)> >(surface); + p_array<mln_psite(J)> x = convert::to< p_array<mln_psite(J)> >(surface); // Shuffle cloud shuffle(c); @@ -117,7 +117,7 @@ //make a lazy_image map via function closest_point fun::x2p::closest_point<mln_psite(I)> fun(x, working_box); - lazy_image<I, fun::x2p::closest_point<mln_psite(I)>, box2d > + const lazy_image<I, fun::x2p::closest_point<mln_psite(I)>, box2d > map(fun, fun.domain()); //init rigid transform qk @@ -126,9 +126,9 @@ //run registration for (int e = nb_it-1; e >= 0; e--) { - unsigned l = cloud.nsites() / std::pow(q, e); + unsigned int l = cloud.nsites() / std::pow(q, e); l = (l < 1) ? 1 : l; - registration::impl::icp_(cloud, l, map, qk, 1e-3); + icp_subset(c, l, map, qk); } return qk; } Index: mln/registration/icp.hh --- mln/registration/icp.hh (revision 3206) +++ mln/registration/icp.hh (working copy) @@ -101,17 +101,27 @@ icp(const p_array<P>& c, const M& map, const float epsilon = 1e-3); - /*! - * \fixme + + /*! Register point in \p c using a map of closest points \p map + * + * \param[in] c The cloud of points. + * \param[in] c_length points from cloud to use. + * \param[in] map The map of closest points. + * \param[in] qk The initial rigid transformation applied. + * \param[in] epsilon ICP stops if sqr_norm(qk - qk-1) / + * sqr_norm(qk) > epsilon + * \param[out] qk The rigid transformation obtained. + * + * \pre \p ima has to be initialized. */ template <typename P, typename M, typename T> inline void icp_subset(const p_array<P>& c, + const unsigned int c_length, const M& map, T& qk, - const unsigned c_length, - const float epsilon = 1e-3); + float epsilon = 1e-3); # ifndef MLN_INCLUDE_ONLY @@ -141,7 +151,6 @@ b[i] = f(convert::to< algebra::vec<P::dim,float> >(a[i])); } - template <typename P, typename M, typename T> inline void @@ -210,10 +219,10 @@ inline void icp_subset(const p_array<P>& c, - const unsigned c_length, + const unsigned int c_length, const M& map, T& qk, - const float epsilon = 1e-3) + float epsilon = 1e-3) { impl::icp_(c, c_length, map, qk, epsilon); } Index: tests/registration/multiscale.cc --- tests/registration/multiscale.cc (revision 3206) +++ tests/registration/multiscale.cc (working copy) @@ -30,8 +30,8 @@ * \brief Test on mln::registration::registration.cc */ +#include "tests/data.hh" #include <mln/io/pbm/all.hh> - #include <mln/registration/multiscale.hh> Index: tests/registration/registration.cc --- tests/registration/registration.cc (revision 3206) +++ tests/registration/registration.cc (working copy) @@ -42,8 +42,8 @@ image2d< bool > img2; //load images - io::pbm::load(img1, MLN_IMG_DIR "/tiny.pbm"); - io::pbm::load(img2, MLN_IMG_DIR "/tiny.pbm"); + io::pbm::load(img1, MLN_IMG_DIR "/lena.pbm"); + io::pbm::load(img2, MLN_IMG_DIR "/lena.pbm"); registration::registration(img1,img2); //FIXME: Auto test result Index: tests/registration/Makefile.am --- tests/registration/Makefile.am (revision 3206) +++ tests/registration/Makefile.am (working copy) @@ -3,8 +3,10 @@ include $(top_srcdir)/milena/tests/tests.mk check_PROGRAMS = \ - registration + registration \ + multiscale registration_SOURCES = registration.cc +multiscale_SOURCES = multiscale.cc TESTS = $(check_PROGRAMS)
15 years, 11 months
1
0
0
0
3206: boostrap: call milena/doc/tutorial/gen_distributed_files.sh.
by Guillaume Lazzara
--- ChangeLog | 4 ++++ bootstrap | 4 ++++ 2 files changed, 8 insertions(+), 0 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5808ff4..3d193d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2009-01-26 Guillaume Lazzara <z(a)lrde.epita.fr> + + * boostrap: call milena/doc/tutorial/gen_distributed_files.sh. + 2009-01-23 Guillaume Lazzara <z(a)lrde.epita.fr> * configure.ac: Configure milena/tests/io/raw. diff --git a/bootstrap b/bootstrap index c0ee7e8..4b1a351 100755 --- a/bootstrap +++ b/bootstrap @@ -122,6 +122,10 @@ run milena/tests/unit_test ./build_unit_test.sh $PWD/milena/mln # Generate milena/dist_headers.mk run milena ./generate_dist_headers.sh +# Generate lists of files to be part of the distribution +# for the tutorial. +run milena/doc/tutorial ./generate_dist_files.sh + # Tell what's going on. set -x -- 1.5.6.5
15 years, 11 months
1
0
0
0
3205: Make the 'make check' pass.
by Guillaume Lazzara
* mln/fun/meta/hue.hh: Fix double definition of members. * mln/fun/v2v/rgb_to_hsl.hh: add a missing include. * tests/core/routine/Makefile.am: rename clone as duplicate. * tests/geom/Makefile.am * tests/morpho/Makefile.am * tests/util/Makefile.am: set the last 5 non-working tests to xfail tests. --- milena/ChangeLog | 15 +++++++++++++++ milena/mln/fun/meta/hue.hh | 10 ++-------- milena/mln/fun/v2v/rgb_to_hsl.hh | 10 ++++++---- milena/tests/core/routine/Makefile.am | 4 ++-- milena/tests/geom/Makefile.am | 2 ++ milena/tests/morpho/Makefile.am | 3 +++ milena/tests/util/Makefile.am | 2 ++ 7 files changed, 32 insertions(+), 14 deletions(-) diff --git a/milena/ChangeLog b/milena/ChangeLog index 2ccdce1..ce6c59f 100644 --- a/milena/ChangeLog +++ b/milena/ChangeLog @@ -1,5 +1,20 @@ 2009-01-26 Guillaume Lazzara <z(a)lrde.epita.fr> + Make the 'make check' pass. + + * mln/fun/meta/hue.hh: Fix double definition of members. + + * mln/fun/v2v/rgb_to_hsl.hh: add a missing include. + + * tests/core/routine/Makefile.am: rename clone as duplicate. + + * tests/geom/Makefile.am + * tests/morpho/Makefile.am + * tests/util/Makefile.am: set the last 5 non-working tests to xfail + tests. + +2009-01-26 Guillaume Lazzara <z(a)lrde.epita.fr> + Fix list of distributed files. * Makefile.am: fix list of distributed images. diff --git a/milena/mln/fun/meta/hue.hh b/milena/mln/fun/meta/hue.hh index 1d0ae28..a1db15f 100644 --- a/milena/mln/fun/meta/hue.hh +++ b/milena/mln/fun/meta/hue.hh @@ -57,16 +57,10 @@ namespace mln typedef value::hsi_<H, S, I> value; typedef H result; - H read(const value& h) - { - return h.hue(); - } + H read(const value& h); typedef H& lresult; - H& write(value& h) - { - return h.hue(); - } + H& write(value& h); }; diff --git a/milena/mln/fun/v2v/rgb_to_hsl.hh b/milena/mln/fun/v2v/rgb_to_hsl.hh index 3bfe060..73a68f2 100644 --- a/milena/mln/fun/v2v/rgb_to_hsl.hh +++ b/milena/mln/fun/v2v/rgb_to_hsl.hh @@ -28,11 +28,13 @@ #ifndef MLN_FUN_V2V_RGB_TO_HSL_HH # define MLN_FUN_V2V_RGB_TO_HSL_HH -#include <cmath> +# include <cmath> -#include <mln/math/round.hh> -#include <mln/math/max.hh> -#include <mln/math/min.hh> +# include <mln/math/round.hh> +# include <mln/math/max.hh> +# include <mln/math/min.hh> + +# include <mln/trait/value_.hh> namespace mln diff --git a/milena/tests/core/routine/Makefile.am b/milena/tests/core/routine/Makefile.am index a576f34..9457ec9 100644 --- a/milena/tests/core/routine/Makefile.am +++ b/milena/tests/core/routine/Makefile.am @@ -3,13 +3,13 @@ include $(top_srcdir)/milena/tests/tests.mk check_PROGRAMS = \ - clone \ + duplicate \ exact \ extend \ initialize \ primary -clone_SOURCES = clone.cc +duplicate_SOURCES = duplicate.cc exact_SOURCES = exact.cc extend_SOURCES = extend.cc initialize_SOURCES = initialize.cc diff --git a/milena/tests/geom/Makefile.am b/milena/tests/geom/Makefile.am index c162770..728d9a8 100644 --- a/milena/tests/geom/Makefile.am +++ b/milena/tests/geom/Makefile.am @@ -42,3 +42,5 @@ seed2tiling_roundness_SOURCES = seed2tiling_roundness.cc TESTS = $(check_PROGRAMS) + +XFAIL_TESTS = seed2tiling_roundness diff --git a/milena/tests/morpho/Makefile.am b/milena/tests/morpho/Makefile.am index 003ba6f..b9c3e12 100644 --- a/milena/tests/morpho/Makefile.am +++ b/milena/tests/morpho/Makefile.am @@ -95,3 +95,6 @@ meyer_wst_long_CXXFLAGS = $(TESTS_CXXFLAGS_SPEED) TESTS = $(check_PROGRAMS) + +XFAIL_TESTS = combined \ + thinning diff --git a/milena/tests/util/Makefile.am b/milena/tests/util/Makefile.am index c095994..f6b4306 100644 --- a/milena/tests/util/Makefile.am +++ b/milena/tests/util/Makefile.am @@ -37,3 +37,5 @@ tree_to_fast_SOURCES = tree_to_fast.cc tree_to_image_SOURCES = tree_to_image.cc TESTS = $(check_PROGRAMS) +XFAIL_TESTS = tree_to_image \ + tree_fast_to_image -- 1.5.6.5
15 years, 11 months
1
0
0
0
3204: Fix list of distributed files.
by Guillaume Lazzara
* Makefile.am: fix list of distributed images. * doc/tutorial/Makefile.am: include new mk files. * doc/tutorial/generate_dist_files.sh: new script to generate the following list of files. * doc/tutorial/examples/examples.mk, * doc/tutorial/figures/figures.mk, * doc/tutorial/outputs/outputs.mk, * doc/tutorial/samples/samples.mk: generated files. --- milena/ChangeLog | 16 +++ milena/Makefile.am | 49 +++++----- milena/doc/tutorial/Makefile.am | 142 +--------------------------- milena/doc/tutorial/examples/examples.mk | 29 ++++++ milena/doc/tutorial/figures/figures.mk | 33 +++++++ milena/doc/tutorial/generate_dist_files.sh | 12 +++ milena/doc/tutorial/outputs/outputs.mk | 55 +++++++++++ milena/doc/tutorial/samples/samples.mk | 54 +++++++++++ 8 files changed, 229 insertions(+), 161 deletions(-) create mode 100644 milena/doc/tutorial/examples/examples.mk create mode 100644 milena/doc/tutorial/figures/figures.mk create mode 100755 milena/doc/tutorial/generate_dist_files.sh create mode 100644 milena/doc/tutorial/outputs/outputs.mk create mode 100644 milena/doc/tutorial/samples/samples.mk diff --git a/milena/ChangeLog b/milena/ChangeLog index 3986d4f..2ccdce1 100644 --- a/milena/ChangeLog +++ b/milena/ChangeLog @@ -1,3 +1,19 @@ +2009-01-26 Guillaume Lazzara <z(a)lrde.epita.fr> + + Fix list of distributed files. + + * Makefile.am: fix list of distributed images. + + * doc/tutorial/Makefile.am: include new mk files. + + * doc/tutorial/generate_dist_files.sh: new script to generate the following + list of files. + + * doc/tutorial/examples/examples.mk, + * doc/tutorial/figures/figures.mk, + * doc/tutorial/outputs/outputs.mk, + * doc/tutorial/samples/samples.mk: generated files. + 2009-01-24 Thierry Geraud <thierry.geraud(a)lrde.epita.fr> Fix consistency of make::box3d arguments. diff --git a/milena/Makefile.am b/milena/Makefile.am index c400ae7..cb295b9 100644 --- a/milena/Makefile.am +++ b/milena/Makefile.am @@ -17,29 +17,32 @@ tutorial: include $(top_srcdir)/milena/headers.mk -EXTRA_DIST = \ -img/lena.pbm \ -img/fly.pbm \ -img/squares-lc.pgm \ -img/lena_16.ppm \ -img/squares.pgm \ -img/fly.pgm \ -img/toto.pbm \ -img/README \ -img/quite-small.pgm \ -img/test.fits \ -img/lena.pgm \ -img/tiny.pbm \ -img/tiny.pgm \ -img/picasso.pbm \ -img/space_debris.pgm \ -img/picasso.pgm \ -img/small.pbm \ -img/small-enlarged.png \ -img/small.png \ -img/small.ppm \ -img/lena.ppm \ -img/small.pgm +EXTRA_DIST = \ +img/README \ +img/fly.pbm \ +img/fly.pgm \ +img/fly.ppm \ +img/lena.pbm \ +img/lena.pgm \ +img/lena.ppm \ +img/lena_16.ppm \ +img/medium.pgm \ +img/medium.ppm \ +img/picasso.pbm \ +img/picasso.pgm \ +img/quite-small.pgm \ +img/small-enlarged.png \ +img/small.pbm \ +img/small.pgm \ +img/small.png \ +img/small.ppm \ +img/squares-lc.pgm \ +img/squares.pgm \ +img/test.fits \ +img/tiny.pbm \ +img/tiny.pgm \ +img/tiny.ppm \ +img/toto.pbm EXTRA_DIST += \ generate_dist_headers.sh diff --git a/milena/doc/tutorial/Makefile.am b/milena/doc/tutorial/Makefile.am index ba26fe4..88be83d 100644 --- a/milena/doc/tutorial/Makefile.am +++ b/milena/doc/tutorial/Makefile.am @@ -40,145 +40,11 @@ EXTRA_DIST = \ tutorial.tex \ tutorial.pdf -EXTRA_DIST += \ -examples/cpp_issue.cc \ -examples/sub_image.cc \ -examples/sub_image_if.cc \ -examples/p_vaccess.cc \ -examples/win_multiple.cc \ -examples/image2d.cc \ -examples/image_plain.cc \ -examples/p_run.cc \ -examples/proxy.cc \ -examples/p_array.2.cc \ -examples/for_Z.cc \ -examples/image_if.cc \ -examples/p_key.cc \ -examples/p_mutable_array_of.cc \ -examples/p_queue.cc \ -examples/image_flat.cc \ -examples/p_image.cc \ -examples/box.cc \ -examples/p_line2d.cc \ -examples/p_array.cc \ -examples/accu.cc \ -examples/p_key.2.cc \ -examples/window.cc \ -examples/image_safe.cc \ -examples/vec.cc -EXTRA_DIST += \ -figures/ima2d-rot-2.ppm \ -figures/logical-not-2.pbm \ -figures/fill-subdomain-2.ppm \ -figures/labeling-compute-2.ppm \ -figures/ima2d-rot-1.ppm \ -figures/fill-subdomain-3.ppm \ -figures/logical-not-1.pbm \ -figures/ima_save.pbm \ -figures/fill-subimage-cfun-1.ppm \ -figures/fill-subdomain-4.ppm \ -figures/logical-not-3.pbm \ -figures/labeling-compute-1.pbm \ -figures/fill-subdomain-1.pbm - -EXTRA_DIST += \ -outputs/win-create-1-display.txt \ -outputs/win-create-2.txt \ -outputs/accu-right-instanciation.txt \ -outputs/ima2d-1.txt \ -outputs/borderthickness.txt \ -outputs/ima-save.txt \ -outputs/fill-subimage-cfun.txt \ -outputs/labeling-compute.txt \ -outputs/parray-display-1.txt \ -outputs/fill-subdomain-shorter.txt \ -outputs/dpoint-1.txt \ -outputs/forall-piter.txt \ -outputs/predicate-1.txt \ -outputs/box2d-bbox.txt \ -outputs/graph-iter.txt \ -outputs/graph-output-1.txt \ -outputs/fill-call-1.txt \ -outputs/ima2d-rot.txt \ -outputs/paste-call-1.txt \ -outputs/fun-p2v-1.txt \ -outputs/estim-sites.txt \ -outputs/parray-append.txt \ -outputs/fill-subdomain.txt \ -outputs/ima-size.txt \ -outputs/logical-not.txt \ -outputs/ima2d-display-output-2.txt \ -outputs/ima2d-decl-2.txt \ -outputs/paste.txt \ -outputs/ima2d-6-clone.txt \ -outputs/ima2d-7.txt \ -outputs/parray-bbox.txt \ -outputs/domain-display.txt \ -outputs/ima2d-display-1.txt \ -outputs/win-create-1.txt \ -outputs/ima2d-display-2.txt \ -outputs/ima2d-display-output-1.txt \ -outputs/fill-part-image.txt \ -outputs/ima2d-3-output.txt \ -outputs/ima-has.txt \ -outputs/ima2d-5.txt \ -outputs/ima2d-4.txt \ -outputs/mln_var.txt \ -outputs/fill.txt \ -outputs/point-1.txt \ -outputs/extension-ignore.txt \ -outputs/graph-data.txt \ -outputs/ima2d-2.txt \ -outputs/ima2d-3.txt - -EXTRA_DIST += \ -samples/paste-call-1.cc \ -samples/dpoint-1.cc \ -samples/parray-append.cc \ -samples/ima-load.cc.raw \ -samples/ima2d-restricted-1.cc.raw \ -samples/graph-iter.cc \ -samples/labeling-compute.cc \ -samples/ima2d-7.cc \ -samples/ima2d-restricted-2.cc.raw \ -samples/fill-subimage-cfun.cc \ -samples/ima-save.cc \ -samples/point-1.cc \ -samples/box2d-bbox.cc \ -samples/forall-piter.cc \ -samples/ima-size.cc \ -samples/borderthickness.cc \ -samples/Makefile.in \ -samples/ima-has.cc \ -samples/win-create-1.cc \ -samples/accu-wrong-instanciation.cc.raw \ -samples/accu-right-instanciation.cc \ -samples/ima2d-5.cc \ -samples/fill-subdomain.cc \ -samples/fill-subdomain-shorter.cc \ -samples/ima2d-2.cc \ -samples/extension-ignore.cc \ -samples/Makefile.am \ -samples/parray-bbox.cc \ -samples/graph-data.cc \ -samples/mln_var.cc \ -samples/ima2d-4.cc \ -samples/predicate-1.cc \ -samples/ima2d-3.cc \ -samples/ima2d-1.cc \ -samples/estim-sites.cc \ -samples/ima2d-6-clone.cc \ -samples/ima2d-restricted-3.cc.raw \ -samples/logical-not.cc \ -samples/fun-p2v-1.cc \ -samples/ima2d-rot.cc \ -samples/fill-part-image.cc \ -samples/domain-display.cc \ -samples/paste.cc \ -samples/fill.cc \ -samples/fill-call-1.cc \ -samples/win-create-2.cc +include $(top_srcdir)/milena/doc/tutorial/examples/examples.mk +include $(top_srcdir)/milena/doc/tutorial/figures/figures.mk +include $(top_srcdir)/milena/doc/tutorial/outputs/outputs.mk +include $(top_srcdir)/milena/doc/tutorial/samples/samples.mk EXTRA_DIST += \ tools/sample_utils.hh \ diff --git a/milena/doc/tutorial/examples/examples.mk b/milena/doc/tutorial/examples/examples.mk new file mode 100644 index 0000000..146f068 --- /dev/null +++ b/milena/doc/tutorial/examples/examples.mk @@ -0,0 +1,29 @@ +## Generated by ../generate_dist_files, do not modify ## +EXTRA_DIST += \ +examples \ +examples/cpp_issue.cc \ +examples/sub_image.cc \ +examples/sub_image_if.cc \ +examples/p_vaccess.cc \ +examples/win_multiple.cc \ +examples/image2d.cc \ +examples/image_plain.cc \ +examples/p_run.cc \ +examples/proxy.cc \ +examples/p_array.2.cc \ +examples/examples.mk \ +examples/for_Z.cc \ +examples/image_if.cc \ +examples/p_key.cc \ +examples/p_mutable_array_of.cc \ +examples/p_queue.cc \ +examples/image_flat.cc \ +examples/p_image.cc \ +examples/box.cc \ +examples/p_line2d.cc \ +examples/p_array.cc \ +examples/accu.cc \ +examples/p_key.2.cc \ +examples/window.cc \ +examples/image_safe.cc \ +examples/vec.cc diff --git a/milena/doc/tutorial/figures/figures.mk b/milena/doc/tutorial/figures/figures.mk new file mode 100644 index 0000000..3d11a2b --- /dev/null +++ b/milena/doc/tutorial/figures/figures.mk @@ -0,0 +1,33 @@ +## Generated by ../generate_dist_files, do not modify ## +EXTRA_DIST += \ +figures \ +figures/ima2d-rot-2.ppm \ +figures/tuto3_rw_image-1.ppm \ +figures/logical-not-2.pbm \ +figures/fill-subdomain-2.ppm \ +figures/tuto4_genericity_and_algorithms-9.pgm \ +figures/labeling-compute-2.ppm \ +figures/tuto4_genericity_and_algorithms-7.pgm \ +figures/tuto4_genericity_and_algorithms-5.ppm \ +figures/ima2d-rot-1.ppm \ +figures/fill-subdomain-3.ppm \ +figures/tuto4_genericity_and_algorithms-9.ppm \ +figures/logical-not-1.pbm \ +figures/ima_save.pbm \ +figures/figures.mk \ +figures/fill-subimage-cfun-1.ppm \ +figures/fill-subdomain-4.ppm \ +figures/tuto4_genericity_and_algorithms-7.ppm \ +figures/tuto4_genericity_and_algorithms-6.ppm \ +figures/logical-not-3.pbm \ +figures/tuto4_genericity_and_algorithms-3.pbm \ +figures/tuto1_first_image-1.pbm \ +figures/tuto4_genericity_and_algorithms-1.ppm \ +figures/tuto4_genericity_and_algorithms-8.ppm \ +figures/labeling-compute-1.pbm \ +figures/tuto3_rw_image-3.ppm \ +figures/tuto4_genericity_and_algorithms-4.ppm \ +figures/tuto4_genericity_and_algorithms-8.pgm \ +figures/tuto4_genericity_and_algorithms-2.ppm \ +figures/fill-subdomain-1.pbm \ +figures/tuto3_rw_image-2.ppm diff --git a/milena/doc/tutorial/generate_dist_files.sh b/milena/doc/tutorial/generate_dist_files.sh new file mode 100755 index 0000000..5864bff --- /dev/null +++ b/milena/doc/tutorial/generate_dist_files.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +for dir in samples figures outputs examples; do + OUT="$dir/$dir.mk" + echo "## Generated by ../generate_dist_files, do not modify ##" > $OUT + echo -n "EXTRA_DIST += " >> $OUT + for file in `find $dir`; do + echo " \\" >> $OUT + echo -n $file >> $OUT + done + echo "" >> $OUT +done diff --git a/milena/doc/tutorial/outputs/outputs.mk b/milena/doc/tutorial/outputs/outputs.mk new file mode 100644 index 0000000..7d7596d --- /dev/null +++ b/milena/doc/tutorial/outputs/outputs.mk @@ -0,0 +1,55 @@ +## Generated by ../generate_dist_files, do not modify ## +EXTRA_DIST += \ +outputs \ +outputs/win-create-1-display.txt \ +outputs/win-create-2.txt \ +outputs/accu-right-instanciation.txt \ +outputs/ima2d-1.txt \ +outputs/borderthickness.txt \ +outputs/ima-save.txt \ +outputs/fill-subimage-cfun.txt \ +outputs/labeling-compute.txt \ +outputs/parray-display-1.txt \ +outputs/fill-subdomain-shorter.txt \ +outputs/dpoint-1.txt \ +outputs/forall-piter.txt \ +outputs/predicate-1.txt \ +outputs/box2d-bbox.txt \ +outputs/graph-iter.txt \ +outputs/graph-output-1.txt \ +outputs/fill-call-1.txt \ +outputs/ima2d-rot.txt \ +outputs/paste-call-1.txt \ +outputs/fun-p2v-1.txt \ +outputs/estim-sites.txt \ +outputs/parray-append.txt \ +outputs/fill-subdomain.txt \ +outputs/ima-size.txt \ +outputs/tuto2_first_image.txt \ +outputs/logical-not.txt \ +outputs/ima2d-display-output-2.txt \ +outputs/ima2d-decl-2.txt \ +outputs/paste.txt \ +outputs/outputs.mk \ +outputs/ima2d-6-clone.txt \ +outputs/ima2d-7.txt \ +outputs/tuto3_rw_image.txt \ +outputs/parray-bbox.txt \ +outputs/domain-display.txt \ +outputs/ima2d-display-1.txt \ +outputs/win-create-1.txt \ +outputs/ima2d-display-2.txt \ +outputs/ima2d-display-output-1.txt \ +outputs/fill-part-image.txt \ +outputs/tuto4_genericity_and_algorithms.txt \ +outputs/ima-has.txt \ +outputs/ima2d-5.txt \ +outputs/ima2d-4.txt \ +outputs/mln_var.txt \ +outputs/fill.txt \ +outputs/point-1.txt \ +outputs/extension-ignore.txt \ +outputs/graph-data.txt \ +outputs/tuto1_first_image.txt \ +outputs/ima2d-2.txt \ +outputs/ima2d-3.txt diff --git a/milena/doc/tutorial/samples/samples.mk b/milena/doc/tutorial/samples/samples.mk new file mode 100644 index 0000000..7213ed1 --- /dev/null +++ b/milena/doc/tutorial/samples/samples.mk @@ -0,0 +1,54 @@ +## Generated by ../generate_dist_files, do not modify ## +EXTRA_DIST += \ +samples \ +samples/paste-call-1.cc \ +samples/dpoint-1.cc \ +samples/parray-append.cc \ +samples/fill-proto.cc.raw \ +samples/ima2d-restricted-1.cc.raw \ +samples/graph-iter.cc \ +samples/labeling-compute.cc \ +samples/ima2d-7.cc \ +samples/ima2d-restricted-2.cc.raw \ +samples/fill-subimage-cfun.cc \ +samples/ima-save.cc \ +samples/point-1.cc \ +samples/box2d-bbox.cc \ +samples/forall-piter.cc \ +samples/ima-size.cc \ +samples/borderthickness.cc \ +samples/Makefile.in \ +samples/ima-load.cc \ +samples/ima-has.cc \ +samples/win-create-1.cc \ +samples/samples.mk \ +samples/accu-wrong-instanciation.cc.raw \ +samples/accu-right-instanciation.cc \ +samples/ima2d-5.cc \ +samples/fill-subdomain.cc \ +samples/fill-subdomain-shorter.cc \ +samples/tuto3_rw_image.cc \ +samples/ima2d-2.cc \ +samples/extension-ignore.cc \ +samples/Makefile.am \ +samples/parray-bbox.cc \ +samples/graph-data.cc \ +samples/mln_var.cc \ +samples/ima2d-4.cc \ +samples/predicate-1.cc \ +samples/ima2d-3.cc \ +samples/tuto2_first_image.cc \ +samples/ima2d-1.cc \ +samples/estim-sites.cc \ +samples/ima2d-6-clone.cc \ +samples/ima2d-restricted-3.cc.raw \ +samples/logical-not.cc \ +samples/fun-p2v-1.cc \ +samples/ima2d-rot.cc \ +samples/fill-part-image.cc \ +samples/domain-display.cc \ +samples/tuto4_genericity_and_algorithms.cc \ +samples/paste.cc \ +samples/fill.cc \ +samples/fill-call-1.cc \ +samples/win-create-2.cc -- 1.5.6.5
15 years, 11 months
1
0
0
0
3203: Fix consistency of make::box3d arguments.
by Thierry Geraud
https://svn.lrde.epita.fr/svn/oln/trunk/milena
Index: ChangeLog from Thierry Geraud <thierry.geraud(a)lrde.epita.fr> Fix consistency of make::box3d arguments. * mln/make/box3d.hh (todo): Remove. (box3d): Change args order to be consistent with box2d. box3d.hh | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) Index: mln/make/box3d.hh --- mln/make/box3d.hh (revision 3202) +++ mln/make/box3d.hh (working copy) @@ -32,8 +32,6 @@ /// \file mln/make/box3d.hh /// /// Routines to construct an mln::box3d. -/// -/// \todo Not consistent with box2d!!! # include <mln/core/alias/box3d.hh> @@ -62,10 +60,10 @@ * \overload * * \param[in] min_sli Index of the lowest slice. - * \param[in] max_sli Index of the highest slice. * \param[in] min_row Index of the top most row. - * \param[in] max_row Index of the botton most row. * \param[in] min_col Index of the left most column. + * \param[in] max_sli Index of the highest slice. + * \param[in] max_row Index of the botton most row. * \param[in] max_col Index of the right most column. * * \pre \p max_sli >= \p min_sli. @@ -74,9 +72,8 @@ * * \return A 3D box. */ - mln::box3d box3d(def::coord min_sli, def::coord max_sli, - def::coord min_row, def::coord max_row, - def::coord min_col, def::coord max_col); + mln::box3d box3d(def::coord min_sli, def::coord min_row, def::coord min_col, + def::coord max_sli, def::coord max_row, def::coord max_col); # ifndef MLN_INCLUDE_ONLY @@ -92,10 +89,10 @@ return tmp; } + mln::box3d inline - mln::box3d box3d(def::coord min_sli, def::coord max_sli, - def::coord min_row, def::coord max_row, - def::coord min_col, def::coord max_col) + box3d(def::coord min_sli, def::coord min_row, def::coord min_col, + def::coord max_sli, def::coord max_row, def::coord max_col) { mln_precondition(max_row >= min_row && max_sli >= min_sli && max_col >= min_col); mln::box3d tmp(point3d(min_sli, min_row, min_col),
15 years, 11 months
1
0
0
0
3202: Cleanup organization related to ISMM code.
by Thierry Geraud
https://svn.lrde.epita.fr/svn/oln/trunk/milena/sandbox
Index: ChangeLog from Thierry Geraud <thierry.geraud(a)lrde.epita.fr> Cleanup organization related to ISMM code. * theo/esiee/laurent: New directory. * theo/laurent/wst_edge.cc, * theo/laurent/wst2d.cc, * theo/laurent/classif.cc, * theo/laurent/wst3d.cc: Move into... * theo/esiee/laurent/presentation: ...this new directory. * theo/laurent: Remove. * laurent/ismm2009.v0.cc, * laurent/ismm2009.v1.cc, * laurent/ismm2009.v2.cc: Move into... * laurent/memo: ...this new directory. * laurent/ismm2009.cc (n_basins): Move log. (FIXME): New. * laurent/playing_with_attributes.cc (test_attribute_growing_property): New. (change_tree_attributes): Rename as.. (attribute_extinction): ...this. (rec, NEW___extinct_attributes): New. * theo/esiee/laurent/ismm09: New directory. * theo/esiee/laurent/ismm09/main.cc: New. laurent/ismm2009.cc | 11 ++ laurent/playing_with_attributes.cc | 116 ++++++++++++++++++++++---- theo/esiee/laurent/ismm09/main.cc | 161 +++++++++++++++++++++++++++++++++++++ 3 files changed, 269 insertions(+), 19 deletions(-) Index: theo/esiee/laurent/ismm09/main.cc --- theo/esiee/laurent/ismm09/main.cc (revision 0) +++ theo/esiee/laurent/ismm09/main.cc (revision 0) @@ -0,0 +1,161 @@ + +#include <mln/core/var.hh> + +#include <mln/core/image/image2d.hh> +#include <mln/make/double_neighb2d.hh> + +#include <mln/core/image/image_if.hh> +#include <mln/core/routine/extend.hh> + +#include <mln/value/label_16.hh> +#include <mln/value/int_u8.hh> +#include <mln/io/pgm/load.hh> +#include <mln/io/pgm/save.hh> +#include <mln/debug/println.hh> + +#include <mln/data/fill.hh> +#include <mln/data/paste.hh> + +#include <mln/morpho/gradient.hh> + + +namespace mln +{ + + + + template <typename I, typename J> + void data__paste_values(const Image<I>& input_, Image<J>& output_) + { + const I& input = exact(input_); + J& output = exact(output_); + + mln_fwd_piter(I) pi(input.domain()); + mln_fwd_piter(J) po(output.domain()); + for_all_2(pi, po) + output(po) = input(pi); + } + + + + namespace cplx2d + { + + // Neighborhoods. + + typedef neighb< win::multiple<window2d, bool(*)(const point2d&)> > dbl_neighb2d; + + inline + bool is_row_odd(const point2d& p) + { + return p.row() % 2; + } + + // Edge to (the couple of) pixels. + const dbl_neighb2d& e2p() + { + static bool e2p_h[] = { 0, 1, 0, + 0, 0, 0, + 0, 1, 0 }; + static bool e2p_v[] = { 0, 0, 0, + 1, 0, 1, + 0, 0, 0 }; + static dbl_neighb2d nbh = make::double_neighb2d(is_row_odd, e2p_h, e2p_v); + return nbh; + } + + + // Edge to neighboring edges. + const dbl_neighb2d& e2e() + { + static bool e2e_h[] = { 0, 0, 1, 0, 0, + 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, + 0, 1, 0, 1, 0, + 0, 0, 1, 0, 0 }; + static bool e2e_v[] = { 0, 0, 0, 0, 0, + 0, 1, 0, 1, 0, + 1, 0, 0, 0, 1, + 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0 }; + static dbl_neighb2d nbh = make::double_neighb2d(is_row_odd, e2e_h, e2e_v); + return nbh; + } + + + // Predicates. + + typedef fun::C<bool (*)(const mln::point2d&)> predicate_t; + + inline + bool is_pixel(const point2d& p) + { + // Original pixels. + return p.row() % 2 == 0 && p.col() % 2 == 0; + } + + inline + bool is_edge(const point2d& p) + { + // Edges between pixels. + return p.row() % 2 + p.col() % 2 == 1; + } + + inline + bool is_point(const point2d& p) + { + // Points in-between pixels. + return p.row() % 2 && p.col() % 2; + } + + + image_if< image2d<value::int_u8>, predicate_t > + f_to_g(const image2d<value::int_u8>& f) + { + + image2d<value::int_u8> f_(2 * f.nrows() - 1, 2 * f.ncols() - 1); + data::fill(f_, 0); // Useless but for display! + + data__paste_values(f, (f_ | is_pixel).rw()); + debug::println(f_ | is_pixel); + + mln_VAR(g, f_ | is_edge); + data::paste(morpho::gradient(extend(g, f_), + e2p().win()), + g); + debug::println(g); + + return g; + } + + + } // end of namespace mln::face2 + +} // end of namespace mln + + +void usage(char* argv[]) +{ + std::cerr << "usage: " << argv[0] << " input.pgm echo output.pgm" << std::endl; + std::cerr << "Laurent ISMM 2009 scheme with saliency map as output." << std::endl; + std::cerr << " echo = 0 or 1." << std::endl; + abort(); +} + + + + +int main(int argc, char* argv[]) +{ + using namespace mln; + using value::int_u8; + using value::label_16; + + if (argc != 4) + usage(argv); + + image2d<int_u8> f; + io::pgm::load(f, argv[1]); + + mln_VAR(g, cplx2d::f_to_g(f) ); +} Index: laurent/ismm2009.cc --- laurent/ismm2009.cc (revision 3201) +++ laurent/ismm2009.cc (working copy) @@ -18,7 +18,9 @@ #include <mln/level/stretch.hh> #include <mln/labeling/compute.hh> + #include <mln/accu/count.hh> +#include <mln/accu/height.hh> #include <mln/util/timer.hh> #include <mln/util/fibonacci_heap.hh> @@ -479,14 +481,14 @@ compute_wst_g_from_f(f, g, e2p(), e2e(), n_basins, echo) ); - std::cout << "n basins = " << n_basins << std::endl; - if (echo) { debug::println("g:", g); debug::println("wst(g):", wst_g); } + std::cout << "n basins = " << n_basins << std::endl; + // Just to see things. @@ -542,6 +544,11 @@ // Compute an attribute per region. // -------------------------------- + { + // Height. + // FIXME: HERE... + } + typedef unsigned A; util::array<A> a = labeling::compute(accu::meta::count(), g, Index: laurent/playing_with_attributes.cc --- laurent/playing_with_attributes.cc (revision 3201) +++ laurent/playing_with_attributes.cc (working copy) @@ -49,6 +49,29 @@ }; + // FIXME: HERE + + + template <typename T, typename I> + bool + test_attribute_growing_property(const T& t, // Tree. + const I& a) // Attribute image. + { + typedef mln_site(I) P; + typedef mln_value(I) A; // Type of attributes. + + // Test that attributes increase with parenthood. + mln_fwd_piter(T) p(t.domain()); + for_all(p) + if (t.is_a_non_root_node(p)) + { + mln_invariant(t.is_a_node(t.parent(p))); + if (a(t.parent(p)) < a(p)) + return false; + } + return true; + } + template <typename T, typename I> void depict_tree_attributes(const T& t, // Tree. @@ -81,29 +104,25 @@ } + + // Attribute extinction (reference code). + // -------------------------------------- + + template <typename T, typename I> mln_concrete(I) - change_tree_attributes(const T& t, // Tree. + attribute_extinction(const T& t, // Tree. const I& a, // Attribute image. bool echo = false) { typedef mln_site(I) P; typedef mln_value(I) A; // Type of attributes. - // Test that attributes increase with parenthood. - mln_fwd_piter(T) p(t.domain()); - for_all(p) - if (t.is_a_non_root_node(p)) - { - mln_assertion(t.is_a_node(t.parent(p))); - mln_invariant(a(t.parent(p)) >= a(p)); - } - + mln_assertion( test_attribute_growing_property(t, a) ); if (echo) depict_tree_attributes(t, a); - node_pred<T> node_only; node_only.t = &t; @@ -220,7 +239,63 @@ -} // mln + + + + // N E W C O D E = = Attribute extinction (reference code). + // -------------------------------------- + + template <typename T, typename I, typename M> + mln_value(I) rec(const T& t, // tree + I& a, // attribute image + M& mark, + const mln_psite(I)& p) + { + mln_invariant(mark(p) == false); + mark(p) = true; + if (t.parent(p) == p || mark(t.parent(p)) == true) // Stop. + return a(p); + return a(p) = rec(t, a, mark, t.parent(p)); + } + + + template <typename T, typename I> + void + NEW___extinct_attributes(const T& t, // Tree. + I& a, // Attribute image. + bool echo = false) + { + typedef mln_site(I) P; + typedef mln_value(I) A; // Type of attributes. + + if (echo) + depict_tree_attributes(t, a); + + + mln_ch_value(I, bool) mark; + initialize(mark, a); + data::fill(mark, false); + + node_pred<T> node_only; + node_only.t = &t; + + typedef p_array<P> S; + S s = level::sort_psites_increasing(a | node_only); + mln_invariant(geom::nsites(a | t.nodes()) == s.nsites()); + + mln_fwd_piter(S) p(s); + for_all(p) + { + if (mark(p) == true) + continue; + rec(t, a, mark, p); + } + + debug::println(mark | t.nodes()); + } + + +} // mln ------------------------------------------------------------ @@ -255,7 +330,14 @@ mln_ch_value(I,unsigned) a = morpho::tree::compute_attribute_image(a_, t); debug::println("a | nodes:", a | t.nodes()); - mln_ch_value(I,unsigned) aa = change_tree_attributes(t, a); + + // Reference version. +// mln_ch_value(I,unsigned) aa = attribute_extinction(t, a); + + // NEW version. + NEW___extinct_attributes(t, a); + mln_VAR(aa, a); + debug::println("aa | nodes:", aa | t.nodes()); // Back-propagation from nodes to components. @@ -269,8 +351,8 @@ } } - debug::println("a | w line:", a | (pw::value(w) == pw::cst(0))); - debug::println("aa | w line:", aa | (pw::value(w) == pw::cst(0))); +// debug::println("a | w line:", a | (pw::value(w) == pw::cst(0))); +// debug::println("aa | w line:", aa | (pw::value(w) == pw::cst(0))); // debug::println("a | w basins:", a | (pw::value(w) != pw::cst(0))); // debug::println("a | regmin:", a | (pw::value(regmin) != pw::cst(0))); @@ -301,13 +383,13 @@ I f_ = add_edges(raw_f); mln_VAR(f, f_ | is_pixel); - debug::println("f:", f); + // debug::println("f:", f); mln_VAR(g, f_ | is_edge); data::paste( morpho::gradient(extend(g, f_), e2p().win()), g ); - debug::println("g:", g); + // debug::println("g:", g); L n; do_it(g, e2e(), n);
15 years, 11 months
1
0
0
0
3201: Revamp fun::meta::*
by Guillaume Lazzara
* mln/fun/meta/blue.hh, * mln/fun/meta/green.hh, * mln/fun/meta/hue.hh, * mln/fun/meta/inty.hh, * mln/fun/meta/red.hh, * mln/fun/meta/sat.hh, * mln/fun/meta/to_enc.hh: Split declaration and implementation and improve code layout. --- milena/ChangeLog | 13 +++++++++ milena/mln/fun/meta/blue.hh | 56 +++++++++++++++++++++++++++++--------- milena/mln/fun/meta/green.hh | 56 +++++++++++++++++++++++++++++--------- milena/mln/fun/meta/hue.hh | 48 ++++++++++++++++++++++++++++----- milena/mln/fun/meta/inty.hh | 58 +++++++++++++++++++++++++++++----------- milena/mln/fun/meta/red.hh | 59 ++++++++++++++++++++++++++++++---------- milena/mln/fun/meta/sat.hh | 59 ++++++++++++++++++++++++++++++---------- milena/mln/fun/meta/to_enc.hh | 47 ++++++++++++++++++++++++-------- 8 files changed, 303 insertions(+), 93 deletions(-) diff --git a/milena/ChangeLog b/milena/ChangeLog index 69fa4f7..8ed026b 100644 --- a/milena/ChangeLog +++ b/milena/ChangeLog @@ -1,5 +1,18 @@ 2009-01-23 Guillaume Lazzara <z(a)lrde.epita.fr> + Revamp fun::meta::* + + * mln/fun/meta/blue.hh, + * mln/fun/meta/green.hh, + * mln/fun/meta/hue.hh, + * mln/fun/meta/inty.hh, + * mln/fun/meta/red.hh, + * mln/fun/meta/sat.hh, + * mln/fun/meta/to_enc.hh: Split declaration and implementation and + improve code layout. + +2009-01-23 Guillaume Lazzara <z(a)lrde.epita.fr> + Fix tutorial ref files. * doc/tutorial/figures/tuto3_rw_image-1.ppm, diff --git a/milena/mln/fun/meta/blue.hh b/milena/mln/fun/meta/blue.hh index 4c5a64d..2a4f175 100644 --- a/milena/mln/fun/meta/blue.hh +++ b/milena/mln/fun/meta/blue.hh @@ -28,37 +28,65 @@ #ifndef MLN_FUN_META_BLUE_HH # define MLN_FUN_META_BLUE_HH +/// \file mln/fun/meta/blue.hh +/// +/// Meta function to retrieve/modify the blue component. + # include <mln/core/concept/meta_fun.hh> # include <mln/value/rgb.hh> -namespace mln { +namespace mln +{ - namespace meta { + namespace meta + { template <class T> - struct blue : impl< blue<T> > { typedef T value; }; + struct blue : impl< blue<T> > + { + typedef T value; + }; + + } // end of namespace mln::meta - } template <unsigned n> - struct function< meta::blue< value::rgb<n> > > : public Function_v2w_w2v<function< meta::blue < value::rgb<n> > > > + struct function< meta::blue< value::rgb<n> > > + : public Function_v2w_w2v<function< meta::blue < value::rgb<n> > > > { typedef value::rgb<n> value; typedef typename value::blue_t result; - result read(const value& c) - { - return c.blue(); - } + result read(const value& c); typedef result& lresult; - lresult write(value& c) - { - return c.blue(); - } + lresult write(value& c); }; -} +# ifndef MLN_INCLUDE_ONLY + + + template <unsigned n> + inline + typename function< meta::blue< value::rgb<n> > >::result + function< meta::blue< value::rgb<n> > >::read(const value& c) + { + return c.blue(); + } + + template <unsigned n> + inline + typename function< meta::blue< value::rgb<n> > >::lresult + function< meta::blue< value::rgb<n> > >::write(value& c) + { + return c.blue(); + } + + +# endif // ! MLN_INCLUDE_ONLY + + +} // end of namespace mln #endif // MLN_FUN_META_BLUE_HH diff --git a/milena/mln/fun/meta/green.hh b/milena/mln/fun/meta/green.hh index 6cce043..14cf080 100644 --- a/milena/mln/fun/meta/green.hh +++ b/milena/mln/fun/meta/green.hh @@ -28,37 +28,65 @@ #ifndef MLN_FUN_META_GREEN_HH # define MLN_FUN_META_GREEN_HH +/// \file mln/fun/meta/green.hh +/// +/// Meta function to retrieve/modify the green component. + # include <mln/core/concept/meta_fun.hh> # include <mln/value/rgb.hh> -namespace mln { +namespace mln +{ - namespace meta { + namespace meta + { template <class T> - struct green : impl< green<T> > { typedef T value; }; + struct green : impl< green<T> > + { + typedef T value; + }; + + } // end of namespace mln::meta - } template <unsigned n> - struct function< meta::green< value::rgb<n> > > : public Function_v2w_w2v<function< meta::green < value::rgb<n> > > > + struct function< meta::green< value::rgb<n> > > + : public Function_v2w_w2v<function< meta::green < value::rgb<n> > > > { typedef value::rgb<n> value; typedef typename value::green_t result; - result read(const value& c) - { - return c.green(); - } + result read(const value& c); typedef result& lresult; - lresult write(value& c) - { - return c.green(); - } + lresult write(value& c); }; -} +# ifndef MLN_INCLUDE_ONLY + + + template <unsigned n> + inline + typename function< meta::green< value::rgb<n> > >::result + function< meta::green< value::rgb<n> > >::read(const value& c) + { + return c.green(); + } + + template <unsigned n> + inline + typename function< meta::green< value::rgb<n> > >::lresult + function< meta::green< value::rgb<n> > >::write(value& c) + { + return c.green(); + } + + +# endif // ! MLN_INCLUDE_ONLY + + +} // end of namespace mln #endif // MLN_FUN_META_GREEN_HH diff --git a/milena/mln/fun/meta/hue.hh b/milena/mln/fun/meta/hue.hh index c7a2a9c..1d0ae28 100644 --- a/milena/mln/fun/meta/hue.hh +++ b/milena/mln/fun/meta/hue.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,20 +29,30 @@ #ifndef MLN_FUN_META_HUE_HH # define MLN_FUN_META_HUE_HH +/// \file mln/fun/meta/hue.hh +/// +/// Meta function to retrieve/modify the color hue. + # include <mln/value/hsi.hh> # include <mln/core/concept/meta_fun.hh> -namespace mln { +namespace mln +{ - namespace meta { + namespace meta + { template <class H> - struct hue : impl< hue<H> > { typedef H value; }; + struct hue : impl< hue<H> > + { + typedef H value; + }; - } + } // end of namespace mln::meta template <class H, class S, class I> - struct function< meta::hue< value::hsi_<H, S, I> > > : public Function_v2w_w2v<function< meta::hue < value::hsi_<H, S, I> > > > + struct function< meta::hue< value::hsi_<H, S, I> > > + : public Function_v2w_w2v<function< meta::hue < value::hsi_<H, S, I> > > > { typedef value::hsi_<H, S, I> value; @@ -59,6 +70,29 @@ namespace mln { }; -} +# ifndef MLN_INCLUDE_ONLY + + + template <class H, class S, class I> + inline + H + function< meta::hue< value::hsi_<H, S, I> > >::read(const value& h) + { + return h.hue(); + } + + template <class H, class S, class I> + inline + H& + function< meta::hue< value::hsi_<H, S, I> > >::write(value& h) + { + return h.hue(); + } + + +# endif // ! MLN_INCLUDE_ONLY + + +} // end of namespace mln #endif // MLN_FUN_META_HUE_HH diff --git a/milena/mln/fun/meta/inty.hh b/milena/mln/fun/meta/inty.hh index a6b78e9..100641d 100644 --- a/milena/mln/fun/meta/inty.hh +++ b/milena/mln/fun/meta/inty.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,38 +29,63 @@ #ifndef MLN_FUN_META_INTY_HH # define MLN_FUN_META_INTY_HH +/// \file mln/fun/meta/infy.hh +/// +/// Meta function to retrieve/modify the color intensity. + # include <mln/value/hsi.hh> # include <mln/core/concept/meta_fun.hh> -namespace mln { +namespace mln +{ - namespace meta { + namespace meta + { template <class H> - struct inty : impl< inty<H> > { typedef H value; }; + struct inty : impl< inty<H> > + { + typedef H value; + }; + + } // end of namespace mln::meta - } template <class H, class S, class I> - struct function< meta::inty< value::hsi_<H, S, I> > > : - public Function_v2w_w2v<function< meta::inty < value::hsi_<H, S, I> > > > + struct function< meta::inty< value::hsi_<H, S, I> > > + : public Function_v2w_w2v<function< meta::inty < value::hsi_<H, S, I> > > > { typedef value::hsi_<H, S, I> value; typedef H result; - H read(const value& h) - { - return h.inty(); - } + H read(const value& h); typedef H& lresult; - H& write(value& h) - { - return h.inty(); - } + H& write(value& h); }; -} +# ifndef MLN_INCLUDE_ONLY + + template <class H, class S, class I> + inline + H + function< meta::inty< value::hsi_<H, S, I> > >::read(const value& h) + { + return h.inty(); + } + + template <class H, class S, class I> + inline + H& + function< meta::inty< value::hsi_<H, S, I> > >::write(value& h) + { + return h.inty(); + } + +# endif // ! MLN_INCLUDE_ONLY + + +} // end of namespace mln #endif // MLN_FUN_META_INTY_HH diff --git a/milena/mln/fun/meta/red.hh b/milena/mln/fun/meta/red.hh index 1e3fcb4..2e97080 100644 --- a/milena/mln/fun/meta/red.hh +++ b/milena/mln/fun/meta/red.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,37 +29,65 @@ #ifndef MLN_FUN_META_RED_HH # define MLN_FUN_META_RED_HH +/// \file mln/fun/meta/red.hh +/// +/// Meta function to retrieve/modify the red component. + # include <mln/core/concept/meta_fun.hh> # include <mln/value/rgb.hh> -namespace mln { +namespace mln +{ - namespace meta { + namespace meta + { template <class T> - struct red : impl< red<T> > { typedef T value; }; + struct red : impl< red<T> > + { + typedef T value; + }; + + } // end of namespace mln::meta - } template <unsigned n> - struct function< meta::red< value::rgb<n> > > : public Function_v2w_w2v<function< meta::red < value::rgb<n> > > > + struct function< meta::red< value::rgb<n> > > + : public Function_v2w_w2v<function< meta::red < value::rgb<n> > > > { typedef value::rgb<n> value; typedef typename value::red_t result; - result read(const value& c) - { - return c.red(); - } + result read(const value& c); typedef result& lresult; - lresult write(value& c) - { - return c.red(); - } + lresult write(value& c); }; -} +# ifndef MLN_INCLUDE_ONLY + + + template <unsigned n> + inline + typename function< meta::red< value::rgb<n> > >::result + function< meta::red< value::rgb<n> > >::read(const value& c) + { + return c.red(); + } + + template <unsigned n> + inline + typename function< meta::red< value::rgb<n> > >::lresult + function< meta::red< value::rgb<n> > >::write(value& c) + { + return c.red(); + } + + +# endif // ! MLN_INCLUDE_ONLY + + +} // end of namespace mln #endif // MLN_FUN_META_RED_HH diff --git a/milena/mln/fun/meta/sat.hh b/milena/mln/fun/meta/sat.hh index 9b8d1f4..bf4c74a 100644 --- a/milena/mln/fun/meta/sat.hh +++ b/milena/mln/fun/meta/sat.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,37 +29,65 @@ #ifndef MLN_FUN_META_SAT_HH # define MLN_FUN_META_SAT_HH +/// \file mln/fun/meta/sat.hh +/// +/// Meta function to retrieve/modify the color saturation. + # include <mln/value/hsi.hh> # include <mln/core/concept/meta_fun.hh> -namespace mln { +namespace mln +{ - namespace meta { + namespace meta + { template <class H> - struct sat : impl< sat<H> > { typedef H value; }; + struct sat : impl< sat<H> > + { + typedef H value; + }; + + } // end of namespace mln::meta - } template <class H, class S, class I> - struct function< meta::sat< value::hsi_<H, S, I> > > : public Function_v2w_w2v<function< meta::sat < value::hsi_<H, S, I> > > > + struct function< meta::sat< value::hsi_<H, S, I> > > + : public Function_v2w_w2v<function< meta::sat < value::hsi_<H, S, I> > > > { typedef value::hsi_<H, S, I> value; typedef H result; - H read(const value& h) - { - return h.sat(); - } + H read(const value& h); typedef H& lresult; - H& write(value& h) - { - return h.sat(); - } + H& write(value& h); }; -} +# ifndef MLN_INCLUDE_ONLY + + + template <class H, class S, class I> + inline + H + function< meta::sat< value::hsi_<H, S, I> > >::read(const value& h) + { + return h.sat(); + } + + template <class H, class S, class I> + inline + H& + function< meta::sat< value::hsi_<H, S, I> > >::write(value& h) + { + return h.sat(); + } + + +# endif // ! MLN_INCLUDE_ONLY + + +} // end of namespace mln #endif // MLN_FUN_META_SAT_HH diff --git a/milena/mln/fun/meta/to_enc.hh b/milena/mln/fun/meta/to_enc.hh index 6180b4e..37299ff 100644 --- a/milena/mln/fun/meta/to_enc.hh +++ b/milena/mln/fun/meta/to_enc.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -28,30 +29,52 @@ #ifndef MLN_FUN_META_RED_HH # define MLN_FUN_META_RED_HH +/// \file mln/fun/meta/to_enc.hh +/// +/// FIXME: doc + # include <mln/core/concept/meta_fun.hh> -namespace mln { +namespace mln +{ - namespace meta { + namespace meta + { template <class T> - struct to_enc : impl< to_enc<T> > { typedef typename T::enc value; }; + struct to_enc : impl< to_enc<T> > + { + typedef typename T::enc value; + }; + + } // end of namespace mln::meta - } template <typename T> - struct function< meta::to_enc<T> > : public Function_v2v<function< meta::to_enc<T> > > + struct function< meta::to_enc<T> > + : public Function_v2v<function< meta::to_enc<T> > > { typedef typename T::enc value; - value read(const T& t) - { - return t.to_enc(); - } - + value read(const T& t); }; -} +# ifndef MLN_INCLUDE_ONLY + + + template <typename T> + inline + typename T::enc + function< meta::to_enc<T> >::read(const T& t) + { + return t.to_enc(); + } + + +# endif // ! MLN_INCLUDE_ONLY + + +} // end of namespace mln #endif // MLN_FUN_META_RED_HH -- 1.5.6.5
15 years, 11 months
1
0
0
0
3200: Fix tutorial ref files.
by Guillaume Lazzara
* doc/tutorial/figures/tuto3_rw_image-1.ppm, * doc/tutorial/figures/tuto3_rw_image-2.ppm, * doc/tutorial/figures/tuto3_rw_image-3.ppm, * doc/tutorial/figures/tuto4_genericity_and_algorithms-1.ppm, * doc/tutorial/figures/tuto4_genericity_and_algorithms-2.ppm, * doc/tutorial/figures/tuto4_genericity_and_algorithms-4.ppm, * doc/tutorial/figures/tuto4_genericity_and_algorithms-5.ppm, * doc/tutorial/figures/tuto4_genericity_and_algorithms-6.ppm, * doc/tutorial/figures/tuto4_genericity_and_algorithms-7.pgm, * doc/tutorial/figures/tuto4_genericity_and_algorithms-8.ppm, * doc/tutorial/figures/tuto4_genericity_and_algorithms-9.ppm: update. * doc/tutorial/figures/tuto4_genericity_and_algorithms-10.ppm: delete, not needed anymore. * doc/tutorial/samples/tuto3_rw_image.cc, * doc/tutorial/samples/tuto4_genericity_and_algorithms.cc: Use rgb8 instead of rgb16. --- milena/ChangeLog | 23 ++++++++++++++++++++ milena/doc/tutorial/figures/tuto3_rw_image-1.ppm | Bin 9720 -> 4918 bytes milena/doc/tutorial/figures/tuto3_rw_image-2.ppm | Bin 9720 -> 4918 bytes milena/doc/tutorial/figures/tuto3_rw_image-3.ppm | Bin 24696 -> 12406 bytes .../figures/tuto4_genericity_and_algorithms-1.ppm | Bin 24696 -> 12406 bytes .../figures/tuto4_genericity_and_algorithms-10.ppm | Bin 24696 -> 0 bytes .../figures/tuto4_genericity_and_algorithms-2.ppm | Bin 24696 -> 12406 bytes .../figures/tuto4_genericity_and_algorithms-4.ppm | Bin 24696 -> 12406 bytes .../figures/tuto4_genericity_and_algorithms-5.ppm | Bin 24696 -> 12406 bytes .../figures/tuto4_genericity_and_algorithms-6.ppm | Bin 24696 -> 12406 bytes .../figures/tuto4_genericity_and_algorithms-7.pgm | 4 +- .../figures/tuto4_genericity_and_algorithms-8.ppm | Bin 24696 -> 12406 bytes .../figures/tuto4_genericity_and_algorithms-9.ppm | Bin 24696 -> 12406 bytes milena/doc/tutorial/samples/tuto3_rw_image.cc | 6 ++-- .../samples/tuto4_genericity_and_algorithms.cc | 17 +++++++------- 15 files changed, 37 insertions(+), 13 deletions(-) delete mode 100644 milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-10.ppm diff --git a/milena/ChangeLog b/milena/ChangeLog index e587c95..69fa4f7 100644 --- a/milena/ChangeLog +++ b/milena/ChangeLog @@ -1,3 +1,26 @@ +2009-01-23 Guillaume Lazzara <z(a)lrde.epita.fr> + + Fix tutorial ref files. + + * doc/tutorial/figures/tuto3_rw_image-1.ppm, + * doc/tutorial/figures/tuto3_rw_image-2.ppm, + * doc/tutorial/figures/tuto3_rw_image-3.ppm, + * doc/tutorial/figures/tuto4_genericity_and_algorithms-1.ppm, + * doc/tutorial/figures/tuto4_genericity_and_algorithms-2.ppm, + * doc/tutorial/figures/tuto4_genericity_and_algorithms-4.ppm, + * doc/tutorial/figures/tuto4_genericity_and_algorithms-5.ppm, + * doc/tutorial/figures/tuto4_genericity_and_algorithms-6.ppm, + * doc/tutorial/figures/tuto4_genericity_and_algorithms-7.pgm, + * doc/tutorial/figures/tuto4_genericity_and_algorithms-8.ppm, + * doc/tutorial/figures/tuto4_genericity_and_algorithms-9.ppm: update. + + * doc/tutorial/figures/tuto4_genericity_and_algorithms-10.ppm: delete, + not needed anymore. + + * doc/tutorial/samples/tuto3_rw_image.cc, + * doc/tutorial/samples/tuto4_genericity_and_algorithms.cc: Use rgb8 + instead of rgb16. + 2009-01-23 Thierry Geraud <thierry.geraud(a)lrde.epita.fr> Allow to construct 3D neighborhoods from C arrays. diff --git a/milena/doc/tutorial/figures/tuto3_rw_image-1.ppm b/milena/doc/tutorial/figures/tuto3_rw_image-1.ppm index d68c0775a6714588de773bbc67e5dadeea768ad2..0a1411976d441a88b1070300ecb94414b81e205f 100644 GIT binary patch literal 4918 zcmeI!u?oU45C-7Rd5QxUUD7J8gPYJILWNR%fz+O~P?Hja(5KhB1rD4dC>&%6Kgs>! zn^JAX0uHFrDu*pJ6P)@1wSu)w06OQ!T^yTtA_v=|#IbiuUhRCVsE+47)Obf_FC8e| zLXHm{%y>iXpj3^ShZ;M<vaIuBCDH`aL~OE5Jfnyg3$OqSumB6N01L3dj|hDJntkt) t-0KUlb0`5{mF`2e&^ffrPw4qjiQhu^p<3u1+T|zoJSQx`0xa;40xyP9Ufcix literal 9720 zcmeI$u?oU45C&l9JjH>FF12Fo;3il^s377Cr1nIiCM5>Jr`Nh2WC=J(;CCp;aUS=7 z-FjH6F>Tqf)1F&uUbMe;Y&6ZYoapL(znabLx07|Q<&68A*V)Al|EdnV)0&R_VC~LV z(x#;iKe@C0osFkjH+EQR-HRsmaZ^oIkyDYYWmzst^?r|rAD$3^00bZa0SG_<0uX=z z1Rwwb2tWV=5P*Ob_~oma+>=U;yzv65yi<8+e7bN_?n$K%Q^a>t$tdrPPZv(gJ*m`T viug_{8Rebv>B335CzU!(5#LEAqr5XdT{tQCpoRbhAOHafKmY;|_^-eR@=cjy diff --git a/milena/doc/tutorial/figures/tuto3_rw_image-2.ppm b/milena/doc/tutorial/figures/tuto3_rw_image-2.ppm index 8187902fba572427eb6d1e09519445290767e16a..5c24ddab32f5c5d8ce25d8bff15622d68a73511e 100644 GIT binary patch literal 4918 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 literal 9720 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 IVU4l>2L{+MMgRZ+ diff --git a/milena/doc/tutorial/figures/tuto3_rw_image-3.ppm b/milena/doc/tutorial/figures/tuto3_rw_image-3.ppm index 0c0126ecadea3455496dd5831f6d14918e2b59e4..67c37f13e55d1a8c419ba26d5e13dad0ca92148d 100644 GIT binary patch literal 12406 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 G?*9NPOurQX literal 24696 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 diff --git a/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-1.ppm b/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-1.ppm index e241c0d4ff2c0bc9da85214e5e1c2e3cf9139834..92bbe61894b285a589b7af3bd82fd44dd1a96a0a 100644 GIT binary patch literal 12406 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 literal 24696 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 diff --git a/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-10.ppm b/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-10.ppm deleted file mode 100644 index 9f27e9426a1ad0a5db9896acdbee356b10452c9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24696 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 diff --git a/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-2.ppm b/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-2.ppm index fd9b27734ab477d8634e6c9ef908c89431043119..ff9092a9195a44a1ea6c5ebddbac0ff332c077b5 100644 GIT binary patch literal 12406 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 X-g+8B%xv<Ws%4wFob0%Lvq1PiMq4AN literal 24696 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 diff --git a/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-4.ppm b/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-4.ppm index 9782ba03c44612412c9bfdd1f0e4e702f56bc7ac..48125b15df78762b2a39ab6c29245251ec77068f 100644 GIT binary patch literal 12406 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 X*laklN}x#&r1FpWijMi`-a!6uGWQL# literal 24696 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 T4Rt9C5>-YM`Ib73mg)ZkN@wRp diff --git a/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-5.ppm b/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-5.ppm index 65ad84696f581587469c3cd5b71764d17f1bb0a4..0af91285d61ac6d0cf27b69c8961fabb9ad17644 100644 GIT binary patch literal 12406 zcmeIu!3u&v6oui|^As1_)J7}JMY}+Wz(AxI81sgL&B!zazJ2x<E&j7SaL(eZbF-F< zIt?~zC+#e^VN_>jpX@~X7^hR3`d^cbq0>aCA==~_mQ`6_?`LWBtu{P*v96OsKRWv9 zr7lWkTfdz8Fw3TDigIi6O!CYejz_a12q1s}0tg_000IagfB*srAb<b@2q1s}0tg_0 k00IagfB*srAb<b@2q1s}0tg_000IagfB*srAn^ABU(CBC&Hw-a literal 24696 zcmcg!`?pqA6<t5`v!?mT>l=%BB#;@3mWl`pA-&AZi(EzHd0}Xp2&9%T6dk@w9HLMb z`6vu^Xr>MzO$jwbF)g3@K)`>Yd06MW%zfus`|j^vYBR>V>&*2yA9L+<&OUqZ@0&b& z(4igUx@LEEcP{9f-ZAacj?*uk*)_YfW5m$m9UU_kESP)juwip5Wa!N9>0Lv+=3cm< zbLjcqh&p-l_^Bs$OzE26)!BXCjE>IP(>qS;y0~lRoVl~QW-sWN*g0(ulFsSAv}5qZ zDJPwL)S%HLJ4TNjG<wviqel(0Y&+aG*#!+AhuSagt2O?8JKMg~;FE{;w?}R7(B(yY z&i)cwH`!nticeNaZFksuyGr2(<Ucmd4yf@j+9~#LbJ^fZ&^r63jiuvMz0aoD5_9R6 z_icookvM&13+#vHk_`{S^F9U|bZ36x{5PZ~Ncm^ZRi{uZ;oq5O{y9Ut`U&=?b+sE* z<j*{_&cXfb|5I&^y}@Z}U72U6JoD_y`m^ZU^BJ&+`M1z3_p3c!XT%LJ*cRKKWYdGS zc39^6-Pdl$KbL>EYj8ce<UGu_>x{5xyZlGYb57Sku~%@H@fO`}G-{olU>g)Rt%5r- z񳴭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 diff --git a/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-6.ppm b/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-6.ppm index fb30e172212d74a21816d9ef803c1c304a90c434..5425043a8ddc1022ddaad32b32ef9dc6b55d57c2 100644 GIT binary patch literal 12406 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 F{}+*9F%SR% literal 24696 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 diff --git a/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-7.pgm b/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-7.pgm index 0fff36e..de430d9 100644 --- a/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-7.pgm +++ b/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-7.pgm @@ -2,5 +2,5 @@ P5 # Generated by Milena 1.0
http://olena.lrde.epita.fr
# EPITA Research and Development Laboratory (LRDE) 64 64 -65535 -ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ \ No newline at end of file +255 +ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ \ No newline at end of file diff --git a/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-8.ppm b/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-8.ppm index f5973890ed9a13f8def9f639462726276f35e02f..89f9727dfd36e14433727b2ceb6736ffd91a987f 100644 GIT binary patch literal 12406 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 literal 24696 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 diff --git a/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-9.ppm b/milena/doc/tutorial/figures/tuto4_genericity_and_algorithms-9.ppm index 9f27e9426a1ad0a5db9896acdbee356b10452c9f..5425043a8ddc1022ddaad32b32ef9dc6b55d57c2 100644 GIT binary patch literal 12406 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 F{}+*9F%SR% literal 24696 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 diff --git a/milena/doc/tutorial/samples/tuto3_rw_image.cc b/milena/doc/tutorial/samples/tuto3_rw_image.cc index f2a9ec0..aedbefd 100644 --- a/milena/doc/tutorial/samples/tuto3_rw_image.cc +++ b/milena/doc/tutorial/samples/tuto3_rw_image.cc @@ -6,7 +6,7 @@ int main() using namespace mln; // \{ - image2d<value::rgb16> ima(40, 40); + image2d<value::rgb8> ima(40, 40); // \} // \{ @@ -26,10 +26,10 @@ int main() // \} doc::ppmsave(ima, "tuto3_rw_image"); - image2d<value::rgb16> ima2 = duplicate(ima); + image2d<value::rgb8> ima2 = duplicate(ima); // \{ - image2d<value::rgb16> lena; + image2d<value::rgb8> lena; io::ppm::load(lena, MLN_IMG_DIR "/small.ppm"); // \} diff --git a/milena/doc/tutorial/samples/tuto4_genericity_and_algorithms.cc b/milena/doc/tutorial/samples/tuto4_genericity_and_algorithms.cc index 08865a0..ea0d07f 100644 --- a/milena/doc/tutorial/samples/tuto4_genericity_and_algorithms.cc +++ b/milena/doc/tutorial/samples/tuto4_genericity_and_algorithms.cc @@ -6,7 +6,7 @@ struct keep_specific_colors : public mln::Function_v2b<keep_specific_colors> { - bool operator()(const mln::value::rgb16& v) const + bool operator()(const mln::value::rgb8& v) const { return v.green() < 20000 && v.blue() > 10000; } @@ -17,12 +17,12 @@ int main() using namespace mln; // \{ - image2d<value::rgb16> lena; + image2d<value::rgb8> lena; io::ppm::load(lena, MLN_IMG_DIR "/small.ppm"); // \} - image2d<value::rgb16> lena_bak = duplicate(lena); + image2d<value::rgb8> lena_bak = duplicate(lena); // \{ box2d roi = make::box2d(20, 20, 40, 40); // \} @@ -77,10 +77,10 @@ int main() lena = duplicate(lena_bak); // \{ image2d<bool> lena_bw = binarization::binarization(lena, keep_specific_colors()); - value::label_16 nlabels; - image2d<value::label_16> label = labeling::blobs(lena_bw, c8(), nlabels); + value::label_8 nlabels; + image2d<value::label_8> label = labeling::blobs(lena_bw, c8(), nlabels); // \} - doc::ppmsave(debug::colorize(value::rgb16(), label, nlabels), "tuto4_genericity_and_algorithms"); + doc::ppmsave(debug::colorize(value::rgb8(), label, nlabels), "tuto4_genericity_and_algorithms"); // \{ data::fill((lena | (pw::value(label) == pw::cst(16u))).rw(), literal::green); @@ -103,10 +103,11 @@ int main() lena = duplicate(lena_bak); // \{ - mln_VAR(object, pw::value(label) == pw::cst(3u)); + mln_VAR(object, pw::value(label) == pw::cst(16u)); data::fill((extract::green(lena).rw() | object).rw(), literal::max); // \} - doc::pgmsave(lena | object, "tuto4_genericity_and_algorithms"); + //FIXME: how to display an image which is not defined on a box!? +// doc::ppmsave(lena | object, "tuto4_genericity_and_algorithms"); doc::ppmsave(lena, "tuto4_genericity_and_algorithms"); } -- 1.5.6.5
15 years, 11 months
1
0
0
0
r3199: Fix Fix connectivity number values for c4
by Matthieu Garrigues
URL:
https://svn.lrde.epita.fr/svn/oln/trunk/milena/sandbox
ChangeLog: 2009-01-23 Matthieu Garrigues <garrigues(a)lrde.epita.fr> Fix Fix connectivity number values for c4. * inim/ocr/simple_point.hh: Report change due to the patch 2900. --- simple_point.hh | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) Index: trunk/milena/sandbox/inim/ocr/simple_point.hh =================================================================== --- trunk/milena/sandbox/inim/ocr/simple_point.hh (revision 3198) +++ trunk/milena/sandbox/inim/ocr/simple_point.hh (revision 3199) @@ -90,25 +90,25 @@ static const unsigned char nb_connexity_c4[256] = { - 0, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 2, 2, 1, - 1, 2, 2, 2, 1, 2, 1, 1, 2, 2, 3, 2, 2, 2, 2, 1, - 1, 2, 2, 2, 2, 3, 2, 2, 1, 1, 2, 1, 2, 2, 2, 1, - 2, 3, 3, 3, 2, 3, 2, 2, 2, 2, 3, 2, 2, 2, 2, 1, - - 1, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3, 2, 3, 3, 3, 2, - 2, 3, 3, 3, 2, 3, 2, 2, 3, 3, 4, 3, 3, 3, 3, 2, - 1, 2, 2, 2, 2, 3, 2, 2, 1, 1, 2, 1, 2, 2, 2, 1, - 2, 3, 3, 3, 2, 3, 2, 2, 2, 2, 3, 2, 2, 2, 2, 1, - - 1, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3, 2, 3, 3, 3, 2, - 1, 2, 2, 2, 1, 2, 1, 1, 2, 2, 3, 2, 2, 2, 2, 1, - 2, 3, 3, 3, 3, 4, 3, 3, 2, 2, 3, 2, 3, 3, 3, 2, - 2, 3, 3, 3, 2, 3, 2, 2, 2, 2, 3, 2, 2, 2, 2, 1, - - 1, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3, 2, 3, 3, 3, 2, - 1, 2, 2, 2, 1, 2, 1, 1, 2, 2, 3, 2, 2, 2, 2, 1, - 1, 2, 2, 2, 2, 3, 2, 2, 1, 1, 2, 1, 2, 2, 2, 1, - 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1 + 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, + 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 3, 2, 2, 2, 2, 1, + 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, + 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 3, 2, 2, 2, 2, 1, + + 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 3, 2, 2, 2, 3, 2, + 2, 2, 3, 3, 2, 2, 2, 2, 3, 3, 4, 3, 3, 3, 3, 2, + 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, + 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 1, + + 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, + 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 3, 2, 2, 2, 2, 1, + 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, + 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 3, 2, 2, 2, 2, 1, + + 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 3, 2, 2, 2, 3, 2, + 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 3, 2, 2, 2, 2, 1, + 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, + 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1 }; neighb2d int_to_neighb(unsigned i)
15 years, 11 months
1
0
0
0
r3198: Add another version of self dual reconstruction
by Matthieu Garrigues
URL:
https://svn.lrde.epita.fr/svn/oln/trunk/milena/sandbox
ChangeLog: 2009-01-23 Matthieu Garrigues <garrigues(a)lrde.epita.fr> Add another version of self dual reconstruction. * garrigues/union_find/self_dual_reconstruction.hh, * garrigues/union_find/self_dual_reconstruction.cc: Add a new version of self dual reconstruction. * garrigues/union_find/Makefile: New, Add a simple Makefile. * garrigues/union_find/canvas/find_root.hh, * garrigues/union_find/canvas/reconstruction_on_function.hh, * garrigues/union_find/canvas/reconstruction_on_set.hh, * garrigues/union_find/canvas/self_dual_reconstruction.hh: Move find_root implementation in find_root.hh. * garrigues/union_find/images/marker.pbm: Rename as... * garrigues/union_find/images/marker_to_erode.pbm: ...this. --- Makefile | 27 ++++++++++ canvas/find_root.hh | 61 ++++++++++++++++++++++++ canvas/reconstruction_on_function.hh | 88 ----------------------------------- canvas/reconstruction_on_set.hh | 27 +++------- canvas/self_dual_reconstruction.hh | 15 ----- self_dual_reconstruction.cc | 33 +++++++++++-- self_dual_reconstruction.hh | 66 ++++++++++++++++++++++---- 7 files changed, 186 insertions(+), 131 deletions(-) Index: trunk/milena/sandbox/garrigues/union_find/self_dual_reconstruction.cc =================================================================== --- trunk/milena/sandbox/garrigues/union_find/self_dual_reconstruction.cc (revision 3197) +++ trunk/milena/sandbox/garrigues/union_find/self_dual_reconstruction.cc (revision 3198) @@ -32,13 +32,14 @@ # include <mln/io/pgm/load.hh> # include <mln/io/pgm/save.hh> # include <mln/linear/gaussian.hh> +# include <mln/arith/diff_abs.hh> # include <tests/timer.hh> # include "self_dual_reconstruction.hh" void usage(char** argv) { - std::cerr << "Usage: " << argv[0] << " input.pgm blur" << std::endl; + std::cerr << "Usage: " << argv[0] << " input.pgm blur output" << std::endl; exit(1); } @@ -46,7 +47,7 @@ { using namespace mln; - if (argc < 2) + if (argc < 3) usage(argv); typedef image2d<value::int_u8> I; @@ -69,12 +70,36 @@ trace::quiet = false; t.start(); - output = self_dual_reconstruction(output, input, c8()); + output = self_dual_reconstruction_ref(output, input, c8()); std::cout << "reconstruction: " << t << std::endl; trace::quiet = true; t.start(); - io::pgm::save(output, "reconstruction.pgm"); + io::pgm::save(output, argv[3]); std::cout << "save: " << t << std::endl; + + I output_test; + + t.start(); + output_test = linear::gaussian(input, atoi(argv[2])); + io::pgm::save(output_test, "gaussian.pgm"); + std::cout << "gaussian: " << t << std::endl; + + + trace::quiet = false; + + t.start(); + output_test = self_dual_reconstruction(output_test, input, c8()); + std::cout << "reconstruction: " << t << std::endl; + + trace::quiet = true; + + t.start(); + io::pgm::save(output_test, "sd_test.pgm"); + std::cout << "save: " << t << std::endl; + + + io::pgm::save(arith::diff_abs(output_test, output), "diff_abs.pgm"); + } Index: trunk/milena/sandbox/garrigues/union_find/images/marker.pbm (deleted) =================================================================== Index: trunk/milena/sandbox/garrigues/union_find/images/marker_to_erode.pbm =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/milena/sandbox/garrigues/union_find/images/marker_to_erode.pbm ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Index: trunk/milena/sandbox/garrigues/union_find/canvas/reconstruction_on_function.hh =================================================================== --- trunk/milena/sandbox/garrigues/union_find/canvas/reconstruction_on_function.hh (revision 3197) +++ trunk/milena/sandbox/garrigues/union_find/canvas/reconstruction_on_function.hh (revision 3198) @@ -42,28 +42,17 @@ # include <mln/io/pgm/save.hh> # include <mln/io/pbm/load.hh> +# include <canvas/find_root.hh> + namespace mln { - namespace canvas { namespace morpho { - template <typename I> - static inline - mln_psite(I) - find_root(I& parent, - const mln_psite(I)& x) - { - if (parent(x) == x) - return x; - else - return parent(x) = find_root(parent, parent(x)); - } - template <typename N, typename F> inline void @@ -167,79 +156,6 @@ trace::exiting("canvas::morpho::reconstruction_on_function"); } - /* - template <typename N, typename F> - void - reconstruction_on_function_old(const Neighborhood<N>& nbh_, - F& f) - { - trace::entering("canvas::morpho::reconstruction_on_function"); - - // Tests. - reconstruction_on_function_tests(nbh_, f); - - const N& nbh = exact(nbh_); - - // Local type. - typedef typename F::I I; - typedef typename F::S S; - typedef mln_site(I) P; - typedef mln_value(I) V; - - // Auxiliary data. - mln_ch_value(I, bool) deja_vu; - mln_ch_value(I, P) parent; - - // init - { - initialize(deja_vu, f.mask); - initialize(parent, f.mask); - - mln::data::fill(deja_vu, false); - data::fill(f.output, f.marker); - } - - // first pass - { - mln_fwd_piter(S) p(f.s); - mln_niter(N) n(nbh, p); - for_all(p) - { - // Make set. - parent(p) = p; - - for_all(n) if (f.mask.domain().has(n) && deja_vu(n)) - { - //do_union(n, p); - P r = find_root(parent, n); - if (r != p) - if (f.is_active(r, p)) - { - parent(r) = p; - f.merge(r, p); - } - else - f.output(p) = f.mask(p); - } - deja_vu(p) = true; - } - } - - // second pass - { - mln_bkd_piter(S) p(f.s); - for_all(p) - { - if (parent(p) != p) // if p is not a root. - f.output(p) = f.output(parent(p)); - - } - } - - trace::exiting("canvas::morpho::reconstruction_on_function"); - } - */ - } // end of namespace mln::canvas::morpho } // end of namespace mln::canvas Index: trunk/milena/sandbox/garrigues/union_find/canvas/find_root.hh =================================================================== --- trunk/milena/sandbox/garrigues/union_find/canvas/find_root.hh (revision 0) +++ trunk/milena/sandbox/garrigues/union_find/canvas/find_root.hh (revision 3198) @@ -0,0 +1,61 @@ +// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// (LRDE) +// +// This file is part of the Olena Library. This library is free +// software; you can redistribute it and/or modify it under the terms +// of the GNU General Public License version 2 as published by the +// Free Software Foundation. +// +// This library 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 this library; see the file COPYING. If not, write to +// the Free Software Foundation, 51 Franklin Street, Fifth Floor, +// Boston, MA 02111-1307, USA. +// +// As a special exception, you may use this file as part of a free +// software library 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_FIND_ROOT_HH +# define MLN_FIND_ROOT_HH + + +namespace mln +{ + + + namespace canvas + { + + namespace morpho + { + + template <typename I> + static inline + mln_psite(I) + find_root(I& parent, + const mln_psite(I)& x) + { + if (parent(x) == x) + return x; + else + return parent(x) = find_root(parent, parent(x)); + } + + } // end of namespace mln::canvas::morpho + + } // end of namespace mln::canvas + +} // end of namespace mln. + +#endif // ! MLN_FIND_ROOT_HH Index: trunk/milena/sandbox/garrigues/union_find/canvas/reconstruction_on_set.hh =================================================================== --- trunk/milena/sandbox/garrigues/union_find/canvas/reconstruction_on_set.hh (revision 3197) +++ trunk/milena/sandbox/garrigues/union_find/canvas/reconstruction_on_set.hh (revision 3198) @@ -41,6 +41,8 @@ # include <mln/io/pbm/save.hh> # include <mln/io/pbm/load.hh> +# include <canvas/find_root.hh> + namespace mln { @@ -51,18 +53,6 @@ namespace morpho { - template <typename I> - static inline - mln_psite(I) - find_root(I& parent, - const mln_psite(I)& x) - { - if (parent(x) == x) - return x; - else - return parent(x) = find_root(parent, parent(x)); - } - template <typename N, typename F> void reconstruction_on_set(const Neighborhood<N>& nbh_, @@ -94,9 +84,9 @@ // first pass { mln_fwd_piter(I) p(f.mask.domain()); - const std::vector<mln_deduce(I, site, delta)> & n_win(const_cast<N*>(&nbh)->hook_win_().std_vector()); - unsigned n_size = n_win.size(); - // mln_niter(N) n(nbh, p); +// const std::vector<mln_deduce(I, site, delta)> & n_win(const_cast<N*>(&nbh)->hook_win_().std_vector()); +// unsigned n_size = n_win.size(); + mln_niter(N) n(nbh, p); for_all(p) { if (f.is_in_D(p)) @@ -105,10 +95,11 @@ parent(p) = p; f.init(p); -// for_all(n) - for(unsigned i = 0; i < n_size; i++) + for_all(n) { - mln_site(I) n = p + n_win[i]; +// for(unsigned i = 0; i < n_size; i++) +// { +// mln_site(I) n = p + n_win[i]; if (f.mask.domain().has(n)) { Index: trunk/milena/sandbox/garrigues/union_find/canvas/self_dual_reconstruction.hh =================================================================== --- trunk/milena/sandbox/garrigues/union_find/canvas/self_dual_reconstruction.hh (revision 3197) +++ trunk/milena/sandbox/garrigues/union_find/canvas/self_dual_reconstruction.hh (revision 3198) @@ -42,6 +42,8 @@ # include <mln/io/pgm/save.hh> # include <mln/io/pbm/load.hh> +# include <canvas/find_root.hh> + namespace mln { @@ -51,18 +53,6 @@ namespace morpho { - template <typename I> - static inline - mln_psite(I) - find_root(I& parent, - const mln_psite(I)& x) - { - if (parent(x) == x) - return x; - else - return parent(x) = find_root(parent, parent(x)); - } - template <typename N, typename F> inline void @@ -218,7 +208,6 @@ trace::exiting("canvas::morpho::self_dual_reconstruction"); } - } // end of namespace mln::canvas::morpho } // end of namespace mln::canvas Index: trunk/milena/sandbox/garrigues/union_find/Makefile =================================================================== --- trunk/milena/sandbox/garrigues/union_find/Makefile (revision 0) +++ trunk/milena/sandbox/garrigues/union_find/Makefile (revision 3198) @@ -0,0 +1,27 @@ +CFLAGS=#-O3 -DNDEBUG + +all: sd on_set on_fun + + +sd: self_dual_reconstruction.o + g++ self_dual_reconstruction.o -o sd + +on_set: reconstructions_on_set.o + g++ reconstructions_on_set.o -o on_set + +on_fun: reconstructions_on_function.o + g++ reconstructions_on_function.o -o on_fun + +clean: + rm -f sd on_set on_fun reconstructions_on_set.o reconstructions_on_function.o self_dual_reconstruction.o + +%.o : %.cc + g++ -c -I. -I../../.. $(CFLAGS) $< + +reconstructions_on_function.o: reconstructions_on_function.cc \ + reconstructions_on_function.hh canvas/reconstruction_on_function.hh +reconstructions_on_set.o: reconstructions_on_set.cc \ + reconstructions_on_set.hh canvas/reconstruction_on_set.hh +self_dual_reconstruction.o: self_dual_reconstruction.cc \ + self_dual_reconstruction.hh canvas/self_dual_reconstruction.hh \ + reconstructions_on_function.hh canvas/reconstruction_on_function.hh Index: trunk/milena/sandbox/garrigues/union_find/self_dual_reconstruction.hh =================================================================== --- trunk/milena/sandbox/garrigues/union_find/self_dual_reconstruction.hh (revision 3197) +++ trunk/milena/sandbox/garrigues/union_find/self_dual_reconstruction.hh (revision 3198) @@ -47,6 +47,7 @@ # include <mln/core/image/image_if.hh> # include "canvas/self_dual_reconstruction.hh" +# include "reconstructions_on_function.hh" namespace mln { @@ -70,14 +71,12 @@ : marker(marker), mask(mask), output(output), - d1_s(level::sort_psites_decreasing(mask | (pw::value(marker) < pw::value(mask)))), - d2_s(level::sort_psites_increasing(mask | (pw::value(marker) > pw::value(mask)))), - d1_escape_value(mln_max(V)), - d2_escape_value(mln_min(V)) + d1_s(level::sort_psites_decreasing(mask | (pw::value(marker) <= pw::value(mask)))), + d2_s(level::sort_psites_increasing(mask | (pw::value(marker) > pw::value(mask)))) { } - bool is_in_d1(const P& p) { return marker(p) < mask(p); } + bool is_in_d1(const P& p) { return marker(p) <= mask(p); } bool is_in_d2(const P& p) { return marker(p) > mask(p); } @@ -95,8 +94,6 @@ output(p) = output(r); } - void d1_escape(const P& p) { output(p) = d1_escape_value; } - bool d2_is_active(const P& r, const P& p) { @@ -111,14 +108,11 @@ output(p) = output(r); } - void d2_escape(const P& p) { output(p) = d2_escape_value; } - const I& marker; // F const J& mask; // G mln_concrete(I)& output; // O S d1_s, d2_s; - const V d1_escape_value, d2_escape_value; }; } // end of namespace mln::impl. @@ -154,6 +148,58 @@ return output; } + + template <typename I, typename J, typename N> + mln_concrete(I) + self_dual_reconstruction_ref(const Image<I>& marker_, + const Image<J>& mask_, + const Neighborhood<N>& nbh_) + { + trace::entering("morpho::self_dual_reconstruction_ref"); + + const I& marker = exact(marker_); + const J& mask = exact(mask_); + const N& nbh = exact(nbh_); + + mln_precondition(marker.is_valid()); + mln_precondition(mask.is_valid()); + mln_precondition(mask.domain() == marker.domain()); + + mln_concrete(I) output; + initialize(output, marker); + + mln_concrete(I) by_dilation = + reconstruction_on_function_by_dilation + (marker | (pw::value(marker) < pw::value(mask)), + mask | (pw::value(marker) < pw::value(mask)), + nbh); + + io::pgm::save(by_dilation, "sd_by_dilation.pgm"); + + mln_concrete(I) by_erosion = + reconstruction_on_function_by_erosion + (marker | (pw::value(marker) > pw::value(mask)), + mask | (pw::value(marker) > pw::value(mask)), + nbh); + + io::pgm::save(by_erosion, "sd_by_erosion.pgm"); + + mln_piter(I) p(output.domain()); + for_all(p) + { + if (marker(p) > mask(p)) + output(p) = by_erosion(p); + else if (marker(p) < mask(p)) + output(p) = by_dilation(p); + else + output(p) = mask(p); + } + + trace::exiting("morpho::self_dual_reconstruction_ref"); + return output; + } + + } // end of namespace mln.
15 years, 11 months
1
0
0
0
← Newer
1
...
5
6
7
8
9
10
11
...
16
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Results per page:
10
25
50
100
200