Olena-patches
Threads by month
- ----- 2025 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
November 2008
- 14 participants
- 266 discussions
* mln/util/all.hh,
* mln/trait/op/all.hh,
* mln/set/all.hh,
* mln/morpho/all.hh,
* mln/math/all.hh,
* mln/make/all.hh,
* mln/linear/all.hh,
* mln/level/all.hh,
* mln/labeling/all.hh,
* mln/geom/all.hh,
* mln/fun/v2v/all.hh,
* mln/fun/p2b/all.hh,
* mln/fun/i2v/all.hh,
* mln/fun/all.hh,
* mln/essential/1d.hh,
* mln/essential/2d.hh,
* mln/essential/3d.hh,
* mln/debug/all.hh,
* mln/core/trait/all.hh,
* mln/core/site_set/all.hh,
* mln/core/image/all.hh,
* mln/convert/all.hh,
* mln/canvas/browsing/all.hh,
* mln/accu/all.hh: update includes.
* mln/algebra/quat.hh: avoid a warning.
* mln/accu/essential.hh,
* mln/algebra/all.hh,
* mln/algebra/essential.hh,
* mln/arith/essential.hh,
* mln/binarization/all.hh,
* mln/binarization/essential.hh,
* mln/border/essential.hh,
* mln/canvas/browsing/essential.hh,
* mln/canvas/essential.hh,
* mln/canvas/morpho/essential.hh,
* mln/convert/essential.hh,
* mln/core/all.hh,
* mln/core/def/essential.hh,
* mln/core/essential.hh,
* mln/core/image/essential.hh,
* mln/core/routine/essential.hh,
* mln/core/site_set/essential.hh,
* mln/core/trait/essential.hh,
* mln/debug/essential.hh,
* mln/display/essential.hh,
* mln/draw/essential.hh,
* mln/essential/routine.hh,
* mln/estim/essential.hh,
* mln/extension/essential.hh,
* mln/fun/essential.hh,
* mln/fun/i2v/essential.hh,
* mln/fun/p2b/essential.hh,
* mln/fun/p2v/essential.hh,
* mln/fun/v2b/all.hh,
* mln/fun/v2b/essential.hh,
* mln/fun/v2v/essential.hh,
* mln/fun/vv2v/all.hh,
* mln/fun/vv2v/essential.hh,
* mln/fun/x2p/all.hh,
* mln/fun/x2p/essential.hh,
* mln/fun/x2v/essential.hh,
* mln/fun/x2x/essential.hh,
* mln/geom/essential.hh,
* mln/histo/essential.hh,
* mln/io/essential.hh,
* mln/labeling/essential.hh,
* mln/level/approx/essential.hh,
* mln/level/essential.hh,
* mln/level/naive/essential.hh,
* mln/linear/essential.hh,
* mln/literal/essential.hh,
* mln/logical/essential.hh,
* mln/make/essential.hh,
* mln/math/essential.hh,
* mln/metal/essential.hh,
* mln/morpho/elementary/essential.hh,
* mln/morpho/essential.hh,
* mln/neighb/all.hh,
* mln/neighb/essential.hh,
* mln/norm/essential.hh,
* mln/pw/essential.hh,
* mln/registration/all.hh,
* mln/registration/essential.hh,
* mln/set/essential.hh,
* mln/subsampling/all.hh,
* mln/subsampling/essential.hh,
* mln/tag/essential.hh,
* mln/test/essential.hh,
* mln/topo/all.hh,
* mln/topo/essential.hh,
* mln/trace/essential.hh,
* mln/trait/essential.hh,
* mln/trait/op/essential.hh,
* mln/trait/value/essential.hh,
* mln/transform/all.hh,
* mln/transform/essential.hh,
* mln/util/essential.hh,
* mln/value/builtin/essential.hh,
* mln/value/concept/essential.hh,
* mln/value/essential.hh,
* mln/value/internal/essential.hh,
* mln/win/essential.hh: new headers.
* mln/extension/all.hh: update comments.
* mln/core/image/hexa_piter.hh: fix wrong template argument number.
* mln/core/site_set/box.hh: fix comment.
* mln/core/trait/op_mult.hh: fix a wrong namespace.
* mln/core/clock_neighb.hh: fix wrong include.
* mln/level/transform.hh: remove useless include.
* sandbox/scribo/demat.hh: use new essential headers.
---
milena/ChangeLog | 125 +++++++++++++++++++-
milena/mln/accu/all.hh | 8 ++
milena/mln/{extension/all.hh => accu/essential.hh} | 37 +++---
milena/mln/{extension => algebra}/all.hh | 23 ++--
.../{core/trait/all.hh => algebra/essential.hh} | 26 +---
milena/mln/algebra/quat.hh | 1 +
.../mln/{core/trait/all.hh => arith/essential.hh} | 26 +---
milena/mln/{extension => binarization}/all.hh | 21 ++--
.../trait/all.hh => binarization/essential.hh} | 26 +---
.../mln/{extension/all.hh => border/essential.hh} | 30 ++---
milena/mln/canvas/browsing/all.hh | 9 +-
.../trait/all.hh => canvas/browsing/essential.hh} | 28 +----
.../mln/{extension/all.hh => canvas/essential.hh} | 29 ++---
.../trait/all.hh => canvas/morpho/essential.hh} | 24 +---
milena/mln/convert/all.hh | 1 +
.../{core/trait/all.hh => convert/essential.hh} | 27 ++---
milena/mln/{extension => core}/all.hh | 49 +++++---
milena/mln/core/clock_neighb.hh | 3 +-
milena/mln/core/{trait/all.hh => def/essential.hh} | 27 +---
milena/mln/{extension/all.hh => core/essential.hh} | 32 ++---
milena/mln/core/image/all.hh | 26 +++--
.../{extension/all.hh => core/image/essential.hh} | 37 +++---
milena/mln/core/image/hexa_piter.hh | 3 +-
.../core/{trait/all.hh => routine/essential.hh} | 30 ++----
milena/mln/core/site_set/all.hh | 6 +-
milena/mln/core/site_set/box.hh | 1 -
milena/mln/core/site_set/{all.hh => essential.hh} | 17 +--
milena/mln/core/trait/all.hh | 4 +-
milena/mln/core/trait/{all.hh => essential.hh} | 24 +---
milena/mln/core/trait/op_mult.hh | 2 +-
milena/mln/debug/all.hh | 6 +-
.../mln/{core/trait/all.hh => debug/essential.hh} | 26 +---
.../{core/trait/all.hh => display/essential.hh} | 26 +---
.../mln/{core/trait/all.hh => draw/essential.hh} | 28 ++---
milena/mln/essential/1d.hh | 33 +++---
milena/mln/essential/2d.hh | 68 ++++++------
milena/mln/essential/3d.hh | 34 +++---
milena/mln/essential/routine.hh | 74 ++++++++++++
.../mln/{core/trait/all.hh => estim/essential.hh} | 26 +---
milena/mln/extension/all.hh | 2 +-
milena/mln/extension/{all.hh => essential.hh} | 24 +---
milena/mln/fun/all.hh | 6 +-
milena/mln/{extension/all.hh => fun/essential.hh} | 38 +++----
milena/mln/fun/i2v/all.hh | 3 +-
.../{core/trait/all.hh => fun/i2v/essential.hh} | 26 +---
milena/mln/fun/p2b/all.hh | 3 +-
.../{core/trait/all.hh => fun/p2b/essential.hh} | 26 +---
.../{core/trait/all.hh => fun/p2v/essential.hh} | 26 +---
milena/mln/fun/{i2v => v2b}/all.hh | 20 ++--
.../{core/trait/all.hh => fun/v2b/essential.hh} | 26 +---
milena/mln/fun/v2v/all.hh | 6 +-
.../mln/{extension/all.hh => fun/v2v/essential.hh} | 30 ++---
milena/mln/fun/{p2b => vv2v}/all.hh | 21 ++--
.../{core/trait/all.hh => fun/vv2v/essential.hh} | 27 ++---
milena/mln/fun/{p2b => x2p}/all.hh | 22 ++--
.../{core/trait/all.hh => fun/x2p/essential.hh} | 26 +---
.../{core/trait/all.hh => fun/x2v/essential.hh} | 26 +---
.../{core/trait/all.hh => fun/x2x/essential.hh} | 26 +---
milena/mln/geom/all.hh | 17 +++-
milena/mln/geom/{all.hh => essential.hh} | 20 ++--
.../mln/{core/trait/all.hh => histo/essential.hh} | 26 +---
milena/mln/{extension/all.hh => io/essential.hh} | 29 ++---
milena/mln/labeling/all.hh | 3 +-
.../{core/trait/all.hh => labeling/essential.hh} | 27 ++---
milena/mln/level/all.hh | 5 +-
.../trait/all.hh => level/approx/essential.hh} | 26 ++---
milena/mln/level/{all.hh => essential.hh} | 46 ++------
.../trait/all.hh => level/naive/essential.hh} | 27 ++---
milena/mln/level/transform.hh | 1 -
milena/mln/linear/all.hh | 6 +-
.../mln/{core/trait/all.hh => linear/essential.hh} | 26 +---
.../{core/trait/all.hh => literal/essential.hh} | 26 +---
.../{core/trait/all.hh => logical/essential.hh} | 26 +---
milena/mln/make/all.hh | 8 +-
milena/mln/{extension/all.hh => make/essential.hh} | 38 +++----
milena/mln/math/all.hh | 10 +-
.../mln/{core/trait/all.hh => math/essential.hh} | 26 +---
.../mln/{core/trait/all.hh => metal/essential.hh} | 26 +---
milena/mln/morpho/all.hh | 2 +
.../all.hh => morpho/elementary/essential.hh} | 30 ++----
milena/mln/morpho/{all.hh => essential.hh} | 49 ++------
milena/mln/{extension => neighb}/all.hh | 37 ++++--
.../mln/{core/trait/all.hh => neighb/essential.hh} | 26 +---
.../mln/{core/trait/all.hh => norm/essential.hh} | 27 ++---
milena/mln/{core/trait/all.hh => pw/essential.hh} | 26 +---
milena/mln/{extension => registration}/all.hh | 24 ++--
.../trait/all.hh => registration/essential.hh} | 26 +---
milena/mln/set/all.hh | 4 +-
milena/mln/{core/trait/all.hh => set/essential.hh} | 26 +---
milena/mln/{extension => subsampling}/all.hh | 21 ++--
.../trait/all.hh => subsampling/essential.hh} | 26 +---
milena/mln/{core/trait/all.hh => tag/essential.hh} | 26 +---
.../mln/{core/trait/all.hh => test/essential.hh} | 26 +---
milena/mln/{extension => topo}/all.hh | 37 ++++--
.../mln/{core/trait/all.hh => topo/essential.hh} | 26 +---
.../mln/{core/trait/all.hh => trace/essential.hh} | 26 +---
.../mln/{core/trait/all.hh => trait/essential.hh} | 30 ++---
milena/mln/trait/op/all.hh | 1 +
.../{core/trait/all.hh => trait/op/essential.hh} | 26 +---
.../trait/all.hh => trait/value/essential.hh} | 24 +---
milena/mln/{extension => transform}/all.hh | 19 ++--
.../{core/trait/all.hh => transform/essential.hh} | 26 +---
milena/mln/util/all.hh | 17 +++-
milena/mln/{extension/all.hh => util/essential.hh} | 33 ++---
.../trait/all.hh => value/builtin/essential.hh} | 25 +---
.../trait/all.hh => value/concept/essential.hh} | 25 +---
.../mln/{extension/all.hh => value/essential.hh} | 34 +++---
.../trait/all.hh => value/internal/essential.hh} | 26 +---
milena/mln/{extension/all.hh => win/essential.hh} | 28 ++---
milena/sandbox/scribo/demat.hh | 69 +----------
110 files changed, 1113 insertions(+), 1561 deletions(-)
copy milena/mln/{extension/all.hh => accu/essential.hh} (71%)
copy milena/mln/{extension => algebra}/all.hh (76%)
copy milena/mln/{core/trait/all.hh => algebra/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => arith/essential.hh} (78%)
copy milena/mln/{extension => binarization}/all.hh (79%)
copy milena/mln/{core/trait/all.hh => binarization/essential.hh} (78%)
copy milena/mln/{extension/all.hh => border/essential.hh} (76%)
copy milena/mln/{core/trait/all.hh => canvas/browsing/essential.hh} (78%)
copy milena/mln/{extension/all.hh => canvas/essential.hh} (76%)
copy milena/mln/{core/trait/all.hh => canvas/morpho/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => convert/essential.hh} (78%)
copy milena/mln/{extension => core}/all.hh (56%)
copy milena/mln/core/{trait/all.hh => def/essential.hh} (78%)
copy milena/mln/{extension/all.hh => core/essential.hh} (72%)
copy milena/mln/{extension/all.hh => core/image/essential.hh} (67%)
copy milena/mln/core/{trait/all.hh => routine/essential.hh} (77%)
copy milena/mln/core/site_set/{all.hh => essential.hh} (79%)
copy milena/mln/core/trait/{all.hh => essential.hh} (82%)
copy milena/mln/{core/trait/all.hh => debug/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => display/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => draw/essential.hh} (78%)
create mode 100644 milena/mln/essential/routine.hh
copy milena/mln/{core/trait/all.hh => estim/essential.hh} (78%)
copy milena/mln/extension/{all.hh => essential.hh} (79%)
copy milena/mln/{extension/all.hh => fun/essential.hh} (70%)
copy milena/mln/{core/trait/all.hh => fun/i2v/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => fun/p2b/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => fun/p2v/essential.hh} (78%)
copy milena/mln/fun/{i2v => v2b}/all.hh (79%)
copy milena/mln/{core/trait/all.hh => fun/v2b/essential.hh} (78%)
copy milena/mln/{extension/all.hh => fun/v2v/essential.hh} (76%)
copy milena/mln/fun/{p2b => vv2v}/all.hh (77%)
copy milena/mln/{core/trait/all.hh => fun/vv2v/essential.hh} (78%)
copy milena/mln/fun/{p2b => x2p}/all.hh (79%)
copy milena/mln/{core/trait/all.hh => fun/x2p/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => fun/x2v/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => fun/x2x/essential.hh} (78%)
copy milena/mln/geom/{all.hh => essential.hh} (79%)
copy milena/mln/{core/trait/all.hh => histo/essential.hh} (78%)
copy milena/mln/{extension/all.hh => io/essential.hh} (76%)
copy milena/mln/{core/trait/all.hh => labeling/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => level/approx/essential.hh} (78%)
copy milena/mln/level/{all.hh => essential.hh} (67%)
copy milena/mln/{core/trait/all.hh => level/naive/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => linear/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => literal/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => logical/essential.hh} (78%)
copy milena/mln/{extension/all.hh => make/essential.hh} (72%)
copy milena/mln/{core/trait/all.hh => math/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => metal/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => morpho/elementary/essential.hh} (77%)
copy milena/mln/morpho/{all.hh => essential.hh} (64%)
copy milena/mln/{extension => neighb}/all.hh (67%)
copy milena/mln/{core/trait/all.hh => neighb/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => norm/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => pw/essential.hh} (78%)
copy milena/mln/{extension => registration}/all.hh (74%)
copy milena/mln/{core/trait/all.hh => registration/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => set/essential.hh} (78%)
copy milena/mln/{extension => subsampling}/all.hh (79%)
copy milena/mln/{core/trait/all.hh => subsampling/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => tag/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => test/essential.hh} (78%)
copy milena/mln/{extension => topo}/all.hh (58%)
copy milena/mln/{core/trait/all.hh => topo/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => trace/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => trait/essential.hh} (75%)
copy milena/mln/{core/trait/all.hh => trait/op/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => trait/value/essential.hh} (78%)
copy milena/mln/{extension => transform}/all.hh (79%)
copy milena/mln/{core/trait/all.hh => transform/essential.hh} (78%)
copy milena/mln/{extension/all.hh => util/essential.hh} (75%)
copy milena/mln/{core/trait/all.hh => value/builtin/essential.hh} (78%)
copy milena/mln/{core/trait/all.hh => value/concept/essential.hh} (78%)
copy milena/mln/{extension/all.hh => value/essential.hh} (66%)
copy milena/mln/{core/trait/all.hh => value/internal/essential.hh} (78%)
copy milena/mln/{extension/all.hh => win/essential.hh} (76%)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 82589d5..0cb96df 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,128 @@
2008-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Improve 1D, 2D and 3D essential headers.
+
+ * mln/util/all.hh,
+ * mln/trait/op/all.hh,
+ * mln/set/all.hh,
+ * mln/morpho/all.hh,
+ * mln/math/all.hh,
+ * mln/make/all.hh,
+ * mln/linear/all.hh,
+ * mln/level/all.hh,
+ * mln/labeling/all.hh,
+ * mln/geom/all.hh,
+ * mln/fun/v2v/all.hh,
+ * mln/fun/p2b/all.hh,
+ * mln/fun/i2v/all.hh,
+ * mln/fun/all.hh,
+ * mln/essential/1d.hh,
+ * mln/essential/2d.hh,
+ * mln/essential/3d.hh,
+ * mln/debug/all.hh,
+ * mln/core/trait/all.hh,
+ * mln/core/site_set/all.hh,
+ * mln/core/image/all.hh,
+ * mln/convert/all.hh,
+ * mln/canvas/browsing/all.hh,
+ * mln/accu/all.hh: update includes.
+
+ * mln/algebra/quat.hh: avoid a warning.
+
+ * mln/accu/essential.hh,
+ * mln/algebra/all.hh,
+ * mln/algebra/essential.hh,
+ * mln/arith/essential.hh,
+ * mln/binarization/all.hh,
+ * mln/binarization/essential.hh,
+ * mln/border/essential.hh,
+ * mln/canvas/browsing/essential.hh,
+ * mln/canvas/essential.hh,
+ * mln/canvas/morpho/essential.hh,
+ * mln/convert/essential.hh,
+ * mln/core/all.hh,
+ * mln/core/def/essential.hh,
+ * mln/core/essential.hh,
+ * mln/core/image/essential.hh,
+ * mln/core/routine/essential.hh,
+ * mln/core/site_set/essential.hh,
+ * mln/core/trait/essential.hh,
+ * mln/debug/essential.hh,
+ * mln/display/essential.hh,
+ * mln/draw/essential.hh,
+ * mln/essential/routine.hh,
+ * mln/estim/essential.hh,
+ * mln/extension/essential.hh,
+ * mln/fun/essential.hh,
+ * mln/fun/i2v/essential.hh,
+ * mln/fun/p2b/essential.hh,
+ * mln/fun/p2v/essential.hh,
+ * mln/fun/v2b/all.hh,
+ * mln/fun/v2b/essential.hh,
+ * mln/fun/v2v/essential.hh,
+ * mln/fun/vv2v/all.hh,
+ * mln/fun/vv2v/essential.hh,
+ * mln/fun/x2p/all.hh,
+ * mln/fun/x2p/essential.hh,
+ * mln/fun/x2v/essential.hh,
+ * mln/fun/x2x/essential.hh,
+ * mln/geom/essential.hh,
+ * mln/histo/essential.hh,
+ * mln/io/essential.hh,
+ * mln/labeling/essential.hh,
+ * mln/level/approx/essential.hh,
+ * mln/level/essential.hh,
+ * mln/level/naive/essential.hh,
+ * mln/linear/essential.hh,
+ * mln/literal/essential.hh,
+ * mln/logical/essential.hh,
+ * mln/make/essential.hh,
+ * mln/math/essential.hh,
+ * mln/metal/essential.hh,
+ * mln/morpho/elementary/essential.hh,
+ * mln/morpho/essential.hh,
+ * mln/neighb/all.hh,
+ * mln/neighb/essential.hh,
+ * mln/norm/essential.hh,
+ * mln/pw/essential.hh,
+ * mln/registration/all.hh,
+ * mln/registration/essential.hh,
+ * mln/set/essential.hh,
+ * mln/subsampling/all.hh,
+ * mln/subsampling/essential.hh,
+ * mln/tag/essential.hh,
+ * mln/test/essential.hh,
+ * mln/topo/all.hh,
+ * mln/topo/essential.hh,
+ * mln/trace/essential.hh,
+ * mln/trait/essential.hh,
+ * mln/trait/op/essential.hh,
+ * mln/trait/value/essential.hh,
+ * mln/transform/all.hh,
+ * mln/transform/essential.hh,
+ * mln/util/essential.hh,
+ * mln/value/builtin/essential.hh,
+ * mln/value/concept/essential.hh,
+ * mln/value/essential.hh,
+ * mln/value/internal/essential.hh,
+ * mln/win/essential.hh: new headers.
+
+ * mln/extension/all.hh: update comments.
+
+ * mln/core/image/hexa_piter.hh: fix wrong template argument number.
+
+ * mln/core/site_set/box.hh: fix comment.
+
+ * mln/core/trait/op_mult.hh: fix a wrong namespace.
+
+ * mln/core/clock_neighb.hh: fix wrong include.
+
+ * mln/level/transform.hh: remove useless include.
+
+ * sandbox/scribo/demat.hh: use new essential headers.
+
+2008-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Add io::txt::save.
* mln/io/all.hh: update.
@@ -34,7 +157,6 @@
* mln/logical/not.hh,
* mln/logical/not.spe.hh: Write a dedicated version of not_inplace.
-
2008-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
Add trace::warning.
@@ -71,7 +193,6 @@
* mln/core/routine/initialize.hh: Use trace::stop and trace::resume.
-
2008-10-30 Guillaume Lazzara <z(a)lrde.epita.fr>
Add more colors and fix global constants initialization in mln/values
diff --git a/milena/mln/accu/all.hh b/milena/mln/accu/all.hh
index 4677cc4..76b09d9 100644
--- a/milena/mln/accu/all.hh
+++ b/milena/mln/accu/all.hh
@@ -60,8 +60,13 @@ namespace mln
# include <mln/accu/bbox.hh>
# include <mln/accu/count.hh>
# include <mln/accu/convolve.hh>
+//# include <mln/accu/count_adjacent_vertices.hh>
+# include <mln/accu/height.hh>
# include <mln/accu/histo.hh>
+# include <mln/accu/land.hh>
+# include <mln/accu/line.hh>
# include <mln/accu/max.hh>
+# include <mln/accu/max_h.hh>
# include <mln/accu/mean.hh>
# include <mln/accu/median_h.hh>
# include <mln/accu/min.hh>
@@ -69,7 +74,10 @@ namespace mln
# include <mln/accu/min_max.hh>
# include <mln/accu/nil.hh>
# include <mln/accu/pair.hh>
+# include <mln/accu/rank.hh>
# include <mln/accu/sum.hh>
+# include <mln/accu/tuple.hh>
+# include <mln/accu/volume.hh>
#endif // ! MLN_ACCU_ALL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/accu/essential.hh
similarity index 71%
copy from milena/mln/extension/all.hh
copy to milena/mln/accu/essential.hh
index 4458715..34124ba 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/accu/essential.hh
@@ -25,28 +25,27 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_ACCU_ESSENTIAL_HH_
+# define MLN_ACCU_ESSENTIAL_HH_
-/*! \file mln/pw/all.hh
+/*! \file mln/accu/essential.hh
*
- * \brief File that includes all extension materials.
+ * \brief File that includes the most useful accumulator types.
*
- * \todo Also include "extension images" + "extended"?
*/
+# include <mln/accu/bbox.hh>
+# include <mln/accu/count.hh>
+# include <mln/accu/histo.hh>
+# include <mln/accu/max.hh>
+# include <mln/accu/max_h.hh>
+# include <mln/accu/mean.hh>
+# include <mln/accu/median_h.hh>
+# include <mln/accu/min.hh>
+# include <mln/accu/min_h.hh>
+# include <mln/accu/min_max.hh>
+# include <mln/accu/rank.hh>
+# include <mln/accu/sum.hh>
+
+#endif // !MLN_ACCU_ESSENTIAL_HH_
-namespace mln
-{
-
- /// Namespace of extension tools.
- namespace extension {}
-
-} // end of namespace mln
-
-
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-
-
-#endif // ! MLN_EXTENSION_ALL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/algebra/all.hh
similarity index 76%
copy from milena/mln/extension/all.hh
copy to milena/mln/algebra/all.hh
index 4458715..ba62843 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/algebra/all.hh
@@ -25,28 +25,29 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_ALGEBRA_ALL_HH
+# define MLN_ALGEBRA_ALL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/algebra/essential.hh
*
- * \brief File that includes all extension materials.
- *
- * \todo Also include "extension images" + "extended"?
+ * \brief File that includes essential "point-wise" expression tools.
*/
namespace mln
{
- /// Namespace of extension tools.
- namespace extension {}
+ /// Namespace of "point-wise" expression tools.
+ namespace algebra {}
} // end of namespace mln
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
+# include <mln/algebra/h_mat.hh>
+# include <mln/algebra/h_vec.hh>
+# include <mln/algebra/mat.hh>
+# include <mln/algebra/quat.hh>
+# include <mln/algebra/vec.hh>
-#endif // ! MLN_EXTENSION_ALL_HH
+#endif // ! MLN_ALGEBRA_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/algebra/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/algebra/essential.hh
index 6071a75..69343d6 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/algebra/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_ALGEBRA_ESSENTIAL_HH
+# define MLN_ALGEBRA_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/algebra/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential "point-wise" expression tools.
*/
+# include <mln/algebra/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_ALGEBRA_ESSENTIAL_HH
diff --git a/milena/mln/algebra/quat.hh b/milena/mln/algebra/quat.hh
index b8dc3f5..4e44e90 100644
--- a/milena/mln/algebra/quat.hh
+++ b/milena/mln/algebra/quat.hh
@@ -432,6 +432,7 @@ namespace mln
mln_precondition(theta > - pi - mln_epsilon(float)
&& theta < pi + mln_epsilon(float));
mln_precondition(about_equal(norm::l2(uv), 1.f));
+ (void) pi;
this->v_[0] = cos(theta);
float sint = sin(theta);
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/arith/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/arith/essential.hh
index 6071a75..325338f 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/arith/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_ARITH_ESSENTIAL_HH
+# define MLN_ARITH_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/arith/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes the most useful arithmetic materials.
*/
+# include <mln/arith/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_ARITH_ESSENTIAL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/binarization/all.hh
similarity index 79%
copy from milena/mln/extension/all.hh
copy to milena/mln/binarization/all.hh
index 4458715..69dd6c6 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/binarization/all.hh
@@ -25,28 +25,25 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_BINARIZATION_ALL_HH
+# define MLN_BINARIZATION_ALL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/binarization/all.hh
*
- * \brief File that includes all extension materials.
- *
- * \todo Also include "extension images" + "extended"?
+ * \brief File that includes all "point-wise" expression tools.
*/
namespace mln
{
- /// Namespace of extension tools.
- namespace extension {}
+ /// Namespace of "point-wise" expression tools.
+ namespace binarization {}
} // end of namespace mln
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-
+# include <mln/binarization/binarization.hh>
+# include <mln/binarization/threshold.hh>
-#endif // ! MLN_EXTENSION_ALL_HH
+#endif // ! MLN_BINARIZATION_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/binarization/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/binarization/essential.hh
index 6071a75..4797b37 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/binarization/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_BINARIZATION_ESSENTIAL_HH
+# define MLN_BINARIZATION_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/binarization/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential "point-wise" expression tools.
*/
+// NOTHING YET
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_BINARIZATION_ESSENTIAL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/border/essential.hh
similarity index 76%
copy from milena/mln/extension/all.hh
copy to milena/mln/border/essential.hh
index 4458715..a22a22d 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/border/essential.hh
@@ -25,28 +25,20 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_BORDER_ESSENTIAL_HH
+# define MLN_BORDER_ESSENTIAL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/border/essential.hh
*
- * \brief File that includes all extension materials.
- *
- * \todo Also include "extension images" + "extended"?
+ * \brief File that includes the most useful border-related routines.
*/
-
-namespace mln
-{
-
- /// Namespace of extension tools.
- namespace extension {}
-
-} // end of namespace mln
-
-
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
+# include <mln/border/adjust.hh>
+# include <mln/border/duplicate.hh>
+//# include <mln/border/equalize.hh>
+# include <mln/border/fill.hh>
+# include <mln/border/resize.hh>
+# include <mln/border/thickness.hh>
-#endif // ! MLN_EXTENSION_ALL_HH
+#endif // ! MLN_BORDER_ESSENTIAL_HH
diff --git a/milena/mln/canvas/browsing/all.hh b/milena/mln/canvas/browsing/all.hh
index 558a586..22a2968 100644
--- a/milena/mln/canvas/browsing/all.hh
+++ b/milena/mln/canvas/browsing/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -45,9 +45,14 @@ namespace mln
}
-# include <mln/canvas/browsing/directional.hh>
+# include <mln/canvas/browsing/backdiagonal2d.hh>
+# include <mln/canvas/browsing/diagonal2d.hh>
# include <mln/canvas/browsing/dir_struct_elt_incr_update.hh>
+# include <mln/canvas/browsing/directional.hh>
+# include <mln/canvas/browsing/hyper_directional.hh>
# include <mln/canvas/browsing/fwd.hh>
# include <mln/canvas/browsing/snake_fwd.hh>
+# include <mln/canvas/browsing/snake_generic.hh>
+# include <mln/canvas/browsing/snake_vert.hh>
#endif // ! MLN_CANVAS_BROWSING_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/canvas/browsing/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/canvas/browsing/essential.hh
index 6071a75..58447c6 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/canvas/browsing/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_CANVAS_BROWSING_ESSENTIAL_HH_
+# define MLN_CANVAS_BROWSING_ESSENTIAL_HH_
-/*! \file mln/core/trait/all.hh
- *
- * \brief File that includes all traits.
- */
+# include <mln/canvas/browsing/directional.hh>
+# include <mln/canvas/browsing/fwd.hh>
+# include <mln/canvas/browsing/snake_fwd.hh>
+#endif // !MLN_CANVAS_BROWSING_ESSENTIAL_HH_
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/canvas/essential.hh
similarity index 76%
copy from milena/mln/extension/all.hh
copy to milena/mln/canvas/essential.hh
index 4458715..ca13128 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/canvas/essential.hh
@@ -25,28 +25,17 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_CANVAS_ESSENTIAL_HH
+# define MLN_CANVAS_ESSENTIAL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/canvas/essential.hh
*
- * \brief File that includes all extension materials.
- *
- * \todo Also include "extension images" + "extended"?
+ * \brief File that includes the most useful canvas-related routines.
*/
+# include <mln/canvas/browsing/essential.hh>
+# include <mln/canvas/morpho/essential.hh>
+# include <mln/canvas/chamfer.hh>
+# include <mln/canvas/labeling.hh>
-namespace mln
-{
-
- /// Namespace of extension tools.
- namespace extension {}
-
-} // end of namespace mln
-
-
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-
-
-#endif // ! MLN_EXTENSION_ALL_HH
+#endif // ! MLN_CANVAS_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/canvas/morpho/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/canvas/morpho/essential.hh
index 6071a75..4b6089e 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/canvas/morpho/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_CANVAS_MORPHO_ESSENTIAL_HH
+# define MLN_CANVAS_MORPHO_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/canvas/morpho/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes morphological canvas-related routines.
*/
-namespace mln
-{
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_CANVAS_MORPHO_ESSENTIAL_HH
diff --git a/milena/mln/convert/all.hh b/milena/mln/convert/all.hh
index 42250cb..eebb850 100644
--- a/milena/mln/convert/all.hh
+++ b/milena/mln/convert/all.hh
@@ -41,6 +41,7 @@ namespace mln
}
# include <mln/convert/from_to.hh>
+# include <mln/convert/to.hh>
# include <mln/convert/to_dpoint.hh>
# include <mln/convert/to_fun.hh>
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/convert/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/convert/essential.hh
index 6071a75..31c629b 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/convert/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,15 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_CONVERT_ESSENTIAL_HH
+# define MLN_CONVERT_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/convert/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes the most useful conversion-related routines.
*/
+# include <mln/convert/from_to.hh>
+# include <mln/convert/to.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_CONVERT_ESSENTIAL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/core/all.hh
similarity index 56%
copy from milena/mln/extension/all.hh
copy to milena/mln/core/all.hh
index 4458715..a9c177c 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/core/all.hh
@@ -25,28 +25,43 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_CORE_ALL_HH_
+# define MLN_CORE_ALL_HH_
-/*! \file mln/pw/all.hh
+/*! \file mln/core/all.hh
*
- * \brief File that includes all extension materials.
+ * \brief File that includes all the core routines.
*
- * \todo Also include "extension images" + "extended"?
*/
+# include <mln/core/a_point_of.hh>
+# include <mln/core/category.hh>
+# include <mln/core/clock_neighb.hh>
+# include <mln/core/clock_neighb2d.hh>
+# include <mln/core/dpoints_pixter.hh>
+# include <mln/core/contract.hh>
+# include <mln/core/dpoint.hh>
+# include <mln/core/grids.hh>
+# include <mln/core/faces_psite.hh>
+# include <mln/core/macros.hh>
+# include <mln/core/neighb.hh>
+# include <mln/core/pixel.hh>
+# include <mln/core/w_window.hh>
+# include <mln/core/window.hh>
+# include <mln/core/point.hh>
+# include <mln/core/pixter1d.hh>
+# include <mln/core/pixter2d.hh>
+# include <mln/core/pixter3d.hh>
+# include <mln/core/box_runstart_piter.hh>
+# include <mln/core/dpsites_piter.hh>
+# include <mln/core/tags.hh>
+# include <mln/core/var.hh>
-namespace mln
-{
+# include <mln/core/def/all.hh>
+# include <mln/core/image/all.hh>
+# include <mln/core/trait/all.hh>
+# include <mln/core/routine/all.hh>
+# include <mln/core/site_set/all.hh>
- /// Namespace of extension tools.
- namespace extension {}
+#endif // !MLN_CORE_ALL_HH_
-} // end of namespace mln
-
-
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-
-
-#endif // ! MLN_EXTENSION_ALL_HH
diff --git a/milena/mln/core/clock_neighb.hh b/milena/mln/core/clock_neighb.hh
index 34f1864..f51243e 100644
--- a/milena/mln/core/clock_neighb.hh
+++ b/milena/mln/core/clock_neighb.hh
@@ -34,7 +34,6 @@
*/
# include <mln/core/concept/neighborhood.hh>
-# include <mln/core/internal/dpsites_impl.hh>
# include <mln/core/dpoint.hh>
# include <mln/core/site_set/p_array.hh>
@@ -58,7 +57,7 @@ namespace mln
typedef D dpoint;
/// Site associated type.
- typedef mln_point(D) point;
+ typedef mln_psite(D) point;
/*! \brief Site_Iterator type to browse the points of a generic
* neighborhood w.r.t. the ordering of delta-points.
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/core/def/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/core/def/essential.hh
index 6071a75..de77a4f 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/core/def/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 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
@@ -25,26 +25,13 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_CORE_DEF_ESSENTIAL_HH
+# define MLN_CORE_DEF_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
- *
- * \brief File that includes all traits.
- */
+/// mln/core/def/essential.hh
+/// File that includes essential core definitions.
+# include <mln/core/def/all.hh>
-namespace mln
-{
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_CORE_DEF_ESSENTIAL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/core/essential.hh
similarity index 72%
copy from milena/mln/extension/all.hh
copy to milena/mln/core/essential.hh
index 4458715..17dfff5 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/core/essential.hh
@@ -25,28 +25,24 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_CORE_ESSENTIAL_HH_
+# define MLN_CORE_ESSENTIAL_HH_
-/*! \file mln/pw/all.hh
+/*! \file mln/core/essential.hh
*
- * \brief File that includes all extension materials.
+ * \brief File that includes essential the core routines.
*
- * \todo Also include "extension images" + "extended"?
*/
+# include <mln/core/contract.hh>
+# include <mln/core/macros.hh>
+# include <mln/core/tags.hh>
+# include <mln/core/var.hh>
-namespace mln
-{
+# include <mln/core/def/essential.hh>
+# include <mln/core/image/essential.hh>
+# include <mln/core/trait/essential.hh>
+# include <mln/core/routine/essential.hh>
+# include <mln/core/site_set/essential.hh>
- /// Namespace of extension tools.
- namespace extension {}
-
-} // end of namespace mln
-
-
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-
-
-#endif // ! MLN_EXTENSION_ALL_HH
+#endif // !MLN_CORE_ESSENTIAL_HH_
diff --git a/milena/mln/core/image/all.hh b/milena/mln/core/image/all.hh
index 6b68a6f..2f2d819 100644
--- a/milena/mln/core/image/all.hh
+++ b/milena/mln/core/image/all.hh
@@ -32,12 +32,11 @@
*
* \brief File that includes all image types.
*
- * \todo Make it effective after having moved image-defining files.
*/
-# include <mln/core/image/bgraph_image.hh>
-# include <mln/core/image/bgraph_psite.hh>
+//# include <mln/core/image/bgraph_image.hh>
+//# include <mln/core/image/bgraph_psite.hh>
# include <mln/core/image/cast_image.hh>
# include <mln/core/image/ch_piter.hh>
# include <mln/core/image/complex_image.hh>
@@ -45,6 +44,12 @@
# include <mln/core/image/complex_neighborhoods.hh>
# include <mln/core/image/complex_window_piter.hh>
# include <mln/core/image/complex_windows.hh>
+# include <mln/core/image/image2d.hh>
+# include <mln/core/image/flat_image.hh>
+# include <mln/core/image/image_if.hh>
+# include <mln/core/image/sub_image.hh>
+# include <mln/core/image/fi_adaptor.hh>
+# include <mln/core/image/image1d.hh>
# include <mln/core/image/decorated_image.hh>
# include <mln/core/image/extended.hh>
# include <mln/core/image/extension_fun.hh>
@@ -53,7 +58,7 @@
# include <mln/core/image/flat_image.hh>
# include <mln/core/image/graph_elt_neighborhood.hh>
# include <mln/core/image/graph_elt_window.hh>
-# include <mln/core/image/graph_image.hh>
+//# include <mln/core/image/graph_image.hh>
# include <mln/core/image/graph_neighborhood_piter.hh>
# include <mln/core/image/graph_window_piter.hh>
# include <mln/core/image/hexa.hh>
@@ -65,12 +70,12 @@
# include <mln/core/image/image_if.hh>
# include <mln/core/image/interpolated.hh>
# include <mln/core/image/lazy_image.hh>
-# include <mln/core/image/line_graph_elt_neighborhood.hh>
-# include <mln/core/image/line_graph_elt_window.hh>
-# include <mln/core/image/line_graph_image.hh>
-# include <mln/core/image/line_graph_neighborhood_piter.hh>
-# include <mln/core/image/line_graph_psite.hh>
-# include <mln/core/image/line_graph_window_piter.hh>
+//# include <mln/core/image/line_graph_elt_neighborhood.hh>
+//# include <mln/core/image/line_graph_elt_window.hh>
+//# include <mln/core/image/line_graph_image.hh>
+//# include <mln/core/image/line_graph_neighborhood_piter.hh>
+//# include <mln/core/image/line_graph_psite.hh>
+//# include <mln/core/image/line_graph_window_piter.hh>
# include <mln/core/image/mono_obased_rle_encode.hh>
# include <mln/core/image/mono_obased_rle_image.hh>
# include <mln/core/image/mono_rle_encode.hh>
@@ -92,6 +97,5 @@
# include <mln/core/image/value_enc_image.hh>
# include <mln/core/image/value_encode.hh>
-//# include <mln/core/image/fi_adaptor.hh>
#endif // ! MLN_CORE_IMAGE_ALL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/core/image/essential.hh
similarity index 67%
copy from milena/mln/extension/all.hh
copy to milena/mln/core/image/essential.hh
index 4458715..5b67315 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/core/image/essential.hh
@@ -25,28 +25,25 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_CORE_IMAGE_ESSENTIAL_HH
+# define MLN_CORE_IMAGE_ESSENTIAL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/core/image/essential.hh
*
- * \brief File that includes all extension materials.
+ * \brief File that includes essential image types.
*
- * \todo Also include "extension images" + "extended"?
*/
-
-namespace mln
-{
-
- /// Namespace of extension tools.
- namespace extension {}
-
-} // end of namespace mln
-
-
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-
-
-#endif // ! MLN_EXTENSION_ALL_HH
+# include <mln/core/image/cast_image.hh>
+# include <mln/core/image/image2d.hh>
+# include <mln/core/image/image_if.hh>
+# include <mln/core/image/sub_image.hh>
+# include <mln/core/image/image1d.hh>
+# include <mln/core/image/extended.hh>
+# include <mln/core/image/extension_fun.hh>
+# include <mln/core/image/extension_ima.hh>
+# include <mln/core/image/extension_val.hh>
+# include <mln/core/image/image3d.hh>
+# include <mln/core/image/sub_image_if.hh>
+
+#endif // ! MLN_CORE_IMAGE_ESSENTIAL_HH
diff --git a/milena/mln/core/image/hexa_piter.hh b/milena/mln/core/image/hexa_piter.hh
index ab0cd7d..ad6f36f 100644
--- a/milena/mln/core/image/hexa_piter.hh
+++ b/milena/mln/core/image/hexa_piter.hh
@@ -52,11 +52,12 @@ namespace mln
template <typename S>
class hexa_fwd_piter_
: public internal::piter_adaptor_< mln_fwd_piter(S),
+ S,
hexa_fwd_piter_<S> >
{
typedef mln_fwd_piter(S) adaptee_;
typedef hexa_fwd_piter_<S> self_;
- typedef internal::piter_adaptor_<adaptee_, self_> super_;
+ typedef internal::piter_adaptor_<adaptee_, S, self_> super_;
public:
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/core/routine/essential.hh
similarity index 77%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/core/routine/essential.hh
index 6071a75..7968313 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/core/routine/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_CORE_ROUTINE_ESSENTIAL_HH_
+# define MLN_CORE_ROUTINE_ESSENTIAL_HH_
-/*! \file mln/core/trait/all.hh
- *
- * \brief File that includes all traits.
- */
+# include <mln/core/routine/clone.hh>
+# include <mln/core/routine/exact.hh>
+# include <mln/core/routine/extend.hh>
+# include <mln/core/routine/initialize.hh>
+# include <mln/core/routine/ops.hh>
+#endif // !MLN_CORE_ROUTINE_ESSENTIAL_HH_
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
diff --git a/milena/mln/core/site_set/all.hh b/milena/mln/core/site_set/all.hh
index b919782..50f8143 100644
--- a/milena/mln/core/site_set/all.hh
+++ b/milena/mln/core/site_set/all.hh
@@ -35,12 +35,15 @@
# include <mln/core/site_set/box.hh>
-# include <mln/core/site_set/p_line2d.hh>
# include <mln/core/site_set/p_array.hh>
# include <mln/core/site_set/p_centered.hh>
+# include <mln/core/site_set/p_complex.hh>
+# include <mln/core/site_set/p_edges.hh>
+# include <mln/core/site_set/p_faces.hh>
# include <mln/core/site_set/p_if.hh>
# include <mln/core/site_set/p_image.hh>
# include <mln/core/site_set/p_key.hh>
+# include <mln/core/site_set/p_line2d.hh>
# include <mln/core/site_set/p_mutable_array_of.hh>
# include <mln/core/site_set/p_priority.hh>
# include <mln/core/site_set/p_queue.hh>
@@ -49,6 +52,7 @@
# include <mln/core/site_set/p_set.hh>
# include <mln/core/site_set/p_set_of.hh>
# include <mln/core/site_set/p_vaccess.hh>
+# include <mln/core/site_set/p_vertices.hh>
#endif // ! MLN_CORE_SITE_SET_ALL_HH
diff --git a/milena/mln/core/site_set/box.hh b/milena/mln/core/site_set/box.hh
index 7e8a29f..93973fe 100644
--- a/milena/mln/core/site_set/box.hh
+++ b/milena/mln/core/site_set/box.hh
@@ -144,7 +144,6 @@ namespace mln
box<P> to_larger(unsigned b) const;
/// Return the approximated central site of this box.
- /// FIXME: Do we want a routine as well like geom::bbox()?
P center() const;
/// Test that the box owns valid data, i.e., is initialized and
diff --git a/milena/mln/core/site_set/all.hh b/milena/mln/core/site_set/essential.hh
similarity index 79%
copy from milena/mln/core/site_set/all.hh
copy to milena/mln/core/site_set/essential.hh
index b919782..38c9a04 100644
--- a/milena/mln/core/site_set/all.hh
+++ b/milena/mln/core/site_set/essential.hh
@@ -25,30 +25,23 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_SITE_SET_ALL_HH
-# define MLN_CORE_SITE_SET_ALL_HH
+#ifndef MLN_CORE_SITE_SET_ESSENTIAL_HH
+# define MLN_CORE_SITE_SET_ESSENTIAL_HH
-/*! \file mln/core/site_set/all.hh
+/*! \file mln/core/site_set/essential.hh
*
- * \brief File that includes all site_set types.
+ * \brief File that includes essential site_set types.
*/
-
# include <mln/core/site_set/box.hh>
-# include <mln/core/site_set/p_line2d.hh>
# include <mln/core/site_set/p_array.hh>
-# include <mln/core/site_set/p_centered.hh>
# include <mln/core/site_set/p_if.hh>
-# include <mln/core/site_set/p_image.hh>
-# include <mln/core/site_set/p_key.hh>
-# include <mln/core/site_set/p_mutable_array_of.hh>
# include <mln/core/site_set/p_priority.hh>
# include <mln/core/site_set/p_queue.hh>
# include <mln/core/site_set/p_queue_fast.hh>
# include <mln/core/site_set/p_run.hh>
# include <mln/core/site_set/p_set.hh>
# include <mln/core/site_set/p_set_of.hh>
-# include <mln/core/site_set/p_vaccess.hh>
-#endif // ! MLN_CORE_SITE_SET_ALL_HH
+#endif // ! MLN_CORE_SITE_SET_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/core/trait/all.hh
index 6071a75..db65ddd 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/core/trait/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -44,7 +44,9 @@ namespace mln
}
+# include <mln/core/trait/op_mult.hh>
# include <mln/core/trait/pixter.hh>
+# include <mln/core/trait/qlf_value.hh>
#endif // ! MLN_CORE_TRAIT_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/core/trait/essential.hh
similarity index 82%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/core/trait/essential.hh
index 6071a75..e46b67e 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/core/trait/essential.hh
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_CORE_TRAIT_ESSENTIAL_HH
+# define MLN_CORE_TRAIT_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/core/trait/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential traits.
*/
+# include <mln/core/trait/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_CORE_TRAIT_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/op_mult.hh b/milena/mln/core/trait/op_mult.hh
index 8785728..460b54a 100644
--- a/milena/mln/core/trait/op_mult.hh
+++ b/milena/mln/core/trait/op_mult.hh
@@ -43,7 +43,7 @@
namespace mln
{
- namespace metal
+ namespace algebra
{
template <unsigned n, typename T>
diff --git a/milena/mln/debug/all.hh b/milena/mln/debug/all.hh
index 82d6802..e2db2f4 100644
--- a/milena/mln/debug/all.hh
+++ b/milena/mln/debug/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -46,11 +46,13 @@ namespace mln
}
+# include <mln/debug/colorize.hh>
# include <mln/debug/format.hh>
+# include <mln/debug/graph.hh>
# include <mln/debug/iota.hh>
# include <mln/debug/println.hh>
# include <mln/debug/println_with_border.hh>
-# include <mln/debug/graph.hh>
+# include <mln/debug/put_word.hh>
#endif // ! MLN_DEBUG_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/debug/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/debug/essential.hh
index 6071a75..122a6c0 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/debug/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_DEBUG_ESSENTIAL_HH
+# define MLN_DEBUG_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/debug/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential debug-related routines.
*/
+# include <mln/debug/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_DEBUG_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/display/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/display/essential.hh
index 6071a75..a32e4cc 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/display/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_DISPLAY_ESSENTIAL_HH
+# define MLN_DISPLAY_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/display/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential display routines.
*/
+# include <mln/display/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_DISPLAY_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/draw/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/draw/essential.hh
index 6071a75..3252203 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/draw/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,16 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_DRAW_ESSENTIAL_HH
+# define MLN_DRAW_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/draw/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential draw-related routines.
*/
+# include <mln/draw/box.hh>
+# include <mln/draw/label.hh>
+# include <mln/draw/line.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_DRAW_ESSENTIAL_HH
diff --git a/milena/mln/essential/1d.hh b/milena/mln/essential/1d.hh
index 742a676..cdcb52a 100644
--- a/milena/mln/essential/1d.hh
+++ b/milena/mln/essential/1d.hh
@@ -28,22 +28,23 @@
#ifndef MLN_ESSENTIAL_1D_HH_
# define MLN_ESSENTIAL_1D_HH_
-# include <core/image/image1d.hh>
-# include <core/pixter1d.hh>
-# include <core/alias/box1d.hh>
-# include <core/alias/dpoint1d.hh>
-# include <core/alias/neighb1d.hh>
-# include <core/alias/point1d.hh>
-# include <core/alias/w_window1d_float.hh>
-# include <core/alias/w_window1d_int.hh>
-# include <core/alias/window1d.hh>
-# include <geom/size1d.hh>
-# include <make/box1d.hh>
-# include <make/image1d.hh>
-# include <make/w_window1d.hh>
-# include <make/w_window1d_int.hh>
-# include <metal/array1d.hh>
-# include <win/segment1d.hh>
+# include <mln/core/image/image1d.hh>
+# include <mln/core/pixter1d.hh>
+# include <mln/core/alias/box1d.hh>
+# include <mln/core/alias/dpoint1d.hh>
+# include <mln/core/alias/neighb1d.hh>
+# include <mln/core/alias/point1d.hh>
+# include <mln/core/alias/w_window1d_float.hh>
+# include <mln/core/alias/w_window1d_int.hh>
+# include <mln/core/alias/window1d.hh>
+# include <mln/geom/size1d.hh>
+# include <mln/make/box1d.hh>
+# include <mln/make/w_window1d.hh>
+# include <mln/make/w_window1d_int.hh>
+# include <mln/metal/array1d.hh>
+# include <mln/win/segment1d.hh>
+
+# include <mln/essential/routine.hh>
#endif // ! MLN_ESSENTIAL_1D_HH_
diff --git a/milena/mln/essential/2d.hh b/milena/mln/essential/2d.hh
index e41cf4e..d31dafe 100644
--- a/milena/mln/essential/2d.hh
+++ b/milena/mln/essential/2d.hh
@@ -28,39 +28,39 @@
#ifndef MLN_ESSENTIAL_2D_HH_
# define MLN_ESSENTIAL_2D_HH_
-# include <core/clock_neighb2d.hh>
-# include <core/image/image2d.hh>
-# include <core/image/image2d_h.hh>
-# include <core/pixter2d.hh>
-# include <core/site_set/p_line2d.hh>
-# include <core/alias/box2d.hh>
-# include <core/alias/box2d_h.hh>
-# include <core/alias/dpoint2d.hh>
-# include <core/alias/dpoint2d_h.hh>
-# include <core/alias/neighb2d.hh>
-# include <core/alias/p_run2d.hh>
-# include <core/alias/p_runs2d.hh>
-# include <core/alias/point2d.hh>
-# include <core/alias/point2d_h.hh>
-# include <core/alias/w_window2d_float.hh>
-# include <core/alias/w_window2d_int.hh>
-# include <core/alias/window2d.hh>
-# include <geom/size2d.hh>
-# include <make/box2d.hh>
-# include <make/box2d_h.hh>
-# include <make/dpoint2d_h.hh>
-# include <make/image2d.hh>
-# include <make/point2d_h.hh>
-# include <make/w_window2d.hh>
-# include <make/w_window2d_int.hh>
-# include <make/double_neighb2d.hh>
-# include <metal/array2d.hh>
-# include <win/backdiag2d.hh>
-# include <win/diag2d.hh>
-# include <win/disk2d.hh>
-# include <win/hline2d.hh>
-# include <win/octagon2d.hh>
-# include <win/rectangle2d.hh>
-# include <win/vline2d.hh>
+//# include <mln/core/clock_neighb2d.hh>
+# include <mln/core/image/image2d.hh>
+//# include <mln/core/image/image2d_h.hh>
+# include <mln/core/pixter2d.hh>
+# include <mln/core/site_set/p_line2d.hh>
+# include <mln/core/alias/box2d.hh>
+# include <mln/core/alias/box2d_h.hh>
+# include <mln/core/alias/dpoint2d.hh>
+# include <mln/core/alias/dpoint2d_h.hh>
+# include <mln/core/alias/neighb2d.hh>
+# include <mln/core/alias/p_run2d.hh>
+# include <mln/core/alias/p_runs2d.hh>
+# include <mln/core/alias/point2d.hh>
+# include <mln/core/alias/point2d_h.hh>
+# include <mln/core/alias/w_window2d_float.hh>
+# include <mln/core/alias/w_window2d_int.hh>
+# include <mln/core/alias/window2d.hh>
+# include <mln/make/box2d.hh>
+# include <mln/make/box2d_h.hh>
+# include <mln/make/dpoint2d_h.hh>
+# include <mln/make/image2d.hh>
+# include <mln/make/point2d_h.hh>
+# include <mln/make/w_window2d.hh>
+# include <mln/make/w_window2d_int.hh>
+# include <mln/make/double_neighb2d.hh>
+# include <mln/win/backdiag2d.hh>
+# include <mln/win/diag2d.hh>
+# include <mln/win/disk2d.hh>
+# include <mln/win/hline2d.hh>
+# include <mln/win/octagon2d.hh>
+# include <mln/win/rectangle2d.hh>
+# include <mln/win/vline2d.hh>
+
+# include <mln/essential/routine.hh>
#endif // ! MLN_ESSENTIAL_3D_HH_
diff --git a/milena/mln/essential/3d.hh b/milena/mln/essential/3d.hh
index d413211..8d782c6 100644
--- a/milena/mln/essential/3d.hh
+++ b/milena/mln/essential/3d.hh
@@ -28,22 +28,24 @@
#ifndef MLN_ESSENTIAL_3D_HH_
# define MLN_ESSENTIAL_3D_HH_
-# include <core/image/image3d.hh>
-# include <core/pixter3d.hh>
-# include <core/alias/box3d.hh>
-# include <core/alias/dpoint3d.hh>
-# include <core/alias/neighb3d.hh>
-# include <core/alias/point3d.hh>
-# include <core/alias/w_window3d_float.hh>
-# include <core/alias/w_window3d_int.hh>
-# include <core/alias/window3d.hh>
-# include <geom/size3d.hh>
-# include <make/box3d.hh>
-# include <make/w_window3d.hh>
-# include <make/w_window3d_int.hh>
-# include <metal/array3d.hh>
-# include <win/cube3d.hh>
-# include <win/cuboid3d.hh>
+# include <mln/core/image/image3d.hh>
+# include <mln/core/pixter3d.hh>
+# include <mln/core/alias/box3d.hh>
+# include <mln/core/alias/dpoint3d.hh>
+# include <mln/core/alias/neighb3d.hh>
+# include <mln/core/alias/point3d.hh>
+# include <mln/core/alias/w_window3d_float.hh>
+# include <mln/core/alias/w_window3d_int.hh>
+# include <mln/core/alias/window3d.hh>
+# include <mln/geom/size3d.hh>
+# include <mln/make/box3d.hh>
+# include <mln/make/w_window3d.hh>
+# include <mln/make/w_window3d_int.hh>
+# include <mln/metal/array3d.hh>
+# include <mln/win/cube3d.hh>
+# include <mln/win/cuboid3d.hh>
+
+# include <mln/essential/routine.hh>
#endif // ! MLN_ESSENTIAL_3D_HH_
diff --git a/milena/mln/essential/routine.hh b/milena/mln/essential/routine.hh
new file mode 100644
index 0000000..157b25d
--- /dev/null
+++ b/milena/mln/essential/routine.hh
@@ -0,0 +1,74 @@
+// Copyright (C) 2008 EPITA Research and Development Laboratory
+//
+// 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_ESSENTIAL_ROUTINE_HH_
+# define MLN_ESSENTIAL_ROUTINE_HH_
+
+# include <mln/topo/essential.hh>
+# include <mln/accu/essential.hh>
+# include <mln/algebra/essential.hh>
+# include <mln/arith/essential.hh>
+# include <mln/binarization/essential.hh>
+# include <mln/border/essential.hh>
+# include <mln/canvas/essential.hh>
+# include <mln/convert/essential.hh>
+# include <mln/core/essential.hh>
+# include <mln/debug/essential.hh>
+# include <mln/display/essential.hh>
+# include <mln/draw/essential.hh>
+# include <mln/estim/essential.hh>
+# include <mln/extension/essential.hh>
+# include <mln/fun/essential.hh>
+# include <mln/geom/essential.hh>
+# include <mln/histo/essential.hh>
+# include <mln/io/essential.hh>
+# include <mln/labeling/essential.hh>
+# include <mln/level/essential.hh>
+# include <mln/linear/essential.hh>
+# include <mln/literal/essential.hh>
+# include <mln/logical/essential.hh>
+# include <mln/make/essential.hh>
+# include <mln/math/essential.hh>
+# include <mln/metal/essential.hh>
+# include <mln/morpho/essential.hh>
+# include <mln/neighb/essential.hh>
+# include <mln/norm/essential.hh>
+# include <mln/pw/essential.hh>
+# include <mln/registration/essential.hh>
+# include <mln/set/essential.hh>
+# include <mln/subsampling/essential.hh>
+# include <mln/tag/essential.hh>
+# include <mln/test/essential.hh>
+# include <mln/trace/essential.hh>
+# include <mln/trait/essential.hh>
+# include <mln/transform/essential.hh>
+# include <mln/util/essential.hh>
+# include <mln/value/essential.hh>
+# include <mln/win/essential.hh>
+
+#endif // !MLN_ESSENTIAL_ROUTINE_HH_
+
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/estim/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/estim/essential.hh
index 6071a75..4afe74d 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/estim/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_ESTIM_ESSENTIAL_HH
+# define MLN_ESTIM_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/estim/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential estimation materials.
*/
+# include <mln/estim/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_ESTIM_ESSENTIAL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/extension/all.hh
index 4458715..523b4dc 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/extension/all.hh
@@ -28,7 +28,7 @@
#ifndef MLN_EXTENSION_ALL_HH
# define MLN_EXTENSION_ALL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/extension/all.hh
*
* \brief File that includes all extension materials.
*
diff --git a/milena/mln/extension/all.hh b/milena/mln/extension/essential.hh
similarity index 79%
copy from milena/mln/extension/all.hh
copy to milena/mln/extension/essential.hh
index 4458715..c487483 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/extension/essential.hh
@@ -25,28 +25,16 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_EXTENSION_ESSENTIAL_HH
+# define MLN_EXTENSION_ESSENTIAL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/extension/essential.hh
*
- * \brief File that includes all extension materials.
+ * \brief File that includes essential extension materials.
*
* \todo Also include "extension images" + "extended"?
*/
+# include <mln/extension/all.hh>
-namespace mln
-{
-
- /// Namespace of extension tools.
- namespace extension {}
-
-} // end of namespace mln
-
-
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-
-
-#endif // ! MLN_EXTENSION_ALL_HH
+#endif // ! MLN_EXTENSION_ESSENTIAL_HH
diff --git a/milena/mln/fun/all.hh b/milena/mln/fun/all.hh
index 6befff6..62c6a45 100644
--- a/milena/mln/fun/all.hh
+++ b/milena/mln/fun/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -55,7 +55,11 @@ namespace mln
# include <mln/fun/i2v/all.hh>
# include <mln/fun/p2b/all.hh>
# include <mln/fun/p2v/all.hh>
+# include <mln/fun/v2b/all.hh>
# include <mln/fun/v2v/all.hh>
+# include <mln/fun/vv2v/all.hh>
+# include <mln/fun/x2p/all.hh>
+# include <mln/fun/x2v/all.hh>
# include <mln/fun/x2x/all.hh>
diff --git a/milena/mln/extension/all.hh b/milena/mln/fun/essential.hh
similarity index 70%
copy from milena/mln/extension/all.hh
copy to milena/mln/fun/essential.hh
index 4458715..9626e45 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/fun/essential.hh
@@ -25,28 +25,24 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_FUN_ESSENTIAL_HH
+# define MLN_FUN_ESSENTIAL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/fun/essential.hh
*
- * \brief File that includes all extension materials.
- *
- * \todo Also include "extension images" + "extended"?
+ * \brief File that includes essential fun-related routines.
*/
-
-namespace mln
-{
-
- /// Namespace of extension tools.
- namespace extension {}
-
-} // end of namespace mln
-
-
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-
-
-#endif // ! MLN_EXTENSION_ALL_HH
+# include <mln/fun/c.hh>
+# include <mln/fun/ops.hh>
+# include <mln/fun/i2v/essential.hh>
+# include <mln/fun/p2b/essential.hh>
+# include <mln/fun/p2v/essential.hh>
+# include <mln/fun/v2b/essential.hh>
+# include <mln/fun/v2v/essential.hh>
+# include <mln/fun/vv2v/essential.hh>
+# include <mln/fun/x2p/essential.hh>
+# include <mln/fun/x2v/essential.hh>
+# include <mln/fun/x2x/essential.hh>
+
+#endif // ! MLN_FUN_ESSENTIAL_HH
diff --git a/milena/mln/fun/i2v/all.hh b/milena/mln/fun/i2v/all.hh
index e54f789..cc52d88 100644
--- a/milena/mln/fun/i2v/all.hh
+++ b/milena/mln/fun/i2v/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -50,6 +50,7 @@ namespace mln
# include <mln/fun/i2v/all_to.hh>
+# include <mln/fun/i2v/array.hh>
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/fun/i2v/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/fun/i2v/essential.hh
index 6071a75..6bed56e 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/fun/i2v/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_FUN_I2V_ESSENTIAL_HH
+# define MLN_FUN_I2V_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/fun/i2v/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential functions from index to value.
*/
+# include <mln/fun/i2v/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_FUN_I2V_ESSENTIAL_HH
diff --git a/milena/mln/fun/p2b/all.hh b/milena/mln/fun/p2b/all.hh
index 4c429ea..ed6e926 100644
--- a/milena/mln/fun/p2b/all.hh
+++ b/milena/mln/fun/p2b/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -50,6 +50,7 @@ namespace mln
# include <mln/fun/p2b/chess.hh>
+# include <mln/fun/p2b/has.hh>
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/fun/p2b/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/fun/p2b/essential.hh
index 6071a75..e43e022 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/fun/p2b/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_FUN_P2B_ESSENTIAL_HH
+# define MLN_FUN_P2B_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/fun/p2b/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential functions from point to boolean.
*/
+# include <mln/fun/p2b/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_FUN_P2B_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/fun/p2v/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/fun/p2v/essential.hh
index 6071a75..7830a86 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/fun/p2v/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_FUN_P2V_ESSENTIAL_HH
+# define MLN_FUN_P2V_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/fun/p2v/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential functions from point to value.
*/
+# include <mln/fun/p2v/iota.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_FUN_P2V_ESSENTIAL_HH
diff --git a/milena/mln/fun/i2v/all.hh b/milena/mln/fun/v2b/all.hh
similarity index 79%
copy from milena/mln/fun/i2v/all.hh
copy to milena/mln/fun/v2b/all.hh
index e54f789..303a4a9 100644
--- a/milena/mln/fun/i2v/all.hh
+++ b/milena/mln/fun/v2b/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,12 +25,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_FUN_I2V_ALL_HH
-# define MLN_FUN_I2V_ALL_HH
+#ifndef MLN_FUN_V2B_ALL_HH
+# define MLN_FUN_V2B_ALL_HH
-/*! \file mln/fun/i2v/all.hh
+/*! \file mln/fun/v2b/all.hh
*
- * \brief File that includes all functions from index to value.
+ * \brief File that includes all functions from point to value.
*/
@@ -40,8 +40,8 @@ namespace mln
namespace fun
{
- /// Namespace of functions from index to value.
- namespace i2v
+ /// Namespace of functions from point to value.
+ namespace v2b
{
}
}
@@ -49,8 +49,6 @@ namespace mln
}
-# include <mln/fun/i2v/all_to.hh>
+# include <mln/fun/v2b/threshold.hh>
-
-
-#endif // ! MLN_FUN_I2V_ALL_HH
+#endif // ! MLN_FUN_V2B_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/fun/v2b/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/fun/v2b/essential.hh
index 6071a75..92b5cf7 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/fun/v2b/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_FUN_V2B_ESSENTIAL_HH
+# define MLN_FUN_V2B_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/fun/v2b/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential functions from point to value.
*/
+# include <mln/fun/v2b/threshold.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_FUN_V2B_ESSENTIAL_HH
diff --git a/milena/mln/fun/v2v/all.hh b/milena/mln/fun/v2v/all.hh
index d0645c1..d028dde 100644
--- a/milena/mln/fun/v2v/all.hh
+++ b/milena/mln/fun/v2v/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -51,9 +51,13 @@ namespace mln
# include <mln/fun/v2v/abs.hh>
# include <mln/fun/v2v/cast.hh>
+# include <mln/fun/v2v/convert.hh>
+# include <mln/fun/v2v/dec.hh>
# include <mln/fun/v2v/enc.hh>
# include <mln/fun/v2v/id.hh>
# include <mln/fun/v2v/linear.hh>
+# include <mln/fun/v2v/norm.hh>
+# include <mln/fun/v2v/rgb_to_hsi.hh>
# include <mln/fun/v2v/saturate.hh>
diff --git a/milena/mln/extension/all.hh b/milena/mln/fun/v2v/essential.hh
similarity index 76%
copy from milena/mln/extension/all.hh
copy to milena/mln/fun/v2v/essential.hh
index 4458715..6687d6f 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/fun/v2v/essential.hh
@@ -25,28 +25,18 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_FUN_V2V_ESSENTIAL_HH
+# define MLN_FUN_V2V_ESSENTIAL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/fun/v2v/essential.hh
*
- * \brief File that includes all extension materials.
- *
- * \todo Also include "extension images" + "extended"?
+ * \brief File that includes essential functions from value to value.
*/
+# include <mln/fun/v2v/abs.hh>
+# include <mln/fun/v2v/cast.hh>
+# include <mln/fun/v2v/convert.hh>
+# include <mln/fun/v2v/rgb_to_hsi.hh>
+# include <mln/fun/v2v/saturate.hh>
-namespace mln
-{
-
- /// Namespace of extension tools.
- namespace extension {}
-
-} // end of namespace mln
-
-
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-
-
-#endif // ! MLN_EXTENSION_ALL_HH
+#endif // ! MLN_FUN_V2V_ESSENTIAL_HH
diff --git a/milena/mln/fun/p2b/all.hh b/milena/mln/fun/vv2v/all.hh
similarity index 77%
copy from milena/mln/fun/p2b/all.hh
copy to milena/mln/fun/vv2v/all.hh
index 4c429ea..9d1128d 100644
--- a/milena/mln/fun/p2b/all.hh
+++ b/milena/mln/fun/vv2v/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,12 +25,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_FUN_P2B_ALL_HH
-# define MLN_FUN_P2B_ALL_HH
+#ifndef MLN_FUN_VV2V_ALL_HH
+# define MLN_FUN_VV2V_ALL_HH
-/*! \file mln/fun/p2b/all.hh
+/*! \file mln/fun/vv2v/all.hh
*
- * \brief File that includes all functions from point to boolean.
+ * \brief File that includes all functions from point to value.
*/
@@ -40,8 +40,8 @@ namespace mln
namespace fun
{
- /// Namespace of functions from point to boolean.
- namespace p2b
+ /// Namespace of functions from point to value.
+ namespace vv2v
{
}
}
@@ -49,8 +49,7 @@ namespace mln
}
-# include <mln/fun/p2b/chess.hh>
+# include <mln/fun/vv2v/max.hh>
+# include <mln/fun/vv2v/min.hh>
-
-
-#endif // ! MLN_FUN_P2B_ALL_HH
+#endif // ! MLN_FUN_VV2V_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/fun/vv2v/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/fun/vv2v/essential.hh
index 6071a75..4828e2f 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/fun/vv2v/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,15 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_FUN_V2B_ESSENTIAL_HH
+# define MLN_FUN_V2B_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/fun/vv2v/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential functions from point to value.
*/
+# include <mln/fun/vv2v/max.hh>
+# include <mln/fun/vv2v/min.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_FUN_V2B_ESSENTIAL_HH
diff --git a/milena/mln/fun/p2b/all.hh b/milena/mln/fun/x2p/all.hh
similarity index 79%
copy from milena/mln/fun/p2b/all.hh
copy to milena/mln/fun/x2p/all.hh
index 4c429ea..e7467e0 100644
--- a/milena/mln/fun/p2b/all.hh
+++ b/milena/mln/fun/x2p/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,12 +25,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_FUN_P2B_ALL_HH
-# define MLN_FUN_P2B_ALL_HH
+#ifndef MLN_FUN_X2V_ALL_HH
+# define MLN_FUN_X2V_ALL_HH
-/*! \file mln/fun/p2b/all.hh
+/*! \file mln/fun/x2p/all.hh
*
- * \brief File that includes all functions from point to boolean.
+ * \brief File that includes all functions from point to value.
*/
@@ -40,17 +40,15 @@ namespace mln
namespace fun
{
- /// Namespace of functions from point to boolean.
- namespace p2b
+ /// Namespace of functions from point to value.
+ namespace x2p
{
}
+
}
}
+# include <mln/fun/x2p/closest_point.hh>
-# include <mln/fun/p2b/chess.hh>
-
-
-
-#endif // ! MLN_FUN_P2B_ALL_HH
+#endif // ! MLN_FUN_X2V_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/fun/x2p/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/fun/x2p/essential.hh
index 6071a75..0b3a121 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/fun/x2p/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_FUN_X2V_ESSENTIAL_HH
+# define MLN_FUN_X2V_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/fun/x2p/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential functions from point to value.
*/
+# include <mln/fun/x2p/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_FUN_X2V_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/fun/x2v/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/fun/x2v/essential.hh
index 6071a75..8fcf626 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/fun/x2v/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_FUN_X2V_ALL_HH
+# define MLN_FUN_X2V_ALL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/fun/x2v/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential functions from vector to value.
*/
+# include <mln/fun/x2v/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_FUN_X2V_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/fun/x2x/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/fun/x2x/essential.hh
index 6071a75..dcb3e08 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/fun/x2x/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_FUN_X2X_ESSENTIAL_HH
+# define MLN_FUN_X2X_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/fun/x2x/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential functions from vector to vector.
*/
+# include <mln/fun/x2x/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_FUN_X2X_ESSENTIAL_HH
diff --git a/milena/mln/geom/all.hh b/milena/mln/geom/all.hh
index fa278fd..8d419e4 100644
--- a/milena/mln/geom/all.hh
+++ b/milena/mln/geom/all.hh
@@ -48,12 +48,27 @@ namespace mln
# include <mln/geom/bbox.hh>
# include <mln/geom/chamfer.hh>
+# include <mln/geom/max_col.hh>
+# include <mln/geom/max_ind.hh>
+# include <mln/geom/max_row.hh>
+# include <mln/geom/max_sli.hh>
+# include <mln/geom/min_col.hh>
+# include <mln/geom/min_ind.hh>
+# include <mln/geom/min_row.hh>
+# include <mln/geom/min_sli.hh>
+# include <mln/geom/ncols.hh>
+# include <mln/geom/ninds.hh>
+# include <mln/geom/nrows.hh>
+# include <mln/geom/nslis.hh>
# include <mln/geom/pmin_pmax.hh>
+# include <mln/geom/resize.hh>
# include <mln/geom/seeds2tiling.hh>
# include <mln/geom/seeds2tiling_roundness.hh>
# include <mln/geom/size1d.hh>
# include <mln/geom/size2d.hh>
# include <mln/geom/size3d.hh>
-
+# include <mln/geom/complex_geometry.hh>
+# include <mln/geom/nsites.hh>
+# include <mln/geom/delta.hh>
#endif // ! MLN_GEOM_ALL_HH
diff --git a/milena/mln/geom/all.hh b/milena/mln/geom/essential.hh
similarity index 79%
copy from milena/mln/geom/all.hh
copy to milena/mln/geom/essential.hh
index fa278fd..41d1fd9 100644
--- a/milena/mln/geom/all.hh
+++ b/milena/mln/geom/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,19 +25,19 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_GEOM_ALL_HH
-# define MLN_GEOM_ALL_HH
+#ifndef MLN_GEOM_ESSENTIAL_HH
+# define MLN_GEOM_ESSENTIAL_HH
-/*! \file mln/geom/all.hh
+/*! \file mln/geom/essential.hh
*
- * \brief File that includes all geometry related things.
+ * \brief File that includes essential geometry related things.
*/
namespace mln
{
- /// Namespace of all things related to geometry.
+ /// Namespace of essential things related to geometry.
namespace geom
{
/// Implementation namespace of geom namespace.
@@ -48,12 +48,10 @@ namespace mln
# include <mln/geom/bbox.hh>
# include <mln/geom/chamfer.hh>
-# include <mln/geom/pmin_pmax.hh>
-# include <mln/geom/seeds2tiling.hh>
-# include <mln/geom/seeds2tiling_roundness.hh>
+# include <mln/geom/resize.hh>
# include <mln/geom/size1d.hh>
# include <mln/geom/size2d.hh>
# include <mln/geom/size3d.hh>
+# include <mln/geom/nsites.hh>
-
-#endif // ! MLN_GEOM_ALL_HH
+#endif // ! MLN_GEOM_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/histo/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/histo/essential.hh
index 6071a75..fe81221 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/histo/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_HISTO_ESSENTIAL_HH
+# define MLN_HISTO_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/histo/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes histogram files.
*/
+# include <mln/histo/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_HISTO_ESSENTIAL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/io/essential.hh
similarity index 76%
copy from milena/mln/extension/all.hh
copy to milena/mln/io/essential.hh
index 4458715..d55f114 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/io/essential.hh
@@ -25,28 +25,21 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_IO_ESSENTIAL_HH_
+# define MLN_IO_ESSENTIAL_HH_
-/*! \file mln/pw/all.hh
+/*! \file mln/io/essential.hh
*
- * \brief File that includes all extension materials.
+ * \brief File that includes the most useful io routines.
*
- * \todo Also include "extension images" + "extended"?
*/
+# include <mln/io/pbm/all.hh>
+# include <mln/io/pfm/all.hh>
+# include <mln/io/pgm/all.hh>
+# include <mln/io/pnm/all.hh>
+# include <mln/io/ppm/all.hh>
+# include <mln/io/txt/all.hh>
-namespace mln
-{
+#endif // !MLN_IO_ESSENTIAL_HH_
- /// Namespace of extension tools.
- namespace extension {}
-
-} // end of namespace mln
-
-
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-
-
-#endif // ! MLN_EXTENSION_ALL_HH
diff --git a/milena/mln/labeling/all.hh b/milena/mln/labeling/all.hh
index 570b8b1..ec930f6 100644
--- a/milena/mln/labeling/all.hh
+++ b/milena/mln/labeling/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -54,6 +54,7 @@ namespace mln
# include <mln/labeling/background.hh>
# include <mln/labeling/blobs.hh>
+# include <mln/labeling/compute.hh>
# include <mln/labeling/flat_zones.hh>
# include <mln/labeling/foreground.hh>
# include <mln/labeling/level.hh>
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/labeling/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/labeling/essential.hh
index 6071a75..940f2c2 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/labeling/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,15 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_LABELING_ESSENTIAL_HH
+# define MLN_LABELING_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/labeling/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential labeling routines.
*/
+# include <mln/labeling/blobs.hh>
+# include <mln/labeling/compute.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_LABELING_ESSENTIAL_HH
diff --git a/milena/mln/level/all.hh b/milena/mln/level/all.hh
index 3b3b139..c12efec 100644
--- a/milena/mln/level/all.hh
+++ b/milena/mln/level/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -60,6 +60,7 @@ namespace mln
# include <mln/level/assign.hh>
# include <mln/level/compare.hh>
# include <mln/level/compute.hh>
+# include <mln/level/convert.hh>
# include <mln/level/fast_median.hh>
# include <mln/level/fill.hh>
# include <mln/level/median.hh>
@@ -67,11 +68,13 @@ namespace mln
# include <mln/level/memset_.hh>
# include <mln/level/naive/all.hh>
# include <mln/level/paste.hh>
+# include <mln/level/replace.hh>
# include <mln/level/saturate.hh>
# include <mln/level/sort_psites.hh>
# include <mln/level/stretch.hh>
# include <mln/level/to_enc.hh>
# include <mln/level/transform.hh>
+# include <mln/level/update.hh>
# include <mln/level/was.median.hh>
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/level/approx/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/level/approx/essential.hh
index 6071a75..441256d 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/level/approx/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,16 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_LEVEL_APPROX_ESSENTIAL_HH
+# define MLN_LEVEL_APPROX_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/level/approx/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential level-related routines with
+ * approximation.
*/
+# include <mln/level/approx/all.hh>
-namespace mln
-{
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_LEVEL_APPROX_ESSENTIAL_HH
diff --git a/milena/mln/level/all.hh b/milena/mln/level/essential.hh
similarity index 67%
copy from milena/mln/level/all.hh
copy to milena/mln/level/essential.hh
index 3b3b139..f545c0e 100644
--- a/milena/mln/level/all.hh
+++ b/milena/mln/level/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,55 +25,31 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_LEVEL_ALL_HH
-# define MLN_LEVEL_ALL_HH
+#ifndef MLN_LEVEL_ESSENTIAL_HH
+# define MLN_LEVEL_ESSENTIAL_HH
-/*! \file mln/level/all.hh
+/*! \file mln/level/essential.hh
*
- * \brief File that includes all level-related routines.
+ * \brief File that includes essential level-related routines.
*
*/
-
-namespace mln
-{
-
- /// Namespace of image processing routines related to pixel levels.
- namespace level
- {
-
- /// Implementation namespace of level namespace.
- namespace impl {
-
- /// Generic implementation namespace of level namespace.
- namespace generic {}
-
- }
-
- }
-
-}
-
# include <mln/level/abs.hh>
# include <mln/level/apply.hh>
-# include <mln/level/approx/all.hh>
# include <mln/level/assign.hh>
# include <mln/level/compare.hh>
# include <mln/level/compute.hh>
+# include <mln/level/convert.hh>
# include <mln/level/fast_median.hh>
# include <mln/level/fill.hh>
# include <mln/level/median.hh>
-# include <mln/level/memcpy_.hh>
-# include <mln/level/memset_.hh>
-# include <mln/level/naive/all.hh>
# include <mln/level/paste.hh>
+# include <mln/level/replace.hh>
# include <mln/level/saturate.hh>
-# include <mln/level/sort_psites.hh>
-# include <mln/level/stretch.hh>
-# include <mln/level/to_enc.hh>
# include <mln/level/transform.hh>
-# include <mln/level/was.median.hh>
-
+# include <mln/level/update.hh>
+# include <mln/level/approx/essential.hh>
+# include <mln/level/naive/essential.hh>
-#endif // ! MLN_LEVEL_ALL_HH
+#endif // ! MLN_LEVEL_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/level/naive/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/level/naive/essential.hh
index 6071a75..2da2a70 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/level/naive/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,15 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_LEVEL_NAIVE_ESSENTIAL_HH
+# define MLN_LEVEL_NAIVE_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/level/naive/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential level-related routines with
+ * naive approach.
*/
+# include <mln/level/naive/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_LEVEL_NAIVE_ESSENTIAL_HH
diff --git a/milena/mln/level/transform.hh b/milena/mln/level/transform.hh
index 6efdfb5..1b21772 100644
--- a/milena/mln/level/transform.hh
+++ b/milena/mln/level/transform.hh
@@ -41,7 +41,6 @@
# include <mln/core/concept/function.hh>
# include <mln/value/set.hh>
-# include <mln/value/lut_vec.hh>
// Specializations are in:
diff --git a/milena/mln/linear/all.hh b/milena/mln/linear/all.hh
index 430d72e..38c0dd4 100644
--- a/milena/mln/linear/all.hh
+++ b/milena/mln/linear/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -66,7 +66,7 @@ namespace mln
# include <mln/linear/line_convolve.hh>
# include <mln/linear/line_x2_convolve.hh>
# include <mln/linear/log.hh>
-# include <mln/linear/sobel.hh>
-# include <mln/linear/local/convolve.hh>
+//# include <mln/linear/sobel.hh>
+//# include <mln/linear/local/convolve.hh>
#endif // ! MLN_LINEAR_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/linear/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/linear/essential.hh
index 6071a75..13bf286 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/linear/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_LINEAR_ESSENTIAL_HH
+# define MLN_LINEAR_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/linear/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential linear image processing routines.
*/
+# include <mln/linear/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_LINEAR_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/literal/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/literal/essential.hh
index 6071a75..5ab4669 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/literal/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_LITERAL_ESSENTIAL_HH
+# define MLN_LITERAL_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/literal/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential literals.
*/
+# include <mln/literal/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_LITERAL_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/logical/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/logical/essential.hh
index 6071a75..acf4a8c 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/logical/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_LOGICAL_ESSENTIAL_HH
+# define MLN_LOGICAL_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/logical/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential logical operators.
*/
+# include <mln/logical/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_LOGICAL_ESSENTIAL_HH
diff --git a/milena/mln/make/all.hh b/milena/mln/make/all.hh
index 1277038..fdd4dec 100644
--- a/milena/mln/make/all.hh
+++ b/milena/mln/make/all.hh
@@ -48,21 +48,23 @@ namespace mln
# include <mln/make/box2d_h.hh>
# include <mln/make/box3d.hh>
# include <mln/make/dpoint2d_h.hh>
+# include <mln/make/dual_neighb.hh>
# include <mln/make/image.hh>
+# include <mln/make/image2d.hh>
# include <mln/make/mat.hh>
-# include <mln/make/pixel.hh>
# include <mln/make/pix.hh>
+# include <mln/make/pixel.hh>
# include <mln/make/point2d_h.hh>
# include <mln/make/vec.hh>
# include <mln/make/voronoi.hh>
-# include <mln/make/win_chamfer.hh>
+# include <mln/make/w_window.hh>
# include <mln/make/w_window1d.hh>
# include <mln/make/w_window1d_int.hh>
# include <mln/make/w_window2d.hh>
# include <mln/make/w_window2d_int.hh>
# include <mln/make/w_window3d.hh>
# include <mln/make/w_window3d_int.hh>
-# include <mln/make/w_window.hh>
# include <mln/make/w_window_line.hh>
+# include <mln/make/win_chamfer.hh>
#endif // ! MLN_MAKE_ALL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/make/essential.hh
similarity index 72%
copy from milena/mln/extension/all.hh
copy to milena/mln/make/essential.hh
index 4458715..c69e50b 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/make/essential.hh
@@ -1,4 +1,5 @@
// Copyright (C) 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
@@ -25,28 +26,23 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_MAKE_ESSENTIAL_HH
+# define MLN_MAKE_ESSENTIAL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/make/essential.hh
*
- * \brief File that includes all extension materials.
- *
- * \todo Also include "extension images" + "extended"?
+ * \brief File that includes essential make routines.
*/
-
-namespace mln
-{
-
- /// Namespace of extension tools.
- namespace extension {}
-
-} // end of namespace mln
-
-
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-
-
-#endif // ! MLN_EXTENSION_ALL_HH
+# include <mln/make/dual_neighb.hh>
+# include <mln/make/image.hh>
+# include <mln/make/mat.hh>
+# include <mln/make/pix.hh>
+# include <mln/make/pixel.hh>
+# include <mln/make/vec.hh>
+//# include <mln/make/voronoi.hh>
+# include <mln/make/w_window.hh>
+# include <mln/make/w_window_line.hh>
+//# include <mln/make/win_chamfer.hh>
+
+#endif // ! MLN_MAKE_ESSENTIAL_HH
diff --git a/milena/mln/math/all.hh b/milena/mln/math/all.hh
index 1767253..58d5693 100644
--- a/milena/mln/math/all.hh
+++ b/milena/mln/math/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -43,10 +43,14 @@ namespace mln
}
-# include <mln/math/sign.hh>
# include <mln/math/abs.hh>
-# include <mln/math/min.hh>
+# include <mln/math/jacobi.hh>
# include <mln/math/max.hh>
+# include <mln/math/min.hh>
+# include <mln/math/round.hh>
+# include <mln/math/sign.hh>
+# include <mln/math/sqr.hh>
+# include <mln/math/sqrt.hh>
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/math/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/math/essential.hh
index 6071a75..fe1defe 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/math/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_MATH_ESSENTIAL_HH
+# define MLN_MATH_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/math/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential mathematical routines.
*/
+# include <mln/math/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_MATH_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/metal/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/metal/essential.hh
index 6071a75..14f848a 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/metal/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_METAL_ESSENTIAL_HH
+# define MLN_METAL_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/metal/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential meta-programming tools.
*/
+# include <mln/metal/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_METAL_ESSENTIAL_HH
diff --git a/milena/mln/morpho/all.hh b/milena/mln/morpho/all.hh
index bcaf9c0..44b0b51 100644
--- a/milena/mln/morpho/all.hh
+++ b/milena/mln/morpho/all.hh
@@ -67,6 +67,7 @@ namespace mln
# include <mln/morpho/hit_or_miss.hh>
# include <mln/morpho/includes.hh>
# include <mln/morpho/laplacian.hh>
+# include <mln/morpho/meyer_wst.hh>
# include <mln/morpho/min.hh>
# include <mln/morpho/minus.hh>
# include <mln/morpho/opening_area.hh>
@@ -74,6 +75,7 @@ namespace mln
# include <mln/morpho/opening.hh>
# include <mln/morpho/plus.hh>
# include <mln/morpho/Rd.hh>
+# include <mln/morpho/rank_filter.hh>
# include <mln/morpho/thickening.hh>
# include <mln/morpho/thick_miss.hh>
# include <mln/morpho/thin_fit.hh>
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/morpho/elementary/essential.hh
similarity index 77%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/morpho/elementary/essential.hh
index 6071a75..14063ec 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/morpho/elementary/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_MORPHO_ELEMENTARY_ESSENTIAL_HH
+# define MLN_MORPHO_ELEMENTARY_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
- *
- * \brief File that includes all traits.
- */
+/// \file mln/morpho/elementary/essential.hh
+///
+/// File that includes essential elementary mathematical morphology
+/// routines.
+# include <mln/morpho/elementary/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_MORPHO_ELEMENTARY_ESSENTIAL_HH
diff --git a/milena/mln/morpho/all.hh b/milena/mln/morpho/essential.hh
similarity index 64%
copy from milena/mln/morpho/all.hh
copy to milena/mln/morpho/essential.hh
index bcaf9c0..b5d18f8 100644
--- a/milena/mln/morpho/all.hh
+++ b/milena/mln/morpho/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,40 +25,15 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_MORPHO_ALL_HH
-# define MLN_MORPHO_ALL_HH
+#ifndef MLN_MORPHO_ESSENTIAL_HH
+# define MLN_MORPHO_ESSENTIAL_HH
-/*! \file mln/morpho/all.hh
+/*! \file mln/morpho/essential.hh
*
- * \brief File that includes all morpho-related routines.
+ * \brief File that includes essential morpho-related routines.
*/
-
-namespace mln
-{
-
- /// Namespace of morphological image processing routines.
- namespace morpho
- {
-
- /// Namespace of morphological image processing routines
- /// implementations.
- namespace impl
- {
-
- /// Namespace of morphological image processing routines
- /// generic implementations.
- namespace generic
- {}
-
- }
- }
-}
-
-
# include <mln/morpho/closing.hh>
-# include <mln/morpho/complementation.hh>
-# include <mln/morpho/contrast.hh>
# include <mln/morpho/dilation_fast.hh>
# include <mln/morpho/dilation.hh>
# include <mln/morpho/erosion_fast.hh>
@@ -67,21 +42,15 @@ namespace mln
# include <mln/morpho/hit_or_miss.hh>
# include <mln/morpho/includes.hh>
# include <mln/morpho/laplacian.hh>
-# include <mln/morpho/min.hh>
-# include <mln/morpho/minus.hh>
+# include <mln/morpho/meyer_wst.hh>
# include <mln/morpho/opening_area.hh>
# include <mln/morpho/opening_attribute.hh>
# include <mln/morpho/opening.hh>
-# include <mln/morpho/plus.hh>
-# include <mln/morpho/Rd.hh>
-# include <mln/morpho/thickening.hh>
-# include <mln/morpho/thick_miss.hh>
-# include <mln/morpho/thin_fit.hh>
-# include <mln/morpho/thinning.hh>
+# include <mln/morpho/rank_filter.hh>
# include <mln/morpho/top_hat.hh>
-# include <mln/morpho/elementary/all.hh>
+# include <mln/morpho/elementary/essential.hh>
-#endif // ! MLN_MORPHO_ALL_HH
+#endif // ! MLN_MORPHO_ESSENTIAL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/neighb/all.hh
similarity index 67%
copy from milena/mln/extension/all.hh
copy to milena/mln/neighb/all.hh
index 4458715..aeeb4a6 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/neighb/all.hh
@@ -25,28 +25,39 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_NEIGHB_ALL_HH
+# define MLN_NEIGHB_ALL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/neighb/all.hh
*
- * \brief File that includes all extension materials.
- *
- * \todo Also include "extension images" + "extended"?
+ * \brief File that includes all neighb-related routines.
*/
-
+/*
namespace mln
{
- /// Namespace of extension tools.
- namespace extension {}
+ /// Namespace of neighblogical image processing routines.
+ /// FIXME: namespace name conflicts with class neighb in mln/core/neighb.hh
+ namespace neighb_
+ {
-} // end of namespace mln
+ /// Namespace of neighblogical image processing routines
+ /// implementations.
+ namespace impl
+ {
+ /// Namespace of neighblogical image processing routines
+ /// generic implementations.
+ namespace generic
+ {}
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
+ }
+ }
+}
+*/
+//# include <mln/neighb/get.hh>
+//# include <mln/neighb/image.hh>
-#endif // ! MLN_EXTENSION_ALL_HH
+#endif // ! MLN_NEIGHB_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/neighb/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/neighb/essential.hh
index 6071a75..3ff9f52 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/neighb/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_NEIGHB_ESSENTIAL_HH
+# define MLN_NEIGHB_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/neighb/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential neighb-related routines.
*/
+# include <mln/neighb/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_NEIGHB_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/norm/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/norm/essential.hh
index 6071a75..34418d2 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/norm/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,15 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_NORM_ESSENTIAL_HH
+# define MLN_NORM_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/norm/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential norm routines.
*/
+# include <mln/norm/l1.hh>
+# include <mln/norm/l2.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_NORM_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/pw/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/pw/essential.hh
index 6071a75..5364c61 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/pw/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_PW_ESSENTIAL_HH
+# define MLN_PW_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/pw/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential "point-wise" expression tools.
*/
+# include <mln/pw/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_PW_ESSENTIAL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/registration/all.hh
similarity index 74%
copy from milena/mln/extension/all.hh
copy to milena/mln/registration/all.hh
index 4458715..dd29f26 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/registration/all.hh
@@ -25,28 +25,28 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_REGISTRATION_ALL_HH
+# define MLN_REGISTRATION_ALL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/registration/all.hh
*
- * \brief File that includes all extension materials.
- *
- * \todo Also include "extension images" + "extended"?
+ * \brief File that includes all "point-wise" expression tools.
*/
namespace mln
{
- /// Namespace of extension tools.
- namespace extension {}
+ /// Namespace of "point-wise" expression tools.
+ namespace registration {}
} // end of namespace mln
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-
+# include <mln/registration/get_rot.hh>
+# include <mln/registration/get_rtransf.hh>
+# include <mln/registration/icp.hh>
+# include <mln/registration/multiscale.hh>
+# include <mln/registration/registration.hh>
-#endif // ! MLN_EXTENSION_ALL_HH
+#endif // ! MLN_REGISTRATION_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/registration/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/registration/essential.hh
index 6071a75..d29c9d8 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/registration/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_REGISTRATION_ESSENTIAL_HH
+# define MLN_REGISTRATION_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/registration/all.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes all "point-wise" expression tools.
*/
+// NOTHING YET.
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_REGISTRATION_ESSENTIAL_HH
diff --git a/milena/mln/set/all.hh b/milena/mln/set/all.hh
index bda90b9..f7c2194 100644
--- a/milena/mln/set/all.hh
+++ b/milena/mln/set/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -44,6 +44,8 @@ namespace mln
# include <mln/set/diff.hh>
# include <mln/set/inter.hh>
+# include <mln/set/get.hh>
+# include <mln/set/has.hh>
# include <mln/set/is_subset_of.hh>
# include <mln/set/sym_diff.hh>
# include <mln/set/uni.hh>
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/set/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/set/essential.hh
index 6071a75..db20e2b 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/set/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_SET_ESSENTIAL_HH
+# define MLN_SET_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/set/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential set-related routines.
*/
+# include <mln/set/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_SET_ESSENTIAL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/subsampling/all.hh
similarity index 79%
copy from milena/mln/extension/all.hh
copy to milena/mln/subsampling/all.hh
index 4458715..88fa276 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/subsampling/all.hh
@@ -25,28 +25,25 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_SUBSAMPLING_ALL_HH
+# define MLN_SUBSAMPLING_ALL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/subsampling/all.hh
*
- * \brief File that includes all extension materials.
- *
- * \todo Also include "extension images" + "extended"?
+ * \brief File that includes all "point-wise" expression tools.
*/
namespace mln
{
- /// Namespace of extension tools.
- namespace extension {}
+ /// Namespace of "point-wise" expression tools.
+ namespace subsampling {}
} // end of namespace mln
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-
+# include <mln/subsampling/gaussian_subsampling.hh>
+# include <mln/subsampling/subsampling.hh>
-#endif // ! MLN_EXTENSION_ALL_HH
+#endif // ! MLN_SUBSAMPLING_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/subsampling/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/subsampling/essential.hh
index 6071a75..ec1a2c5 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/subsampling/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_SUBSAMPLING_ESSENTIAL_HH
+# define MLN_SUBSAMPLING_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/subsampling/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential "point-wise" expression tools.
*/
+// NOTHING YET
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_SUBSAMPLING_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/tag/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/tag/essential.hh
index 6071a75..12569ec 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/tag/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_TAG_ESSENTIAL_HH
+# define MLN_TAG_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/tag/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential tag-related routines.
*/
+# include <mln/tag/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_TAG_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/test/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/test/essential.hh
index 6071a75..dce0571 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/test/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_TEST_ESSENTIAL_HH
+# define MLN_TEST_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/test/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential test-related routines.
*/
+# include <mln/test/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_TEST_ESSENTIAL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/topo/all.hh
similarity index 58%
copy from milena/mln/extension/all.hh
copy to milena/mln/topo/all.hh
index 4458715..2d06897 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/topo/all.hh
@@ -25,28 +25,39 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_TOPO_ALL_HH
+# define MLN_TOPO_ALL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/topo/all.hh
*
- * \brief File that includes all extension materials.
- *
- * \todo Also include "extension images" + "extended"?
+ * \brief File that includes all "point-wise" expression tools.
*/
namespace mln
{
- /// Namespace of extension tools.
- namespace extension {}
+ /// Namespace of "point-wise" expression tools.
+ namespace topo {}
} // end of namespace mln
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-
-
-#endif // ! MLN_EXTENSION_ALL_HH
+# include <mln/core/topo/adj_higher_dim_connected_n_face_iter.hh>
+# include <mln/core/topo/adj_higher_face_iter.hh>
+# include <mln/core/topo/adj_lower_dim_connected_n_face_iter.hh>
+# include <mln/core/topo/adj_lower_face_iter.hh>
+# include <mln/core/topo/adj_lower_higher_face_iter.hh>
+# include <mln/core/topo/center_only_iter.hh>
+# include <mln/core/topo/centered_iter_adapter.hh>
+# include <mln/core/topo/complex.hh>
+# include <mln/core/topo/complex_iterators.hh>
+# include <mln/core/topo/face.hh>
+# include <mln/core/topo/face_data.hh>
+# include <mln/core/topo/face_iter.hh>
+# include <mln/core/topo/n_face.hh>
+# include <mln/core/topo/n_face_iter.hh>
+# include <mln/core/topo/n_faces_set.hh>
+# include <mln/core/topo/static_n_face_iter>
+
+#endif // ! MLN_TOPO_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/topo/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/topo/essential.hh
index 6071a75..adfebf4 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/topo/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_TOPO_ESSENTIAL_HH
+# define MLN_TOPO_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/topo/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential "point-wise" expression tools.
*/
+// NOTHING YET.
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_TOPO_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/trace/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/trace/essential.hh
index 6071a75..65010dc 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/trace/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_TRACE_ESSENTIAL_HH
+# define MLN_TRACE_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/trace/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential trace-related routines.
*/
+# include <mln/trace/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_TRACE_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/trait/essential.hh
similarity index 75%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/trait/essential.hh
index 6071a75..b8a821a 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/trait/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2006, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,24 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_TRAIT_ESSENTIAL_HH
+# define MLN_TRAIT_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*!
+ * \file mln/trait/essential.hh
+ *
+ * \brief Definition of essential traits.
*
- * \brief File that includes all traits.
*/
+// meta-program to solve a trait cessential
+# include <mln/trait/solve.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
+// promote
+# include <mln/trait/promote.hh>
-# include <mln/core/trait/pixter.hh>
+// ops
+# include <mln/trait/op/essential.hh>
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_TRAIT_ESSENTIAL_HH
diff --git a/milena/mln/trait/op/all.hh b/milena/mln/trait/op/all.hh
index 2a5f512..d9c5230 100644
--- a/milena/mln/trait/op/all.hh
+++ b/milena/mln/trait/op/all.hh
@@ -66,6 +66,7 @@ namespace mln
# include <mln/trait/op/less.hh>
# include <mln/trait/op/leq.hh>
+# include <mln/trait/op/lor.hh>
# include <mln/trait/op/geq.hh>
# include <mln/trait/op/greater.hh>
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/trait/op/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/trait/op/essential.hh
index 6071a75..8f7ffb6 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/trait/op/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+// GUARD NOT REQUIRED: essential included files already have guards.
-/*! \file mln/core/trait/all.hh
+/*!
+ * \file mln/trait/op/essential.hh
+ *
+ * \brief FIXME
*
- * \brief File that includes all traits.
*/
+# include <mln/trait/op/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/trait/value/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/trait/value/essential.hh
index 6071a75..a67d803 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/trait/value/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,16 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_TRAIT_VALUE_ESSENTIAL_HH
+# define MLN_TRAIT_VALUE_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/trait/value/all.hh
*
- * \brief File that includes all traits.
+ * \brief FIXME
*/
-namespace mln
-{
+# include <mln/trait/value/all.hh>
- /*! Namespace for image traits.
- */
- namespace trait {}
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_TRAIT_VALUE_ESSENTIAL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/transform/all.hh
similarity index 79%
copy from milena/mln/extension/all.hh
copy to milena/mln/transform/all.hh
index 4458715..5abe6da 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/transform/all.hh
@@ -25,28 +25,25 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_TRANSFORM_ALL_HH
+# define MLN_TRANSFORM_ALL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/transform/all.hh
*
- * \brief File that includes all extension materials.
- *
- * \todo Also include "extension images" + "extended"?
+ * \brief File that includes all "point-wise" expression tools.
*/
namespace mln
{
- /// Namespace of extension tools.
- namespace extension {}
+ /// Namespace of "point-wise" expression tools.
+ namespace transform {}
} // end of namespace mln
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
+# include <mln/transform/distance.hh>
-#endif // ! MLN_EXTENSION_ALL_HH
+#endif // ! MLN_TRANSFORM_ALL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/transform/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/transform/essential.hh
index 6071a75..c6cc5f1 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/transform/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_TRANSFORM_ESSENTIAL_HH
+# define MLN_TRANSFORM_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/transform/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential "point-wise" expression tools.
*/
+// NOTHING YET
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_TRANSFORM_ESSENTIAL_HH
diff --git a/milena/mln/util/all.hh b/milena/mln/util/all.hh
index ace9c34..7e6b5ef 100644
--- a/milena/mln/util/all.hh
+++ b/milena/mln/util/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -47,19 +47,32 @@ namespace mln
}
+# include <mln/util/array.hh>
# include <mln/util/branch_iter.hh>
# include <mln/util/branch_iter_ind.hh>
+# include <mln/util/dindex.hh>
# include <mln/util/eat.hh>
# include <mln/util/graph.hh>
+# include <mln/util/greater_point.hh>
+# include <mln/util/greater_psite.hh>
# include <mln/util/ignore.hh>
+# include <mln/util/index.hh>
+# include <mln/util/lazy_set.hh>
+# include <mln/util/lemmings.hh>
+# include <mln/util/multi_site.hh>
# include <mln/util/nil.hh>
+# include <mln/util/ord.hh>
# include <mln/util/ord_pair.hh>
# include <mln/util/pix.hh>
+# include <mln/util/set.hh>
+# include <mln/util/site_pair.hh>
+# include <mln/util/timer.hh>
# include <mln/util/tracked_ptr.hh>
+# include <mln/util/tree.hh>
# include <mln/util/tree_fast.hh>
# include <mln/util/tree_fast_to_image.hh>
-# include <mln/util/tree.hh>
# include <mln/util/tree_to_fast.hh>
# include <mln/util/tree_to_image.hh>
+# include <mln/util/yes.hh>
#endif // ! MLN_UTIL_ALL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/util/essential.hh
similarity index 75%
copy from milena/mln/extension/all.hh
copy to milena/mln/util/essential.hh
index 4458715..b041f2a 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/util/essential.hh
@@ -25,28 +25,21 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_UTIL_ESSENTIAL_HH
+# define MLN_UTIL_ESSENTIAL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/util/essential.hh
*
- * \brief File that includes all extension materials.
- *
- * \todo Also include "extension images" + "extended"?
+ * \brief File that includes essential util-related routines.
*/
+# include <mln/util/array.hh>
+# include <mln/util/lazy_set.hh>
+# include <mln/util/lemmings.hh>
+# include <mln/util/ord.hh>
+# include <mln/util/ord_pair.hh>
+# include <mln/util/set.hh>
+# include <mln/util/site_pair.hh>
+# include <mln/util/tree.hh>
-namespace mln
-{
-
- /// Namespace of extension tools.
- namespace extension {}
-
-} // end of namespace mln
-
-
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-
-
-#endif // ! MLN_EXTENSION_ALL_HH
+#endif // ! MLN_UTIL_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/value/builtin/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/value/builtin/essential.hh
index 6071a75..c232a07 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/value/builtin/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,15 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_VALUE_BUILTIN_ESSENTIAL_HH
+# define MLN_VALUE_BUILTIN_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/value/builtin/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes essential materials related to built-in types.
*/
+# include <mln/value/builtin/all.hh>
-namespace mln
-{
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_VALUE_BUILTIN_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/value/concept/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/value/concept/essential.hh
index 6071a75..d5bf76b 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/value/concept/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,15 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_VALUE_CONCEPT_ESSENTIAL_HH
+# define MLN_VALUE_CONCEPT_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/value/concept/essential.hh
*
- * \brief File that includes all traits.
+ * \brief File that includes every sub-concept of the Value concept.
*/
+# include <mln/value/concept/all.hh>
-namespace mln
-{
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_VALUE_CONCEPT_ESSENTIAL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/value/essential.hh
similarity index 66%
copy from milena/mln/extension/all.hh
copy to milena/mln/value/essential.hh
index 4458715..7ba742a 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/value/essential.hh
@@ -25,28 +25,32 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_VALUE_ESSENTIAL_HH
+# define MLN_VALUE_ESSENTIAL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/value/essential.hh
*
- * \brief File that includes all extension materials.
- *
- * \todo Also include "extension images" + "extended"?
+ * \brief File that includes essential "value types"-related materials.
*/
+# include <mln/value/concept/essential.hh>
+# include <mln/value/builtin/essential.hh>
-namespace mln
-{
-
- /// Namespace of extension tools.
- namespace extension {}
+# include <mln/value/float01_8.hh>
+# include <mln/value/float01_16.hh>
-} // end of namespace mln
+# include <mln/value/gl8.hh>
+# include <mln/value/gl16.hh>
+# include <mln/value/int_s8.hh>
+# include <mln/value/int_s16.hh>
+# include <mln/value/int_s32.hh>
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
+# include <mln/value/int_u8.hh>
+# include <mln/value/int_u16.hh>
+# include <mln/value/int_u32.hh>
+# include <mln/value/rgb8.hh>
+# include <mln/value/rgb16.hh>
-#endif // ! MLN_EXTENSION_ALL_HH
+#endif // ! MLN_VALUE_ESSENTIAL_HH
diff --git a/milena/mln/core/trait/all.hh b/milena/mln/value/internal/essential.hh
similarity index 78%
copy from milena/mln/core/trait/all.hh
copy to milena/mln/value/internal/essential.hh
index 6071a75..5d3523e 100644
--- a/milena/mln/core/trait/all.hh
+++ b/milena/mln/value/internal/essential.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,26 +25,14 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_CORE_TRAIT_ALL_HH
-# define MLN_CORE_TRAIT_ALL_HH
+#ifndef MLN_VALUE_INTERNAL_ESSENTIAL_HH
+# define MLN_VALUE_INTERNAL_ESSENTIAL_HH
-/*! \file mln/core/trait/all.hh
+/*! \file mln/value/internal/essential.hh
*
- * \brief File that includes all traits.
+ * \brief FIXME
*/
+# include <mln/value/internal/all.hh>
-namespace mln
-{
-
- /*! Namespace for image traits.
- */
- namespace trait {}
-
-}
-
-
-# include <mln/core/trait/pixter.hh>
-
-
-#endif // ! MLN_CORE_TRAIT_ALL_HH
+#endif // ! MLN_VALUE_INTERNAL_ESSENTIAL_HH
diff --git a/milena/mln/extension/all.hh b/milena/mln/win/essential.hh
similarity index 76%
copy from milena/mln/extension/all.hh
copy to milena/mln/win/essential.hh
index 4458715..e6fe809 100644
--- a/milena/mln/extension/all.hh
+++ b/milena/mln/win/essential.hh
@@ -25,28 +25,26 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_EXTENSION_ALL_HH
-# define MLN_EXTENSION_ALL_HH
+#ifndef MLN_WIN_ESSENTIAL_HH
+# define MLN_WIN_ESSENTIAL_HH
-/*! \file mln/pw/all.hh
+/*! \file mln/win/essential.hh
*
- * \brief File that includes all extension materials.
- *
- * \todo Also include "extension images" + "extended"?
+ * \brief File that includes essential win-related routines.
*/
+// Types.
-namespace mln
-{
-
- /// Namespace of extension tools.
- namespace extension {}
+# include <mln/win/line.hh>
+# include <mln/win/multiple.hh>
+# include <mln/win/multiple_size.hh>
-} // end of namespace mln
+// Routines.
+# include <mln/win/diff.hh>
+# include <mln/win/shift.hh>
+# include <mln/win/sym.hh>
-# include <mln/extension/fill.hh>
-# include <mln/extension/adjust_fill.hh>
-#endif // ! MLN_EXTENSION_ALL_HH
+#endif // ! MLN_WIN_ESSENTIAL_HH
diff --git a/milena/sandbox/scribo/demat.hh b/milena/sandbox/scribo/demat.hh
index f03b8bd..0867e49 100644
--- a/milena/sandbox/scribo/demat.hh
+++ b/milena/sandbox/scribo/demat.hh
@@ -31,67 +31,8 @@
# include <libgen.h>
# include <sstream>
-# include <mln/core/image/image2d.hh>
# include <mln/core/image/image1d.hh>
-
-# include <mln/core/concept/function.hh>
-# include <mln/core/image/image_if.hh>
-# include <mln/core/image/sub_image.hh>
-# include <mln/core/image/cast_image.hh>
-# include <mln/core/alias/neighb2d.hh>
-# include <mln/core/var.hh>
-# include <mln/core/routine/clone.hh>
-# include <mln/core/routine/ops.hh>
-# include <mln/core/site_set/p_vaccess.hh>
-# include <mln/core/site_set/p_set.hh>
-
-# include <mln/accu/bbox.hh>
-# include <mln/accu/count.hh>
-
-# include <mln/border/fill.hh>
-
-# include <mln/convert/to.hh>
-# include <mln/convert/to_fun.hh>
-
-# include <mln/debug/println.hh>
-# include <mln/debug/colorize.hh>
-
-# include <mln/draw/box.hh>
-
-# include <mln/fun/i2v/array.hh>
-
-# include <mln/io/pbm/load.hh>
-# include <mln/io/pbm/save.hh>
-# include <mln/io/ppm/save.hh>
-# include <mln/io/pgm/save.hh>
-# include <mln/io/txt/save.hh>
-
-# include <mln/labeling/blobs.hh>
-# include <mln/labeling/compute.hh>
-
-# include <mln/level/convert.hh>
-# include <mln/level/compute.hh>
-# include <mln/level/fill.hh>
-# include <mln/level/paste.hh>
-# include <mln/level/apply.hh>
-# include <mln/level/transform.hh>
-
-# include <mln/literal/all.hh>
-
-# include <mln/logical/not.hh>
-
-# include <mln/morpho/hit_or_miss.hh>
-# include <mln/morpho/erosion.hh>
-
-# include <mln/pw/all.hh>
-
-# include <mln/util/array.hh>
-
-# include <mln/value/int_u16.hh>
-# include <mln/value/rgb8.hh>
-
-# include <mln/win/hline2d.hh>
-# include <mln/win/vline2d.hh>
+# include <mln/essential/2d.hh>
#include <tesseract/baseapi.h>
@@ -264,17 +205,17 @@ namespace scribo
for (unsigned i = 1; i < in.ncols(); ++i)
{
if (hend.at(i) > 0)
- draw_col(tmp, i, literal::dark_orange);
+ draw_col(tmp, i, literal::orange);
if (vcol.at(i) > 0)
- draw_col(tmp, i, literal::dark_orange);
+ draw_col(tmp, i, literal::orange);
}
for (unsigned i = 1; i < in.nrows(); ++i)
{
if (hrow.at(i) > 0)
- draw_row(tmp, i, literal::dark_red);
+ draw_row(tmp, i, literal::magenta);
if (vend.at(i) > 0)
- draw_row(tmp, i, literal::dark_red);
+ draw_row(tmp, i, literal::magenta);
}
for (unsigned i = 1; i < tboxes.first.nelements(); ++i)
--
1.5.6.5
1
0
* mln/io/all.hh: update.
* mln/io/fits/load.hh,
* mln/io/pbm/load.hh,
* mln/io/pbm/save.hh,
* mln/io/pfm/load.hh,
* mln/io/pfm/save.hh,
* mln/io/pgm/load.hh,
* mln/io/pgm/save.hh,
* mln/io/pnm/save.hh,
* mln/io/ppm/load.hh,
* mln/io/ppm/save.hh: Update copyright.
* mln/io/txt/save.hh: save an image<char> to a txt file.
* mln/io/off/all.hh,
* mln/io/txt/all.hh: new missing 'all' headers.
---
milena/ChangeLog | 22 +++++++++++++
milena/mln/io/all.hh | 2 +
milena/mln/io/fits/load.hh | 2 +-
milena/mln/io/{ => off}/all.hh | 25 ++++++---------
milena/mln/io/pbm/load.hh | 2 +-
milena/mln/io/pbm/save.hh | 2 +-
milena/mln/io/pfm/load.hh | 2 +-
milena/mln/io/pfm/save.hh | 2 +-
milena/mln/io/pgm/load.hh | 2 +-
milena/mln/io/pgm/save.hh | 2 +-
milena/mln/io/pnm/save.hh | 2 +-
milena/mln/io/ppm/load.hh | 2 +-
milena/mln/io/ppm/save.hh | 2 +-
milena/mln/io/{ => txt}/all.hh | 24 +++++---------
milena/mln/io/{ppm => txt}/save.hh | 59 +++++++++++++++++++++++-------------
15 files changed, 91 insertions(+), 61 deletions(-)
copy milena/mln/io/{ => off}/all.hh (72%)
copy milena/mln/io/{ => txt}/all.hh (72%)
copy milena/mln/io/{ppm => txt}/save.hh (61%)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index c1f5639..82589d5 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,27 @@
2008-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Add io::txt::save.
+
+ * mln/io/all.hh: update.
+
+ * mln/io/fits/load.hh,
+ * mln/io/pbm/load.hh,
+ * mln/io/pbm/save.hh,
+ * mln/io/pfm/load.hh,
+ * mln/io/pfm/save.hh,
+ * mln/io/pgm/load.hh,
+ * mln/io/pgm/save.hh,
+ * mln/io/pnm/save.hh,
+ * mln/io/ppm/load.hh,
+ * mln/io/ppm/save.hh: Update copyright.
+
+ * mln/io/txt/save.hh: save an image<char> to a txt file.
+
+ * mln/io/off/all.hh,
+ * mln/io/txt/all.hh: new missing 'all' headers.
+
+2008-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Add debug::colorize.
* mln/debug/colorize.hh: create a color image from a labeled image.
diff --git a/milena/mln/io/all.hh b/milena/mln/io/all.hh
index 7a93964..51ddbb2 100644
--- a/milena/mln/io/all.hh
+++ b/milena/mln/io/all.hh
@@ -47,10 +47,12 @@ namespace mln
}
# include <mln/io/fits/all.hh>
+# include <mln/io/off/all.hh>
# include <mln/io/pbm/all.hh>
# include <mln/io/pfm/all.hh>
# include <mln/io/pgm/all.hh>
# include <mln/io/pnm/all.hh>
# include <mln/io/ppm/all.hh>
+# include <mln/io/txt/all.hh>
#endif // ! MLN_IO_ALL_HH
diff --git a/milena/mln/io/fits/load.hh b/milena/mln/io/fits/load.hh
index 4cbf0b8..c09536c 100644
--- a/milena/mln/io/fits/load.hh
+++ b/milena/mln/io/fits/load.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 EPITA
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 EPITA
// Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
diff --git a/milena/mln/io/all.hh b/milena/mln/io/off/all.hh
similarity index 72%
copy from milena/mln/io/all.hh
copy to milena/mln/io/off/all.hh
index 7a93964..bfcc080 100644
--- a/milena/mln/io/all.hh
+++ b/milena/mln/io/off/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,32 +25,27 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_IO_ALL_HH
-# define MLN_IO_ALL_HH
+#ifndef MLN_IO_OFF_ALL_HH
+# define MLN_IO_OFF_ALL_HH
-/*! \file mln/io/all.hh
+/*! \file mln/io/off/all.hh
*
- * \brief File that includes all io materials.
+ * \brief File that includes all off io materials.
*/
namespace mln
{
- /// Namespace of input/output handling.
namespace io
{
- /// Internal namespace of io namespace.
- namespace internal {}
+ /// Namespace of off input/output handling.
+ namespace off {}
}
}
-# include <mln/io/fits/all.hh>
-# include <mln/io/pbm/all.hh>
-# include <mln/io/pfm/all.hh>
-# include <mln/io/pgm/all.hh>
-# include <mln/io/pnm/all.hh>
-# include <mln/io/ppm/all.hh>
+# include <mln/io/off/load.hh>
+# include <mln/io/off/save.hh>
-#endif // ! MLN_IO_ALL_HH
+#endif // ! MLN_IO_OFF_ALL_HH
diff --git a/milena/mln/io/pbm/load.hh b/milena/mln/io/pbm/load.hh
index 40c6086..b2ba586 100644
--- a/milena/mln/io/pbm/load.hh
+++ b/milena/mln/io/pbm/load.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 EPITA
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 EPITA
// Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
diff --git a/milena/mln/io/pbm/save.hh b/milena/mln/io/pbm/save.hh
index 93d4485..5f5811a 100644
--- a/milena/mln/io/pbm/save.hh
+++ b/milena/mln/io/pbm/save.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 EPITA
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 EPITA
// Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
diff --git a/milena/mln/io/pfm/load.hh b/milena/mln/io/pfm/load.hh
index 35f5e54..96bc20d 100644
--- a/milena/mln/io/pfm/load.hh
+++ b/milena/mln/io/pfm/load.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 EPITA
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 EPITA
// Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
diff --git a/milena/mln/io/pfm/save.hh b/milena/mln/io/pfm/save.hh
index 486639e..53f18e6 100644
--- a/milena/mln/io/pfm/save.hh
+++ b/milena/mln/io/pfm/save.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 EPITA
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 EPITA
// Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
diff --git a/milena/mln/io/pgm/load.hh b/milena/mln/io/pgm/load.hh
index e7df29e..a82f5b5 100644
--- a/milena/mln/io/pgm/load.hh
+++ b/milena/mln/io/pgm/load.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 EPITA
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 EPITA
// Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
diff --git a/milena/mln/io/pgm/save.hh b/milena/mln/io/pgm/save.hh
index b02576d..f15c0eb 100644
--- a/milena/mln/io/pgm/save.hh
+++ b/milena/mln/io/pgm/save.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 EPITA
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 EPITA
// Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
diff --git a/milena/mln/io/pnm/save.hh b/milena/mln/io/pnm/save.hh
index b09465c..5c52fc4 100644
--- a/milena/mln/io/pnm/save.hh
+++ b/milena/mln/io/pnm/save.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 EPITA
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 EPITA
// Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
diff --git a/milena/mln/io/ppm/load.hh b/milena/mln/io/ppm/load.hh
index f97700b..bf9d27b 100644
--- a/milena/mln/io/ppm/load.hh
+++ b/milena/mln/io/ppm/load.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 EPITA
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 EPITA
// Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
diff --git a/milena/mln/io/ppm/save.hh b/milena/mln/io/ppm/save.hh
index c10f3ca..3893203 100644
--- a/milena/mln/io/ppm/save.hh
+++ b/milena/mln/io/ppm/save.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 EPITA
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 EPITA
// Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
diff --git a/milena/mln/io/all.hh b/milena/mln/io/txt/all.hh
similarity index 72%
copy from milena/mln/io/all.hh
copy to milena/mln/io/txt/all.hh
index 7a93964..ce00758 100644
--- a/milena/mln/io/all.hh
+++ b/milena/mln/io/txt/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,32 +25,26 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_IO_ALL_HH
-# define MLN_IO_ALL_HH
+#ifndef MLN_IO_TXT_ALL_HH
+# define MLN_IO_TXT_ALL_HH
-/*! \file mln/io/all.hh
+/*! \file mln/io/txt/all.hh
*
- * \brief File that includes all io materials.
+ * \brief File that includes all txt io materials.
*/
namespace mln
{
- /// Namespace of input/output handling.
namespace io
{
- /// Internal namespace of io namespace.
- namespace internal {}
+ /// Namespace of txt input/output handling.
+ namespace txt {}
}
}
-# include <mln/io/fits/all.hh>
-# include <mln/io/pbm/all.hh>
-# include <mln/io/pfm/all.hh>
-# include <mln/io/pgm/all.hh>
-# include <mln/io/pnm/all.hh>
-# include <mln/io/ppm/all.hh>
+# include <mln/io/txt/save.hh>
-#endif // ! MLN_IO_ALL_HH
+#endif // ! MLN_IO_TXT_ALL_HH
diff --git a/milena/mln/io/ppm/save.hh b/milena/mln/io/txt/save.hh
similarity index 61%
copy from milena/mln/io/ppm/save.hh
copy to milena/mln/io/txt/save.hh
index c10f3ca..ad5713b 100644
--- a/milena/mln/io/ppm/save.hh
+++ b/milena/mln/io/txt/save.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 EPITA
+// Copyright (C) 2008 EPITA
// Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
@@ -26,22 +26,24 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_IO_PPM_SAVE_HH
-# define MLN_IO_PPM_SAVE_HH
+#ifndef MLN_IO_TXT_SAVE_HH
+# define MLN_IO_TXT_SAVE_HH
/*!
- * \file mln/io/ppm/save.hh
+ * \file mln/io/txt/save.hh
*
- * \brief Define a function which saves an image of kind ppm into
+ * \brief Define a function which saves an image of kind TXT into
* given path.
*
*/
+# include <iostream>
+# include <fstream>
+
# include <mln/core/concept/image.hh>
-# include <mln/metal/templated_by.hh>
+# include <mln/metal/is.hh>
-# include <mln/io/pnm/save.hh>
namespace mln
{
@@ -49,37 +51,52 @@ namespace mln
namespace io
{
- namespace ppm
+ namespace txt
{
- /*! Save a Milena image as a ppm image.
+ /*! Save a Milena image as a txt image.
*
- * \param[in] ima The image to save.
- * \param[in,out] filename the destination.
+ * \param[in] ima_ The image to save. Must be an image of char.
+ * \param[in] filename the destination.
*/
- template <typename I>
- void save(const Image<I>& ima, const std::string& filename);
+ void
+ save(const image2d<char>& ima, const std::string& filename);
# ifndef MLN_INCLUDE_ONLY
- template <typename I>
inline
- void save(const Image<I>& ima, const std::string& filename)
+ void
+ save(const image2d<char>& ima, const std::string& filename)
{
- mln::metal::templated_by<mln_value(I), value::rgb >::check();
-
- //call the generic function for pnm files
- io::pnm::save(PPM, exact(ima), filename);
+ trace::entering("mln::io::txt::save");
+
+ mln_precondition(ima.has_data());
+ std::ofstream ostr(filename.c_str());
+ unsigned col = 0;
+ typedef image2d<char> I;
+ mln_piter_(I) p(ima.domain());
+ for_all(p)
+ {
+ ostr << ima(p);
+ if (++col == ima.ncols())
+ {
+ ostr << std::endl;
+ col = 0;
+ }
+ }
+ ostr.close();
+
+ trace::exiting("mln::io::txt::save");
}
# endif // ! MLN_INCLUDE_ONLY
- } // end of namespace mln::ppm
+ } // end of namespace mln::io::txt
} // end of namespace mln::io
} // end of namespace mln
-#endif // ! MLN_IO_PPM_SAVE_HH
+#endif // ! MLN_IO_TXT_SAVE_HH
--
1.5.6.5
1
0
* mln/debug/colorize.hh: create a color image from a labeled image.
Use (cached) random colors.
---
milena/ChangeLog | 7 ++
milena/mln/debug/colorize.hh | 125 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 132 insertions(+), 0 deletions(-)
create mode 100644 milena/mln/debug/colorize.hh
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 6dc42f8..c1f5639 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,12 @@
2008-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Add debug::colorize.
+
+ * mln/debug/colorize.hh: create a color image from a labeled image.
+ Use (cached) random colors.
+
+2008-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Rewrite not_inplace.
* mln/logical/not.hh,
diff --git a/milena/mln/debug/colorize.hh b/milena/mln/debug/colorize.hh
new file mode 100644
index 0000000..179518e
--- /dev/null
+++ b/milena/mln/debug/colorize.hh
@@ -0,0 +1,125 @@
+// Copyright (C) 2008 EPITA Research and Development Laboratory
+//
+// 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_DEBUG_COLORIZE_HH
+# define MLN_DEBUG_COLORIZE_HH
+
+/*! \file mln/debug/colorize.hh
+ *
+ * \brief Fill an image with successive values.
+ */
+
+# include <mln/core/concept/image.hh>
+# include <mln/fun/i2v/array.hh>
+# include <mln/value/rgb8.hh>
+# include <mln/literal/black.hh>
+# include <mln/level/transform.hh>
+
+
+namespace mln
+{
+
+ namespace debug
+ {
+
+ namespace colorize_
+ {
+ static unsigned min_value = 20;
+ static unsigned max_value = 220;
+ }
+
+
+ /// Create a new color image from a labeled image and fill each component
+ /// with a random color.
+ /*!
+ * litera::black is used for component 0, e.g. the background.
+ * Min and max values for RGB values can be set through the global
+ * variables mln::debug::colorize_::min_value and
+ * mln::debug::colorize_::max_value.
+ *
+ * \param[in] labeled_image A labeled image (\sa labeling::blobs).
+ * \param[in] nlabels Number of labels.
+ */
+ template <typename I, typename J>
+ mln_concrete(I) colorize(const Image<J>& labeled_image, mln_value(J) nlabels);
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+
+ namespace internal
+ {
+
+ template <typename V>
+ V random_color();
+
+ mln::value::rgb8
+ random_color()
+ {
+ return mln::value::rgb8(colorize_::min_value + (rand() % colorize_::max_value),
+ colorize_::min_value + (rand() % colorize_::max_value),
+ colorize_::min_value + (rand() % colorize_::max_value));
+ }
+
+ }
+
+ template <typename I, typename J>
+ inline
+ mln_concrete(I)
+ colorize(const Image<J>& input, mln_value(J) nlabels)
+ {
+ trace::entering("debug::colorize");
+ mln_precondition(exact(input).has_data());
+
+ static fun::i2v::array<mln_value(I)> f(0);
+ int diff_size = f.size() - (nlabels + 1);
+ if (diff_size < 0)
+ {
+ f.resize(nlabels + 1);
+ unsigned i = f.size() + diff_size;
+ // We want to treat comp 0 differently since it is the background.
+ if (i == 0)
+ i = 1;
+ f(0) = literal::black;
+ for (; i < f.size(); ++i)
+ f(i) = internal::random_color();
+ }
+ mln_precondition(f.size() == (nlabels + 1));
+ mln_concrete(I) output = level::transform(input, f);
+
+ trace::exiting("debug::colorize");
+ return output;
+ }
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::debug
+
+} // end of namespace mln
+
+
+#endif // ! MLN_DEBUG_COLORIZE_HH
--
1.5.6.5
1
0
* mln/logical/not.hh,
* mln/logical/not.spe.hh: Write a dedicated version of not_inplace.
---
milena/ChangeLog | 8 ++++++++
milena/mln/logical/not.hh | 23 ++++++++++++++++++-----
milena/mln/logical/not.spe.hh | 35 +++++++++++++++++++++++++++++------
3 files changed, 55 insertions(+), 11 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 80c3f74..6dc42f8 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,4 +1,12 @@
2008-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Rewrite not_inplace.
+
+ * mln/logical/not.hh,
+ * mln/logical/not.spe.hh: Write a dedicated version of not_inplace.
+
+
+2008-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
Add trace::warning.
diff --git a/milena/mln/logical/not.hh b/milena/mln/logical/not.hh
index 69e5a29..fbbca34 100644
--- a/milena/mln/logical/not.hh
+++ b/milena/mln/logical/not.hh
@@ -82,15 +82,28 @@ namespace mln
{
template <typename I, typename O>
inline
- void not__(const I& input, O& output)
+ void not_(const I& input, O& output)
{
- trace::entering("logical::impl::generic::not__");
+ trace::entering("logical::impl::generic::not_");
mln_piter(I) p(input.domain());
for_all(p)
output(p) = ! input(p);
- trace::exiting("logical::impl::generic::not__");
+ trace::exiting("logical::impl::generic::not_");
+ }
+
+ template <typename I>
+ inline
+ void not_inplace(I& inout)
+ {
+ trace::entering("logical::impl::generic::not_");
+
+ mln_piter(I) p(inout.domain());
+ for_all(p)
+ inout(p) = ! inout(p);
+
+ trace::exiting("logical::impl::generic::not_");
}
}
@@ -109,7 +122,7 @@ namespace mln
mln_concrete(I) output;
initialize(output, input);
- impl::not__(mln_trait_image_speed(I)(), exact(input), output);
+ impl::not_(mln_trait_image_speed(I)(), exact(input), output);
trace::exiting("logical::not");
return output;
@@ -122,7 +135,7 @@ namespace mln
trace::entering("logical::not_inplace");
mln_precondition(exact(input).has_data());
- impl::not__(mln_trait_image_speed(I)(), exact(input), exact(input));
+ impl::not_inplace(mln_trait_image_speed(I)(), exact(input));
trace::exiting("logical::not_inplace");
}
diff --git a/milena/mln/logical/not.spe.hh b/milena/mln/logical/not.spe.hh
index 8e5f7c6..927f4f5 100644
--- a/milena/mln/logical/not.spe.hh
+++ b/milena/mln/logical/not.spe.hh
@@ -55,28 +55,51 @@ namespace mln
namespace generic
{
template <typename I, typename O>
- void not__(const I& input, O& output);
+ void not_(const I& input, O& output);
+
+ template <typename I>
+ void not_inplace(I& inout);
}
template <typename I, typename O>
inline
- void not__(trait::image::speed::any, const I& input, O& output)
+ void not_(trait::image::speed::any, const I& input, O& output)
+ {
+ generic::not_(input, output);
+ }
+
+ template <typename I>
+ inline
+ void not_inplace(trait::image::speed::any, I& inout)
{
- generic::not__(input, output);
+ generic::not_inplace(inout);
}
template <typename I, typename O>
inline
- void not__(trait::image::speed::fastest, const I& input, O& output)
+ void not_(trait::image::speed::fastest, const I& input, O& output)
{
- trace::entering("logical::impl::not__");
+ trace::entering("logical::impl::not_");
mln_pixter(const I) ip(input);
mln_pixter(O) op(output);
for_all_2(ip, op)
op.val() = ! ip.val();
- trace::exiting("logical::impl::not__");
+ trace::exiting("logical::impl::not_");
+ }
+
+ template <typename I>
+ inline
+ void not_inplace(trait::image::speed::fastest, I& inout)
+ {
+ trace::entering("logical::impl::not_inplace");
+
+ mln_pixter(I) p(inout);
+ for_all(p)
+ p.val() = ! p.val();
+
+ trace::exiting("logical::impl::not_inplace");
}
} // end of namespace mln::logical::impl
--
1.5.6.5
1
0
* scribo/demat.hh: Use tesseract and store the result in an image of
char.
---
milena/sandbox/ChangeLog | 8 ++
milena/sandbox/scribo/demat.hh | 140 ++++++++++++++++++++++++++--------------
2 files changed, 99 insertions(+), 49 deletions(-)
diff --git a/milena/sandbox/ChangeLog b/milena/sandbox/ChangeLog
index 6f31c88..e1bd1f1 100644
--- a/milena/sandbox/ChangeLog
+++ b/milena/sandbox/ChangeLog
@@ -1,3 +1,11 @@
+2008-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Add tesseract support for Scribo.
+
+ * scribo/demat.hh: Use tesseract and store the result in an image of
+ char.
+
+
2008-11-03 Ugo Jardonnet <jardonnet(a)lrde.epita.fr>
INIM: Move classif work in the inim directory.
diff --git a/milena/sandbox/scribo/demat.hh b/milena/sandbox/scribo/demat.hh
index ff332d3..f03b8bd 100644
--- a/milena/sandbox/scribo/demat.hh
+++ b/milena/sandbox/scribo/demat.hh
@@ -29,6 +29,7 @@
# define DEMAT_HH_
# include <libgen.h>
+# include <sstream>
# include <mln/core/image/image2d.hh>
# include <mln/core/image/image1d.hh>
@@ -53,6 +54,7 @@
# include <mln/convert/to_fun.hh>
# include <mln/debug/println.hh>
+# include <mln/debug/colorize.hh>
# include <mln/draw/box.hh>
@@ -62,6 +64,7 @@
# include <mln/io/pbm/save.hh>
# include <mln/io/ppm/save.hh>
# include <mln/io/pgm/save.hh>
+# include <mln/io/txt/save.hh>
# include <mln/labeling/blobs.hh>
# include <mln/labeling/compute.hh>
@@ -90,6 +93,8 @@
# include <mln/win/hline2d.hh>
# include <mln/win/vline2d.hh>
+#include <tesseract/baseapi.h>
+
namespace scribo
{
@@ -103,39 +108,82 @@ namespace scribo
char *input_file = 0;
int dbg_file_id = 0;
- std::string output_file(const char *name)
+ std::string output_file(const char *name, unsigned file_id)
{
- std::string str = "";
-// str += dbg_file_id;
-// str += "-";
-// str += input_file;
-// str += "-";
- str += name;
- return str;
+ std::ostringstream os;
+ os << "./"
+ << file_id
+ << "_"
+ << input_file
+ << "_"
+ << name;
+ return os.str();
}
void draw_component_boxes(image2d<rgb8>& output, const util::array<box2d>& boxes)
{
for (unsigned i = 1; i < boxes.nelements(); ++i)
if (boxes[i].is_valid())
+ {
+ output(boxes[i].center()) = literal::red;
draw::box(output, boxes[i], literal::red);
+ }
}
template <typename V>
void save_lbl_image(const image2d<V>& lbl, unsigned nlabels,
- const char *filename)
+ const char *filename, unsigned file_id)
{
- image2d<rgb8> output(lbl.domain());
+ image2d<rgb8> output = debug::colorize<image2d<rgb8>, image2d<V> >(lbl, nlabels);
+ io::ppm::save(output, output_file(filename, file_id));
+ }
- fun::i2v::array<rgb8> f(nlabels + 1);
- f(0) = literal::black;
- for (unsigned i = 1; i <= nlabels; ++i)
- f(i) = rgb8(255 / ((i % 10) + 1), (100 + i) % 255, (255 + i)%255);
- output = level::transform(lbl, f);
- io::ppm::save(output, output_file(filename));
+
+ /// Functions related to Text Recognition.
+ /// \{
+
+ void
+ text_recognition(const image2d<bool>& in, const image2d<int_u16>& lbl,
+ const util::array<box2d>& tboxes)
+ {
+ /// Use txt bboxes here with Tesseract
+ std::cout << "Text recognition..." << std::endl;
+
+ TessBaseAPI::InitWithLanguage(NULL, NULL, "fra", NULL, false, 0, NULL);
+ image2d<char> txt(in.domain());
+ level::fill(txt, ' ');
+
+ for (unsigned i = 1; i < tboxes.nelements(); ++i)
+ {
+ if (tboxes[i].is_valid())
+ {
+ // FIXME: do not create a new image.
+ image2d<bool> b(tboxes[i], 0);
+ level::fill(b, false);
+ level::fill(b, in | (tboxes[i] | (pw::value(lbl) == pw::cst(i))));
+
+ char* s = TessBaseAPI::TesseractRect(
+ (unsigned char*) b.buffer(),
+ sizeof (bool), // Pixel size.
+ b.ncols() * sizeof (bool), // Row_offset
+ 0, // Left
+ 0, // Top
+ b.ncols(), // n cols
+ b.nrows()); // n rows
+
+ point2d p = tboxes[i].center();
+ p.col() -= (tboxes[i].pmax().col() - tboxes[i].pmin().col()) / 2;
+ if (s != 0)
+ debug::put_word(txt, p, s);
+ free(s);
+ }
+ }
+ io::txt::save(txt, "out.txt");
}
+ /// \}
+
/// Functions related to the matrix extraction
/// \{
@@ -216,17 +264,17 @@ namespace scribo
for (unsigned i = 1; i < in.ncols(); ++i)
{
if (hend.at(i) > 0)
- draw_row(tmp, i, literal::dark_orange);
+ draw_col(tmp, i, literal::dark_orange);
if (vcol.at(i) > 0)
- draw_row(tmp, i, literal::dark_orange);
+ draw_col(tmp, i, literal::dark_orange);
}
for (unsigned i = 1; i < in.nrows(); ++i)
{
if (hrow.at(i) > 0)
- draw_col(tmp, i, literal::dark_red);
+ draw_row(tmp, i, literal::dark_red);
if (vend.at(i) > 0)
- draw_col(tmp, i, literal::dark_red);
+ draw_row(tmp, i, literal::dark_red);
}
for (unsigned i = 1; i < tboxes.first.nelements(); ++i)
@@ -235,7 +283,7 @@ namespace scribo
for (unsigned i = 1; i < tboxes.second.nelements(); ++i)
draw_hline(tmp, tboxes.second[i], literal::red);
- io::ppm::save(tmp, output_file("matrix.ppm"));
+ io::ppm::save(tmp, output_file("matrix.ppm", 4));
#endif
}
@@ -254,7 +302,7 @@ namespace scribo
{
std::cout << "component boxes" << std::endl;
int_u16 nlabels = 0;
- image2d<int_u16> lbl = labeling::blobs(filter, c4(), nlabels);
+ image2d<int_u16> lbl = labeling::blobs(filter, c8(), nlabels);
return labeling::compute(accu::meta::bbox(), lbl, nlabels);
}
@@ -289,12 +337,10 @@ namespace scribo
// Lignes verticales
std::cout << "Removing vertical lines" << std::endl;
win::vline2d vline(l);
- io::pbm::save(in, "ero_in_before");
- trace::quiet = false;
image2d<bool> vfilter = morpho::erosion(in, vline);
#ifndef NOUT
- io::pbm::save(vfilter, output_file("table-vfilter.pbm"));
+ io::pbm::save(vfilter, output_file("table-vfilter.pbm", 1));
#endif
boxes_t vboxes = component_boxes(vfilter);
@@ -307,7 +353,7 @@ namespace scribo
image2d<bool> hfilter = morpho::erosion(in, hline);
#ifndef NOUT
- io::pbm::save(hfilter, output_file("table-hfilter.pbm"));
+ io::pbm::save(hfilter, output_file("table-hfilter.pbm", 2));
#endif
boxes_t hboxes = component_boxes(hfilter);
@@ -318,7 +364,7 @@ namespace scribo
image2d<rgb8> tmp = clone(output);
draw_component_boxes(tmp, vboxes);
draw_component_boxes(tmp, hboxes);
- io::ppm::save(tmp, output_file("table-filtered.ppm"));
+ io::ppm::save(tmp, output_file("table-filtered.ppm", 3));
#endif
return std::make_pair(vboxes, hboxes);
@@ -364,11 +410,11 @@ namespace scribo
util::array<mln_result(accu_count_t)> nsitecomp
= labeling::compute(accu_count_t(), lbl, nlabels);
- std::cout << "nlabels with small comps = " << nlabels
- << " == " << nsitecomp.nelements() << std::endl;
V ncomp = 0;
+
fun::i2v::array<V> f(nsitecomp.nelements());
f(0) = 0;
+
for (unsigned i = 1; i <= nlabels; ++i)
{
if (nsitecomp[i] < min_comp_size)
@@ -377,15 +423,11 @@ namespace scribo
f(i) = ++ncomp;
}
- std::cout << "f.size() =" << f.size()
- << " - nsitecomp.nelements() =" << nsitecomp.nelements()
- << std::endl;
lbl = level::transform(lbl, f);
nlabels = ncomp;
#ifndef NOUT
- std::cout << "nlabels = " << nlabels << std::endl;
- save_lbl_image(lbl, nlabels, "lbl-small-comps-removed.pgm");
+ save_lbl_image(lbl, nlabels, "lbl-small-comps-removed.pgm", 6);
#endif
}
@@ -405,7 +447,7 @@ namespace scribo
lbl = level::transform(lbl, left_link);
#ifndef NOUT
- save_lbl_image(lbl, ncomp, "lbl-grouped-boxes.pgm");
+ save_lbl_image(lbl, ncomp, "lbl-grouped-boxes.pgm", 7);
#endif
util::array<box2d> result;
@@ -421,10 +463,10 @@ namespace scribo
/// the current bbox.
void update_link(fun::i2v::array<int_u16>& left_link, image2d<int_u16>& lbl,
const point2d& p, const point2d& c,
- unsigned i, unsigned dmax)
+ unsigned i, int dmax)
{
- if (lbl.domain().has(p) && lbl(p) != 0 && lbl(p) != i
- && (p.col() - c.col()) < dmax)
+ if (lbl.domain().has(p) && lbl(p) != 0u && lbl(p) != i
+ && (math::abs(p.col() - c.col())) < dmax)
{
if (left_link(lbl(p)) == lbl(p) && most_left(left_link, i) != lbl(p))
left_link(lbl(p)) = i;
@@ -452,14 +494,14 @@ namespace scribo
for (unsigned i = 1; i <= ncomp; ++i)
{
unsigned midcol = (cboxes[i].pmax().col() - cboxes[i].pmin().col()) / 2;
- unsigned dmax = midcol + bbox_distance;
+ int dmax = midcol + bbox_distance;
point2d c = cboxes[i].center();
/// First site on the right of the central site
point2d p(c.row(), c.col() + 1);
// FIXME: Lemmings with a condition on the distance => write a special version?
- while (lbl.domain().has(p) && (lbl(p) == 0 || lbl(p) == i)
- && (p.col() - c.col()) < dmax)
+ while (lbl.domain().has(p) && (lbl(p) == 0u || lbl(p) == i)
+ && math::abs(p.col() - c.col()) < dmax)
++p.col();
update_link(left_link, lbl, p, c, i, dmax);
@@ -470,6 +512,7 @@ namespace scribo
util::array<box2d>
extract_text(image2d<bool>& in,
+ image2d<int_u16>& lbl,
image2d<rgb8>& output,
unsigned bbox_distance,
unsigned min_comp_size)
@@ -482,7 +525,7 @@ namespace scribo
// Find character bboxes.
V nlabels;
- image2d<V> lbl = labeling::blobs(in, c4(), nlabels);
+ lbl = labeling::blobs(in, c8(), nlabels);
//Remove small components.
remove_small_comps_i2v(lbl, nlabels, min_comp_size);
@@ -492,7 +535,7 @@ namespace scribo
#ifndef NOUT
image2d<rgb8> tmp = clone(output);
draw_component_boxes(tmp, cboxes);
- io::ppm::save(tmp, output_file("character-bboxes.ppm"));
+ io::ppm::save(tmp, output_file("character-bboxes.ppm", 5));
#endif
//merge_bboxes(cboxes, lbl, nlabels);
@@ -531,7 +574,7 @@ namespace scribo
//Load image
image2d<bool> in;
io::pbm::load(in, argv[1]);
- in = logical::not_(in);
+ logical::not_inplace(in);
image2d<rgb8> output = level::convert(rgb8(), in);
@@ -543,15 +586,14 @@ namespace scribo
internal::extract_matrix(in, tblboxes);
}
+ image2d<value::int_u16> lbl;
util::array<box2d> tboxes =
- internal::extract_text(in, output, bbox_distance, min_comp_size);
+ internal::extract_text(in, lbl, output, bbox_distance, min_comp_size);
internal::draw_component_boxes(output, tboxes);
- io::ppm::save(output, internal::output_file("out"));
+ io::ppm::save(output, internal::output_file("out.ppm", 8));
- /// Use txt bboxes here with Tesseract
- /// for (i = 1; i < tboxes.nelements(); ++i)
- /// tesseract(in | tboxes[i])
+ internal::text_recognition(in, lbl, tboxes);
}
} // end of namespace scribo
--
1.5.6.5
1
0
* mln/trace/warning.hh: new file.
* mln/trace/all.hh: include warning.hh.
* mln/trace/resume.hh,
* mln/trace/stop.hh: cleanup includes.
* mln/debug/put_word.hh: use trace::warning.
---
milena/ChangeLog | 14 ++++++++++++++
milena/mln/debug/put_word.hh | 5 +++--
milena/mln/trace/all.hh | 1 +
milena/mln/trace/resume.hh | 3 ---
milena/mln/trace/stop.hh | 1 -
milena/mln/trace/{stop.hh => warning.hh} | 24 ++++++++++++------------
6 files changed, 30 insertions(+), 18 deletions(-)
copy milena/mln/trace/{stop.hh => warning.hh} (78%)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 151dd22..80c3f74 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,17 @@
+2008-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Add trace::warning.
+
+ * mln/trace/warning.hh: new file.
+
+ * mln/trace/all.hh: include warning.hh.
+
+ * mln/trace/resume.hh,
+ * mln/trace/stop.hh: cleanup includes.
+
+ * mln/debug/put_word.hh: use trace::warning.
+
+
2008-10-30 Guillaume Lazzara <z(a)lrde.epita.fr>
Improve trace output.
diff --git a/milena/mln/debug/put_word.hh b/milena/mln/debug/put_word.hh
index 4380e8d..d494c89 100644
--- a/milena/mln/debug/put_word.hh
+++ b/milena/mln/debug/put_word.hh
@@ -63,11 +63,12 @@ namespace mln
point2d word_end = word_start;
word_end.last_coord() += word.length() - 1;
- mln_precondition(inout.has(word_end));
+ if (!inout.has(word_end))
+ trace::warning("Cannot write text outside the image domain");
const unsigned n = word.length();
point2d p = word_start;
- for (unsigned i = 0; i < n; ++i)
+ for (unsigned i = 0; i < n && inout.has(p); ++i)
{
inout(p) = word[i];
p += right;
diff --git a/milena/mln/trace/all.hh b/milena/mln/trace/all.hh
index 62b9a60..7380f31 100644
--- a/milena/mln/trace/all.hh
+++ b/milena/mln/trace/all.hh
@@ -48,6 +48,7 @@ namespace mln
# include <mln/trace/exiting.hh>
# include <mln/trace/stop.hh>
# include <mln/trace/resume.hh>
+# include <mln/trace/warning.hh>
#endif // ! MLN_TRACE_ALL_HH
diff --git a/milena/mln/trace/resume.hh b/milena/mln/trace/resume.hh
index 3520bd6..7c789ff 100644
--- a/milena/mln/trace/resume.hh
+++ b/milena/mln/trace/resume.hh
@@ -33,9 +33,6 @@
/// Resume traces.
/// \sa mln::trace::stop
-# include <string>
-# include <iostream>
-
# include <mln/trace/quiet.hh>
diff --git a/milena/mln/trace/stop.hh b/milena/mln/trace/stop.hh
index e810c97..4a53dc6 100644
--- a/milena/mln/trace/stop.hh
+++ b/milena/mln/trace/stop.hh
@@ -32,7 +32,6 @@
/// Stop printing traces except if trace::full_trace is enabled.
/// \sa mln::trace::resume
-# include <string>
# include <iostream>
# include <mln/trace/quiet.hh>
diff --git a/milena/mln/trace/stop.hh b/milena/mln/trace/warning.hh
similarity index 78%
copy from milena/mln/trace/stop.hh
copy to milena/mln/trace/warning.hh
index e810c97..c130da6 100644
--- a/milena/mln/trace/stop.hh
+++ b/milena/mln/trace/warning.hh
@@ -16,7 +16,7 @@
// Boston, MA 02111-1307, USA.
//
// As a special exception, you may use this file as part of a free
-// software library without restriction. Specificstopy, if other files
+// software library without restriction. Specificwarningy, 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
@@ -25,12 +25,11 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_TRACE_STOP_HH
-# define MLN_TRACE_STOP_HH
+#ifndef MLN_TRACE_WARNING_HH
+# define MLN_TRACE_WARNING_HH
-/// \file mln/trace/stop.hh
-/// Stop printing traces except if trace::full_trace is enabled.
-/// \sa mln::trace::resume
+/// \file mln/trace/warning.hh
+/// Display warning message in trace output.
# include <string>
# include <iostream>
@@ -44,16 +43,17 @@ namespace mln
namespace trace
{
- void stop();
+ void warning(const std::string& message);
# ifndef MLN_INCLUDE_ONLY
inline
- void stop()
+ void warning(const std::string& message)
{
- internal::is_quiet = quiet;
- if (!full_trace)
- quiet = true;
+ if (!quiet)
+ std::cout << "Warning: "
+ << message
+ << std::endl;
}
# endif // ! MLN_INCLUDE_ONLY
@@ -63,4 +63,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_TRACE_STOP_HH
+#endif // ! MLN_TRACE_WARNING_HH
--
1.5.6.5
1
0
* mln/trace/entering.hh,
* mln/trace/exiting.hh,
* mln/trace/quiet.hh:
Avoid useless ends of line and add a timer.
---
milena/ChangeLog | 9 +++++++++
milena/mln/trace/entering.hh | 10 ++++++++--
milena/mln/trace/exiting.hh | 25 +++++++++++++++++++++----
milena/mln/trace/quiet.hh | 5 +++++
4 files changed, 43 insertions(+), 6 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 8dfe0f2..151dd22 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,14 @@
2008-10-30 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Improve trace output.
+
+ * mln/trace/entering.hh,
+ * mln/trace/exiting.hh,
+ * mln/trace/quiet.hh:
+ Avoid useless ends of line and add a timer.
+
+2008-10-30 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Add trace::stop and trace::resume.
* mln/trace/all.hh: add new includes.
diff --git a/milena/mln/trace/entering.hh b/milena/mln/trace/entering.hh
index 3737a1c..20fc58d 100644
--- a/milena/mln/trace/entering.hh
+++ b/milena/mln/trace/entering.hh
@@ -54,10 +54,16 @@ namespace mln
{
if (quiet)
return;
+
+ if ((tab != 0) && (internal::max_tab == tab))
+ std::cout << std::endl;
+
for (unsigned i = 0; i < tab; ++i)
std::cout << " ";
- std::cout << scope << " {" << std::endl;
- ++tab;
+ std::cout << scope << " {";
+
+ internal::max_tab = ++tab;
+ gettimeofday(&internal::start_time, 0);
}
# endif // ! MLN_INCLUDE_ONLY
diff --git a/milena/mln/trace/exiting.hh b/milena/mln/trace/exiting.hh
index 4ea9afb..9b7e9f5 100644
--- a/milena/mln/trace/exiting.hh
+++ b/milena/mln/trace/exiting.hh
@@ -50,14 +50,31 @@ namespace mln
# ifndef MLN_INCLUDE_ONLY
inline
- void exiting(const std::string& str)
+ void exiting(const std::string& scope)
{
if (quiet)
return;
+
+ timeval after_time;
+ gettimeofday(&after_time, 0);
+ bool has_inner_trace = (internal::max_tab == tab);
--tab;
- for (unsigned i = 0; i < tab; ++i)
- std::cout << " ";
- std::cout << "} " << str << std::endl;
+
+ if (!has_inner_trace)
+ for (unsigned i = 0; i < tab; ++i)
+ std::cout << " ";
+
+ std::cout << "} ";
+
+ if (!has_inner_trace)
+ std::cout << scope << " ";
+
+ std::cout << "- "
+ << (after_time.tv_usec - internal::start_time.tv_usec) / 1000.
+ << "ms ";
+
+ if (has_inner_trace || (internal::max_tab - tab > 1))
+ std::cout << std::endl;
}
# endif // ! MLN_INCLUDE_ONLY
diff --git a/milena/mln/trace/quiet.hh b/milena/mln/trace/quiet.hh
index 0a98bd4..e7467f0 100644
--- a/milena/mln/trace/quiet.hh
+++ b/milena/mln/trace/quiet.hh
@@ -33,6 +33,8 @@
* \brief Definition of the trace quiet Boolean value.
*/
+# include <ctime>
+# include <sys/time.h>
namespace mln
{
@@ -44,9 +46,12 @@ namespace mln
static unsigned tab = 0;
static bool full_trace = false;
+
namespace internal
{
+ static unsigned max_tab = 0;
+ static timeval start_time;
static bool is_quiet = quiet;
} // end of namespace mln::trace::internal
--
1.5.6.5
1
0
* mln/trace/all.hh: add new includes.
* mln/trace/entering.hh: update copyright.
* mln/trace/quiet.hh: Add new variables.
* mln/trace/resume.hh,
* mln/trace/stop.hh: new routines.
* mln/core/routine/initialize.hh: Use trace::stop and trace::resume.
---
milena/ChangeLog | 14 ++++++++++++
milena/mln/core/routine/initialize.hh | 4 ++-
milena/mln/trace/all.hh | 4 ++-
milena/mln/trace/entering.hh | 2 +-
milena/mln/trace/quiet.hh | 10 ++++++++-
milena/mln/trace/{entering.hh => resume.hh} | 29 ++++++++++---------------
milena/mln/trace/{entering.hh => stop.hh} | 30 +++++++++++---------------
7 files changed, 55 insertions(+), 38 deletions(-)
copy milena/mln/trace/{entering.hh => resume.hh} (72%)
copy milena/mln/trace/{entering.hh => stop.hh} (72%)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index ffec9ad..8dfe0f2 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,19 @@
2008-10-30 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Add trace::stop and trace::resume.
+
+ * mln/trace/all.hh: add new includes.
+ * mln/trace/entering.hh: update copyright.
+ * mln/trace/quiet.hh: Add new variables.
+
+ * mln/trace/resume.hh,
+ * mln/trace/stop.hh: new routines.
+
+ * mln/core/routine/initialize.hh: Use trace::stop and trace::resume.
+
+
+2008-10-30 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Add more colors and fix global constants initialization in mln/values
* mln/literal/colors.hh,
diff --git a/milena/mln/core/routine/initialize.hh b/milena/mln/core/routine/initialize.hh
index ffd9c85..37d6d58 100644
--- a/milena/mln/core/routine/initialize.hh
+++ b/milena/mln/core/routine/initialize.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -61,7 +61,9 @@ namespace mln
mln_precondition(! exact(target).has_data());
mln_precondition(exact(model).has_data());
+ trace::stop();
init_(tag::image, exact(target), exact(model));
+ trace::resume();
mln_postcondition(exact(target).has_data());
trace::exiting("core::initialize");
diff --git a/milena/mln/trace/all.hh b/milena/mln/trace/all.hh
index 01b99c2..62b9a60 100644
--- a/milena/mln/trace/all.hh
+++ b/milena/mln/trace/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -46,6 +46,8 @@ namespace mln
# include <mln/trace/quiet.hh>
# include <mln/trace/entering.hh>
# include <mln/trace/exiting.hh>
+# include <mln/trace/stop.hh>
+# include <mln/trace/resume.hh>
#endif // ! MLN_TRACE_ALL_HH
diff --git a/milena/mln/trace/entering.hh b/milena/mln/trace/entering.hh
index e9d66ce..3737a1c 100644
--- a/milena/mln/trace/entering.hh
+++ b/milena/mln/trace/entering.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/milena/mln/trace/quiet.hh b/milena/mln/trace/quiet.hh
index ef1a00b..0a98bd4 100644
--- a/milena/mln/trace/quiet.hh
+++ b/milena/mln/trace/quiet.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -42,6 +42,14 @@ namespace mln
static bool quiet = true;
static unsigned tab = 0;
+ static bool full_trace = false;
+
+ namespace internal
+ {
+
+ static bool is_quiet = quiet;
+
+ } // end of namespace mln::trace::internal
} // end of namespace mln::trace
diff --git a/milena/mln/trace/entering.hh b/milena/mln/trace/resume.hh
similarity index 72%
copy from milena/mln/trace/entering.hh
copy to milena/mln/trace/resume.hh
index e9d66ce..3520bd6 100644
--- a/milena/mln/trace/entering.hh
+++ b/milena/mln/trace/resume.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -16,7 +16,7 @@
// Boston, MA 02111-1307, USA.
//
// As a special exception, you may use this file as part of a free
-// software library without restriction. Specificenteringy, if other files
+// software library without restriction. Specificresumey, 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
@@ -25,13 +25,13 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_TRACE_ENTERING_HH
-# define MLN_TRACE_ENTERING_HH
+#ifndef MLN_TRACE_RESUME_HH
+# define MLN_TRACE_RESUME_HH
-/*! \file mln/trace/entering.hh
- *
- * \brief Definition of the trace entering procedure.
- */
+/// \file mln/trace/resume.hh
+///
+/// Resume traces.
+/// \sa mln::trace::stop
# include <string>
# include <iostream>
@@ -45,19 +45,14 @@ namespace mln
namespace trace
{
- void entering(const std::string& scope);
+ void resume();
# ifndef MLN_INCLUDE_ONLY
inline
- void entering(const std::string& scope)
+ void resume()
{
- if (quiet)
- return;
- for (unsigned i = 0; i < tab; ++i)
- std::cout << " ";
- std::cout << scope << " {" << std::endl;
- ++tab;
+ quiet = internal::is_quiet;
}
# endif // ! MLN_INCLUDE_ONLY
@@ -67,4 +62,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_TRACE_ENTERING_HH
+#endif // ! MLN_TRACE_RESUME_HH
diff --git a/milena/mln/trace/entering.hh b/milena/mln/trace/stop.hh
similarity index 72%
copy from milena/mln/trace/entering.hh
copy to milena/mln/trace/stop.hh
index e9d66ce..e810c97 100644
--- a/milena/mln/trace/entering.hh
+++ b/milena/mln/trace/stop.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -16,7 +16,7 @@
// Boston, MA 02111-1307, USA.
//
// As a special exception, you may use this file as part of a free
-// software library without restriction. Specificenteringy, if other files
+// software library without restriction. Specificstopy, 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
@@ -25,13 +25,12 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-#ifndef MLN_TRACE_ENTERING_HH
-# define MLN_TRACE_ENTERING_HH
+#ifndef MLN_TRACE_STOP_HH
+# define MLN_TRACE_STOP_HH
-/*! \file mln/trace/entering.hh
- *
- * \brief Definition of the trace entering procedure.
- */
+/// \file mln/trace/stop.hh
+/// Stop printing traces except if trace::full_trace is enabled.
+/// \sa mln::trace::resume
# include <string>
# include <iostream>
@@ -45,19 +44,16 @@ namespace mln
namespace trace
{
- void entering(const std::string& scope);
+ void stop();
# ifndef MLN_INCLUDE_ONLY
inline
- void entering(const std::string& scope)
+ void stop()
{
- if (quiet)
- return;
- for (unsigned i = 0; i < tab; ++i)
- std::cout << " ";
- std::cout << scope << " {" << std::endl;
- ++tab;
+ internal::is_quiet = quiet;
+ if (!full_trace)
+ quiet = true;
}
# endif // ! MLN_INCLUDE_ONLY
@@ -67,4 +63,4 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_TRACE_ENTERING_HH
+#endif // ! MLN_TRACE_STOP_HH
--
1.5.6.5
1
0
2786: Add more colors and fix global constants initialization in mln/values.
by Guillaume Lazzara 04 Nov '08
by Guillaume Lazzara 04 Nov '08
04 Nov '08
* mln/literal/colors.hh,
* mln/literal/grays.hh: Add various new colors.
* mln/literal/black.hh,
* mln/literal/colors.hh,
* mln/literal/grays.hh,
* mln/literal/one.hh,
* mln/literal/origin.hh,
* mln/literal/white.hh,
* mln/literal/zero.hh: Fix the initialization of all the global
constants in literal::* according to ticket #43.
* mln/value/rgb.hh: Add new constructors.
---
milena/ChangeLog | 19 +++++
milena/mln/literal/black.hh | 11 ++-
milena/mln/literal/colors.hh | 140 +++++++++++++++++++++++++++++-----
milena/mln/literal/grays.hh | 27 ++++++-
milena/mln/literal/one.hh | 6 +-
milena/mln/literal/origin.hh | 9 ++-
milena/mln/literal/white.hh | 8 ++-
milena/mln/literal/zero.hh | 7 +-
milena/mln/value/rgb.hh | 173 +++++++++++++++++++++++++++++++++++++-----
9 files changed, 344 insertions(+), 56 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 91eba76..ffec9ad 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,22 @@
+2008-10-30 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Add more colors and fix global constants initialization in mln/values
+
+ * mln/literal/colors.hh,
+ * mln/literal/grays.hh: Add various new colors.
+
+ * mln/literal/black.hh,
+ * mln/literal/colors.hh,
+ * mln/literal/grays.hh,
+ * mln/literal/one.hh,
+ * mln/literal/origin.hh,
+ * mln/literal/white.hh,
+ * mln/literal/zero.hh: Fix the initialization of all the global
+ constants in literal::* according to ticket #43.
+
+ * mln/value/rgb.hh: Add new constructors.
+
+
2008-11-04 Nicolas Ballas <ballas(a)lrde.epita.fr>
Use memcpy_ in level::paste.
diff --git a/milena/mln/literal/black.hh b/milena/mln/literal/black.hh
index 7307420..59e1973 100644
--- a/milena/mln/literal/black.hh
+++ b/milena/mln/literal/black.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -48,8 +48,13 @@ namespace mln
/// Literal black.
- // FIXME: Make this a proper global (issue #43).
- static const black_t black = black_t();
+ extern const black_t& black;
+
+# ifndef MLN_INCLUDE_ONLY
+
+ const black_t& black = black_t();
+
+# endif
} // end of namespace mln::literal
diff --git a/milena/mln/literal/colors.hh b/milena/mln/literal/colors.hh
index 069ae59..8e1c135 100644
--- a/milena/mln/literal/colors.hh
+++ b/milena/mln/literal/colors.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -41,51 +41,149 @@ namespace mln
namespace literal
{
+ /// Type of literal red.
+ struct red_t : public Literal<red_t>
+ {
+ };
+
+ /// Type of literal green.
+ struct green_t : public Literal<green_t>
+ {
+ };
+
/// Type of literal blue.
struct blue_t : public Literal<blue_t>
{
};
- /// Type of literal red.
- struct red_t : public Literal<red_t>
+ /// Type of literal brown.
+ struct brown_t : public Literal<brown_t>
{
};
- /// Type of literal dark red.
- struct dark_red_t : public Literal<dark_red_t>
+ /// Type of literal lime.
+ struct lime_t : public Literal<lime_t>
{
};
- /// Type of literal dark orange.
- struct dark_orange_t : public Literal<dark_orange_t>
+ /// Type of literal orange.
+ struct orange_t : public Literal<orange_t>
{
};
- /// Type of literal green.
- struct green_t : public Literal<green_t>
+ /// Type of literal pink.
+ struct pink_t : public Literal<pink_t>
+ {
+ };
+
+ /// Type of literal purple.
+ struct purple_t : public Literal<purple_t>
+ {
+ };
+
+ /// Type of literal teal.
+ struct teal_t : public Literal<teal_t>
{
};
+ /// Type of literal violet.
+ struct violet_t : public Literal<violet_t>
+ {
+ };
- /// Literal red.
- // FIXME: Make this a proper global (issue #43).
- static const red_t red = red_t();
+ /// Type of literal cyan.
+ struct cyan_t : public Literal<cyan_t>
+ {
+ };
+
+ /// Type of literal magenta.
+ struct magenta_t : public Literal<magenta_t>
+ {
+ };
+
+ /// Type of literal yellow.
+ struct yellow_t : public Literal<yellow_t>
+ {
+ };
- /// Literal dark red.
- // FIXME: Make this a proper global (issue #43).
- static const dark_red_t dark_red = dark_red_t();
+ /// Type of literal olive.
+ struct olive_t : public Literal<olive_t>
+ {
+ };
/// Literal red.
- // FIXME: Make this a proper global (issue #43).
- static const dark_orange_t dark_orange = dark_orange_t();
+ extern const red_t& red;
/// Literal green.
- // FIXME: Make this a proper global (issue #43).
- static const green_t green = green_t();
+ extern const green_t& green;
/// Literal blue.
- // FIXME: Make this a proper global (issue #43).
- static const blue_t blue = blue_t();
+ extern const blue_t& blue;
+
+ /// Literal brown.
+ extern const brown_t& brown;
+
+ /// Literal lime.
+ extern const lime_t& lime;
+
+ /// Literal orange.
+ extern const orange_t& orange;
+
+ /// Literal pink.
+ extern const pink_t& pink;
+
+ /// Literal purple.
+ extern const purple_t& purple;
+
+ /// Literal teal.
+ extern const teal_t& teal;
+
+ /// Literal violet.
+ extern const violet_t& violet;
+
+ /// Literal cyan.
+ extern const cyan_t& cyan;
+
+ /// Literal magenta.
+ extern const magenta_t& magenta;
+
+ /// Literal yellow.
+ extern const yellow_t& yellow;
+
+ /// Literal olive.
+ extern const olive_t& olive;
+
+# ifndef MLN_INCLUDE_ONLY
+
+ const red_t& red = red_t();
+
+ const green_t& green = green_t();
+
+ const blue_t& blue = blue_t();
+
+ const brown_t& brown = brown_t();
+
+ const lime_t& lime = lime_t();
+
+ const orange_t& orange = orange_t();
+
+ const pink_t& pink = pink_t();
+
+ const purple_t& purple = purple_t();
+
+ const teal_t& teal = teal_t();
+
+ const violet_t& violet = violet_t();
+
+ const cyan_t& cyan = cyan_t();
+
+ const magenta_t& magenta = magenta_t();
+
+ const yellow_t& yellow = yellow_t();
+
+ const olive_t& olive = olive_t();
+
+# endif
} // end of namespace mln::literal
diff --git a/milena/mln/literal/grays.hh b/milena/mln/literal/grays.hh
index b9a6ad6..ba10145 100644
--- a/milena/mln/literal/grays.hh
+++ b/milena/mln/literal/grays.hh
@@ -42,13 +42,36 @@ namespace mln
{
/// Type of literal grays.
+ struct light_gray_t : public Literal<light_gray_t>
+ {
+ };
+
struct medium_gray_t : public Literal<medium_gray_t>
{
};
+ struct dark_gray_t : public Literal<dark_gray_t>
+ {
+ };
+
+ /// Literal light gray.
+ extern const light_gray_t& light_gray;
+
/// Literal medium_gray.
- // FIXME: Make this a proper global (issue #43).
- static const medium_gray_t medium_gray = medium_gray_t();
+ extern const medium_gray_t& medium_gray;
+
+ /// Literal dark gray.
+ extern const dark_gray_t& dark_gray;
+
+# ifndef MLN_INCLUDE_ONLY
+
+ const light_gray_t& light_gray = light_gray_t();
+
+ const medium_gray_t& medium_gray = medium_gray_t();
+
+ const dark_gray_t& dark_gray = dark_gray_t();
+
+# endif // !MLN_INCLUDE_ONLY
} // end of namespace mln::literal
diff --git a/milena/mln/literal/one.hh b/milena/mln/literal/one.hh
index 699819f..8176ce2 100644
--- a/milena/mln/literal/one.hh
+++ b/milena/mln/literal/one.hh
@@ -54,8 +54,7 @@ namespace mln
/// Literal one.
- // FIXME: Make this a proper global (issue #43).
- static const one_t one = one_t();
+ extern const one_t& one;
# ifndef MLN_INCLUDE_ONLY
@@ -68,6 +67,9 @@ namespace mln
return 1;
}
+
+ const one_t& one = one_t();
+
# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln::literal
diff --git a/milena/mln/literal/origin.hh b/milena/mln/literal/origin.hh
index 5f64726..f4dd1be 100644
--- a/milena/mln/literal/origin.hh
+++ b/milena/mln/literal/origin.hh
@@ -48,8 +48,13 @@ namespace mln
};
/// Literal origin.
- // FIXME: Make this a proper global (issue #43).
- static const origin_t origin = origin_t();
+ extern const origin_t& origin;
+
+# ifndef MLN_INCLUDE_ONLY
+
+ const origin_t& origin = origin_t();
+
+# endif
} // end of namespace mln::literal
diff --git a/milena/mln/literal/white.hh b/milena/mln/literal/white.hh
index c8c5bf8..f0e5a52 100644
--- a/milena/mln/literal/white.hh
+++ b/milena/mln/literal/white.hh
@@ -48,9 +48,13 @@ namespace mln
/// Literal white.
- // FIXME: Make this a proper global (issue #43).
- static const white_t white = white_t();
+ extern const white_t& white;
+# ifndef MLN_INCLUDE_ONLY
+
+ const white_t& white = white_t();
+
+# endif
} // end of namespace mln::literal
diff --git a/milena/mln/literal/zero.hh b/milena/mln/literal/zero.hh
index f35f8a3..8762ec1 100644
--- a/milena/mln/literal/zero.hh
+++ b/milena/mln/literal/zero.hh
@@ -54,11 +54,8 @@ namespace mln
operator T () const;
};
-
/// Literal zero.
- // FIXME: Make this a proper global (issue #43).
- static const zero_t zero = zero_t();
-
+ extern const zero_t& zero;
# ifndef MLN_INCLUDE_ONLY
@@ -70,6 +67,8 @@ namespace mln
return 0;
}
+ const zero_t& zero = zero_t();
+
# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln::literal
diff --git a/milena/mln/value/rgb.hh b/milena/mln/value/rgb.hh
index 1e3d7ca..fabcf8d 100644
--- a/milena/mln/value/rgb.hh
+++ b/milena/mln/value/rgb.hh
@@ -55,11 +55,24 @@ namespace mln
struct black_t;
struct white_t;
+ struct light_gray_t;
+ struct medium_gray_t;
+ struct dark_gray_t;
+
struct red_t;
- struct dark_red_t;
- struct dark_orange_t;
- struct blue_t;
struct green_t;
+ struct blue_t;
+ struct brown_t;
+ struct lime_t;
+ struct orange_t;
+ struct pink_t;
+ struct purple_t;
+ struct teal_t;
+ struct violet_t;
+ struct cyan_t;
+ struct magenta_t;
+ struct yellow_t;
+ struct olive_t;
/// \}
}
@@ -154,9 +167,8 @@ namespace mln
namespace value
{
- /*! \brief Color class for red-green-blue where every component is
- * n-bit encoded.
- */
+ /// \brief Color class for red-green-blue where every component is
+ /// n-bit encoded.
template <unsigned n>
struct rgb
:
@@ -165,7 +177,7 @@ namespace mln
public internal::value_like_< algebra::vec< 3, int_u<n> >, // Equivalent.
algebra::vec< 3, int_u<n> >, // Encoding.
algebra::vec< 3, int >, // Interoperation.
- rgb<n> > // Exact.
+ rgb<n> > // Exact.
{
public:
@@ -204,11 +216,24 @@ namespace mln
rgb<n>(const mln::literal::white_t&);
rgb<n>(const mln::literal::black_t&);
- rgb<n>(const mln::literal::blue_t&);
+ rgb<n>(const mln::literal::light_gray_t&);
+ rgb<n>(const mln::literal::medium_gray_t&);
+ rgb<n>(const mln::literal::dark_gray_t&);
+
rgb<n>(const mln::literal::red_t&);
- rgb<n>(const mln::literal::dark_red_t&);
- rgb<n>(const mln::literal::dark_orange_t&);
+ rgb<n>(const mln::literal::blue_t&);
rgb<n>(const mln::literal::green_t&);
+ rgb<n>(const mln::literal::brown_t&);
+ rgb<n>(const mln::literal::lime_t&);
+ rgb<n>(const mln::literal::orange_t&);
+ rgb<n>(const mln::literal::pink_t&);
+ rgb<n>(const mln::literal::purple_t&);
+ rgb<n>(const mln::literal::teal_t&);
+ rgb<n>(const mln::literal::violet_t&);
+ rgb<n>(const mln::literal::cyan_t&);
+ rgb<n>(const mln::literal::magenta_t&);
+ rgb<n>(const mln::literal::yellow_t&);
+ rgb<n>(const mln::literal::olive_t&);
/// \}
/// Assignment.
@@ -292,7 +317,7 @@ namespace mln
operator/(const rgb<n>& lhs, const mln::value::scalar_<S>& s);
/// \}
-
+
# ifndef MLN_INCLUDE_ONLY
/*---------------.
@@ -361,6 +386,33 @@ namespace mln
template <unsigned n>
inline
+ rgb<n>::rgb(const mln::literal::light_gray_t&)
+ {
+ this->v_[0] = mln_max(int_u<n>) * 0.75;
+ this->v_[1] = mln_max(int_u<n>) * 0.75;
+ this->v_[2] = mln_max(int_u<n>) * 0.75;
+ }
+
+ template <unsigned n>
+ inline
+ rgb<n>::rgb(const mln::literal::medium_gray_t&)
+ {
+ this->v_[0] = mln_max(int_u<n>) * 0.50;
+ this->v_[1] = mln_max(int_u<n>) * 0.50;
+ this->v_[2] = mln_max(int_u<n>) * 0.50;
+ }
+
+ template <unsigned n>
+ inline
+ rgb<n>::rgb(const mln::literal::dark_gray_t&)
+ {
+ this->v_[0] = mln_max(int_u<n>) * 0.25;
+ this->v_[1] = mln_max(int_u<n>) * 0.25;
+ this->v_[2] = mln_max(int_u<n>) * 0.25;
+ }
+
+ template <unsigned n>
+ inline
rgb<n>::rgb(const mln::literal::red_t&)
{
this->v_[0] = mln_max(int_u<n>);
@@ -370,42 +422,123 @@ namespace mln
template <unsigned n>
inline
- rgb<n>::rgb(const mln::literal::dark_red_t&)
+ rgb<n>::rgb(const mln::literal::green_t&)
+ {
+ this->v_[0] = 0;
+ this->v_[1] = mln_max(int_u<n>);
+ this->v_[2] = 0;
+ }
+
+ template <unsigned n>
+ inline
+ rgb<n>::rgb(const mln::literal::blue_t&)
{
- this->v_[0] = mln_max(int_u<n>) / 3;
+ this->v_[0] = 0;
this->v_[1] = 0;
+ this->v_[2] = mln_max(int_u<n>);
+ }
+
+ template <unsigned n>
+ inline
+ rgb<n>::rgb(const mln::literal::brown_t&)
+ {
+ this->v_[0] = mln_max(int_u<n>) * 0.75;
+ this->v_[1] = mln_max(int_u<n>) * 0.50;
+ this->v_[2] = mln_max(int_u<n>) * 0.25;
+ }
+
+ template <unsigned n>
+ inline
+ rgb<n>::rgb(const mln::literal::lime_t&)
+ {
+ this->v_[0] = mln_max(int_u<n>) * 0.75;
+ this->v_[1] = mln_max(int_u<n>);
this->v_[2] = 0;
}
template <unsigned n>
inline
- rgb<n>::rgb(const mln::literal::dark_orange_t&)
+ rgb<n>::rgb(const mln::literal::orange_t&)
{
- this->v_[0] = mln_max(int_u<n>) / 3;
- this->v_[1] = mln_max(int_u<n>) / 3;
+ this->v_[0] = mln_max(int_u<n>);
+ this->v_[1] = mln_max(int_u<n>) * 0.50;
this->v_[2] = 0;
}
template <unsigned n>
inline
- rgb<n>::rgb(const mln::literal::green_t&)
+ rgb<n>::rgb(const mln::literal::pink_t&)
+ {
+ this->v_[0] = mln_max(int_u<n>);
+ this->v_[1] = mln_max(int_u<n>) * 0.75;
+ this->v_[2] = mln_max(int_u<n>) * 0.75;
+ }
+
+ template <unsigned n>
+ inline
+ rgb<n>::rgb(const mln::literal::purple_t&)
+ {
+ this->v_[0] = mln_max(int_u<n>) * 0.75;
+ this->v_[1] = 0;
+ this->v_[2] = mln_max(int_u<n>) * 0.25;
+ }
+
+ template <unsigned n>
+ inline
+ rgb<n>::rgb(const mln::literal::teal_t&)
{
this->v_[0] = 0;
- this->v_[1] = mln_max(int_u<n>);
- this->v_[2] = 0;
+ this->v_[1] = mln_max(int_u<n>) * 0.50;
+ this->v_[2] = mln_max(int_u<n>) * 0.50;
}
template <unsigned n>
inline
- rgb<n>::rgb(const mln::literal::blue_t&)
+ rgb<n>::rgb(const mln::literal::violet_t&)
+ {
+ this->v_[0] = mln_max(int_u<n>) * 0.50;
+ this->v_[1] = 0;
+ this->v_[2] = mln_max(int_u<n>) * 0.50;
+ }
+
+ template <unsigned n>
+ inline
+ rgb<n>::rgb(const mln::literal::cyan_t&)
{
this->v_[0] = 0;
+ this->v_[1] = mln_max(int_u<n>);
+ this->v_[2] = mln_max(int_u<n>);
+ }
+
+ template <unsigned n>
+ inline
+ rgb<n>::rgb(const mln::literal::magenta_t&)
+ {
+ this->v_[0] = mln_max(int_u<n>);
this->v_[1] = 0;
this->v_[2] = mln_max(int_u<n>);
}
template <unsigned n>
inline
+ rgb<n>::rgb(const mln::literal::yellow_t&)
+ {
+ this->v_[0] = mln_max(int_u<n>);
+ this->v_[1] = mln_max(int_u<n>);
+ this->v_[2] = 0;
+ }
+
+ template <unsigned n>
+ inline
+ rgb<n>::rgb(const mln::literal::olive_t&)
+ {
+ this->v_[0] = mln_max(int_u<n>) * 0.50;
+ this->v_[1] = mln_max(int_u<n>) * 0.50;
+ this->v_[2] = 0;
+ }
+
+ template <unsigned n>
+ inline
rgb<n>&
rgb<n>::operator=(const rgb<n>& rhs)
{
--
1.5.6.5
1
0
https://svn.lrde.epita.fr/svn/oln/branches/cleanup-2008/milena
Index: ChangeLog
from Nicolas Ballas <ballas(a)lrde.epita.fr>
Use memcpy_ in level::paste.
* mln/core/image/image1d.hh: Replace array by buffer in element method.
* mln/level/memcpy_.hh: Replace operator[] by element().
* mln/level/paste.spe.hh: Add paste_fastest and update dispatch.
* mln/level/fill_with_value.spe.hh: Update doc.
core/image/image1d.hh | 4 ++--
level/fill_with_value.spe.hh | 1 -
level/memcpy_.hh | 19 ++++++++++++-------
level/paste.spe.hh | 42 +++++++++++++++++++++++++++++-------------
4 files changed, 43 insertions(+), 23 deletions(-)
Index: mln/core/image/image1d.hh
--- mln/core/image/image1d.hh (revision 2784)
+++ mln/core/image/image1d.hh (working copy)
@@ -448,7 +448,7 @@
image1d<T>::element(unsigned ind) const
{
mln_precondition(this->has(point1d(ind)));
- return this->data_->array_[ind];
+ return this->data_->buffer_[ind];
}
template <typename T>
@@ -457,7 +457,7 @@
image1d<T>::element(unsigned ind)
{
mln_precondition(this->has(point1d(ind)));
- return this->data_->array_[ind];
+ return this->data_->buffer_[ind];
}
template <typename T>
Index: mln/level/memcpy_.hh
--- mln/level/memcpy_.hh (revision 2784)
+++ mln/level/memcpy_.hh (working copy)
@@ -125,13 +125,18 @@
mln_precondition(dest.ima().has_data());
mln_precondition(src.ima().has_data());
- mln_precondition(&dest.val() >= &dest.ima()[0]);
- mln_precondition(&dest.val() < &dest.ima()[0] + dest.ima().nelements());
- mln_precondition(&dest.val() + n <= &dest.ima()[0] + dest.ima().nelements());
-
- mln_precondition(&src.val() >= &src.ima()[0]);
- mln_precondition(&src.val() < &src.ima()[0] + src.ima().nelements());
- mln_precondition(&src.val() + n <= &src.ima()[0] + src.ima().nelements());
+ mln_precondition(&dest.val() >= &dest.ima().element(0));
+ mln_precondition(&dest.val() < &dest.ima().element(0) +
+ dest.ima().nelements());
+
+ mln_precondition(&dest.val() + n <= &dest.ima().element(0) +
+ dest.ima().nelements());
+
+ mln_precondition(&src.val() >= &src.ima().element(0));
+ mln_precondition(&src.val() < &src.ima().element(0) +
+ src.ima().nelements());
+ mln_precondition(&src.val() + n <= &src.ima().element(0) +
+ src.ima().nelements());
impl::memcpy__(dest, src, n);
Index: mln/level/paste.spe.hh
--- mln/level/paste.spe.hh (revision 2784)
+++ mln/level/paste.spe.hh (working copy)
@@ -39,6 +39,8 @@
# error "Forbidden inclusion of *.spe.hh"
# endif // ! MLN_LEVEL_PASTE_HH
+# include <mln/core/pixel.hh>
+# include <mln/level/fill_with_value.hh>
# include <mln/level/memcpy_.hh>
@@ -114,21 +116,34 @@
trace::entering("level::impl::paste_fast");
}
-
template <typename I, typename J>
- void paste_fast_singleton(const Image<I>& input_, Image<J>& output_)
+ void paste_fastest(const Image<I>& input_, Image<J>& output_)
{
- trace::entering("level::impl::paste_fast_singleton");
+ trace::entering("level::impl::paste_fastest");
const I& input = exact(input_);
J& output = exact(output_);
level::internal::paste_tests(input, output);
- mln_pixter(J) po(output);
+ pixel<const I> src (input);
+ pixel<J> dst(output);
+ *(src.address_()) = input.buffer();
+ *(dst.address_()) = output.buffer();
+
+ memcpy_(dst, src, input.nelements());
+
+ trace::entering("level::impl::paste_fastest");
+ }
+
+ template <typename I, typename J>
+ void paste_singleton(const Image<I>& input_, Image<J>& output_)
+ {
+ trace::entering("level::impl::paste_fast_singleton");
+
+ const I& input = exact(input_);
- for_all(po)
- po.val() = input.val();
+ level::fill_with_value(output_, input.val());
trace::entering("level::impl::paste_fast_singleton");
}
@@ -152,10 +167,10 @@
const I& input = exact(input_);
J& output = exact(output_);
- if (input.domain() == output.domain())
- impl::paste_fast(input, output);
+ if (input.border() == output.border())
+ impl::paste_fastest(input, output);
else
- impl::generic::paste(input, output);
+ impl::paste_fast(input, output);
}
template <typename I, typename J>
@@ -167,7 +182,7 @@
const Image<I>& input,
Image<J>& output)
{
- impl::paste_fast(input, output);
+ impl::paste_fastest(input, output);
}
@@ -196,11 +211,11 @@
template <typename I, typename J>
inline
void paste_(trait::image::value_storage::singleton,
- trait::image::value_storage::one_block,
+ trait::image::value_storage::any,
const Image<I>& input,
Image<J>& output)
{
- impl::paste_fast_singleton(input, output);
+ impl::paste_singleton(input, output);
}
@@ -219,7 +234,8 @@
if (mlc_is(mln_trait_image_value_alignement(I),
trait::image::value_alignement::with_grid)::value &&
mlc_is(mln_trait_image_value_alignement(J),
- trait::image::value_alignement::with_grid)::value)
+ trait::image::value_alignement::with_grid)::value &&
+ input.domain() == output.domain())
{
paste_(mln_trait_image_value_access(I)(),
mln_trait_image_value_access(J)(),
Index: mln/level/fill_with_value.spe.hh
--- mln/level/fill_with_value.spe.hh (revision 2784)
+++ mln/level/fill_with_value.spe.hh (working copy)
@@ -210,7 +210,6 @@
}
- /// FIXME:
// This specialization is only here to deal with image which have
// non-updated properties (vw_io).
template <typename I, typename V>
1
0