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
 
- 9625 discussions
 
22 Aug '12
                    
                        ---
 ChangeLog                       |    4 ++++
 debian/source/lintian-overrides |    1 +
 2 files changed, 5 insertions(+), 0 deletions(-)
 create mode 100644 debian/source/lintian-overrides
diff --git a/ChangeLog b/ChangeLog
index d996687..c1d02ae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2012-06-04  Guillaume Lazzara  <z(a)lrde.epita.fr>
 
+	* debian/source/lintian-overrides: New.
+
+2012-06-04  Guillaume Lazzara  <z(a)lrde.epita.fr>
+
 	* debian/rules: Limit simultaneous compilations.
 
 2012-06-04  Guillaume Lazzara  <z(a)lrde.epita.fr>
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
new file mode 100644
index 0000000..ef75f66
--- /dev/null
+++ b/debian/source/lintian-overrides
@@ -0,0 +1 @@
+olena source: package-needs-versioned-debhelper-build-depends
\ No newline at end of file
-- 
1.7.2.5
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        ---
 ChangeLog    |    4 ++
 debian/rules |  101 +--------------------------------------------------------
 2 files changed, 6 insertions(+), 99 deletions(-)
 mode change 100755 => 100644 debian/rules
diff --git a/ChangeLog b/ChangeLog
index c1d02ae..da6320d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2012-06-06  Guillaume Lazzara  <z(a)lrde.epita.fr>
+
+	* debian/rules: Cleanup.
+
 2012-06-04  Guillaume Lazzara  <z(a)lrde.epita.fr>
 
 	* debian/source/lintian-overrides: New.
diff --git a/debian/rules b/debian/rules
old mode 100755
new mode 100644
index b5f41bb..cbe925d
--- a/debian/rules
+++ b/debian/rules
@@ -1,100 +1,3 @@
 #!/usr/bin/make -f
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-# This has to be exported to make some magic below work.
-export DH_OPTIONS
-
-# These are used for cross-compiling and for saving the configure script
-# from having to guess our platform (since we know it already)
-DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-CPU_COUNT ?= $(shell echo "`grep -c processor /proc/cpuinfo` / 2" | bc)
-
-CFLAGS = -Wall -g
-
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-	CFLAGS += -O0
-else
-	CFLAGS += -O2
-endif
-
-
-build: build-stamp
-
-# Add Hardening flags during configure according to Debian policy.
-# See: 	http://wiki.debian.org/HardeningWalkthrough
-# 	http://wiki.debian.org/Hardening
-build-stamp:
-	dh_testdir
-	./bootstrap
-	./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --enable-scribo --prefix=/usr --libexecdir=/usr/lib $(shell dpkg-buildflags --export=configure)
-	$(MAKE) -j$(CPU_COUNT)
-	touch $@
-
-clean:
-	dh_testdir
-	dh_testroot
-	rm -f build-arch-stamp build-indep-stamp #CONFIGURE-STAMP#
-	[ ! -f Makefile ] || $(MAKE) distclean
-	rm -f config.{sub,guess,status,log}
-	dh_clean
-
-# Remove empty directories shipped with doxygen after installation in
-# order to cleanup packages.
-install: build
-	dh_testdir
-	dh_testroot
-	dh_prep
-	dh_installdirs
-	$(MAKE) DESTDIR="$(CURDIR)/debian/tmp" install
-	find $(CURDIR)/debian/tmp -type d -empty -delete
-
-# Build architecture independant packages.
-build-indep: build
-
-binary-indep: build-indep install
-	dh_testdir
-	dh_testroot
-	dh_installchangelogs -i
-	dh_installdocs -i
-	dh_install -i --sourcedir=$(CURDIR)/debian/tmp
-	dh_link -i
-	dh_compress -i
-	dh_fixperms -i
-	dh_installdeb -i
-	dh_gencontrol -i
-	dh_md5sums -i
-	dh_builddeb -i
-
-# Build architecture dependant packages.
-build-arch: build
-
-binary-arch: build-arch install
-	dh_testdir
-	dh_testroot
-	dh_installchangelogs -a
-	dh_installdocs -a
-	dh_installexamples -a
-	dh_install -a --sourcedir=$(CURDIR)/debian/tmp
-	dh_installmenu -a
-	install -d $(CURDIR)/debian/hello/usr/share/pixmaps/
-	cp debian/*.xpm $(CURDIR)/debian/hello/usr/share/pixmaps/
-	install -d $(CURDIR)/debian/hello/usr/share/applications/
-	cp debian/*.desktop $(CURDIR)/debian/hello/usr/share/applications/
-	#dh_installmime -a
-	dh_installman -a
-	dh_link -a
-	dh_strip -a
-	dh_compress -a
-	dh_fixperms -a
-	dh_installdeb -a
-	dh_shlibdeps -a
-	dh_gencontrol -a
-	dh_md5sums -a
-	dh_builddeb -a
-
-binary: binary-arch binary-indep
-
-.PHONY: install build clean binary-indep binary-arch binary
+%:
+	dh $@
-- 
1.7.2.5
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        	* Makefile.am: Install pixmaps and include debian/ in
	distribution.
	* debian/olena-bin.menu,
	* debian/olena.desktop: Rename as...
	* debian/olena.menu,
	* debian/olena-bin.desktop: ... this. Update to use scribo-viewer.
	* debian/olena-bin.install: Include pixmap in package.
	* debian/olena.1: Fix description.
	* debian/olena.xpm: New.
	* debian/rules: Set path to libexec.
	* debian/control: Update minimal version of debhelper.
	* debian/compat: Set to debhelper v7.
	* debian/source/lintian-overrides: Remove.
---
 ChangeLog                |   27 ++++
 Makefile.am              |   37 +++++-
 debian/compat            |    2 +-
 debian/control           |    4 +-
 debian/olena-bin.desktop |   11 ++
 debian/olena-bin.install |    1 +
 debian/olena-bin.menu    |    3 +
 debian/olena.1           |    2 +-
 debian/olena.desktop     |   11 --
 debian/olena.menu        |    3 -
 debian/olena.xpm         |  332 ++++++++++++++++++++++++++++++++++++++++------
 debian/rules             |    9 ++
 12 files changed, 383 insertions(+), 59 deletions(-)
 create mode 100644 debian/olena-bin.desktop
 create mode 100644 debian/olena-bin.menu
 delete mode 100644 debian/olena.desktop
 delete mode 100644 debian/olena.menu
 mode change 100644 => 100755 debian/rules
diff --git a/ChangeLog b/ChangeLog
index da6320d..f707206 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,30 @@
+2012-06-07  Guillaume Lazzara  <z(a)lrde.epita.fr>
+
+	Fix last warnings with Lintian.
+
+	* Makefile.am: Install pixmaps and include debian/ in
+	distribution.
+
+	* debian/olena-bin.menu,
+	* debian/olena.desktop: Rename as...
+
+	* debian/olena.menu,
+	* debian/olena-bin.desktop: ... this. Update to use scribo-viewer.
+
+	* debian/olena-bin.install: Include pixmap in package.
+
+	* debian/olena.1: Fix description.
+
+	* debian/olena.xpm: New.
+
+	* debian/rules: Set path to libexec.
+
+	* debian/control: Update minimal version of debhelper.
+
+	* debian/compat: Set to debhelper v7.
+
+	* debian/source/lintian-overrides: Remove.
+
 2012-06-06  Guillaume Lazzara  <z(a)lrde.epita.fr>
 
 	* debian/rules: Cleanup.
diff --git a/Makefile.am b/Makefile.am
index e051c68..5e1cb78 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
-# Copyright (C) 2006, 2007, 2008, 2009, 2010 EPITA Research and Development
-# Laboratory (LRDE).
+# Copyright (C) 2006, 2007, 2008, 2009, 2010, 2012 EPITA Research and
+# Development Laboratory (LRDE).
 #
 # This file is part of Olena.
 #
@@ -169,3 +169,36 @@ snapshot:
 	&& $(MAKE) $(AM_MAKEFLAGS) dist 				\
 	&& mv -f $(srcdir)/configure.ac.old $(srcdir)/configure.ac
 #>>
+
+
+# Extra files for debian package generation.
+pixmapsdir = $(datarootdir)/pixmaps
+dist_pixmaps_DATA = debian/olena.xpm
+
+EXTRA_DIST = 			\
+  debian/olena.install		\
+  debian/olena-dev.doc-base	\
+  debian/watch			\
+  debian/gbp.conf		\
+  debian/compat			\
+  debian/README.Debian		\
+  debian/rules			\
+  debian/olena.manpages		\
+  debian/changelog		\
+  debian/olena-bin.menu		\
+  debian/HOWTO			\
+  debian/olena-bin.desktop	\
+  debian/control		\
+  debian/olena-dev.install	\
+  debian/scribo-cli.1		\
+  debian/olena-bin.install	\
+  debian/olena-dev.docs		\
+  debian/scribo-viewer.1	\
+  debian/olena.1		\
+  debian/copyright		\
+  debian/source			\
+  debian/source/local-options	\
+  debian/source/options		\
+  debian/source/format		\
+  debian/source/lintian-overrides\
+  debian/olena-bin.manpages
\ No newline at end of file
diff --git a/debian/compat b/debian/compat
index ec63514..7f8f011 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-9
+7
diff --git a/debian/control b/debian/control
index 7ac892b..fca6d09 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: olena
 Section: devel
 Priority: optional
 Maintainer: Olena Team - EPITA Research and Development Laboratory (LRDE) <olena(a)lrde.epita.fr>
-Build-Depends: debhelper (>= 5), autotools-dev, dpkg-dev (>= 1.13.19)
+Build-Depends: debhelper (>= 7.0.50), autotools-dev, dpkg-dev (>= 1.13.19)
 Standards-Version: 3.9.3
 Vcs-Browser: http://git.lrde.epita.fr/?p=olena.git;a=summary
 Vcs-Git: git://git.lrde.epita.fr/olena
@@ -30,7 +30,7 @@ Description: Generic image processing platform written in C++
  to the Simplified Wrapper and Interface Generator (SWIG); and the
  SCRIBO module for Document Image Analysis.
  .
- This is a meta-package installing the whole platform.
+ This is a metapackage installing the whole platform.
 
 
 Package: olena-bin
diff --git a/debian/olena-bin.desktop b/debian/olena-bin.desktop
new file mode 100644
index 0000000..e6dba20
--- /dev/null
+++ b/debian/olena-bin.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Type=Application
+Encoding=UTF-8
+Name=Scribo-viewer
+GenericName=Scribo-viewer
+Comment=Document Image Analysis tool.
+Comment[fr]=Outil d\'analyse d\'images de documents.
+Icon=Scribo-viewer
+Exec=scribo-viewer
+Terminal=true
+Categories=Application;
diff --git a/debian/olena-bin.install b/debian/olena-bin.install
index 423557d..28c3273 100644
--- a/debian/olena-bin.install
+++ b/debian/olena-bin.install
@@ -1,3 +1,4 @@
 usr/bin/*
 usr/lib/scribo/*
 usr/share/olena/scribo/*
+usr/share/pixmaps/olena.xpm
\ No newline at end of file
diff --git a/debian/olena-bin.menu b/debian/olena-bin.menu
new file mode 100644
index 0000000..a04e8f0
--- /dev/null
+++ b/debian/olena-bin.menu
@@ -0,0 +1,3 @@
+?package(olena-bin):needs="text" section="Applications/Graphics" \
+	title="Scribo-viewer" command="/usr/bin/scribo-viewer" \
+	icon="/usr/share/pixmaps/olena.xpm"
diff --git a/debian/olena.1 b/debian/olena.1
index 8f35692..ef7654f 100644
--- a/debian/olena.1
+++ b/debian/olena.1
@@ -1,6 +1,6 @@
 .TH "OLENA" "1" "" "" ""
 .SH "NAME"
-Olena
+Olena \- An Image Processing Platform.
 .SH "DESCRIPTION"
 .PP
 An Image Processing Platform
diff --git a/debian/olena.desktop b/debian/olena.desktop
deleted file mode 100644
index 741b97d..0000000
--- a/debian/olena.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Type=Application
-Encoding=UTF-8
-Name=Olena
-GenericName=olena
-Comment=Olena, a Generic Image Processing Libray.
-Comment[fr]=Olena, une bibliothèque de traitement d\'image générique.
-Icon=Olena
-Exec=olena
-Terminal=true
-Categories=Application;
diff --git a/debian/olena.menu b/debian/olena.menu
deleted file mode 100644
index 99165ab..0000000
--- a/debian/olena.menu
+++ /dev/null
@@ -1,3 +0,0 @@
-?package(olena):needs="text" section="Apps/Tools" \
-	title="Olena" command="/usr/bin/olena" \
-	icon="/usr/share/pixmaps/olena.xpm"
diff --git a/debian/olena.xpm b/debian/olena.xpm
index 32123cc..0f18949 100644
--- a/debian/olena.xpm
+++ b/debian/olena.xpm
@@ -1,40 +1,294 @@
 /* XPM */
-static char *hello[]={
-"32 32 5 1",
-". c None",
-"# c #0058c0",
-"b c #800000",
-"a c #a8dcff",
-"c c #ff0000",
-"............########............",
-".........###aaaaaaaa###.........",
-".......##aaaabcbbaaaaaa##.......",
-"......#aaaaaaaaaaaaaaaaaa#......",
-".....#aaaaaaaaacbaaaaaaaaa#.....",
-"....#aaaaaaaaaaaaaaaaaaaaaa#....",
-"...#abbaaaaaaaaaaaaaaabbbaba#...",
-"..#aaaaaaaaaaaaaaaaaaaaaaaaaa#..",
-"..#bcbbbbbaaaaaaaaaaacbbbbbba#..",
-".#aaaaaaaaaaaaaaaaaaaaaaaaaaaa#.",
-".#abcbbbaaaaaaaaaaaaacbaaaacba#.",
-".#aaaaaaaaaaaaaaaaaaaaaaaaaaaa#.",
-"#abcbbaaaaaaaaaaaaaaaabbbbbbbba#",
-"#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#",
-"#acbaaaaaaaaaaaaaaaabcbbbbbacba#",
-"#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#",
-"#aabaaaaaaaaaaaaaaabcbbbbbbbbba#",
-"#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#",
-"#aaabcbbaaaaaaaaaaaaabcbbbbbaaa#",
-"#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#",
-".#aaaabcbbbbaaaaaaaaaabcbbbaaa#.",
-".#aaaaaaaaaaaaaaaaaaaaaaaaaaaa#.",
-".#aaaaabcbbbbaaaaaaaaabcbbbaaa#.",
-"..#aaaaaaaaaaaaaaaaaaaaaaaaaa#..",
-"..#aaaaabcbbaaaaaaaaaaacbbaaa#..",
-"...#aaaaaaaaaaaaaaaaaaaaaaaa#...",
-"....#aaaacbaaaaaaaaaaaaacba#....",
-".....#aaaaaaaaaaaaaaaaaaaa#.....",
-"......#aaacaaaaaaaaaaaaaa#......",
-".......##aaaaaaaaaaaaaa##.......",
-".........###aaaaaaaa###.........",
-"............########............"};
+static char *olena[] = {
+/* columns rows colors chars-per-pixel */
+"32 32 256 2",
+"   c black",
+".  c #150008",
+"X  c #1E0012",
+"o  c #111313",
+"O  c #172020",
+"+  c #220014",
+"@  c #2A011B",
+"#  c #24011B",
+"$  c #2E1513",
+"%  c #30071D",
+"&  c #2F0624",
+"*  c #2C1022",
+"=  c #350726",
+"-  c #3D152C",
+";  c #232222",
+":  c #3E2123",
+">  c #383A39",
+",  c #460E2F",
+"<  c #45182E",
+"1  c #481334",
+"2  c #531739",
+"3  c #412D2C",
+"4  c #4B2639",
+"5  c #592B39",
+"6  c #5C3B39",
+"7  c #713F34",
+"8  c #6C3933",
+"9  c #592842",
+"0  c #583944",
+"q  c #593658",
+"w  c #613B46",
+"e  c #723F43",
+"r  c #603A63",
+"t  c #754337",
+"y  c #4F4C4C",
+"u  c #585655",
+"i  c #6A4048",
+"p  c #6A4857",
+"a  c #794E56",
+"s  c #74575A",
+"d  c #7D594A",
+"f  c #684267",
+"g  c #714A6F",
+"h  c #754D76",
+"j  c #785967",
+"k  c #7E547B",
+"l  c #6F6869",
+"z  c #7A666A",
+"x  c #8A4C3D",
+"c  c #914D3E",
+"v  c #98702E",
+"b  c #8E6B39",
+"n  c #8C4F40",
+"m  c #864F51",
+"M  c #8D5542",
+"N  c #8B5859",
+"B  c #99574B",
+"V  c #975951",
+"C  c #805C7C",
+"Z  c #83674F",
+"A  c #95625D",
+"S  c #876065",
+"D  c #877A7D",
+"F  c #9C7B67",
+"G  c #90727D",
+"H  c #986C7B",
+"J  c #A55C4B",
+"K  c #A35F51",
+"L  c #A8614A",
+"P  c #A76258",
+"I  c #A27F46",
+"U  c #B46452",
+"Y  c #BA6A53",
+"T  c #A96A63",
+"R  c #A77078",
+"E  c #B66F61",
+"W  c #BB7467",
+"Q  c #A27969",
+"!  c #C36A55",
+"~  c #CA725D",
+"^  c #C27C58",
+"/  c #CB7965",
+"(  c #D27A65",
+")  c #D37D69",
+"_  c #855D84",
+"`  c #8E6689",
+"'  c #926A8F",
+"]  c #9B6D88",
+"[  c #976D93",
+"{  c #9D798D",
+"}  c #9A7B96",
+"|  c #A17B8F",
+" . c #A07A9D",
+".. c #A98D5A",
+"X. c #B68C77",
+"o. c #B79567",
+"O. c #AB947D",
+"+. c #D18555",
+"@. c #CE8A6D",
+"#. c #C98976",
+"$. c #C49875",
+"%. c #D3826E",
+"&. c #D98F6C",
+"*. c #DA8C74",
+"=. c #D98E7B",
+"-. c #D58A77",
+";. c #DD9574",
+":. c #DA927D",
+">. c #D59379",
+",. c #C4AA7D",
+"<. c #E9A172",
+"1. c #8C8786",
+"2. c #8B9191",
+"3. c #9E809B",
+"4. c #9E8687",
+"5. c #A6838B",
+"6. c #A68499",
+"7. c #B68B8B",
+"8. c #B08699",
+"9. c #B99388",
+"0. c #B09899",
+"q. c #AA88A7",
+"w. c #AE90AB",
+"e. c #B796A6",
+"r. c #B494B2",
+"t. c #BA9CB7",
+"y. c #B6A8A7",
+"u. c #BCB7B6",
+"i. c #B2A7AB",
+"p. c #C68986",
+"a. c #C79785",
+"s. c #C59894",
+"d. c #D59982",
+"f. c #DB9B8B",
+"g. c #DA9988",
+"h. c #DC9D98",
+"j. c #D3868D",
+"k. c #CD97A1",
+"l. c #C8A688",
+"z. c #C9A895",
+"x. c #CDB48C",
+"c. c #CCB597",
+"v. c #DCA28C",
+"b. c #D2A98B",
+"n. c #DCA492",
+"m. c #DBAD9D",
+"M. c #D6A797",
+"N. c #DBB39C",
+"B. c #D1B79C",
+"V. c #C1A1A9",
+"C. c #C2A7BF",
+"Z. c #CDB9AC",
+"A. c #C4B0B5",
+"S. c #DAABA4",
+"D. c #D6AFB9",
+"F. c #DDB2A3",
+"G. c #DCB9AC",
+"H. c #D9B7A7",
+"J. c #D7BAB6",
+"K. c #E3978C",
+"L. c #E49593",
+"P. c #E09F90",
+"I. c #E99794",
+"U. c #E58985",
+"Y. c #EE9FA1",
+"T. c #E9A788",
+"R. c #E2A394",
+"E. c #E2AC9C",
+"W. c #E2AA97",
+"Q. c #EAB28D",
+"!. c #E5B49C",
+"~. c #EBB999",
+"^. c #F2A19E",
+"/. c #E3AEA2",
+"(. c #E8ABA9",
+"). c #E3AEB0",
+"_. c #E3B4A4",
+"`. c #E4BAAC",
+"'. c #EABDAB",
+"]. c #E7B7A9",
+"[. c #E3BCB5",
+"{. c #E9BCB2",
+"}. c #EDBBBA",
+"|. c #E8B5B4",
+" X c #F5AEAC",
+".X c #F2B9B8",
+"XX c #C1ABC0",
+"oX c #C9B2C7",
+"OX c #D1BDCF",
+"+X c #D2BCD0",
+"@X c #D9C6A9",
+"#X c #DFCCB4",
+"$X c #DDCBBA",
+"%X c #D9C6B4",
+"&X c #EBC2AD",
+"*X c #EFC2A6",
+"=X c #E5C1B2",
+"-X c #E3CABD",
+";X c #EBC4B5",
+":X c #EBC4BC",
+">X c #EDC8B3",
+",X c #ECC9BC",
+"<X c #E3C5BA",
+"1X c #E0D1B9",
+"2X c #F0C6AA",
+"3X c #F0C4BD",
+"4X c #F1CAB6",
+"5X c #F7D0BE",
+"6X c #D8C7C8",
+"7X c #D5C4D8",
+"8X c #DFD2C0",
+"9X c #DEDBDB",
+"0X c #CBCBCB",
+"qX c #DCDFE0",
+"wX c #E3CDC4",
+"eX c #ECCDC4",
+"rX c #E9C7C6",
+"tX c #E7DBCB",
+"yX c #EBD2C5",
+"uX c #EED4CB",
+"iX c #EBDECE",
+"pX c #E3D7C6",
+"aX c #EDD6D2",
+"sX c #EEDED9",
+"dX c #EFD9D3",
+"fX c #F3C3C2",
+"gX c #F6CBC8",
+"hX c #F3D3C4",
+"jX c #F1D4CC",
+"kX c #F6DCCD",
+"lX c #FAD1CF",
+"zX c #F7D8C8",
+"xX c #F3D5D2",
+"cX c #F3DAD4",
+"vX c #F3DDDA",
+"bX c #FCD3D3",
+"nX c #FDD9DB",
+"mX c #F9DCD3",
+"MX c #F3D6E0",
+"NX c #EDE5D9",
+"BX c #EDE5D9",
+"VX c #F5E3DC",
+"CX c #F9E6DB",
+"ZX c #EBE7E7",
+"AX c #F3EAE3",
+"SX c #F6ECEA",
+"DX c #FBECE3",
+"FX c #FBEDEB",
+"GX c #F9E5E3",
+"HX c #F6F4EC",
+"JX c #FDF3ED",
+"KX c #F8F1E6",
+"LX c #FCF6F4",
+"PX c #FBFAF4",
+"IX c #FEFDFD",
+"UX c #F7F6F3",
+/* pixels */
+"kXCXCXDX!.( W.;XeXeXjXjXeXxXcXcXjXuX;X:XCXAXIXLXJX`.%.g.-.%.*.K ",
+"VXDXDXkXM.~ f.{.:XeXeXjXjXjXcXcXxXcX:XeXDXCXwXPXPXLXeX=.R.n.e , ",
+"CXJXkXzXm.! W.].:XeXeXeXeXjXcXxXcXVX:X:XCXJXf.f.VXJXJXCXp.5 = 2 ",
+"JX<XN.DXm.! W.{.=X,XyXyXyX:X:XjXvXVX:X:XAXHXS.P.M.$XDXuX5 = 1 H ",
+"CXU M.DXm./ ].H.pXNXAXHXAXsXeX[.rXjX{.;XDXJXF.b.B.tXpXa @ , 7.4X",
+">.! !.CXM./ E.@XiXiXAXNXsXFXVXAXvX,X{.|.VXiXH.#XUXIX4.@ 1 s.;Xn.",
+"v.=.!.CXz./ n.pX1X-X$XwXAXGXSXFXLXsXG.%XtXNXLXIXIXIXa # 5.5Xf.n.",
+"/.f._.CXF.( n.AX@Xc.H.sXvXAXFXNX$X8XNXHXIXIXIXPXIXtX@ w hX_.v.v.",
+"_.W.&XDX].( :.HXtXB.rXeXyXcX%X@XtXUXUXUXUXNXtXSXIXs X Z.hXF.>.$.",
+"/./.>XJX`.( =.yXAXyXrXA.t.z.x.tXtX%Xz.s.o.B.KXHXj . s zXm.H.@Xc.",
+"R.W.;XJX].) P.n.8XSX6Xt.` ..b.S.G.[.}.fXF.%X%X0 + * J.&XH.NX@Xx.",
+"g.R.,XJX`.%.E./.S.6XoXh Z $.rXGXJXLXLXAXFXS.t @ + j CXF.NXNXB.l.",
+"=.f.,XJXG.%._.;Xk.w.k 0 a.nXLXIXIXIXIXIXLXcX6 & * %XmX=XNXiXB.H.",
+":.g.>XDX`.%.].=Xt.w.q A gXUXIXSXu.ZXUX9XIXIXj @ w VXuX<XNX#XeX[.",
+"*.U.>XCX&X%.S.e.q.w.p X.bXGXLXi.o 1.6Xy ZXIX5.+ 0.kX[.z.Z.VXuXX.",
+") -.>XVX&X;.S.{ } q.6 Q nXxXFXA.u 6XFX9XIXIXe.4 DXGXVXwX%XCXB.o.",
+") =.>XkX&Xg.F.6.q.D.}.j.).lXbXLXIXFXFXIXIXIXi.D LXcXVXwXwXc.c.,.",
+"%.:.>XkX&Xn.{.7.q.IX(.M h.fXfXxXVXFXFXAXLXIXA.y.DXuXvXaXz.%X#Xd.",
+"%.*.>XkX'.].a.d t.MX9.F fX|..XfXlXJ.y.1.l y.A.J.CXuXVX-Xc.#Xm.(.",
+"*.%._.hX4Xm.b F 7X[ p S.:X).|. Xp.` qXu.>   z VXjXuXcX%X(a)Xc.}.L.",
+"%.%.!.>XhXX.v O.7X' k 8.;XfX(.^.6 2.ZX0X;   z FXeXkX-X1Xo.wX}.U.",
+"( / W.*X,X$.I Q w.r._ e.;XfX.XL.3 O 1.IX>   0.DXyXeX$XB.b aXgXL.",
+"( ~ v.*X'.{.G.w.XXr.' | }.].}..Xp.$ o u.u X 6XVXuXG.Z.l.l.rXbXI.",
+"~ ~ ;.2X!.}.rXe.oXw.' 8.'._.(.gXP.U n : * 9 ZXVXuXdX-XeX:X<XxXI.",
+"Y Y &.2X'._.kXJ.} XXg ` /.n.P.gXW c J 5 & 0 yXjXiXAXVXuX;X<XcXL.",
+"L Y ;.~.&XW.3XV.3.+X' r R R.j..Xp.x x < @ p yX`.`.{.;X=X`.`.cX.X",
+"J U ;.~.'.].3X[.6.oX[ f 0 #.( f.[.7 t - X j DXuXuXyX;X_.n.d.xXgX",
+"J U ;.~.!./.5XD.r.oX` q 4 T Y E rXT t 1 + G CX-XeXuXeX=Xm.n.dXxX",
+"U U ;.Q.!.P.].{ q.OX` q w Y L P rXbXe & # N '.`.eXuXyX,X_.E.vXD.",
+"J J @.<.T.g.p.[ 6.7X' q m B J B }.lXS % # A >.>.d.v.n._.;XeXjX] ",
+"x x ..<.*.( / k ` r. .q m P J p.nX.XS.2 # 9.&X`._.d.%.W A /.S.C ",
+"t t L +.U B m f g } q.f N B P fXGX(.|.2 @ 9.&X_.;X=XW.>.S (.k.C "
+};
diff --git a/debian/rules b/debian/rules
old mode 100644
new mode 100755
index cbe925d..c5accbe
--- a/debian/rules
+++ b/debian/rules
@@ -1,3 +1,12 @@
 #!/usr/bin/make -f
+
 %:
 	dh $@
+
+override_dh_auto_configure:
+	./bootstrap
+	dh_auto_configure -- --enable-scribo --libexecdir=/usr/lib
+
+override_dh_auto_install:
+	dh_auto_install
+	find $(CURDIR)/debian/tmp -type d -empty -delete
\ No newline at end of file
-- 
1.7.2.5
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    22 Aug '12
                    
                        	* doc/Makefile.am,
	* doc/header.html,
	* doc/mainpage.dox: Fix paths and disable the use of installdox
	(deprecated)
	* doc/doxygen.css,
	* doc/footer.html: Fix footer.
---
 ChangeLog        |   12 ++++++++++++
 doc/Makefile.am  |    8 ++------
 doc/doxygen.css  |    5 +++++
 doc/footer.html  |    3 ++-
 doc/header.html  |    2 +-
 doc/mainpage.dox |   10 ++++------
 6 files changed, 26 insertions(+), 14 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 5593360..e4ae60d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2012-02-28  Guillaume Lazzara  <z(a)lrde.epita.fr>
+
+	Fix links and location of documentation.
+
+	* doc/Makefile.am,
+	* doc/header.html,
+	* doc/mainpage.dox: Fix paths and disable the use of installdox
+	(deprecated)
+
+	* doc/doxygen.css,
+	* doc/footer.html: Fix footer.
+
 2012-01-30  Guillaume Lazzara  <z(a)lrde.epita.fr>
 
 	* build-aux/texi2dvi: Fix Dash incompatibility.
diff --git a/doc/Makefile.am b/doc/Makefile.am
index f5ff45d..2c9e81b 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -118,6 +118,8 @@ $(srcdir)/user-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
 	$(MAKE) $(AM_MAKE_FLAGS) $(DOXYFILE_USER)
 	$(DOXYGEN) $(DOXYFILE_USER)
 	rm -rf $(srcdir)/$(USER_REFMAN)
+## Fix path to the main page of the documentation.
+	sed -i -e "s,\@relcommondocpath\@,,g" $(USER_REFMAN).tmp/html/index.html
 ## FIXME: Moving directories between file systems is not portable.
 	mv $(USER_REFMAN).tmp $(srcdir)/$(USER_REFMAN)
 	@mv -f $@.tmp $@
@@ -204,12 +206,6 @@ install-data-local:
 #
 #	rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)
 	cp -r $(srcdir)/$(USER_REFMAN)/html $(DESTDIR)$(htmldir)/$(USER_REFMAN)
-# Update paths to milena documentation directory
-	$(DESTDIR)$(htmldir)/$(USER_REFMAN)/installdox \
-		-l milena.tag@$(DESTDIR)$(htmldir)/$(USER_REFMAN)/milena \
-		 `find $(DESTDIR)$(htmldir)/$(USER_REFMAN)/ -name '*.html'` \
-		-l scribo.tag@$(DESTDIR)$(htmldir)/$(USER_REFMAN)/scribo \
-		 `find $(DESTDIR)$(htmldir)/$(USER_REFMAN)/ -name '*.html'`
 ## Try GNU chmod's X mode before resorting to something slower but
 ## more standard.
 	chmod -R a+rX $(DESTDIR)$(htmldir) || \
diff --git a/doc/doxygen.css b/doc/doxygen.css
index bed4d81..83f13a4 100644
--- a/doc/doxygen.css
+++ b/doc/doxygen.css
@@ -861,3 +861,8 @@ table.itable td
     font-size: 17px;
     vertical-align: top;
 }
+
+address.div
+{
+    font-size: 10px;
+}
\ No newline at end of file
diff --git a/doc/footer.html b/doc/footer.html
index d0e98ec..e09f03e 100644
--- a/doc/footer.html
+++ b/doc/footer.html
@@ -1,5 +1,6 @@
 <hr class="footer"/><address class="footer"><small>
-<span style="position:absolute;text-align:left;">Copyright (C) 2011 EPITA Research and Development Laboratory (LRDE)</span><span align='right'>Olena 2.0</span>
+<div style="position:absolute;text-align:left;">Copyright (C) 2011 EPITA Research and Development Laboratory (LRDE)</div>
+<div align='right'>Olena 2.0</div>
 </small></address>
 </body>
 </html>
diff --git a/doc/header.html b/doc/header.html
index a94502d..6c5cf96 100644
--- a/doc/header.html
+++ b/doc/header.html
@@ -17,7 +17,7 @@ $mathjax
  <tbody>
  <tr style="height: 56px;">
   <!--BEGIN PROJECT_LOGO-->
-  <td id="projectlogo"><a href="$relpath$index.html"><img alt="Logo" src="$relpath$$projectlogo"></a></td>
+  <td id="projectlogo"><a href="@relcommondocpath@$relpath$index.html"><img alt="Logo" src="$relpath$$projectlogo"></a></td>
   <!--END PROJECT_LOGO-->
   <!--BEGIN PROJECT_NAME-->
   <td style="padding-left: 0.5em;">
diff --git a/doc/mainpage.dox b/doc/mainpage.dox
index 0f682c7..e293b4c 100644
--- a/doc/mainpage.dox
+++ b/doc/mainpage.dox
@@ -1,10 +1,9 @@
-/** \mainpage Documentation of Olena
+/** \mainpage Olena Reference Documentation
+
 
     <center>
-    <h1>Olena Reference Documentation</h1>
 
     <table class="doxtable itable">
-
     <tr>
       <th>General Presentation</th>
       <th>Modules</th>
@@ -20,8 +19,8 @@
       </td>
       <td>
         \li \ref moduleslist
-    	\li <a class="el" doxygen="milena.tag:../../../milena/doc/user-refman/html" href="../../../milena/doc/user-refman/html/index.html">Milena</a>
-    	\li <a class="el" doxygen="scribo.tag:../../../scribo/doc/user-refman/html" href="../../../scribo/doc/user-refman/html/index.html">Scribo</a>
+    	\li <a class="el" href="../../milena/user-refman/html/index.html">Milena</a>
+    	\li <a class="el" href="../../scribo/user-refman/html/index.html">Scribo</a>
     	\li Swilena
       </td>
       <td>
@@ -54,7 +53,6 @@
     	\li Olena Powered Programs
       </td>
     </tr>
-
     </table>
 
     </center>
-- 
1.7.2.5
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            olena-2.0-99-g7956704 doc/Makefile.am: Disable the	use of installdox and fix doc location.
                        
                        
by Guillaume Lazzara 22 Aug '12
                    by Guillaume Lazzara 22 Aug '12
22 Aug '12
                    
                        ---
 milena/ChangeLog       |    5 +++++
 milena/doc/Makefile.am |   31 +++++++++++++++++++------------
 2 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index db74c75..32b7764 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,8 @@
+2012-02-28  Guillaume Lazzara  <z(a)lrde.epita.fr>
+
+	* doc/Makefile.am: Disable the use of installdox and fix doc
+	location.
+
 2012-02-27  Guillaume Lazzara  <z(a)lrde.epita.fr>
 
 	Fix compilation.
diff --git a/milena/doc/Makefile.am b/milena/doc/Makefile.am
index be34a97..321d926 100644
--- a/milena/doc/Makefile.am
+++ b/milena/doc/Makefile.am
@@ -245,6 +245,9 @@ $(srcdir)/user-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
 ## Check some files before deeming the output as acceptable.
 	test -f $(USER_REFMAN).tmp/latex/refman.tex
 	rm -rf $(srcdir)/$(USER_REFMAN)
+## Fix path to the main page of the documentation.
+	sed -i -e "s,\@relcommondocpath\@,../../../user-refman/html/,g" \
+		$(USER_REFMAN).tmp/html/index.html
 ## FIXME: Moving directories between file systems is not portable.
 	mv $(USER_REFMAN).tmp $(srcdir)/$(USER_REFMAN)
 	@mv -f $@.tmp $@
@@ -324,6 +327,9 @@ $(srcdir)/devel-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
 ## Check some files before deeming the output as acceptable.
 	test -f $(DEVEL_REFMAN).tmp/latex/refman.tex
 	rm -rf $(srcdir)/$(DEVEL_REFMAN)
+## Fix path to the main page of the documentation.
+	sed -i -e "s,\@relcommondocpath\@,../,g" \
+		$(DEVEL_REFMAN).tmp/html/index.html
 ## FIXME: Moving directories between file systems is not portable.
 	mv $(DEVEL_REFMAN).tmp $(srcdir)/$(DEVEL_REFMAN)
 	@mv -f $@.tmp $@
@@ -742,28 +748,29 @@ DATA_html_dirs_inst = $(WHITE_PAPER)
 # .../srcdoc", which installs our dir into the previous one, instead
 # of replacing it.
 install-data-local:
-	$(mkdir_p) $(DESTDIR)$(htmldir)/$(USER_REFMAN)
+	$(mkdir_p) $(DESTDIR)$(htmldir)/milena/$(USER_REFMAN)
 # The user reference manual is located in a subdirectory, hence this
 # special case.
-	rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)/milena
-	cp -r $(srcdir)/$(USER_REFMAN)/html $(DESTDIR)$(htmldir)/$(USER_REFMAN)/milena
+	rm -rf $(DESTDIR)$(htmldir)/milena/$(USER_REFMAN)/html
+	cp -r $(srcdir)/$(USER_REFMAN)/html $(DESTDIR)$(htmldir)/milena/$(USER_REFMAN)
 # Other HTML directories can be processed uniformly.
-	for d in $(DATA_html_dirs_inst); do			\
-	  rm -rf $(DESTDIR)$(htmldir)/$$d;		\
-	  cp -r $(srcdir)/$$d $(DESTDIR)$(htmldir);	\
+	for d in $(DATA_html_dirs_inst); do			 \
+	  rm -rf $(DESTDIR)$(htmldir)/milena/$$d;	 \
+	  cp -r $(srcdir)/$$d $(DESTDIR)$(htmldir)/milena/;\
 	done
 ## Try GNU chmod's X mode before resorting to something slower but
 ## more standard.
-	chmod -R a+rX $(DESTDIR)$(htmldir) || \
-	find $(DESTDIR)$(htmldir) \( -type d -a -exec chmod a+rx {} \; \) \
+	chmod -R a+rX $(DESTDIR)$(htmldir)/milena/ || \
+	find $(DESTDIR)$(htmldir)/milena/ \( -type d -a -exec chmod a+rx {} \; \) \
              -o -exec chmod a+r {} \;
 
 uninstall-local:
 	for d in $(DATA_html_dirs_inst); do			\
-	  chmod -R 700 $(DESTDIR)$(htmldir)/$$d;	\
-	  rm -rf $(DESTDIR)$(htmldir)/$$d;		\
+	  chmod -R 700 $(DESTDIR)$(htmldir)/milena/$$d;	\
+	  rm -rf $(DESTDIR)$(htmldir)/milena/$$d;	\
 	done
 # Same remark as above regarding the special case of the user
 # reference manual.
-	chmod -R 700 $(DESTDIR)$(htmldir)/$(USER_REFMAN)/milena
-	rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)/milena
+	chmod -R 700 $(DESTDIR)$(htmldir)/milena/$(USER_REFMAN)
+	rm -rf $(DESTDIR)$(htmldir)/milena/$(USER_REFMAN)
+	rm -rf $(DESTDIR)$(htmldir)/milena
-- 
1.7.2.5
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            olena-2.0-100-g23044b4 Disable the use of	installdox and fix doc location.
                        
                        
by Guillaume Lazzara 22 Aug '12
                    by Guillaume Lazzara 22 Aug '12
22 Aug '12
                    
                        	* doc/Makefile.am,
	* doc/Doxyfile.in: Here.
---
 scribo/ChangeLog       |    7 +++++++
 scribo/doc/Doxyfile.in |    2 +-
 scribo/doc/Makefile.am |   33 ++++++++++++++++++---------------
 3 files changed, 26 insertions(+), 16 deletions(-)
diff --git a/scribo/ChangeLog b/scribo/ChangeLog
index e8364b3..f8ef215 100644
--- a/scribo/ChangeLog
+++ b/scribo/ChangeLog
@@ -1,3 +1,10 @@
+2012-02-28  Guillaume Lazzara  <z(a)lrde.epita.fr>
+
+	Disable the use of installdox and fix doc location.
+
+	* doc/Makefile.am,
+	* doc/Doxyfile.in: Here.
+
 2012-02-27  Guillaume Lazzara  <z(a)lrde.epita.fr>
 
 	* src/debug/show_lines_boldness.cc: Use mln::math::round as a
diff --git a/scribo/doc/Doxyfile.in b/scribo/doc/Doxyfile.in
index eb103cd..dd1bf26 100644
--- a/scribo/doc/Doxyfile.in
+++ b/scribo/doc/Doxyfile.in
@@ -332,7 +332,7 @@ SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
 # Configuration::additions related to external references
 #---------------------------------------------------------------------------
-TAGFILES               = @builddir@/../../milena/doc/milena.tag=../../../../milena/doc/user-refman/html
+TAGFILES               = @builddir@/../../milena/doc/milena.tag=../../../milena/user-refman/html
 GENERATE_TAGFILE       = scribo.tag
 ALLEXTERNALS           = NO
 EXTERNAL_GROUPS        = NO
diff --git a/scribo/doc/Makefile.am b/scribo/doc/Makefile.am
index 1c4e081..db72cdd 100644
--- a/scribo/doc/Makefile.am
+++ b/scribo/doc/Makefile.am
@@ -97,6 +97,9 @@ $(srcdir)/user-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
 ## Check some files before deeming the output as acceptable.
 	test -f $(USER_REFMAN).tmp/latex/refman.tex
 	rm -rf $(srcdir)/$(USER_REFMAN)
+## Fix path to the main page of the documentation.
+	sed -i -e "s,\@relcommondocpath\@,../../../user-refman/html/,g" \
+		$(USER_REFMAN).tmp/html/index.html
 ## FIXME: Moving directories between file systems is not portable.
 	mv $(USER_REFMAN).tmp $(srcdir)/$(USER_REFMAN)
 	@mv -f $@.tmp $@
@@ -176,6 +179,9 @@ $(srcdir)/devel-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
 ## Check some files before deeming the output as acceptable.
 	test -f $(DEVEL_REFMAN).tmp/latex/refman.tex
 	rm -rf $(srcdir)/$(DEVEL_REFMAN)
+## Fix path to the main page of the documentation.
+	sed -i -e "s,\@relcommondocpath\@,../,g" \
+		$(DEVEL_REFMAN).tmp/html/index.html
 ## FIXME: Moving directories between file systems is not portable.
 	mv $(DEVEL_REFMAN).tmp $(srcdir)/$(DEVEL_REFMAN)
 	@mv -f $@.tmp $@
@@ -221,33 +227,30 @@ maintainer-clean-local:
 # .../srcdoc", which installs our dir into the previous one, instead
 # of replacing it.
 install-data-local:
-	$(mkdir_p) $(DESTDIR)$(htmldir)/$(USER_REFMAN)
+	$(mkdir_p) $(DESTDIR)$(htmldir)/scribo/$(USER_REFMAN)
 # The user reference manual is located in a subdirectory, hence this
 # special case.
-	rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)/scribo
+	rm -rf $(DESTDIR)$(htmldir)/scribo/$(USER_REFMAN)/html
 	cp -r $(srcdir)/$(USER_REFMAN)/html \
-		$(DESTDIR)$(htmldir)/$(USER_REFMAN)/scribo
-# Update paths to milena documentation directory
-	$(DESTDIR)$(htmldir)/$(USER_REFMAN)/scribo/installdox \
-		-l milena.tag@$(DESTDIR)$(htmldir)/$(USER_REFMAN)/milena \
-		 `find $(DESTDIR)$(htmldir)/$(USER_REFMAN)/scribo/ -name '*.html'`
+		$(DESTDIR)$(htmldir)/scribo/$(USER_REFMAN)
 # Other HTML directories can be processed uniformly.
 	for d in $(DATA_html_dirs_inst); do			\
-	  rm -rf $(DESTDIR)$(htmldir)/$$d;		\
-	  cp -r $(srcdir)/$$d $(DESTDIR)$(htmldir);	\
+	  rm -rf $(DESTDIR)$(htmldir)/scribo/$$d;	\
+	  cp -r $(srcdir)/$$d $(DESTDIR)$(htmldir)/scribo;\
 	done
 ## Try GNU chmod's X mode before resorting to something slower but
 ## more standard.
-	chmod -R a+rX $(DESTDIR)$(htmldir) || \
-	find $(DESTDIR)$(htmldir) \( -type d -a -exec chmod a+rx {} \; \) \
+	chmod -R a+rX $(DESTDIR)$(htmldir)/scribo || \
+	find $(DESTDIR)$(htmldir)/scribo \( -type d -a -exec chmod a+rx {} \; \) \
              -o -exec chmod a+r {} \;
 
 uninstall-local:
 	for d in $(DATA_html_dirs_inst); do			\
-	  chmod -R 700 $(DESTDIR)$(htmldir)/$$d;	\
-	  rm -rf $(DESTDIR)$(htmldir)/$$d;		\
+	  chmod -Rf 700 $(DESTDIR)$(htmldir)/scribo/$$d;	\
+	  rm -rf $(DESTDIR)$(htmldir)/scribo/$$d;		\
 	done
 # Same remark as above regarding the special case of the user
 # reference manual.
-	chmod -R 700 $(DESTDIR)$(htmldir)/$(USER_REFMAN)/scribo
-	rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)/scribo
+	chmod -Rf 700 $(DESTDIR)$(htmldir)/scribo/
+	rm -rf $(DESTDIR)$(htmldir)/scribo/$(USER_REFMAN)
+	rm -rf $(DESTDIR)$(htmldir)/scribo
-- 
1.7.2.5
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        ---
 milena/doc/Doxyfile.in       |    3 +
 milena/doc/DoxygenLayout.xml |   32 +++++++-----
 milena/doc/Makefile.am       |    6 +-
 milena/doc/doxyfuns.sty      |  108 ++++++++++++++++++++++++++++--------------
 scribo/doc/DoxygenLayout.xml |   32 +++++++-----
 scribo/doc/Makefile.am       |    6 +-
 6 files changed, 117 insertions(+), 70 deletions(-)
diff --git a/milena/doc/Doxyfile.in b/milena/doc/Doxyfile.in
index 4b44d80..181f887 100644
--- a/milena/doc/Doxyfile.in
+++ b/milena/doc/Doxyfile.in
@@ -48,6 +48,9 @@ BUILTIN_STL_SUPPORT    = YES
 IDL_PROPERTY_SUPPORT   = NO
 DISTRIBUTE_GROUP_DOC   = NO
 SUBGROUPING            = YES
+INLINE_GROUPED_CLASSES = YES
+SORT_GROUP_NAMES       = YES
+TYPEDEF_HIDES_STRUCT   = YES
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
diff --git a/milena/doc/DoxygenLayout.xml b/milena/doc/DoxygenLayout.xml
index ff1e5e4..8d23146 100644
--- a/milena/doc/DoxygenLayout.xml
+++ b/milena/doc/DoxygenLayout.xml
@@ -2,24 +2,24 @@
   <!-- Navigation index tabs for HTML output -->
   <navindex>
     <tab type="mainpage" visible="yes" title="Milena"/>
-    <tab type="pages" visible="yes" title=""/>
-    <tab type="modules" visible="yes" title=""/>
+    <tab type="pages" visible="yes" title="" intro=""/>
+    <tab type="modules" visible="yes" title="" intro=""/>
     <tab type="namespaces" visible="yes" title="">
-      <tab type="namespaces" visible="yes" title=""/>
-      <tab type="namespacemembers" visible="yes" title=""/>
+      <tab type="namespacelist" visible="yes" title="" intro=""/>
+      <tab type="namespacemembers" visible="yes" title="" intro=""/>
     </tab>
     <tab type="classes" visible="yes" title="">
-      <tab type="classes" visible="yes" title=""/>
+      <tab type="classlist" visible="yes" title="" intro=""/>
       <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
-      <tab type="hierarchy" visible="yes" title=""/>
-      <tab type="classmembers" visible="yes" title=""/>
+      <tab type="hierarchy" visible="yes" title="" intro=""/>
+      <tab type="classmembers" visible="yes" title="" intro=""/>
     </tab>
     <tab type="files" visible="yes" title="">
-      <tab type="files" visible="yes" title=""/>
-      <tab type="globals" visible="yes" title=""/>
+      <tab type="filelist" visible="yes" title="" intro=""/>
+      <tab type="globals" visible="yes" title="" intro=""/>
     </tab>
-    <tab type="dirs" visible="yes" title=""/>
-    <tab type="examples" visible="yes" title=""/>
+    <tab type="dirs" visible="yes" title="" intro=""/>
+    <tab type="examples" visible="yes" title="" intro=""/>
   </navindex>
 
   <!-- Layout definition for a class page -->
@@ -63,6 +63,7 @@
     </memberdecl>
     <detaileddescription title=""/>
     <memberdef>
+      <inlineclasses title=""/>
       <typedefs title=""/>
       <enums title=""/>
       <constructors title=""/>
@@ -90,6 +91,7 @@
     </memberdecl>
     <detaileddescription title=""/>
     <memberdef>
+      <inlineclasses title=""/>
       <typedefs title=""/>
       <enums title=""/>
       <functions title=""/>
@@ -117,6 +119,7 @@
     </memberdecl>
     <detaileddescription title=""/>
     <memberdef>
+      <inlineclasses title=""/>
       <defines title=""/>
       <typedefs title=""/>
       <enums title=""/>
@@ -131,11 +134,11 @@
     <briefdescription visible="yes"/>
     <groupgraph visible="$GROUP_GRAPHS"/>
     <memberdecl>
-      <classes visible="yes" title=""/>
-      <namespaces visible="yes" title=""/>
-      <dirs visible="yes" title=""/>
       <nestedgroups visible="yes" title=""/>
+      <dirs visible="yes" title=""/>
       <files visible="yes" title=""/>
+      <namespaces visible="yes" title=""/>
+      <classes visible="yes" title=""/>
       <defines title=""/>
       <typedefs title=""/>
       <enums title=""/>
@@ -154,6 +157,7 @@
     <detaileddescription title=""/>
     <memberdef>
       <pagedocs/>
+      <inlineclasses title=""/>
       <defines title=""/>
       <typedefs title=""/>
       <enums title=""/>
diff --git a/milena/doc/Makefile.am b/milena/doc/Makefile.am
index 321d926..1761308 100644
--- a/milena/doc/Makefile.am
+++ b/milena/doc/Makefile.am
@@ -246,8 +246,8 @@ $(srcdir)/user-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
 	test -f $(USER_REFMAN).tmp/latex/refman.tex
 	rm -rf $(srcdir)/$(USER_REFMAN)
 ## Fix path to the main page of the documentation.
-	sed -i -e "s,\@relcommondocpath\@,../../../user-refman/html/,g" \
-		$(USER_REFMAN).tmp/html/index.html
+	sed -i -e "s,\@relcommondocpath\@,$(DESTDIR)$(htmldir)/$(USER_REFMAN)/html/,g" \
+		`find $(USER_REFMAN).tmp -name '*.html'`
 ## FIXME: Moving directories between file systems is not portable.
 	mv $(USER_REFMAN).tmp $(srcdir)/$(USER_REFMAN)
 	@mv -f $@.tmp $@
@@ -328,7 +328,7 @@ $(srcdir)/devel-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
 	test -f $(DEVEL_REFMAN).tmp/latex/refman.tex
 	rm -rf $(srcdir)/$(DEVEL_REFMAN)
 ## Fix path to the main page of the documentation.
-	sed -i -e "s,\@relcommondocpath\@,../,g" \
+	sed -i -e "s,\@relcommondocpath\@,$(DESTDIR)$(htmldir)/$(DEVEL_REFMAN)/html/,g" \
 		$(DEVEL_REFMAN).tmp/html/index.html
 ## FIXME: Moving directories between file systems is not portable.
 	mv $(DEVEL_REFMAN).tmp $(srcdir)/$(DEVEL_REFMAN)
diff --git a/milena/doc/doxyfuns.sty b/milena/doc/doxyfuns.sty
index cd8d8bf..aa4cb02 100644
--- a/milena/doc/doxyfuns.sty
+++ b/milena/doc/doxyfuns.sty
@@ -24,11 +24,14 @@
 % #2 - sub page title.
 \newcommand{\doxychapter}[2]{%
 \label{#1}
-\backslash endhtmlonly%
+\backslash endhtmlonly
+%
 */
 /*!
-\backslash page #1 #2%
-\backslash htmlonly %
+\backslash page #1 #2
+%
+\backslash htmlonly
+%
 }
 
 % #1 - section ref name (one word in lower case).
@@ -36,58 +39,79 @@
 \newcommand{\doxysection}[2]{%
 \vspace{1cm}
 \label{#1}
-\backslash endhtmlonly%
-\backslash section #1 #2%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash section #1 #2
+%
+\backslash htmlonly
+%
 }
 
 % #1 - subsection name (one word in lower case).
 % #2 - subsection title.
 \newcommand{\doxysubsection}[2]{%
 \label{#1}
-\backslash endhtmlonly%
-\backslash subsection #1 #2%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash subsection #1 #2
+%
+\backslash htmlonly
+%
 }
 
 % #1 - subsubsection name (one word in lower case).
 % #2 - subsubsection title.
 \newcommand{\doxysubsubsection}[2]{%
 \label{#1}
-\backslash endhtmlonly%
-\backslash subsubsection #1 #2%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash subsubsection #1 #2
+%
+\backslash htmlonly
+%
 }
 
 % #1 - part number (Optional).
 % #2 - sample file name.
 \newcommand{\doxycode}[2][1]{
-\backslash endhtmlonly%
-\backslash include #2-#1.cc.raw%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash include #2-#1.cc.raw
+%
+\backslash htmlonly
+%
 }
 
 % #1 - sample file name.
 \newcommand{\doxyrawcode}[1]{
-\backslash endhtmlonly%
-\backslash include #1.cc.raw%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash include #1.cc.raw
+%
+\backslash htmlonly
+%
 }
 
 % #1 - output file name.
 \newcommand{\doxyoutput}[1]{
-\backslash endhtmlonly%
-\backslash include #1.txt%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash include #1.txt
+%
+\backslash htmlonly
+%
 }
 
 % Include file '#1' from a split output.
 % #1 - part number (Optional).
 % #2 - sample file name.
 \newcommand{\doxymoutput}[2][1]{
-\backslash endhtmlonly%
-\backslash include #2-#1.txt%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash include #2-#1.txt
+%
+\backslash htmlonly
+%
 }
 
 % Include an output image.
@@ -95,34 +119,46 @@
 % #2 - related sample file name.
 % #3 - Size of the picture (Latex ONLY)
 \newcommand{\doxyfigure}[3][1]{
-\backslash endhtmlonly%
-\backslash image html #2-#1.png%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash image html #2-#1.png
+%
+\backslash htmlonly
+%
 }
 
 % Include an image from located in one of the path specified in IMAGE_PATH.
 % #1 - image name.
 % #2 - Size of the picture (Latex ONLY)
 \newcommand{\doxyimg}[2]{
-\backslash endhtmlonly%
-\backslash image html #1.png%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash image html #1.png
+%
+\backslash htmlonly
+%
 }
 
 % Refer to a chapter, section...
 % #1 - the reference name.
 \newcommand{\doxyref}[1]{
-\backslash endhtmlonly%
-\backslash ref #1%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash ref #1
+%
+\backslash htmlonly
+%
 }
 
 % Refers to classes, functions, methods, variables files or URL.
 % #1 - the reference name.
 \newcommand{\doxysee}[1]{
-\backslash endhtmlonly%
-\backslash see #1%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash see #1
+%
+\backslash htmlonly
+%
 }
 
 \newcommand{\tutotoc}[2]{%
diff --git a/scribo/doc/DoxygenLayout.xml b/scribo/doc/DoxygenLayout.xml
index ac34f54..e9d1901 100644
--- a/scribo/doc/DoxygenLayout.xml
+++ b/scribo/doc/DoxygenLayout.xml
@@ -2,24 +2,24 @@
   <!-- Navigation index tabs for HTML output -->
   <navindex>
     <tab type="mainpage" visible="yes" title="Scribo"/>
-    <tab type="pages" visible="yes" title=""/>
-    <tab type="modules" visible="yes" title=""/>
+    <tab type="pages" visible="yes" title="" intro=""/>
+    <tab type="modules" visible="yes" title="" intro=""/>
     <tab type="namespaces" visible="yes" title="">
-      <tab type="namespaces" visible="yes" title=""/>
-      <tab type="namespacemembers" visible="yes" title=""/>
+      <tab type="namespacelist" visible="yes" title="" intro=""/>
+      <tab type="namespacemembers" visible="yes" title="" intro=""/>
     </tab>
     <tab type="classes" visible="yes" title="">
-      <tab type="classes" visible="yes" title=""/>
+      <tab type="classlist" visible="yes" title="" intro=""/>
       <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
-      <tab type="hierarchy" visible="yes" title=""/>
-      <tab type="classmembers" visible="yes" title=""/>
+      <tab type="hierarchy" visible="yes" title="" intro=""/>
+      <tab type="classmembers" visible="yes" title="" intro=""/>
     </tab>
     <tab type="files" visible="yes" title="">
-      <tab type="files" visible="yes" title=""/>
-      <tab type="globals" visible="yes" title=""/>
+      <tab type="filelist" visible="yes" title="" intro=""/>
+      <tab type="globals" visible="yes" title="" intro=""/>
     </tab>
-    <tab type="dirs" visible="yes" title=""/>
-    <tab type="examples" visible="yes" title=""/>
+    <tab type="dirs" visible="yes" title="" intro=""/>
+    <tab type="examples" visible="yes" title="" intro=""/>
   </navindex>
 
   <!-- Layout definition for a class page -->
@@ -63,6 +63,7 @@
     </memberdecl>
     <detaileddescription title=""/>
     <memberdef>
+      <inlineclasses title=""/>
       <typedefs title=""/>
       <enums title=""/>
       <constructors title=""/>
@@ -90,6 +91,7 @@
     </memberdecl>
     <detaileddescription title=""/>
     <memberdef>
+      <inlineclasses title=""/>
       <typedefs title=""/>
       <enums title=""/>
       <functions title=""/>
@@ -117,6 +119,7 @@
     </memberdecl>
     <detaileddescription title=""/>
     <memberdef>
+      <inlineclasses title=""/>
       <defines title=""/>
       <typedefs title=""/>
       <enums title=""/>
@@ -131,11 +134,11 @@
     <briefdescription visible="yes"/>
     <groupgraph visible="$GROUP_GRAPHS"/>
     <memberdecl>
-      <classes visible="yes" title=""/>
-      <namespaces visible="yes" title=""/>
-      <dirs visible="yes" title=""/>
       <nestedgroups visible="yes" title=""/>
+      <dirs visible="yes" title=""/>
       <files visible="yes" title=""/>
+      <namespaces visible="yes" title=""/>
+      <classes visible="yes" title=""/>
       <defines title=""/>
       <typedefs title=""/>
       <enums title=""/>
@@ -154,6 +157,7 @@
     <detaileddescription title=""/>
     <memberdef>
       <pagedocs/>
+      <inlineclasses title=""/>
       <defines title=""/>
       <typedefs title=""/>
       <enums title=""/>
diff --git a/scribo/doc/Makefile.am b/scribo/doc/Makefile.am
index db72cdd..9cbe355 100644
--- a/scribo/doc/Makefile.am
+++ b/scribo/doc/Makefile.am
@@ -98,8 +98,8 @@ $(srcdir)/user-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
 	test -f $(USER_REFMAN).tmp/latex/refman.tex
 	rm -rf $(srcdir)/$(USER_REFMAN)
 ## Fix path to the main page of the documentation.
-	sed -i -e "s,\@relcommondocpath\@,../../../user-refman/html/,g" \
-		$(USER_REFMAN).tmp/html/index.html
+	sed -i -e "s,\@relcommondocpath\@,$(DESTDIR)$(htmldir)/$(USER_REFMAN)/html/,g" \
+		`find $(USER_REFMAN).tmp -name '*.html'`
 ## FIXME: Moving directories between file systems is not portable.
 	mv $(USER_REFMAN).tmp $(srcdir)/$(USER_REFMAN)
 	@mv -f $@.tmp $@
@@ -180,7 +180,7 @@ $(srcdir)/devel-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
 	test -f $(DEVEL_REFMAN).tmp/latex/refman.tex
 	rm -rf $(srcdir)/$(DEVEL_REFMAN)
 ## Fix path to the main page of the documentation.
-	sed -i -e "s,\@relcommondocpath\@,../,g" \
+	sed -i -e "s,\@relcommondocpath\@,$(DESTDIR)$(htmldir)/$(DEVEL_REFMAN)/html/,g" \
 		$(DEVEL_REFMAN).tmp/html/index.html
 ## FIXME: Moving directories between file systems is not portable.
 	mv $(DEVEL_REFMAN).tmp $(srcdir)/$(DEVEL_REFMAN)
-- 
1.7.2.5
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        ---
 milena/doc/Doxyfile.in                 | 1773 +++++++++++++++++++++++++++++---
 milena/doc/DoxygenLayout.xml           |    1 -
 milena/mln/core/internal/image_base.hh |   42 +-
 3 files changed, 1660 insertions(+), 156 deletions(-)
diff --git a/milena/doc/Doxyfile.in b/milena/doc/Doxyfile.in
index 181f887..9b1cfd6 100644
--- a/milena/doc/Doxyfile.in
+++ b/milena/doc/Doxyfile.in
@@ -1,255 +1,1533 @@
-# Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
-# Development Laboratory (LRDE)
-#
-# This file is part of Olena.
-#
-# Olena is free software: you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation, version 2 of the License.
-#
-# Olena is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Olena.  If not, see <http://www.gnu.org/licenses/>.
+# Doxyfile 1.8.0-20120409
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project.
 #
-# Doxyfile 1.5.1
+# All text after a hash (#) is considered a comment and will be ignored.
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ").
 
 #---------------------------------------------------------------------------
 # Project related configuration options
 #---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING      = UTF-8
+
+# The PROJECT_NAME tag is a single word (or sequence of words) that should
+# identify the project. Note that if you do not use Doxywizard you need
+# to put quotes around the project name if it contains spaces.
+
 PROJECT_NAME           = "Milena"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
 PROJECT_NUMBER         = "@PACKAGE_VERSION@"
-PROJECT_BRIEF	       = "An Image Processing Platform"
-PROJECT_LOGO 	       = @top_srcdir@/doc/images/logo.jpg
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
+# for a project that appears at the top of each page and should give viewer
+# a quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF          = "An Image Processing Platform"
+
+# With the PROJECT_LOGO tag one can specify an logo or icon that is
+# included in the documentation. The maximum height of the logo should not
+# exceed 55 pixels and the maximum width should not exceed 200 pixels.
+# Doxygen will copy the logo to the output directory.
+
+PROJECT_LOGO           = @top_srcdir@/doc/images/logo.jpg
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
 OUTPUT_DIRECTORY       = @builddir@/user-refman.tmp
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
 CREATE_SUBDIRS         = YES
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
 OUTPUT_LANGUAGE        = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
 BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
 REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
 ABBREVIATE_BRIEF       =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
 ALWAYS_DETAILED_SEC    = YES
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
 INLINE_INHERITED_MEMB  = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
 FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
 STRIP_FROM_PATH        = @top_srcdir@/milena
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
 STRIP_FROM_INC_PATH    =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful if your file system
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
 SHORT_NAMES            = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
 JAVADOC_AUTOBRIEF      = YES
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF           = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
 MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
 INHERIT_DOCS           = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
 SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
 TAB_SIZE               = 8
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
 ALIASES                =
+
+# This tag can be used to specify a number of word-keyword mappings (TCL only).
+# A mapping has the form "name=value". For example adding
+# "class=itcl::class" will allow you to use the command class in the
+# itcl::class meaning.
+
+TCL_SUBST              =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
 OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
 OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN   = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL   = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this
+# tag. The format is ext=language, where ext is a file extension, and language
+# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
+# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
+# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
+# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
+# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING      =
+
+# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all
+# comments according to the Markdown format, which allows for more readable
+# documentation. See http://daringfireball.net/projects/markdown/ for details.
+# The output of markdown processing is further processed by doxygen, so you
+# can mix doxygen, HTML, and XML commands with Markdown formatting.
+# Disable only in case of backward compatibilities issues.
+
+MARKDOWN_SUPPORT       = YES
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also makes the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
 BUILTIN_STL_SUPPORT    = YES
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT        = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT            = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
 IDL_PROPERTY_SUPPORT   = NO
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
 DISTRIBUTE_GROUP_DOC   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
 SUBGROUPING            = YES
-INLINE_GROUPED_CLASSES = YES
-SORT_GROUP_NAMES       = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
+# unions are shown inside the group in which they are included (e.g. using
+# @ingroup) instead of on a separate page (for HTML and Man pages) or
+# section (for LaTeX and RTF).
+
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
+# unions with only public data fields will be shown inline in the documentation
+# of the scope in which they are defined (i.e. file, namespace, or group
+# documentation), provided this scope is documented. If set to NO (the default),
+# structs, classes, and unions are shown on a separate page (for HTML and Man
+# pages) or section (for LaTeX and RTF).
+
+INLINE_SIMPLE_STRUCTS  = NO
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
 TYPEDEF_HIDES_STRUCT   = YES
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penalty.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will roughly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols.
+
+SYMBOL_CACHE_SIZE      = 0
+
+# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
+# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
+# their name and scope. Since this can be an expensive process and often the
+# same symbol appear multiple times in the code, doxygen keeps a cache of
+# pre-resolved symbols. If the cache is too small doxygen will become slower.
+# If the cache is too large, memory is wasted. The cache size is given by this
+# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols.
+
+LOOKUP_CACHE_SIZE      = 0
+
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
 EXTRACT_ALL            = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
 EXTRACT_PRIVATE        = NO
+
+# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation.
+
+EXTRACT_PACKAGE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
 EXTRACT_STATIC         = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
 EXTRACT_LOCAL_CLASSES  = NO
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
 EXTRACT_LOCAL_METHODS  = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespaces are hidden.
+
+EXTRACT_ANON_NSPACES   = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
 HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = YES
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
 HIDE_FRIEND_COMPOUNDS  = YES
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
 HIDE_IN_BODY_DOCS      = YES
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
 INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
 CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
 HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
 SHOW_INCLUDE_FILES     = YES
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
+# will list include files with double quotes in the documentation
+# rather than with sharp brackets.
+
+FORCE_LOCAL_INCLUDES   = NO
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
 INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
 SORT_MEMBER_DOCS       = YES
-SORT_MEMBERS_CTORS_1ST = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
 SORT_BRIEF_DOCS        = YES
-SORT_BY_SCOPE_NAME     = YES
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
+# will sort the (brief and detailed) documentation of class members so that
+# constructors and destructors are listed first. If set to NO (the default)
+# the constructors will appear in the respective orders defined by
+# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
+# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
+# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = YES
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES       = YES
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
+# do proper type resolution of all parameters of a function it will reject a
+# match between the prototype and the implementation of a member function even
+# if there is only one candidate or it is obvious which candidate to choose
+# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
+# will still accept a match between prototype and implementation in such cases.
+
+STRICT_PROTO_MATCHING  = YES
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
 GENERATE_TODOLIST      = NO
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
 GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
 GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
 GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
 ENABLED_SECTIONS       =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or macro consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and macros in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
 MAX_INITIALIZER_LINES  = 30
-SHOW_USED_FILES        = NO # Disabled for light doc
-SHOW_DIRECTORIES       = NO # Disabled for light doc
-SHOW_FILES	       = NO # Disabled for light doc
-SHOW_NAMESPACES	       = YES
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = NO
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES             = NO
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page.
+# This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES        = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
 FILE_VERSION_FILTER    =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. The create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option.
+# You can optionally specify a file name after the option, if omitted
+# DoxygenLayout.xml will be used as the name of the layout file.
+
+LAYOUT_FILE            = @top_srcdir@/milena/doc/DoxygenLayout.xml
+
+# The CITE_BIB_FILES tag can be used to specify one or more bib files
+# containing the references data. This must be a list of .bib files. The
+# .bib extension is automatically appended if omitted. Using this command
+# requires the bibtex tool to be installed. See also
+# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
+# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
+# feature you need bibtex and perl available in the search path.
+
+CITE_BIB_FILES         = @abs_top_srcdir@/doc/doc.bib
+
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
 QUIET                  = YES
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
 WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
 WARN_IF_UNDOCUMENTED   = NO
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
 WARN_IF_DOC_ERROR      = YES
+
+# The WARN_NO_PARAMDOC option can be enabled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
 WARN_NO_PARAMDOC       = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
 WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
 WARN_LOGFILE           =
+
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
 INPUT                  = @top_srcdir@/milena
-FILE_PATTERNS          = *.cc	\
-                         *.hh	\
-                         *.hxx	\
-                         *.hcc	\
-			 *.dox
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING         = ISO-8859-1
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
+# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
+# *.f90 *.f *.for *.vhd *.vhdl
+
+FILE_PATTERNS          = *.cc \
+                         *.hh \
+                         *.hxx \
+                         *.hcc \
+                         *.dox
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
 RECURSIVE              = YES
-EXCLUDE                = @top_srcdir@/milena/sandbox			\
-                         @top_srcdir@/milena/trash			\
+
+# The EXCLUDE tag can be used to specify files and/or directories that should be
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+# Note that relative paths are relative to the directory from which doxygen is
+# run.
+
+EXCLUDE                = @top_srcdir@/milena/sandbox \
+                         @top_srcdir@/milena/trash \
                          @top_srcdir@/milena/mln/core/concept/proxy.hxx \
-                         @top_srcdir@/milena/doc/examples/trash		\
-                         @top_srcdir@/milena/doc/user-refman 		\
-                         @top_srcdir@/milena/doc/devel-refman		\
+                         @top_srcdir@/milena/doc/examples/trash \
+                         @top_srcdir@/milena/doc/user-refman \
+                         @top_srcdir@/milena/doc/devel-refman \
                          @top_srcdir@/milena/tests/unit_test
+
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+
 EXCLUDE_SYMLINKS       = YES
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
 EXCLUDE_PATTERNS       = *spe.hh
-EXCLUDE_SYMBOLS	       = *_ 				\
-			 *_dispatch			\
-			 mln::trait::*			\
-			 trait::* 			\
-			 mln::*<void>			\
-			 mln::*< void >			\
-			 numeric_limits 		\
-		 	 subject_impl			\
-			 subject_point_impl		\
-			 check_t 			\
-			 ret				\
-			 It 				\
-			 eval 				\
-			 is_a				\
-			 composition_unary_impl_helper 	\
-			 image_base			\
-			 binary_impl			\
-			 unary_impl			\
-			 proxy_impl			\
-			 T
-EXAMPLE_PATH           = @top_srcdir@/milena/doc/examples	    \
-			 @top_srcdir@/milena/doc/outputs	    \
-			 @top_srcdir@/milena/doc/examples/split	    \
-			 @top_srcdir@/milena/doc/outputs/split
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS        =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH           = @top_srcdir@/milena/doc/examples \
+                         @top_srcdir@/milena/doc/outputs \
+                         @top_srcdir@/milena/doc/examples/split \
+                         @top_srcdir@/milena/doc/outputs/split
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
 EXAMPLE_PATTERNS       = *.cc \
-		       	 *.cc.raw \
-			 *.txt
+                         *.cc.raw \
+                         *.txt
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
 EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = @top_srcdir@/milena/doc/img	       \
-			 @top_srcdir@/milena/doc/figures
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH             = @top_srcdir@/milena/doc/img \
+                         @top_srcdir@/milena/doc/figures
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+# If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
 INPUT_FILTER           =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.
+# Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.
+# The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty or if
+# non of the patterns match the file name, INPUT_FILTER is applied.
+
 FILTER_PATTERNS        =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
 FILTER_SOURCE_FILES    = NO
-INPUT_ENCODING         = ISO-8859-1
-CITE_BIB_FILES 	       = @abs_top_srcdir@/doc/doc.bib
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
+# and it is also possible to disable source filtering for a specific pattern
+# using *.ext= (so without naming a filter). This option only has effect when
+# FILTER_SOURCE_FILES is enabled.
+
+FILTER_SOURCE_PATTERNS =
+
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
 #---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
 SOURCE_BROWSER         = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
 INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
 STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
 REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
 REFERENCES_RELATION    = YES
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.
+# Otherwise they will link to the documentation.
+
 REFERENCES_LINK_SOURCE = NO
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html) You
+# will need version 4.8.6 or higher.
+
 USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
 VERBATIM_HEADERS       = YES
+
 #---------------------------------------------------------------------------
 # configuration options related to the alphabetical class index
 #---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
 ALPHABETICAL_INDEX     = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
 COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
 IGNORE_PREFIX          = mln::
+
 #---------------------------------------------------------------------------
 # configuration options related to the HTML output
 #---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
 GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
 HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
 HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header. Note that when using a custom header you are responsible
+#  for the proper inclusion of any scripts and style sheets that doxygen
+# needs, which is dependent on the configuration options used.
+# It is advised to generate a default header using "doxygen -w html
+# header.html footer.html stylesheet.css YourConfigFile" and then modify
+# that header. Note that the header is subject to change so you typically
+# have to redo this when upgrading to a newer version of doxygen or when
+# changing the value of configuration settings such as GENERATE_TREEVIEW!
+
 HTML_HEADER            = @top_srcdir@/doc/header.html
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
 HTML_FOOTER            = @top_srcdir@/doc/subdoc_footer.html
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# style sheet in the HTML output directory as well, or it will be erased!
+
 HTML_STYLESHEET        = @top_srcdir@/doc/doxygen.css
-LAYOUT_FILE            = @top_srcdir@/milena/doc/DoxygenLayout.xml
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the HTML output directory. Note
+# that these files will be copied to the base HTML output directory. Use the
+# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that
+# the files will be copied as-is; there are no commands or markers available.
+
+HTML_EXTRA_FILES       =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
+# Doxygen will adjust the colors in the style sheet and background images
+# according to this color. Hue is specified as an angle on a colorwheel,
+# see http://en.wikipedia.org/wiki/Hue for more information.
+# For instance the value 0 represents red, 60 is yellow, 120 is green,
+# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
+# The allowed range is 0 to 359.
+
+HTML_COLORSTYLE_HUE    = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
+# the colors in the HTML output. For a value of 0 the output will use
+# grayscales only. A value of 255 will produce the most vivid colors.
+
+HTML_COLORSTYLE_SAT    = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
+# the luminance component of the colors in the HTML output. Values below
+# 100 gradually make the output lighter, whereas values above 100 make
+# the output darker. The value divided by 100 is the actual gamma applied,
+# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
+# and 100 does not change the gamma.
+
+HTML_COLORSTYLE_GAMMA  = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting
+# this to NO can help when comparing the output of multiple runs.
+
+HTML_TIMESTAMP         = YES
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
 HTML_ALIGN_MEMBERS     = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS  = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
+
+GENERATE_DOCSET        = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+
+# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+
+# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
+
+DOCSET_PUBLISHER_NAME  = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
 GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
 CHM_FILE               =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
 HHC_LOCATION           =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
 GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING     =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
 BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
 TOC_EXPAND             = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
+# that can be used as input for Qt's qhelpgenerator to generate a
+# Qt Compressed Help (.qch) of the generated HTML documentation.
+
+GENERATE_QHP           = yes
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE               = "@builddir@/milena.qch"
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE          = "fr.epita.lrde.olena.milena"
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER     = "milena-2.0"
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
+# add. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME   =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
+# Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS  =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
+# Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS  =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION           = "qhelpgenerator"
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
+#  will be generated, which together with the HTML files, form an Eclipse help
+# plugin. To install this plugin and make it available under the help contents
+# menu in Eclipse, the contents of the directory containing the HTML and XML
+# files needs to be copied into the plugins directory of eclipse. The name of
+# the directory within the plugins directory should be the same as
+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
+# the help appears.
+
+GENERATE_ECLIPSEHELP   = NO
+
+# A unique identifier for the eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have
+# this name.
+
+ECLIPSE_DOC_ID         = org.doxygen.Project
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
+# at top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it. Since the tabs have the same information as the
+# navigation tree you can set this option to NO if you already set
+# GENERATE_TREEVIEW to YES.
+
 DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+# Since the tree basically has the same information as the tab index you
+# could consider to set DISABLE_INDEX to NO when enabling this option.
+
 GENERATE_TREEVIEW      = YES
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
+# (range [0,1..20]) that doxygen will group on one line in the generated HTML
+# documentation. Note that a value of 0 will completely suppress the enum
+# values from appearing in the overview section.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
 TREEVIEW_WIDTH         = 250
+
+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
+# links to external symbols imported via tag files in a separate window.
+
+EXT_LINKS_IN_WINDOW    = NO
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE       = 10
+
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are
+# not supported properly for IE 6.0, but are supported on all modern browsers.
+# Note that when changing this option you need to delete any form_*.png files
+# in the HTML output before the changes have effect.
+
+FORMULA_TRANSPARENT    = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
+# (see http://www.mathjax.org) which uses client side Javascript for the
+# rendering instead of using prerendered bitmaps. Use this if you do not
+# have LaTeX installed or if you want to formulas look prettier in the HTML
+# output. When enabled you may also need to install MathJax separately and
+# configure the path to it using the MATHJAX_RELPATH option.
+
+USE_MATHJAX            = NO
+
+# When MathJax is enabled you need to specify the location relative to the
+# HTML output directory using the MATHJAX_RELPATH option. The destination
+# directory should contain the MathJax.js script. For instance, if the mathjax
+# directory is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to
+# the MathJax Content Delivery Network so you can quickly see the result without
+# installing MathJax.
+# However, it is strongly recommended to install a local
+# copy of MathJax from http://www.mathjax.org before deployment.
+
+MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
+# names that should be enabled during MathJax rendering.
+
+MATHJAX_EXTENSIONS     =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box
+# for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using
+# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
+# (GENERATE_DOCSET) there is already a search function so this one should
+# typically be disabled. For large projects the javascript based search engine
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+
+SEARCHENGINE           = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a PHP enabled web server instead of at the web client
+# using Javascript. Doxygen will generate the search PHP script and index
+# file to put on the web server. The advantage of the server
+# based approach is that it scales better to large projects and allows
+# full text search. The disadvantages are that it is more difficult to setup
+# and does not have live searching capabilities.
+
+SERVER_BASED_SEARCH    = NO
+
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
 GENERATE_LATEX         = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
 LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+# Note that when enabling USE_PDFLATEX this option is only used for
+# generating bitmaps for formulas in the HTML output, but not in the
+# Makefile that is written to the output directory.
+
 LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
 MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
 COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, letter, legal and
+# executive. If left blank a4wide will be used.
+
 PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
 EXTRA_PACKAGES         =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
 LATEX_HEADER           =
+
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
+# the generated latex document. The footer should contain everything after
+# the last chapter. If it is left blank doxygen will generate a
+# standard footer. Notice: only use this tag if you know what you are doing!
+
+LATEX_FOOTER           =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
 PDF_HYPERLINKS         = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
 USE_PDFLATEX           = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
 LATEX_BATCHMODE        = YES
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
 LATEX_HIDE_INDICES     = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include
+# source code with syntax highlighting in the LaTeX output.
+# Note that which sources are shown also depends on other settings
+# such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE      = NO
+
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See
+# http://en.wikipedia.org/wiki/BibTeX for more info.
+
+LATEX_BIB_STYLE        = plain
+
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
 GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
 RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
 COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
 RTF_HYPERLINKS         = NO
+
+# Load style sheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
 RTF_STYLESHEET_FILE    =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
 RTF_EXTENSIONS_FILE    =
+
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
 GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
 MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
 MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
 MAN_LINKS              = NO
+
 #---------------------------------------------------------------------------
 # configuration options related to the XML output
 #---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
 GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
 XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
 XML_SCHEMA             =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
 XML_DTD                =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
 XML_PROGRAMLISTING     = YES
+
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
 #---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
 GENERATE_AUTOGEN_DEF   = NO
+
 #---------------------------------------------------------------------------
 # configuration options related to the Perl module output
 #---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
 GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
 PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.
+# This is useful
+# if you want to understand what is going on.
+# On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
 PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
 PERLMOD_MAKEVAR_PREFIX =
+
 #---------------------------------------------------------------------------
 # Configuration options related to the preprocessor
 #---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
 ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
 MACRO_EXPANSION        = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
 EXPAND_ONLY_PREDEF     = YES
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# pointed to by INCLUDE_PATH will be searched when a #include is found.
+
 SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
 INCLUDE_PATH           = "@boostcppflags@"
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
 INCLUDE_FILE_PATTERNS  =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
 PREDEFINED             = "for_all(x)=for(x.start(); x.is_valid(); x.next())" \
-			 "for_all_2(x1, x2)=for(x1.start(), x2.start();	x1.is_valid(); x1.next(), x2.next())" \
-			 "for_all_3(x1, x2, x3)=for(x1.start(), x2.start(), x3.start();	x1.is_valid(); x1.next(), x2.next(), x3.next())" \
-			 "for_all_remaining(x)=if (! x.is_valid()) {} else while (x.next(), x.is_valid())" \
-			 "mlc_unqualif(T)=typename mln::metal::unqualif<T>::ret" \
-			 "mlc_equal(T1,T2)=mln::metal::equal<T1,T2>" \
+                         "for_all_2(x1, x2)=for(x1.start(), x2.start();	x1.is_valid(); x1.next(), x2.next())" \
+                         "for_all_3(x1, x2, x3)=for(x1.start(), x2.start(), x3.start();	x1.is_valid(); x1.next(), x2.next(), x3.next())" \
+                         "for_all_remaining(x)=if (! x.is_valid()) {} else while (x.next(), x.is_valid())" \
+                         "mlc_unqualif(T)=typename mln::metal::unqualif<T>::ret" \
+                         "mlc_equal(T1,T2)=mln::metal::equal<T1,T2>" \
                          "mln_piter(T)=typename T::piter" \
                          "mln_fwd_piter(T)=typename T::fwd_piter" \
                          "mln_bkd_piter(T)=typename T::bkd_piter" \
@@ -284,8 +1562,8 @@ PREDEFINED             = "for_all(x)=for(x.start(); x.is_valid(); x.next())" \
                          "mln_trait_op_plus(L, R)=typename mln::trait::op::plus< L , R >::ret" \
                          "mln_trait_op_times(L, R)=typename mln::trait::op::times< L , R >::ret" \
                          "mln_trait_op_uminus(T)=typename mln::trait::op::uminus< T >::ret" \
-			 "mln_ch_value(I, V)=typename mln::trait::ch_value< I, V >::ret" \
-			 "mlc_unqualif_(T)=mln::metal::unqualif<T>::ret" \
+                         "mln_ch_value(I, V)=typename mln::trait::ch_value< I, V >::ret" \
+                         "mlc_unqualif_(T)=mln::metal::unqualif<T>::ret" \
                          "mln_piter_(T)=T::piter" \
                          "mln_fwd_piter_(T)=T::fwd_piter" \
                          "mln_bkd_piter_(T)=T::bkd_piter" \
@@ -319,91 +1597,318 @@ PREDEFINED             = "for_all(x)=for(x.start(); x.is_valid(); x.next())" \
                          "mln_trait_op_div_(L, R)=mln::trait::op::div< L , R >::ret" \
                          "mln_trait_op_mod_(L, R)=mln::trait::op::mod< L , R >::ret" \
                          "mln_trait_op_uminus_(T)=mln::trait::op::uminus< T >::ret" \
-			 "mln_ch_value_(I, V)=typename mln::trait::ch_value< I, V >::ret" \
-			 "mln_ch_value(I, V)_=mln::trait::ch_value< I, V >::ret" \
-			 "mln_morpher_lvalue(I)=typename internal::morpher_lvalue_<I>::ret" \
-			 "mln_concrete(I)=typename mln::trait::concrete< I >::ret" \
-			 "mln_concrete_ch_value(I, V)=typename mln::trait::ch_value< typename mln::trait::concrete< I >::ret, V >::ret" \
-			 "mlc_const(T)=typename mln::metal::const_< T >::ret" \
-			 "mlc_const_return(T)=typename mln::metal::const_return_< T >::ret" \
-			 "mln_element(T)=typename T::element" \
-			 "mln_element_(T)=T::element" \
-			 "mln_delta(T)=typename T::delta" \
-			 "mln_delta_(T)=T::delta" \
-			 "mln_dpoint(T)=typename T::dpoint" \
-			 "mln_dpoint_(T)=T::dpoint" \
-			 "mln_point(T)=typename T::point" \
-			 "mln_point_(T)=T::point" \
-			 "mln_gradient_component(I)=typename mln::trait::ch_value< I, mln::value::props< typename I::value >::sum >::ret" \
-			 "mln_gradient(I)=mln::value::stack_image< I::point::dim, mln::trait::ch_value< I, mln::value::props< typename I::value >::sum >::ret >" \
-			 "mln_trait_value_sum_product(T, U)=typename mln::trait::value_< mln_trait_op_times(T,U) >::sum" \
-			 "mln_sum_product(T, U)=typename mln::trait::value_< mln_trait_op_times(T,U) >::sum" \
-			 "mln_deduce(T, A1, A2)=typename T::A1::A2" \
-			 "mln_graph_element(T)=typename T::graph_element" \
-			 "mln_graph_element_(T)=T::graph_element" \
-			 "mln_fun_vv2v(F, L, R)=mln::fun::vv2v::F< mln_value(L), mln_value(R) >" \
-			 "mln_fun_vv2v_result(F, L, R)=typename mln_fun_vv2v(F, L, R)::result" \
-			 "mln_ch_fun_vv2v(F, L, R)=typename mln::trait::ch_value< L, typename mln_fun_vv2v(F, L, R)::result >::ret" \
-			 "mln_meta_accu_result(A, T)=typename mln::internal::meta_accu_ret_result_helper<A,T>::result" \
-			 "mln_meta_accu_result_(A, T)=mln::internal::meta_accu_ret_result_helper<A,T>::result" \
-			 "mln_q_subject(T)=typename T::q_subject" \
-			 "mln_q_subject(T)_=T::q_subject" \
-			 "mlc_is_a(T, M)=mln::metal::is_a<T, M>" \
-			 "mlc_is_a__1comma(Tleft, Tright, M)=mln::metal::is_a<Tleft, Tright, M>" \
-			 "mlc_is_not_a(T, M)=mln::metal::is_not_a< T, M >" \
-			 "mlc_converts_to(T, U)=mln::metal::converts_to< T, U >" \
-			 "mlc_not_equal(T1, T2)=mln::metal::not_equal< T1, T2 >" \
-			 "BOOST_PP_LOCAL_ITERATE()=<boost/preprocessor/iteration/detail/local.hpp>"
+                         "mln_ch_value_(I, V)=typename mln::trait::ch_value< I, V >::ret" \
+                         "mln_ch_value(I, V)_=mln::trait::ch_value< I, V >::ret" \
+                         "mln_morpher_lvalue(I)=typename internal::morpher_lvalue_<I>::ret" \
+                         "mln_concrete(I)=typename mln::trait::concrete< I >::ret" \
+                         "mln_concrete_ch_value(I, V)=typename mln::trait::ch_value< typename mln::trait::concrete< I >::ret, V >::ret" \
+                         "mlc_const(T)=typename mln::metal::const_< T >::ret" \
+                         "mlc_const_return(T)=typename mln::metal::const_return_< T >::ret" \
+                         "mln_element(T)=typename T::element" \
+                         "mln_element_(T)=T::element" \
+                         "mln_delta(T)=typename T::delta" \
+                         "mln_delta_(T)=T::delta" \
+                         "mln_dpoint(T)=typename T::dpoint" \
+                         "mln_dpoint_(T)=T::dpoint" \
+                         "mln_point(T)=typename T::point" \
+                         "mln_point_(T)=T::point" \
+                         "mln_gradient_component(I)=typename mln::trait::ch_value< I, mln::value::props< typename I::value >::sum >::ret" \
+                         "mln_gradient(I)=mln::value::stack_image< I::point::dim, mln::trait::ch_value< I, mln::value::props< typename I::value >::sum >::ret >" \
+                         "mln_trait_value_sum_product(T, U)=typename mln::trait::value_< mln_trait_op_times(T,U) >::sum" \
+                         "mln_sum_product(T, U)=typename mln::trait::value_< mln_trait_op_times(T,U) >::sum" \
+                         "mln_deduce(T, A1, A2)=typename T::A1::A2" \
+                         "mln_graph_element(T)=typename T::graph_element" \
+                         "mln_graph_element_(T)=T::graph_element" \
+                         "mln_fun_vv2v(F, L, R)=mln::fun::vv2v::F< mln_value(L), mln_value(R) >" \
+                         "mln_fun_vv2v_result(F, L, R)=typename mln_fun_vv2v(F, L, R)::result" \
+                         "mln_ch_fun_vv2v(F, L, R)=typename mln::trait::ch_value< L, typename mln_fun_vv2v(F, L, R)::result >::ret" \
+                         "mln_meta_accu_result(A, T)=typename mln::internal::meta_accu_ret_result_helper<A,T>::result" \
+                         "mln_meta_accu_result_(A, T)=mln::internal::meta_accu_ret_result_helper<A,T>::result" \
+                         "mln_q_subject(T)=typename T::q_subject" \
+                         "mln_q_subject(T)_=T::q_subject" \
+                         "mlc_is_a(T, M)=mln::metal::is_a<T, M>" \
+                         "mlc_is_a__1comma(Tleft, Tright, M)=mln::metal::is_a<Tleft, Tright, M>" \
+                         "mlc_is_not_a(T, M)=mln::metal::is_not_a< T, M >" \
+                         "mlc_converts_to(T, U)=mln::metal::converts_to< T, U >" \
+                         "mlc_not_equal(T1, T2)=mln::metal::not_equal< T1, T2 >" \
+                         "BOOST_PP_LOCAL_ITERATE()=<boost/preprocessor/iteration/detail/local.hpp>"
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition that
+# overrules the definition found in the source code.
 
 EXPAND_AS_DEFINED      =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all references to function-like macros
+# that are alone on a line, have an all uppercase name, and do not end with a
+# semicolon, because these will confuse the parser if not removed.
+
 SKIP_FUNCTION_MACROS   = YES
+
 #---------------------------------------------------------------------------
 # Configuration::additions related to external references
 #---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles. For each
+# tag file the location of the external documentation should be added. The
+# format of a tag file without this location is as follows:
+#
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths
+# or URLs. Note that each tag file must have a unique name (where the name does
+# NOT include the path). If a tag file is not located in the directory in which
+# doxygen is run, you must also specify the path to the tagfile here.
+
 TAGFILES               =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
 GENERATE_TAGFILE       = milena.tag
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
 ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
 EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
 PERL_PATH              = /usr/bin/perl
+
 #---------------------------------------------------------------------------
 # Configuration options related to the dot tool
 #---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option also works with HAVE_DOT disabled, but it is recommended to
+# install and use dot, since it yields more powerful graphs.
+
 CLASS_DIAGRAMS         = NO
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH            =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
 HIDE_UNDOC_RELATIONS   = NO
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
 HAVE_DOT               = YES
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
+# allowed to run in parallel. When set to 0 (the default) doxygen will
+# base this on the number of processors available in the system. You can set it
+# explicitly to a value larger than 0 to get control over the balance
+# between CPU load and processing speed.
+
+DOT_NUM_THREADS        = 0
+
+# By default doxygen will use the Helvetica font for all dot files that
+# doxygen generates. When you want a differently looking font you can specify
+# the font name using DOT_FONTNAME. You need to make sure dot is able to find
+# the font, which can be done by putting it in a standard location or by setting
+# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
+# directory containing the font.
+
+DOT_FONTNAME           = Helvetica
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE           = 10
+
+# By default doxygen will tell dot to use the Helvetica font.
+# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
+# set the path where dot can find it.
+
+DOT_FONTPATH           =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# CLASS_DIAGRAMS tag to NO.
+
 CLASS_GRAPH            = NO
-COLLABORATION_GRAPH    = NO # Disabled for light doc
-GROUP_GRAPHS           = NO # Disabled for light doc
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = NO
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS           = NO
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
 UML_LOOK               = NO
+
+# If the UML_LOOK tag is enabled, the fields and methods are shown inside
+# the class node. If there are many fields or methods and many nodes the
+# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS
+# threshold limits the number of items for each type to make the size more
+# managable. Set this to 0 for no limit. Note that the threshold may be
+# exceeded by 50% before the limit is enforced.
+
+UML_LIMIT_NUM_FIELDS   = 10
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
 TEMPLATE_RELATIONS     = NO
-INCLUDE_GRAPH          = NO # Disabled for light doc
-INCLUDED_BY_GRAPH      = NO # Disabled for light doc
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH          = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = NO
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
 CALL_GRAPH             = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
 CALLER_GRAPH           = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will generate a graphical hierarchy of all classes instead of a textual one.
+
 GRAPHICAL_HIERARCHY    = NO
-DIRECTORY_GRAPH        = NO # Disabled for light doc
+
+# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH        = NO
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are svg, png, jpg, or gif.
+# If left blank png will be used. If you choose svg you need to set
+# HTML_FILE_EXTENSION to xhtml in order to make the SVG files
+# visible in IE 9+ (other browsers do not have this requirement).
+
 DOT_IMAGE_FORMAT       = png
+
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
+# enable generation of interactive SVG images that allow zooming and panning.
+# Note that this requires a modern browser other than Internet Explorer.
+# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you
+# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files
+# visible. Older versions of IE do not have SVG support.
+
+INTERACTIVE_SVG        = NO
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
 DOT_PATH               =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
 DOTFILE_DIRS           =
+
+# The MSCFILE_DIRS tag can be used to specify one or more directories that
+# contain msc files that are included in the documentation (see the
+# \mscfile command).
+
+MSCFILE_DIRS           =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES    = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
 MAX_DOT_GRAPH_DEPTH    = 1000
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
 DOT_TRANSPARENT        = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
 DOT_MULTI_TARGETS      = NO
-GENERATE_LEGEND        = NO # Disabled for light doc
-DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-SEARCHENGINE           = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the Qt help engine
-#---------------------------------------------------------------------------
-GENERATE_QHP       = yes
-QHP_NAMESPACE      = "fr.epita.lrde.olena.milena"
-QHP_VIRTUAL_FOLDER = "milena-2.0"
-QCH_FILE 	   = "@builddir@/milena.qch"
-QHG_LOCATION       = "qhelpgenerator"
 
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = NO
 
-# Local Variables:
-# mode: Makefile
-# End:
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP            = YES
diff --git a/milena/doc/DoxygenLayout.xml b/milena/doc/DoxygenLayout.xml
index 8d23146..5559bca 100644
--- a/milena/doc/DoxygenLayout.xml
+++ b/milena/doc/DoxygenLayout.xml
@@ -18,7 +18,6 @@
       <tab type="filelist" visible="yes" title="" intro=""/>
       <tab type="globals" visible="yes" title="" intro=""/>
     </tab>
-    <tab type="dirs" visible="yes" title="" intro=""/>
     <tab type="examples" visible="yes" title="" intro=""/>
   </navindex>
 
diff --git a/milena/mln/core/internal/image_base.hh b/milena/mln/core/internal/image_base.hh
index afe3bfc..c9f76de 100644
--- a/milena/mln/core/internal/image_base.hh
+++ b/milena/mln/core/internal/image_base.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -44,18 +44,6 @@
 # include <mln/value/set.hh>
 # include <mln/value/super_value.hh>
 
-//              image_base
-//                   ^
-//                   |
-//       ---------------------------
-//      |                           |
-// image_primary               image_morpher
-//      ^                            ^
-//      |                            |
-//      |		     -----------------------------------------
-//	|		    |                    |                    |
-// pw_image_base    image_domain_morpher  image_value_morpher   image_identity
-
 
 namespace mln
 {
@@ -73,14 +61,27 @@ namespace mln
     };
 
 
-    /// \cond TEST
+    /*! \internal
+      \brief A base class for images.
+
+      Parameter \p T is the image value type.
+      Parameter \p S is the image site set type.
+
+      \verbatim
+                  image_base
+                       ^
+                       |
+           ---------------------------
+          |                           |
+     image_primary               image_morpher
+          ^                            ^
+          |                            |
+          |		     -----------------------------------------
+      	  | 		    |                    |                    |
+     pw_image_base    image_domain_morpher  image_value_morpher   image_identity
 
-    /// A base class for images.
-    ///
-    /// Parameter \p T is the image value type.
-    /// Parameter \p S is the image site set type.
-    ///
-    //
+     \endverbatim
+    */
     template <typename T, typename S, typename E>
     struct image_base
       :
@@ -165,7 +166,6 @@ namespace mln
       // Internal data, sharable by several images.
       util::tracked_ptr< internal::data<E> > data_;
     };
-    /// \endcond
 
 
 # ifndef MLN_INCLUDE_ONLY
-- 
1.7.2.5
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        ---
 milena/apps/graph-morpho/morpho.hh                 |   18 ++-
 milena/doc/Doxyfile.in                             |    4 +-
 milena/doc/DoxygenLayout.xml                       |   48 +++---
 milena/mln/accu/internal/couple.hh                 |   16 +-
 milena/mln/core/box_runend_piter.hh                |   13 +-
 milena/mln/core/box_runstart_piter.hh              |   13 +-
 milena/mln/core/concept/delta_point_site.hh        |   16 ++-
 milena/mln/core/concept/dpoint.hh                  |   25 ++--
 milena/mln/core/concept/function.hh                |    9 +-
 milena/mln/core/concept/gdpoint.hh                 |    9 +-
 milena/mln/core/concept/meta_accumulator.hh        |   32 ++--
 milena/mln/core/concept/neighborhood.hh            |   10 +-
 milena/mln/core/concept/pseudo_site.hh             |   13 +-
 milena/mln/core/concept/site.hh                    |    8 +-
 milena/mln/core/concept/site_proxy.hh              |    7 +-
 milena/mln/core/concept/site_set.hh                |   19 ++-
 milena/mln/core/dpoints_pixter.hh                  |   26 ++-
 milena/mln/core/dpsites_piter.hh                   |   28 ++--
 milena/mln/core/image/ch_piter.hh                  |    7 +-
 milena/mln/core/image/complex_image.hh             |   13 +-
 .../mln/core/image/complex_neighborhood_piter.hh   |   13 +-
 milena/mln/core/image/complex_window_piter.hh      |   14 +-
 milena/mln/core/image/dmorph/extended.hh           |    7 +-
 milena/mln/core/image/dmorph/extension_fun.hh      |    7 +-
 milena/mln/core/image/dmorph/extension_ima.hh      |    7 +-
 milena/mln/core/image/dmorph/extension_val.hh      |    7 +-
 milena/mln/core/image/dmorph/hexa.hh               |   14 +-
 milena/mln/core/image/dmorph/hexa_piter.hh         |   19 ++-
 milena/mln/core/image/dmorph/image2d_h.hh          |    3 +-
 milena/mln/core/image/dmorph/image_if.hh           |    8 +-
 milena/mln/core/image/dmorph/p2p_image.hh          |    8 +-
 milena/mln/core/image/dmorph/slice_image.hh        |    7 +-
 milena/mln/core/image/dmorph/sub_image.hh          |    7 +-
 milena/mln/core/image/dmorph/sub_image_if.hh       |    7 +-
 milena/mln/core/image/dmorph/transformed_image.hh  |    9 +-
 milena/mln/core/image/dmorph/unproject_image.hh    |    8 +-
 milena/mln/core/image/edge_image.hh                |    7 +-
 milena/mln/core/image/flat_image.hh                |    7 +-
 milena/mln/core/image/graph_window_if_piter.hh     |    8 +-
 milena/mln/core/image/graph_window_piter.hh        |   28 ++-
 milena/mln/core/image/image1d.hh                   |    9 +-
 milena/mln/core/image/image2d.hh                   |   22 ++-
 milena/mln/core/image/image3d.hh                   |    7 +-
 milena/mln/core/image/imorph/decorated_image.hh    |    8 +-
 milena/mln/core/image/imorph/interpolated.hh       |    7 +-
 milena/mln/core/image/imorph/labeled_image.hh      |    7 +-
 milena/mln/core/image/imorph/lazy_image.hh         |    8 +-
 milena/mln/core/image/imorph/plain.hh              |    9 +-
 milena/mln/core/image/imorph/safe.hh               |    9 +-
 milena/mln/core/image/imorph/tr_image.hh           |    8 +-
 milena/mln/core/image/vertex_image.hh              |    8 +-
 milena/mln/core/image/vmorph/cast_image.hh         |    7 +-
 milena/mln/core/image/vmorph/fun_image.hh          |    9 +-
 milena/mln/core/image/vmorph/thru_image.hh         |   14 +-
 milena/mln/core/image/vmorph/thrubin_image.hh      |    9 +-
 milena/mln/core/image/vmorph/violent_cast_image.hh |    9 +-
 milena/mln/core/internal/box_impl.hh               |   12 +-
 milena/mln/core/internal/check/image_fastest.hh    |    9 +-
 milena/mln/core/internal/classical_window_base.hh  |    8 +-
 .../mln/core/internal/complex_neighborhood_base.hh |   16 +-
 milena/mln/core/internal/complex_window_base.hh    |   24 ++-
 milena/mln/core/internal/complex_window_p_base.hh  |   24 ++-
 milena/mln/core/internal/fixme.hh                  |   12 +-
 milena/mln/core/internal/graph_psite_base.hh       |    9 +-
 milena/mln/core/internal/graph_window_base.hh      |   10 +-
 milena/mln/core/internal/image_base.hh             |   19 ++-
 milena/mln/core/internal/image_domain_morpher.hh   |   19 ++-
 milena/mln/core/internal/image_identity.hh         |   14 +-
 milena/mln/core/internal/image_morpher.hh          |   13 +-
 milena/mln/core/internal/image_primary.hh          |   10 +-
 milena/mln/core/internal/image_value_morpher.hh    |   14 +-
 .../mln/core/internal/is_masked_impl_selector.hh   |   21 ++-
 milena/mln/core/internal/labeled_image_base.hh     |   26 ++--
 milena/mln/core/internal/morpher_lvalue.hh         |   10 +-
 milena/mln/core/internal/neighb_base.hh            |   15 +-
 milena/mln/core/internal/neighb_niter_base.hh      |    9 +-
 milena/mln/core/internal/neighb_niter_impl.hh      |   97 +++++++----
 milena/mln/core/internal/neighborhood_base.hh      |   19 ++-
 milena/mln/core/internal/piter_adaptor.hh          |   15 +-
 milena/mln/core/internal/piter_identity.hh         |   15 +-
 milena/mln/core/internal/pixel_impl.hh             |   20 ++-
 milena/mln/core/internal/pixel_iterator_base.hh    |   18 ++-
 milena/mln/core/internal/pseudo_site_base.hh       |   13 +-
 milena/mln/core/internal/run_image.hh              |   16 +-
 milena/mln/core/internal/set_of.hh                 |   26 ++--
 .../core/internal/site_relative_iterator_base.hh   |   24 ++--
 milena/mln/core/internal/site_set_base.hh          |   18 ++-
 milena/mln/core/internal/site_set_iterator_base.hh |   20 ++-
 milena/mln/core/internal/weighted_window_base.hh   |   13 +-
 milena/mln/core/internal/window_base.hh            |   14 +-
 milena/mln/core/pixter1d.hh                        |   13 +-
 milena/mln/core/pixter2d.hh                        |   13 +-
 milena/mln/core/pixter3d.hh                        |   13 +-
 milena/mln/core/routine/ops.hh                     |   32 +++-
 .../core/site_set/attic/p_complex_faces_piter.hh   |   17 ++-
 milena/mln/core/site_set/attic/p_faces_piter.hh    |   17 ++-
 milena/mln/core/site_set/box_piter.hh              |   31 ++--
 milena/mln/core/site_set/complex_psite.hh          |    5 +-
 milena/mln/core/site_set/p_array.hh                |   20 ++-
 milena/mln/core/site_set/p_complex_piter.hh        |   12 +-
 milena/mln/core/site_set/p_edges_psite.hh          |    9 +-
 milena/mln/core/site_set/p_graph_piter.hh          |   13 +-
 milena/mln/core/site_set/p_if_piter.hh             |   21 ++-
 milena/mln/core/site_set/p_n_faces_piter.hh        |   22 ++-
 milena/mln/core/site_set/p_run_piter.hh            |   17 +-
 milena/mln/core/site_set/p_transformed_piter.hh    |   27 ++--
 milena/mln/core/site_set/p_vertices_psite.hh       |   10 +-
 milena/mln/fun/c.hh                                |   13 +-
 milena/mln/fun/internal/ch_function_value_impl.hh  |    8 +-
 milena/mln/fun/v2v/ch_function_value.hh            |    5 +-
 milena/mln/fun/x2x/composed.hh                     |   14 +-
 milena/mln/geom/complex_geometry.hh                |    9 +-
 milena/mln/labeling/blobs.hh                       |    8 +-
 milena/mln/labeling/blobs_and_compute.hh           |   11 +-
 milena/mln/metal/ands.hh                           |   10 +-
 milena/mln/metal/bexpr.hh                          |   31 +++-
 milena/mln/metal/bool.hh                           |   13 +-
 milena/mln/metal/converts_to.hh                    |    8 +-
 milena/mln/metal/equal.hh                          |   11 +-
 milena/mln/metal/goes_to.hh                        |   15 +-
 milena/mln/metal/if.hh                             |   13 +-
 milena/mln/metal/int.hh                            |    8 +-
 milena/mln/metal/is.hh                             |   11 +-
 milena/mln/metal/is_a.hh                           |   39 +++--
 milena/mln/metal/is_not.hh                         |   13 +-
 milena/mln/metal/is_not_a.hh                       |    8 +-
 milena/mln/pw/image.hh                             |    8 +-
 milena/mln/pw/internal/image_base.hh               |   13 +-
 .../topo/adj_higher_dim_connected_n_face_iter.hh   |   26 ++--
 milena/mln/topo/adj_higher_face_iter.hh            |   26 ++--
 .../topo/adj_lower_dim_connected_n_face_iter.hh    |   27 ++--
 milena/mln/topo/adj_lower_face_iter.hh             |   26 ++--
 milena/mln/topo/adj_lower_higher_face_iter.hh      |   25 ++-
 milena/mln/topo/adj_m_face_iter.hh                 |   33 +++--
 milena/mln/topo/attic/faces_iter.hh                |   25 ++-
 milena/mln/topo/center_only_iter.hh                |   35 ++--
 milena/mln/topo/centered_iter_adapter.hh           |   29 ++--
 milena/mln/topo/complex.hh                         |   88 ++++++----
 milena/mln/topo/face_data.hh                       |    5 +-
 milena/mln/topo/face_iter.hh                       |   25 ++-
 milena/mln/topo/internal/complex_iterator_base.hh  |   14 +-
 .../internal/complex_relative_iterator_base.hh     |   47 +++--
 .../internal/complex_relative_iterator_sequence.hh |   24 ++-
 .../mln/topo/internal/complex_set_iterator_base.hh |   13 +-
 milena/mln/topo/n_face_iter.hh                     |   24 ++-
 milena/mln/topo/static_n_face_iter.hh              |   31 ++--
 milena/mln/trait/ch_function_value.hh              |    5 +-
 milena/mln/trait/image/props.hh                    |   13 +-
 milena/mln/trait/images.hh                         |    4 +-
 milena/mln/trait/neighborhood.hh                   |   30 +++-
 milena/mln/trait/promote.hh                        |   17 ++-
 milena/mln/trait/site_set/props.hh                 |  180 ++++++++++++-------
 milena/mln/trait/site_sets.hh                      |   26 ++-
 milena/mln/trait/solve.hh                          |   22 ++-
 milena/mln/trait/window/props.hh                   |   73 +++++++--
 milena/mln/trait/windows.hh                        |   29 ++-
 milena/mln/util/branch_iter.hh                     |   17 +-
 milena/mln/util/branch_iter_ind.hh                 |   17 +-
 milena/mln/util/edge.hh                            |    5 +-
 milena/mln/util/graph.hh                           |    9 +-
 milena/mln/util/internal/edge_impl.hh              |   32 ++---
 milena/mln/util/internal/graph_base.hh             |    7 +-
 milena/mln/util/internal/graph_iter.hh             |   27 ++-
 milena/mln/util/internal/vertex_impl.hh            |   27 +--
 milena/mln/util/lemmings.hh                        |    6 +-
 milena/mln/util/line_graph.hh                      |    7 +-
 milena/mln/util/site_pair.hh                       |    9 +-
 milena/mln/util/vertex.hh                          |    7 +-
 milena/mln/value/internal/value_like.hh            |   15 +-
 milena/mln/value/stack.hh                          |    8 +-
 milena/mln/value/viter.hh                          |   23 ++-
 171 files changed, 1927 insertions(+), 1073 deletions(-)
diff --git a/milena/apps/graph-morpho/morpho.hh b/milena/apps/graph-morpho/morpho.hh
index bcdcdd9..c1e8484 100644
--- a/milena/apps/graph-morpho/morpho.hh
+++ b/milena/apps/graph-morpho/morpho.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
 //
 // This file is part of Olena.
 //
@@ -68,7 +69,10 @@
 
 namespace trait
 {
-  /// Graph traits.
+  /*!
+    \internal
+    \brief Graph traits.
+  */
   template <typename I>
   struct graph
   {
@@ -89,7 +93,10 @@ namespace trait
   // Graph traits for (mln::image2d-based) cubical 2-complexes.  //
   // ----------------------------------------------------------- //
 
-  /// Graph traits for mln::image2d.
+  /*!
+    \internal
+    \brief Graph traits for mln::image2d.
+  */
   template <typename T>
   struct graph< mln::image2d<T> >
   {
@@ -128,7 +135,10 @@ namespace trait
   // Graph traits for (general) 1-complexes.  //
   // ---------------------------------------- //
 
-  /// Graph traits for 1-complexes images.
+  /*!
+    \internal
+    \brief Graph traits for 1-complexes images.
+  */
   template <typename G, typename V>
   struct graph< mln::complex_image<1, G, V> >
   {
diff --git a/milena/doc/Doxyfile.in b/milena/doc/Doxyfile.in
index 9b1cfd6..6ebdcf4 100644
--- a/milena/doc/Doxyfile.in
+++ b/milena/doc/Doxyfile.in
@@ -564,7 +564,7 @@ SHOW_FILES             = NO
 # This will remove the Namespaces entry from the Quick Index
 # and from the Folder Tree View (if specified). The default is YES.
 
-SHOW_NAMESPACES        = YES
+SHOW_NAMESPACES        = NO
 
 # The FILE_VERSION_FILTER tag can be used to specify a program or script that
 # doxygen should invoke to get the current version for each file (typically from
@@ -859,7 +859,7 @@ ALPHABETICAL_INDEX     = YES
 # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
 # in which this list will be split (can be a number in the range [1..20])
 
-COLS_IN_ALPHA_INDEX    = 5
+COLS_IN_ALPHA_INDEX    = 2
 
 # In case all classes in a project start with a common prefix, all
 # classes will be put under the same header in the alphabetical index.
diff --git a/milena/doc/DoxygenLayout.xml b/milena/doc/DoxygenLayout.xml
index 5559bca..05f050a 100644
--- a/milena/doc/DoxygenLayout.xml
+++ b/milena/doc/DoxygenLayout.xml
@@ -2,23 +2,31 @@
   <!-- Navigation index tabs for HTML output -->
   <navindex>
     <tab type="mainpage" visible="yes" title="Milena"/>
-    <tab type="pages" visible="yes" title="" intro=""/>
-    <tab type="modules" visible="yes" title="" intro=""/>
-    <tab type="namespaces" visible="yes" title="">
-      <tab type="namespacelist" visible="yes" title="" intro=""/>
-      <tab type="namespacemembers" visible="yes" title="" intro=""/>
+    <tab type="pages" visible="no" title="" intro=""/>
+    <tab type="usergroup" url="@ref mainpage" title="Getting started">
+      <tab type="user" url="@ref quickref" title="Quick Reference Guide"/>
+      <tab type="user" url="@ref tutorial" title="Tutorial"/>
     </tab>
-    <tab type="classes" visible="yes" title="">
-      <tab type="classlist" visible="yes" title="" intro=""/>
+    <tab type="modules" visible="yes" title="API Reference Manual" intro=""/>
+    <tab type="namespaces" visible="no" title="">
+      <tab type="namespacelist" visible="no" title="" intro=""/>
+      <tab type="namespacemembers" visible="no" title="" intro=""/>
+    </tab>
+    <tab type="classindex" visible="$ALPHABETICAL_INDEX" title="All Classes"/>
+    <tab type="classes" visible="no" title="">
+      <tab type="classlist" visible="no" title="" intro=""/>
       <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
-      <tab type="hierarchy" visible="yes" title="" intro=""/>
-      <tab type="classmembers" visible="yes" title="" intro=""/>
+      <tab type="hierarchy" visible="no" title="" intro=""/>
+      <tab type="classmembers" visible="no" title="" intro=""/>
     </tab>
-    <tab type="files" visible="yes" title="">
+    <tab type="files" visible="no" title="">
       <tab type="filelist" visible="yes" title="" intro=""/>
       <tab type="globals" visible="yes" title="" intro=""/>
     </tab>
-    <tab type="examples" visible="yes" title="" intro=""/>
+    <tab type="examples" visible="yes" title="Examples" intro=""/>
+    <tab type="user" url="@ref examples" title="Examples"/>
+    <tab type="user" url="@ref demos" title="Demos"/>
+    <tab type="user" url="http://www.lrde.epita.fr/cgi-bin/twiki/view/Olena/Publications" title="Publications"/>
   </navindex>
 
   <!-- Layout definition for a class page -->
@@ -29,20 +37,20 @@
     <collaborationgraph visible="$COLLABORATION_GRAPH"/>
     <allmemberslink visible="yes"/>
     <memberdecl>
-      <nestedclasses visible="yes" title=""/>
-      <publictypes title=""/>
-      <publicslots title=""/>
-      <signals title=""/>
       <publicmethods title=""/>
       <publicstaticmethods title=""/>
       <publicattributes title=""/>
       <publicstaticattributes title=""/>
-      <protectedtypes title=""/>
-      <protectedslots title=""/>
       <protectedmethods title=""/>
       <protectedstaticmethods title=""/>
       <protectedattributes title=""/>
       <protectedstaticattributes title=""/>
+      <publictypes title=""/>
+      <publicslots title=""/>
+      <protectedtypes title=""/>
+      <protectedslots title=""/>
+      <nestedclasses visible="yes" title=""/>
+      <signals title=""/>
       <packagetypes title=""/>
       <packagemethods title=""/>
       <packagestaticmethods title=""/>
@@ -62,15 +70,15 @@
     </memberdecl>
     <detaileddescription title=""/>
     <memberdef>
-      <inlineclasses title=""/>
-      <typedefs title=""/>
-      <enums title=""/>
       <constructors title=""/>
       <functions title=""/>
       <related title=""/>
       <variables title=""/>
       <properties title=""/>
       <events title=""/>
+      <inlineclasses title=""/>
+      <typedefs title=""/>
+      <enums title=""/>
     </memberdef>
     <usedfiles visible="$SHOW_USED_FILES"/>
     <authorsection visible="yes"/>
diff --git a/milena/mln/accu/internal/couple.hh b/milena/mln/accu/internal/couple.hh
index 55c6cc4..2e861b3 100644
--- a/milena/mln/accu/internal/couple.hh
+++ b/milena/mln/accu/internal/couple.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
 //
 // This file is part of Olena.
 //
@@ -47,11 +48,14 @@ namespace mln
     namespace internal
     {
 
-      /// Base implementation of a couple of accumulators.
-      ///
-      /// The parameter \c T is the type of values.
-      ///
-      /// \todo Check that, when T is not provided, A1 and A2 have the same value.
+      /*!
+	\internal
+	\brief Base implementation of a couple of accumulators.
+
+        The parameter \c T is the type of values.
+
+        \todo Check that, when T is not provided, A1 and A2 have the same value.
+      */
       template <typename A1, typename A2, typename R, typename E>
       class couple
         : public base<R,E>,
diff --git a/milena/mln/core/box_runend_piter.hh b/milena/mln/core/box_runend_piter.hh
index e40760f..fdb886f 100644
--- a/milena/mln/core/box_runend_piter.hh
+++ b/milena/mln/core/box_runend_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
 //
 // This file is part of Olena.
 //
@@ -41,10 +42,12 @@
 namespace mln
 {
 
-  /*! \brief A generic backward iterator on points by lines.
-   *
-   * The parameter \c P is the type of points.
-   */
+  /*!
+    \internal
+    \brief A generic backward iterator on points by lines.
+
+    The parameter \c P is the type of points.
+  */
   template <typename P>
   class box_runend_piter :
     public internal::site_set_iterator_base< box<P>,
diff --git a/milena/mln/core/box_runstart_piter.hh b/milena/mln/core/box_runstart_piter.hh
index d031a2b..dec4a42 100644
--- a/milena/mln/core/box_runstart_piter.hh
+++ b/milena/mln/core/box_runstart_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -41,10 +42,12 @@
 namespace mln
 {
 
-  /*! \brief A generic forward iterator on points by lines.
-   *
-   * The parameter \c P is the type of points.
-   */
+  /*!
+    \internal
+    \brief A generic forward iterator on points by lines.
+
+    The parameter \c P is the type of points.
+  */
   template <typename P>
   class box_runstart_piter :
     public internal::site_set_iterator_base< box<P>,
diff --git a/milena/mln/core/concept/delta_point_site.hh b/milena/mln/core/concept/delta_point_site.hh
index 693320f..b7107a9 100644
--- a/milena/mln/core/concept/delta_point_site.hh
+++ b/milena/mln/core/concept/delta_point_site.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -65,7 +66,10 @@ namespace mln
 
 
 
-  /// Delta point site category flag type.
+  /*!
+    \internal
+    \brief Delta point site category flag type.
+  */
   template <>
   struct Delta_Point_Site<void>
   {
@@ -73,8 +77,10 @@ namespace mln
   };
 
 
-  /*! \brief FIXME: Doc!
-   */
+  /*!
+    \internal
+    \brief FIXME: Doc!
+  */
   template <typename E>
   struct Delta_Point_Site : public Object<E>
   {
@@ -101,7 +107,7 @@ namespace mln
   // Operators.
 
   template <typename D>
-  std::ostream& 
+  std::ostream&
   operator<<(std::ostream& ostr, const Delta_Point_Site<D>& dp);
 
 
diff --git a/milena/mln/core/concept/dpoint.hh b/milena/mln/core/concept/dpoint.hh
index 80f8ae6..7b2fa39 100644
--- a/milena/mln/core/concept/dpoint.hh
+++ b/milena/mln/core/concept/dpoint.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -49,16 +50,18 @@ namespace mln
   };
 
 
-  /*! \brief Base class for implementation of delta-point classes.
-   *
-   * A delta-point is a vector defined by a couple of points.
-   *
-   * Given two points, A and B, the vector AB is mapped into the
-   * delta-point D = AB.  Practically one can write: D = B - A.   
-   *
-   * \see mln::doc::Dpoint for a complete documentation of this class
-   * contents.
-   */
+  /*!
+    \internal
+    \brief Base class for implementation of delta-point classes.
+
+    A delta-point is a vector defined by a couple of points.
+
+    Given two points, A and B, the vector AB is mapped into the
+    delta-point D = AB.  Practically one can write: D = B - A.
+
+    \see mln::doc::Dpoint for a complete documentation of this class
+    contents.
+  */
   template <typename E>
   struct Dpoint : public Delta_Point_Site<E>
   {
diff --git a/milena/mln/core/concept/function.hh b/milena/mln/core/concept/function.hh
index 22e338e..361c893 100644
--- a/milena/mln/core/concept/function.hh
+++ b/milena/mln/core/concept/function.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -46,7 +46,10 @@ namespace mln
   template <typename E> struct Function_vv2b;
 
 
-  /// Function category flag type.
+  /*!
+    \internal
+    \brief Function category flag type.
+  */
   template <>
   struct Function<void>
   {
diff --git a/milena/mln/core/concept/gdpoint.hh b/milena/mln/core/concept/gdpoint.hh
index 722db89..9e10105 100644
--- a/milena/mln/core/concept/gdpoint.hh
+++ b/milena/mln/core/concept/gdpoint.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -83,7 +83,10 @@ namespace mln
 
 
 
-  /// Delta point site category flag type.
+  /*!
+    \internal
+    \brief Delta point site category flag type.
+  */
   template <>
   struct Gdpoint<void>
   {
diff --git a/milena/mln/core/concept/meta_accumulator.hh b/milena/mln/core/concept/meta_accumulator.hh
index f00a0c6..c86bde5 100644
--- a/milena/mln/core/concept/meta_accumulator.hh
+++ b/milena/mln/core/concept/meta_accumulator.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -62,9 +62,11 @@ namespace mln
   namespace internal
   {
 
-    /// Make the type resolution easier for the compiler.
-    /// Introduced for ICC compatibility.
-    //
+    /*!
+      \internal
+      \brief Make the type resolution easier for the compiler.
+      Introduced for ICC compatibility.
+    */
     template <typename A, typename T>
     struct meta_accu_ret_result_helper
     {
@@ -72,9 +74,11 @@ namespace mln
     };
 
 
-    /// Make the type resolution easier for the compiler.
-    /// Introduced for ICC compatibility.
-    //
+    /*!
+      \internal
+      \brief Make the type resolution easier for the compiler.
+      Introduced for ICC compatibility.
+    */
     template <typename A, typename T>
     struct accu_with_helper
     {
@@ -92,12 +96,14 @@ namespace mln
     typedef Object<void> super;
   };
 
-  /*! \brief Base class for implementation of meta accumulators.
-   *
-   * The parameter \a E is the exact type.
-   *
-   * \see mln::doc::Meta_Accumulator for a complete documentation of
-   * this class contents.
+  /*!
+    \internal
+    \brief Base class for implementation of meta accumulators.
+
+    The parameter \a E is the exact type.
+
+    \see mln::doc::Meta_Accumulator for a complete documentation of
+    this class contents.
    */
   template <typename E>
   struct Meta_Accumulator : public Object<E>
diff --git a/milena/mln/core/concept/neighborhood.hh b/milena/mln/core/concept/neighborhood.hh
index 3fa0521..00fb222 100644
--- a/milena/mln/core/concept/neighborhood.hh
+++ b/milena/mln/core/concept/neighborhood.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -49,8 +49,10 @@ namespace mln
   template <typename E> struct Neighborhood;
 
 
-  /// Neighborhood category flag type.
-
+  /*!
+    \internal
+    \brief Neighborhood category flag type.
+  */
   template <>
   struct Neighborhood<void>
   {
diff --git a/milena/mln/core/concept/pseudo_site.hh b/milena/mln/core/concept/pseudo_site.hh
index b550baf..77eb961 100644
--- a/milena/mln/core/concept/pseudo_site.hh
+++ b/milena/mln/core/concept/pseudo_site.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -48,7 +48,10 @@ namespace mln
 
 
 
-  /// Pseudo_Site category flag type.
+  /*!
+    \internal
+    \brief Pseudo_Site category flag type.
+  */
   template <>
   struct Pseudo_Site<void>
   {
@@ -125,7 +128,7 @@ namespace mln
       template <>
       struct helper< /* is an Object */ true >
       {
- 
+
 	template <typename P>
 	void change_target(Pseudo_Site<P>& p,
 			   const mln_target(P)& new_target) const
@@ -138,7 +141,7 @@ namespace mln
 	{
 	  // No-op.
 	}
-	
+
       };
 
       template <>
@@ -150,7 +153,7 @@ namespace mln
 	  // No-op.
 	}
       };
-      
+
     } // namespace mln::if_possible::internal
 
 
diff --git a/milena/mln/core/concept/site.hh b/milena/mln/core/concept/site.hh
index cc6c73d..68a4bcb 100644
--- a/milena/mln/core/concept/site.hh
+++ b/milena/mln/core/concept/site.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -41,7 +42,10 @@ namespace mln
   template <typename E> struct Site;
 
 
-  /// Site category flag type.
+  /*!
+    \internal
+    \brief Site category flag type.
+  */
   template <>
   struct Site<void>
   {
diff --git a/milena/mln/core/concept/site_proxy.hh b/milena/mln/core/concept/site_proxy.hh
index 2d964e7..8293423 100644
--- a/milena/mln/core/concept/site_proxy.hh
+++ b/milena/mln/core/concept/site_proxy.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -45,7 +45,10 @@ namespace mln
   template <typename E> struct Site_Proxy;
 
 
-  /// Site_Proxy category flag type.
+  /*!
+    \internal
+    \brief Site_Proxy category flag type.
+  */
   template <>
   struct Site_Proxy<void>
   {
diff --git a/milena/mln/core/concept/site_set.hh b/milena/mln/core/concept/site_set.hh
index bbf217c..9ddadc9 100644
--- a/milena/mln/core/concept/site_set.hh
+++ b/milena/mln/core/concept/site_set.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -50,7 +50,10 @@ namespace mln
   template <typename E> struct Site_Set;
 
 
-  /// Site_Set category flag type.
+  /*!
+    \internal
+    \brief Site_Set category flag type.
+  */
   template <>
   struct Site_Set<void>
   {
@@ -58,10 +61,12 @@ namespace mln
   };
 
 
-  /// Base class for implementation classes of site sets.
-  ///
-  /// \see mln::doc::Site_Set for a complete documentation of this
-  /// class contents.
+  /*!
+    \brief Base class for implementation classes of site sets.
+
+    \see mln::doc::Site_Set for a complete documentation of this
+    class contents.
+  */
   template <typename E>
   struct Site_Set : public Object<E>
   {
diff --git a/milena/mln/core/dpoints_pixter.hh b/milena/mln/core/dpoints_pixter.hh
index eb19c2b..514ed1a 100644
--- a/milena/mln/core/dpoints_pixter.hh
+++ b/milena/mln/core/dpoints_pixter.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -50,10 +50,13 @@ namespace mln
   | dpoints_fwd_pixter<I>.  |
   `------------------------*/
 
-  /// \brief A generic forward iterator on the pixels of a
-  /// dpoint-based window or neighborhood.
-  ///
-  /// Parameter \c I is the image type.
+  /*!
+    \internal
+    \brief A generic forward iterator on the pixels of a
+    dpoint-based window or neighborhood.
+
+    Parameter \c I is the image type.
+  */
   template <typename I>
   class dpoints_fwd_pixter
     : public Pixel_Iterator< dpoints_fwd_pixter<I> >,
@@ -133,10 +136,13 @@ namespace mln
   | dpoints_bkd_pixter<I>.  |
   `------------------------*/
 
-  /// \brief A generic backward iterator on the pixels of a
-  /// dpoint-based window or neighborhood.
-  ///
-  /// Parameter \c I is the image type.
+  /*!
+    \internal
+    \brief A generic backward iterator on the pixels of a
+    dpoint-based window or neighborhood.
+
+    Parameter \c I is the image type.
+  */
   template <typename I>
   class dpoints_bkd_pixter
     : public Pixel_Iterator< dpoints_bkd_pixter<I> >,
diff --git a/milena/mln/core/dpsites_piter.hh b/milena/mln/core/dpsites_piter.hh
index 0bbb0f5..927ac6b 100644
--- a/milena/mln/core/dpsites_piter.hh
+++ b/milena/mln/core/dpsites_piter.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -39,11 +39,14 @@
 namespace mln
 {
 
-  /// A generic forward iterator on points of windows and of
-  ///  neighborhoods.
-  ///
-  /// The parameter \c V is the type of std::vector enclosing
-  /// structure.
+  /*!
+    \internal
+    \brief A generic forward iterator on points of windows and of
+    neighborhoods.
+
+    The parameter \c V is the type of std::vector enclosing
+    structure.
+  */
   template <typename V>
   class dpsites_fwd_piter
     : public internal::site_relative_iterator_base< V, dpsites_fwd_piter<V> >
@@ -85,11 +88,14 @@ namespace mln
   };
 
 
-  /// A generic backward iterator on points of windows and of
-  ///  neighborhoods.
-  ///
-  /// The parameter \c V is the type of std::vector enclosing
-  /// structure.
+  /*!
+    \internal
+    \brief A generic backward iterator on points of windows and of
+    neighborhoods.
+
+    The parameter \c V is the type of std::vector enclosing
+    structure.
+  */
   template <typename V>
   class dpsites_bkd_piter :
     public internal::site_relative_iterator_base< V, dpsites_bkd_piter<V> >
diff --git a/milena/mln/core/image/ch_piter.hh b/milena/mln/core/image/ch_piter.hh
index b7c53f8..2677edd 100644
--- a/milena/mln/core/image/ch_piter.hh
+++ b/milena/mln/core/image/ch_piter.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -47,7 +47,10 @@ namespace mln
   namespace internal
   {
 
-    /// \internal Data structure for \c mln::ch_piter_image<I,Fwd>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::ch_piter_image<I,Fwd>.
+    */
     template <typename I, typename Fwd>
     struct data< ch_piter_image<I,Fwd> >
     {
diff --git a/milena/mln/core/image/complex_image.hh b/milena/mln/core/image/complex_image.hh
index 07c6e91..d6b7480 100644
--- a/milena/mln/core/image/complex_image.hh
+++ b/milena/mln/core/image/complex_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -52,7 +53,10 @@ namespace mln
   namespace internal
   {
 
-    /// A boolean proxy, used to fool std::vector.
+    /*!
+      \internal
+      \brief A boolean proxy, used to fool std::vector.
+    */
     struct bool_proxy
     {
     public:
@@ -94,7 +98,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::complex_image.
+    /*!
+      \internal
+      \brief Data structure for \c mln::complex_image.
+    */
     template <unsigned D, typename G, typename V>
     struct data< complex_image<D, G, V> >
     {
diff --git a/milena/mln/core/image/complex_neighborhood_piter.hh b/milena/mln/core/image/complex_neighborhood_piter.hh
index 6298aac..51c049a 100644
--- a/milena/mln/core/image/complex_neighborhood_piter.hh
+++ b/milena/mln/core/image/complex_neighborhood_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -48,7 +49,10 @@ namespace mln
   | complex_neighborhood_fwd_piter<I, G, N>.  |
   `------------------------------------------*/
 
-  /// \brief Forward iterator on complex neighborhood.
+  /*!
+    \internal
+    \brief Forward iterator on complex neighborhood.
+  */
   template <typename I, typename G, typename N>
   class complex_neighborhood_fwd_piter
     : public internal::site_relative_iterator_base< N,
@@ -119,7 +123,10 @@ namespace mln
   | complex_neighborhood_bkd_piter<I, G, N>.  |
   `------------------------------------------*/
 
-  /// \brief Backward iterator on complex neighborhood.
+  /*!
+    \internal
+    \brief Backward iterator on complex neighborhood.
+  */
   template <typename I, typename G, typename N>
   class complex_neighborhood_bkd_piter
     : public internal::site_relative_iterator_base< N,
diff --git a/milena/mln/core/image/complex_window_piter.hh b/milena/mln/core/image/complex_window_piter.hh
index ab6326c..208d4e6 100644
--- a/milena/mln/core/image/complex_window_piter.hh
+++ b/milena/mln/core/image/complex_window_piter.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009, 2010, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2010, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -49,7 +49,10 @@ namespace mln
   | complex_window_fwd_piter<I, G, W>.  |
   `------------------------------------*/
 
-  /// \brief Forward iterator on complex window.
+  /*!
+    \internal
+    \brief Forward iterator on complex window.
+  */
   template <typename I, typename G, typename W>
   class complex_window_fwd_piter
     : public internal::site_relative_iterator_base< W,
@@ -119,7 +122,10 @@ namespace mln
   | complex_window_bkd_piter<I, G, W>.  |
   `------------------------------------*/
 
-  /// \brief Backward iterator on complex window.
+  /*!
+    \internal
+    \brief Backward iterator on complex window.
+  */
   template <typename I, typename G, typename W>
   class complex_window_bkd_piter
     : public internal::site_relative_iterator_base< W,
diff --git a/milena/mln/core/image/dmorph/extended.hh b/milena/mln/core/image/dmorph/extended.hh
index 791ab1d..ed94a04 100644
--- a/milena/mln/core/image/dmorph/extended.hh
+++ b/milena/mln/core/image/dmorph/extended.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -50,7 +50,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::extended<I>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::extended<I>.
+    */
     template <typename I>
     struct data< extended<I> >
     {
diff --git a/milena/mln/core/image/dmorph/extension_fun.hh b/milena/mln/core/image/dmorph/extension_fun.hh
index 887fe02..aa5274e 100644
--- a/milena/mln/core/image/dmorph/extension_fun.hh
+++ b/milena/mln/core/image/dmorph/extension_fun.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -49,7 +49,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::extension_fun<I, F>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::extension_fun<I, F>.
+    */
     template <typename I, typename F>
     struct data< extension_fun<I, F> >
     {
diff --git a/milena/mln/core/image/dmorph/extension_ima.hh b/milena/mln/core/image/dmorph/extension_ima.hh
index 63ea0ed..d194b82 100644
--- a/milena/mln/core/image/dmorph/extension_ima.hh
+++ b/milena/mln/core/image/dmorph/extension_ima.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -46,7 +46,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::extension_ima<I, J>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::extension_ima<I, J>.
+    */
     template <typename I, typename J>
     struct data< extension_ima<I, J> >
     {
diff --git a/milena/mln/core/image/dmorph/extension_val.hh b/milena/mln/core/image/dmorph/extension_val.hh
index c0ccbe0..e5ecef7 100644
--- a/milena/mln/core/image/dmorph/extension_val.hh
+++ b/milena/mln/core/image/dmorph/extension_val.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -48,7 +48,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::extension_val<I>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::extension_val<I>.
+    */
     template <typename I>
     struct data< extension_val<I> >
     {
diff --git a/milena/mln/core/image/dmorph/hexa.hh b/milena/mln/core/image/dmorph/hexa.hh
index 314cba1..cd856bd 100644
--- a/milena/mln/core/image/dmorph/hexa.hh
+++ b/milena/mln/core/image/dmorph/hexa.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -48,7 +48,10 @@ namespace mln
 
   namespace internal
   {
-    /// Data structure for \c mln::hexa<I>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::hexa<I>.
+    */
     template <typename I>
     struct data< hexa<I> >
     {
@@ -63,7 +66,10 @@ namespace mln
 
   namespace trait
   {
-    /// FIXME: use the right properties.
+    /*!
+      \internal
+      FIXME: use the right properties.
+    */
     template <typename I>
     struct image_< hexa<I> > : default_image_morpher< I, mln_value(I),
 						       hexa<I> >
diff --git a/milena/mln/core/image/dmorph/hexa_piter.hh b/milena/mln/core/image/dmorph/hexa_piter.hh
index 97b2077..d4841cd 100644
--- a/milena/mln/core/image/dmorph/hexa_piter.hh
+++ b/milena/mln/core/image/dmorph/hexa_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -39,13 +40,15 @@
 namespace mln
 {
 
-  /// A generic forward iterator on points of subsets.
-  ///
-  /// Parameter \c S is a point set type; parameter F is a function
-  /// from point to Boolean.
-  ///
-  /// \see mln::hexa
-  ///
+  /*!
+    \internal
+    \brief A generic forward iterator on points of subsets.
+
+    Parameter \c S is a point set type; parameter F is a function
+    from point to Boolean.
+
+    \see mln::hexa
+  */
   template <typename S>
   class hexa_fwd_piter_
     : public internal::piter_adaptor_< mln_fwd_piter(S),
diff --git a/milena/mln/core/image/dmorph/image2d_h.hh b/milena/mln/core/image/dmorph/image2d_h.hh
index adcb272..35dcf5a 100644
--- a/milena/mln/core/image/dmorph/image2d_h.hh
+++ b/milena/mln/core/image/dmorph/image2d_h.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
diff --git a/milena/mln/core/image/dmorph/image_if.hh b/milena/mln/core/image/dmorph/image_if.hh
index 58b6106..ed9a05a 100644
--- a/milena/mln/core/image/dmorph/image_if.hh
+++ b/milena/mln/core/image/dmorph/image_if.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -47,7 +48,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::image_if<I,F>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::image_if<I,F>.
+    */
     template <typename I, typename F>
     struct data< image_if<I,F> >
     {
diff --git a/milena/mln/core/image/dmorph/p2p_image.hh b/milena/mln/core/image/dmorph/p2p_image.hh
index ca1b3d5..3b2c563 100644
--- a/milena/mln/core/image/dmorph/p2p_image.hh
+++ b/milena/mln/core/image/dmorph/p2p_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -45,7 +46,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::p2p_image<I,F>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::p2p_image<I,F>.
+    */
     template <typename I, typename F>
     struct data< p2p_image<I,F> >
     {
diff --git a/milena/mln/core/image/dmorph/slice_image.hh b/milena/mln/core/image/dmorph/slice_image.hh
index a5e2983..c779858 100644
--- a/milena/mln/core/image/dmorph/slice_image.hh
+++ b/milena/mln/core/image/dmorph/slice_image.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -49,7 +49,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::slice_image<I>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::slice_image<I>.
+    */
     template <typename I>
     struct data< slice_image<I> >
     {
diff --git a/milena/mln/core/image/dmorph/sub_image.hh b/milena/mln/core/image/dmorph/sub_image.hh
index d266ce6..bf42c75 100644
--- a/milena/mln/core/image/dmorph/sub_image.hh
+++ b/milena/mln/core/image/dmorph/sub_image.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 EPITA Research and
 // Development Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -50,7 +50,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::sub_image<I,S>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::sub_image<I,S>.
+    */
     template <typename I, typename S>
     struct data< sub_image<I,S> >
     {
diff --git a/milena/mln/core/image/dmorph/sub_image_if.hh b/milena/mln/core/image/dmorph/sub_image_if.hh
index 2cc9661..f4c9fe2 100644
--- a/milena/mln/core/image/dmorph/sub_image_if.hh
+++ b/milena/mln/core/image/dmorph/sub_image_if.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -53,7 +53,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::sub_image_if<I,S>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::sub_image_if<I,S>.
+    */
     template <typename I, typename S>
     struct data< sub_image_if<I,S> >
     {
diff --git a/milena/mln/core/image/dmorph/transformed_image.hh b/milena/mln/core/image/dmorph/transformed_image.hh
index 0fb4509..2a7970b 100644
--- a/milena/mln/core/image/dmorph/transformed_image.hh
+++ b/milena/mln/core/image/dmorph/transformed_image.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2011 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2011, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -49,7 +49,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::transformed_image<I,F>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::transformed_image<I,F>.
+    */
     template <typename I, typename F>
     struct data< transformed_image<I,F> >
     {
diff --git a/milena/mln/core/image/dmorph/unproject_image.hh b/milena/mln/core/image/dmorph/unproject_image.hh
index 6a79012..1f6c078 100644
--- a/milena/mln/core/image/dmorph/unproject_image.hh
+++ b/milena/mln/core/image/dmorph/unproject_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
 //
 // This file is part of Olena.
 //
@@ -47,7 +48,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::unproject_image<I,D,F>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::unproject_image<I,D,F>.
+    */
     template <typename I, typename D, typename F>
     struct data< unproject_image<I,D,F> >
     {
diff --git a/milena/mln/core/image/edge_image.hh b/milena/mln/core/image/edge_image.hh
index 1c19b07..5be1ff0 100644
--- a/milena/mln/core/image/edge_image.hh
+++ b/milena/mln/core/image/edge_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
 //
 // This file is part of Olena.
 //
@@ -66,7 +67,9 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for mln::pw::internal::image
+    /*! \internal
+      \brief Data structure for mln::pw::internal::image
+    */
     template <typename P, typename V, typename G>
     struct data< mln::edge_image<P,V,G> >
     {
diff --git a/milena/mln/core/image/flat_image.hh b/milena/mln/core/image/flat_image.hh
index 6647766..813f29c 100644
--- a/milena/mln/core/image/flat_image.hh
+++ b/milena/mln/core/image/flat_image.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -48,7 +48,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::flat_image<T,S>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::flat_image<T,S>.
+    */
     template <typename T, typename S>
     struct data< flat_image<T,S> >
     {
diff --git a/milena/mln/core/image/graph_window_if_piter.hh b/milena/mln/core/image/graph_window_if_piter.hh
index 068fbdb..f91b7da 100644
--- a/milena/mln/core/image/graph_window_if_piter.hh
+++ b/milena/mln/core/image/graph_window_if_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
 //
 // This file is part of Olena.
 //
@@ -42,7 +43,10 @@ namespace mln
 
 
 
-  /// Forward iterator on line graph window.
+  /*!
+    \internal
+    \brief Forward iterator on line graph window.
+  */
   template <typename S, typename W, typename I>
   class graph_window_if_piter
     : public internal::site_relative_iterator_base< W,
diff --git a/milena/mln/core/image/graph_window_piter.hh b/milena/mln/core/image/graph_window_piter.hh
index ae86e8f..744e0bb 100644
--- a/milena/mln/core/image/graph_window_piter.hh
+++ b/milena/mln/core/image/graph_window_piter.hh
@@ -49,8 +49,11 @@ namespace mln
   namespace internal
   {
 
-    /// The window center and the window elements are part of
-    /// different site sets.
+    /*!
+      \internal
+      \brief The window center and the window elements are part of
+      different site sets.
+    */
     template <typename C, typename P, typename E>
     struct impl_selector
     {
@@ -63,8 +66,11 @@ namespace mln
 
     };
 
-    /// The window center and the window elements are part of the same
-    /// site set.
+    /*!
+      \internal
+      \brief The window center and the window elements are part of the same
+      site set.
+    */
     template <typename C, typename E>
     struct impl_selector<C,C,E>
     {
@@ -89,12 +95,14 @@ namespace mln
   } // end of namespace mln::internal
 
 
-  /// Forward iterator on line graph window.
-  ///
-  /// \tparam S is the site set type.
-  /// \tparam W is the window type.
-  /// \tparam I is the underlying iterator type.
-  //
+  /*!
+    \internal
+    \brief Forward iterator on line graph window.
+
+    \tparam S is the site set type.
+    \tparam W is the window type.
+    \tparam I is the underlying iterator type.
+  */
   template <typename S, typename W, typename I>
   class graph_window_piter
     : public internal::site_relative_iterator_base< W,
diff --git a/milena/mln/core/image/image1d.hh b/milena/mln/core/image/image1d.hh
index 6d10aa5..4e0817f 100644
--- a/milena/mln/core/image/image1d.hh
+++ b/milena/mln/core/image/image1d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -58,7 +58,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::image1d<T>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::image1d<T>.
+    */
     template <typename T>
     struct data< image1d<T> >
     {
diff --git a/milena/mln/core/image/image2d.hh b/milena/mln/core/image/image2d.hh
index bc49561..ea8f3f8 100644
--- a/milena/mln/core/image/image2d.hh
+++ b/milena/mln/core/image/image2d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -65,7 +65,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::image2d<T>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::image2d<T>.
+    */
     template <typename T>
     struct data< image2d<T> >
     {
@@ -164,9 +167,13 @@ namespace mln
     image2d(const box2d& b, unsigned bdr = border::thickness);
 
 
+    /// @cond INTERNAL_API
+
     /// Initialize an empty image.
     void init_(const box2d& b, unsigned bdr = border::thickness);
 
+    /// @endcond
+
 
     /// Test if \p p is valid.
     bool has(const point2d& p) const;
@@ -210,12 +217,17 @@ namespace mln
     // Specific methods:
     // -----------------
 
+    /// @cond INTERNAL_API
+
     /// Read-only access to the image value located at (\p row, \p col).
     const T& at_(mln::def::coord row, mln::def::coord col) const;
 
     /// Read-write access to the image value located at (\p row, \p col).
     T& at_(mln::def::coord row, mln::def::coord col);
 
+    /// @endcond
+
+
     /// Give the number of rows.
     unsigned nrows() const;
 
@@ -254,8 +266,12 @@ namespace mln
     T* buffer();
 
 
+    /// @cond INTERNAL_API
+
     /// Resize image border with new_border.
     void resize_(unsigned new_border);
+
+    /// @endcond
   };
 
 
diff --git a/milena/mln/core/image/image3d.hh b/milena/mln/core/image/image3d.hh
index 59d6908..2789341 100644
--- a/milena/mln/core/image/image3d.hh
+++ b/milena/mln/core/image/image3d.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 EPITA Research and
 // Development Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -58,7 +58,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::image3d<T>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::image3d<T>.
+    */
     template <typename T>
     struct data< image3d<T> >
     {
diff --git a/milena/mln/core/image/imorph/decorated_image.hh b/milena/mln/core/image/imorph/decorated_image.hh
index 54acbc7..48f827f 100644
--- a/milena/mln/core/image/imorph/decorated_image.hh
+++ b/milena/mln/core/image/imorph/decorated_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -59,7 +60,10 @@ namespace mln
       typedef mln::value::proxy<const E> lvalue;
     };
 
-    /// Data structure for \c mln::decorated_image<I,D>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::decorated_image<I,D>.
+    */
     template <typename I, typename D>
     struct data< decorated_image<I,D> >
     {
diff --git a/milena/mln/core/image/imorph/interpolated.hh b/milena/mln/core/image/imorph/interpolated.hh
index 43f9a7e..d92dd0f 100644
--- a/milena/mln/core/image/imorph/interpolated.hh
+++ b/milena/mln/core/image/imorph/interpolated.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -50,7 +50,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::interpolated<I, F>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::interpolated<I, F>.
+    */
     template <typename I, template <class> class F>
     struct data< interpolated<I,F> >
     {
diff --git a/milena/mln/core/image/imorph/labeled_image.hh b/milena/mln/core/image/imorph/labeled_image.hh
index c99f386..d62735f 100644
--- a/milena/mln/core/image/imorph/labeled_image.hh
+++ b/milena/mln/core/image/imorph/labeled_image.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Copyright (C) 2009, 2010, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -62,7 +62,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::labeled_image<I>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::labeled_image<I>.
+    */
     template <typename I>
     struct data< labeled_image<I> >
       : data< labeled_image_base<I, labeled_image<I> > >
diff --git a/milena/mln/core/image/imorph/lazy_image.hh b/milena/mln/core/image/imorph/lazy_image.hh
index 0110bec..bcba84d 100644
--- a/milena/mln/core/image/imorph/lazy_image.hh
+++ b/milena/mln/core/image/imorph/lazy_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -46,7 +47,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::lazy_image<I>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::lazy_image<I>.
+    */
     template <typename I, typename F, typename B>
     struct data< lazy_image<I,F,B> >
     {
diff --git a/milena/mln/core/image/imorph/plain.hh b/milena/mln/core/image/imorph/plain.hh
index 66c9ebd..8f862f4 100644
--- a/milena/mln/core/image/imorph/plain.hh
+++ b/milena/mln/core/image/imorph/plain.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -47,7 +47,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::plain<I>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::plain<I>.
+    */
     template <typename I>
     struct data< plain<I> >
     {
diff --git a/milena/mln/core/image/imorph/safe.hh b/milena/mln/core/image/imorph/safe.hh
index c516ef4..37efd61 100644
--- a/milena/mln/core/image/imorph/safe.hh
+++ b/milena/mln/core/image/imorph/safe.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -48,7 +48,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::safe_image<I>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::safe_image<I>.
+    */
     template <typename I>
     struct data< safe_image<I> >
     {
diff --git a/milena/mln/core/image/imorph/tr_image.hh b/milena/mln/core/image/imorph/tr_image.hh
index 64eb5a0..ad2b1af 100644
--- a/milena/mln/core/image/imorph/tr_image.hh
+++ b/milena/mln/core/image/imorph/tr_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -47,7 +48,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::tr_image<S,I,T>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::tr_image<S,I,T>.
+    */
     template <typename S, typename I, typename T>
     struct data< tr_image<S,I,T> >
     {
diff --git a/milena/mln/core/image/vertex_image.hh b/milena/mln/core/image/vertex_image.hh
index d50f826..042423d 100644
--- a/milena/mln/core/image/vertex_image.hh
+++ b/milena/mln/core/image/vertex_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
 //
 // This file is part of Olena.
 //
@@ -69,7 +70,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for mln::pw::internal::image
+    /*!
+      \internal
+      \brief Data structure for mln::pw::internal::image
+    */
     template <typename P, typename V, typename G>
     struct data< mln::vertex_image<P,V,G> >
     {
diff --git a/milena/mln/core/image/vmorph/cast_image.hh b/milena/mln/core/image/vmorph/cast_image.hh
index 0226ad0..9d6248c 100644
--- a/milena/mln/core/image/vmorph/cast_image.hh
+++ b/milena/mln/core/image/vmorph/cast_image.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2007, 2009, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -48,7 +48,10 @@ namespace mln
 
   namespace internal
   {
-    /// Data structure for \c mln::cast_image_<T,I>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::cast_image_<T,I>.
+    */
     template <typename T, typename I>
     struct data< cast_image_<T,I> >
     {
diff --git a/milena/mln/core/image/vmorph/fun_image.hh b/milena/mln/core/image/vmorph/fun_image.hh
index 24d7e37..e1f50a7 100644
--- a/milena/mln/core/image/vmorph/fun_image.hh
+++ b/milena/mln/core/image/vmorph/fun_image.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -50,7 +50,10 @@ namespace mln
 
   namespace internal
   {
-    /// Data structure for \c mln::fun_image<T,I>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::fun_image<T,I>.
+    */
     template <typename F, typename I>
     struct data< fun_image<F,I> >
     {
diff --git a/milena/mln/core/image/vmorph/thru_image.hh b/milena/mln/core/image/vmorph/thru_image.hh
index e829b27..7dd4d7a 100644
--- a/milena/mln/core/image/vmorph/thru_image.hh
+++ b/milena/mln/core/image/vmorph/thru_image.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -50,7 +50,10 @@ namespace mln
     template <typename I, typename F> class thru_image_write;
     template <typename I, typename F> class thru_image_read;
 
-    /// Find correct implementation
+    /*!
+      \internal
+      \brief Find correct implementation
+    */
     template <typename I, typename F>
     struct thru_find_impl
     {
@@ -63,7 +66,10 @@ namespace mln
 		     write, read) ret;
     };
 
-    /// Data structure for \c mln::thru_image<I>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::thru_image<I>.
+    */
     template <typename I, typename F>
     struct data< thru_image<I, F> >
     {
diff --git a/milena/mln/core/image/vmorph/thrubin_image.hh b/milena/mln/core/image/vmorph/thrubin_image.hh
index 0195d1a..1263acd 100644
--- a/milena/mln/core/image/vmorph/thrubin_image.hh
+++ b/milena/mln/core/image/vmorph/thrubin_image.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -46,7 +46,10 @@ namespace mln
 
   namespace internal
   {
-    /// Data structure for \c mln::thrubin_image<I>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::thrubin_image<I>.
+    */
     template <typename I1, typename I2, typename F>
     struct data< thrubin_image<I1, I2, F> >
     {
diff --git a/milena/mln/core/image/vmorph/violent_cast_image.hh b/milena/mln/core/image/vmorph/violent_cast_image.hh
index 0ce4669..e389902 100644
--- a/milena/mln/core/image/vmorph/violent_cast_image.hh
+++ b/milena/mln/core/image/vmorph/violent_cast_image.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -45,7 +45,10 @@ namespace mln
 
   namespace internal
   {
-    /// Data structure for \c mln::violent_cast_image<T,I>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::violent_cast_image<T,I>.
+    */
     template <typename T, typename I>
     struct data< violent_cast_image<T,I> >
     {
diff --git a/milena/mln/core/internal/box_impl.hh b/milena/mln/core/internal/box_impl.hh
index bb176c7..3ea2756 100644
--- a/milena/mln/core/internal/box_impl.hh
+++ b/milena/mln/core/internal/box_impl.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 EPITA Research and
 // Development Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -46,10 +46,12 @@ namespace mln
 
     // box_impl
 
-    /*! Implementation class to equip objects having a bounding
-     * box.
-     *
-     */
+    /*!
+      \internal
+      \brief Implementation class to equip objects having a bounding
+      box.
+
+    */
     template <unsigned n, typename C, typename E>
     struct box_impl_;
 
diff --git a/milena/mln/core/internal/check/image_fastest.hh b/milena/mln/core/internal/check/image_fastest.hh
index 9aa7c51..edcf4da 100644
--- a/milena/mln/core/internal/check/image_fastest.hh
+++ b/milena/mln/core/internal/check/image_fastest.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -50,7 +50,10 @@ namespace mln
     namespace check
     {
 
-      /// FIXME
+      /*!
+	\internal
+	\brief Statically checks the interface of fastest images.
+      */
       template < typename E, typename B = metal::true_ >
       struct image_fastest_
       {
diff --git a/milena/mln/core/internal/classical_window_base.hh b/milena/mln/core/internal/classical_window_base.hh
index a701510..21f68c3 100644
--- a/milena/mln/core/internal/classical_window_base.hh
+++ b/milena/mln/core/internal/classical_window_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -47,8 +48,9 @@ namespace mln
   namespace internal
   {
 
-    /*! FIXME.
-     *
+    /*!
+      \internal
+      \brief Base class for classes based on a set of dpoints.
      */
     template <typename D, typename E>
     class classical_window_base : public window_base<D, E>
diff --git a/milena/mln/core/internal/complex_neighborhood_base.hh b/milena/mln/core/internal/complex_neighborhood_base.hh
index d71dec9..4ffd8a0 100644
--- a/milena/mln/core/internal/complex_neighborhood_base.hh
+++ b/milena/mln/core/internal/complex_neighborhood_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -55,11 +56,14 @@ namespace mln
 
   namespace internal
   {
-    /** \brief Generic neighborhood centered on the face of a complex,
-	based on an pair of (forward and backward) complex iterators.
-	
-	\tparam W The underlying window.
-	\tparam E The exact type.  */
+    /*!
+      \internal
+      \brief Generic neighborhood centered on the face of a complex,
+      based on an pair of (forward and backward) complex iterators.
+
+      \tparam W The underlying window.
+      \tparam E The exact type.
+    */
     template <typename W, typename E>
     class complex_neighborhood_base : public Neighborhood<E>
     {
diff --git a/milena/mln/core/internal/complex_window_base.hh b/milena/mln/core/internal/complex_window_base.hh
index 1a248a0..eeb62fd 100644
--- a/milena/mln/core/internal/complex_window_base.hh
+++ b/milena/mln/core/internal/complex_window_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -70,15 +71,18 @@ namespace mln
 
   namespace internal
   {
-    /** \brief Generic window centered on the face of a complex, based
-	on an pair of (forward and backward) complex iterators.  The
-	center (site) is part of the window.
-
-	\tparam D The dimension of the complex.
-	\tparam G The type of the geometry functor of the complex.
-	\tparam F The underlying forward iterator type.
-	\tparam B The underlying backward iterator type.
-	\tparam E The exact type.  */
+    /*!
+      \internal
+      \brief Generic window centered on the face of a complex, based
+      on an pair of (forward and backward) complex iterators.  The
+      center (site) is part of the window.
+
+      \tparam D The dimension of the complex.
+      \tparam G The type of the geometry functor of the complex.
+      \tparam F The underlying forward iterator type.
+      \tparam B The underlying backward iterator type.
+      \tparam E The exact type.
+    */
     template <unsigned D, typename G, typename F, typename B, typename E>
     class complex_window_base : public Window<E>
     {
diff --git a/milena/mln/core/internal/complex_window_p_base.hh b/milena/mln/core/internal/complex_window_p_base.hh
index 65e79e9..55de131 100644
--- a/milena/mln/core/internal/complex_window_p_base.hh
+++ b/milena/mln/core/internal/complex_window_p_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -65,15 +66,18 @@ namespace mln
 
   namespace internal
   {
-    /** \brief Generic window centered on the face of a complex, based
-	on an pair of (forward and backward) complex iterators.  The
-	center (site) is part of the window.
-
-	\tparam D The dimension of the complex.
-	\tparam G The type of the geometry functor of the complex.
-	\tparam F The underlying forward iterator type.
-	\tparam B The underlying backward iterator type.
-	\tparam E The exact type.  */
+    /*!
+      \internal
+      \brief Generic window centered on the face of a complex, based
+      on an pair of (forward and backward) complex iterators.  The
+      center (site) is part of the window.
+
+      \tparam D The dimension of the complex.
+      \tparam G The type of the geometry functor of the complex.
+      \tparam F The underlying forward iterator type.
+      \tparam B The underlying backward iterator type.
+      \tparam E The exact type.
+    */
     template <unsigned D, typename G, typename F, typename B, typename E>
     class complex_window_p_base
       : public complex_window_base
diff --git a/milena/mln/core/internal/fixme.hh b/milena/mln/core/internal/fixme.hh
index 819a926..10622c5 100644
--- a/milena/mln/core/internal/fixme.hh
+++ b/milena/mln/core/internal/fixme.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -38,10 +39,11 @@ namespace mln
   namespace internal
   {
 
-    /*! A FIXME class to make explicit in code that a type is
-     *  not yet implemented.
-     *
-     */
+    /*!
+      \internal
+      \brief A FIXME class to make explicit in code that a type is
+      not yet implemented.
+    */
     struct fixme
     {};
 
diff --git a/milena/mln/core/internal/graph_psite_base.hh b/milena/mln/core/internal/graph_psite_base.hh
index cb3b123..4cef358 100644
--- a/milena/mln/core/internal/graph_psite_base.hh
+++ b/milena/mln/core/internal/graph_psite_base.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -159,7 +159,10 @@ namespace mln
 
 
     /// \{
-    /// subject_impl specialization (Proxy)
+    /*!
+      \internal
+      \brief subject_impl specialization (Proxy)
+    */
     template <typename S, typename P, typename E>
     struct subject_impl< const graph_psite_base<S,P>&, E >
     {
diff --git a/milena/mln/core/internal/graph_window_base.hh b/milena/mln/core/internal/graph_window_base.hh
index cb7baa3..335a32e 100644
--- a/milena/mln/core/internal/graph_window_base.hh
+++ b/milena/mln/core/internal/graph_window_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -35,7 +36,12 @@
 namespace mln
 {
 
-  /// \tparam P Site type.
+  /*!
+    \internal
+    \brief Base class for windows on graphes.
+
+    \tparam P Site type.
+  */
   template <typename P, typename E>
   class graph_window_base : public Window<E>
   {
diff --git a/milena/mln/core/internal/image_base.hh b/milena/mln/core/internal/image_base.hh
index c9f76de..c810547 100644
--- a/milena/mln/core/internal/image_base.hh
+++ b/milena/mln/core/internal/image_base.hh
@@ -146,18 +146,25 @@ namespace mln
       /// Copy constructor (performs a shallow copy).
       image_base(const image_base& rhs);
 
-      /// Give an identifier of this image.  When several image
-      /// variables designate the same image, they share the same
-      /// identifier.
+      /// @cond INTERNAL_API
+
+      /*!
+	\brief Give an identifier of this image.
+
+	When several image variables designate the same image, they
+	share the same identifier.
+      */
       const void* id_() const;
 
+      /// \brief Hook to the image data.
+      const util::tracked_ptr< internal::data<E> >& hook_data_() const;
+
+      /// @endcond
+
 
       /// Detach data from an image (free it if nobody else hold it).
       void destroy();
 
-      /// Hook to the image data.
-      const util::tracked_ptr< internal::data<E> >& hook_data_() const;
-
     protected:
 
       /// Constructor without argument.
diff --git a/milena/mln/core/internal/image_domain_morpher.hh b/milena/mln/core/internal/image_domain_morpher.hh
index 576574e..2a2aa1e 100644
--- a/milena/mln/core/internal/image_domain_morpher.hh
+++ b/milena/mln/core/internal/image_domain_morpher.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -40,13 +41,15 @@ namespace mln
   {
 
 
-    /*! A base class for image morphers w.r.t. domain.
-     *
-     * Parameter \p I is the morphed image type.
-     * Parameter \p S is the morpher site set type.
-     * Parameter \p E is the exact (morpher image) type.
-     *
-     */
+    /*!
+      \internal
+      \brief A base class for image morphers w.r.t. domain.
+
+      Parameter \p I is the morphed image type.
+      Parameter \p S is the morpher site set type.
+      Parameter \p E is the exact (morpher image) type.
+
+    */
     template <typename I, typename S, typename E>
     class image_domain_morpher : public image_morpher<I, mln_value(I), S, E>
     {
diff --git a/milena/mln/core/internal/image_identity.hh b/milena/mln/core/internal/image_identity.hh
index 239ffbf..84d9cf8 100644
--- a/milena/mln/core/internal/image_identity.hh
+++ b/milena/mln/core/internal/image_identity.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -119,10 +120,13 @@ namespace mln
 
 
 
-    /*! A base class for image morphers w.r.t. identity.
-     * Parameter \p S is a point set type.
-     *
-     */
+    /*!
+      \internal
+      \brief A base class for image morphers w.r.t. identity.
+
+      Parameter \p S is a point set type.
+
+    */
     template <typename I, typename S, typename E>
     class image_identity
       : public image_identity_impl<I, E>,
diff --git a/milena/mln/core/internal/image_morpher.hh b/milena/mln/core/internal/image_morpher.hh
index 288e6a2..579230a 100644
--- a/milena/mln/core/internal/image_morpher.hh
+++ b/milena/mln/core/internal/image_morpher.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -44,10 +45,12 @@ namespace mln
   namespace internal
   {
 
-    /// A base class for images that are morphers. Parameter
-    ///
-    /// \c I is the underlying-morphed image type.
-    //
+    /*!
+      \internal
+      \brief A base class for images that are morphers.
+
+      Parameter \c I is the underlying-morphed image type.
+    */
     template <typename I, typename T, typename S, typename E>
     class image_morpher : public image_base<T, S, E>
     {
diff --git a/milena/mln/core/internal/image_primary.hh b/milena/mln/core/internal/image_primary.hh
index 58f9065..6e9dbea 100644
--- a/milena/mln/core/internal/image_primary.hh
+++ b/milena/mln/core/internal/image_primary.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -41,9 +42,10 @@ namespace mln
   {
 
 
-    /*! A base class for primary images.
-     *
-     */
+    /*!
+      \internal
+      \brief A base class for primary images.
+    */
     template <typename T, typename S, typename E>
     struct image_primary : public image_base<T, S, E>
     {
diff --git a/milena/mln/core/internal/image_value_morpher.hh b/milena/mln/core/internal/image_value_morpher.hh
index b7f7c41..8329242 100644
--- a/milena/mln/core/internal/image_value_morpher.hh
+++ b/milena/mln/core/internal/image_value_morpher.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -45,10 +46,13 @@ namespace mln
 
     //FIXME: Fix doxygen.
 
-    /*! A base class for image morphers w.r.t. value.
-     * Parameter \p S is a point set type.
-     * Parameter \p P is a value type.
-     */
+    /*!
+      \internal
+      \brief A base class for image morphers w.r.t. value.
+
+      Parameter \p S is a point set type.
+      Parameter \p P is a value type.
+    */
     template <typename I, typename T, typename E>
     class image_value_morpher : public image_morpher<I, T, mln_domain(I), E>
     {
diff --git a/milena/mln/core/internal/is_masked_impl_selector.hh b/milena/mln/core/internal/is_masked_impl_selector.hh
index 41d941b..361d85e 100644
--- a/milena/mln/core/internal/is_masked_impl_selector.hh
+++ b/milena/mln/core/internal/is_masked_impl_selector.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2011 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2011, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -46,8 +46,11 @@ namespace mln
   namespace internal
   {
 
-    /// Default implementation. D == S.
-    /// D and S are site sets.
+    /*!
+      \internal
+      \brief Default implementation. D == S.
+      D and S are site sets.
+    */
     template <typename S, typename D, typename E>
     struct is_masked_impl_selector
     {
@@ -56,7 +59,10 @@ namespace mln
 		     const mln_graph_element(S)& element) const;
     };
 
-    /// Restrict iteration on vertices according to masked edges.
+    /*!
+      \internal
+      \brief Restrict iteration on vertices according to masked edges.
+    */
     template <typename G1, typename F1, typename G2, typename F2, typename E>
     struct is_masked_impl_selector< p_vertices<G1,F1>, p_edges<G2,F2>, E >
     {
@@ -67,7 +73,10 @@ namespace mln
 		     const mln_graph_element(S)& element) const;
     };
 
-    /// Restrict iteration on edges according to masked vertices.
+    /*!
+      \internal
+      \brief Restrict iteration on edges according to masked vertices.
+    */
     template <typename G1, typename F1, typename G2, typename F2, typename E>
     struct is_masked_impl_selector< p_edges<G1,F1>, p_vertices<G2,F2>, E >
     {
diff --git a/milena/mln/core/internal/labeled_image_base.hh b/milena/mln/core/internal/labeled_image_base.hh
index 45f3ed2..9c9466c 100644
--- a/milena/mln/core/internal/labeled_image_base.hh
+++ b/milena/mln/core/internal/labeled_image_base.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -60,7 +60,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for \c mln::labeled_image_base<I,E>.
+    /*!
+      \internal
+      \brief Data structure for \c mln::labeled_image_base<I,E>.
+    */
     template <typename I, typename E>
     struct data< labeled_image_base<I,E> >
     {
@@ -100,17 +103,18 @@ namespace mln
 
 
 
-  /*! \brief Base class Morpher providing an improved interface for
-      labeled image.
+  /*!
+    \internal
+    \brief Base class Morpher providing an improved interface for
+    labeled image.
 
-      \tparam I The label image type.
+    \tparam I The label image type.
 
-      This image type allows to access every site set at a given
-      label.
-
-      This image type guaranties that labels are contiguous (from 1 to
-      n).
+    This image type allows to access every site set at a given
+    label.
 
+    This image type guaranties that labels are contiguous (from 1 to
+    n).
   */
   template <typename I, typename E>
   class labeled_image_base
diff --git a/milena/mln/core/internal/morpher_lvalue.hh b/milena/mln/core/internal/morpher_lvalue.hh
index d851e55..e437fa1 100644
--- a/milena/mln/core/internal/morpher_lvalue.hh
+++ b/milena/mln/core/internal/morpher_lvalue.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -44,8 +45,11 @@ namespace mln
   namespace internal
   {
 
-    /// Return the lvalue type when an image with type \c I
-    /// is morphed.
+    /*!
+      \internal
+      \brief Return the lvalue type when an image with type \c I
+      is morphed.
+    */
     template <typename I>
     struct morpher_lvalue_
     {
diff --git a/milena/mln/core/internal/neighb_base.hh b/milena/mln/core/internal/neighb_base.hh
index bfb499a..05d4b67 100644
--- a/milena/mln/core/internal/neighb_base.hh
+++ b/milena/mln/core/internal/neighb_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
 //
 // This file is part of Olena.
 //
@@ -42,11 +43,13 @@ namespace mln
   {
 
 
-    /// Adapter class from window to neighborhood.
-    ///
-    /// \tparam W The underlying window type.
-    /// \tparam E The exact neighborhood type.
-    //
+    /*!
+      \internal
+      \brief Adapter class from window to neighborhood.
+
+      \tparam W The underlying window type.
+      \tparam E The exact neighborhood type.
+    */
     template <typename W, typename E>
     class neighb_base
       : public internal::neighborhood_base< W, E >,
diff --git a/milena/mln/core/internal/neighb_niter_base.hh b/milena/mln/core/internal/neighb_niter_base.hh
index 27459b6..daa41db 100644
--- a/milena/mln/core/internal/neighb_niter_base.hh
+++ b/milena/mln/core/internal/neighb_niter_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
 //
 // This file is part of Olena.
 //
@@ -39,8 +40,10 @@ namespace mln
   namespace internal
   {
 
-    // neighb_niter_base<W,I,E>
-
+    /*!
+      \internal
+      \brief Base implementation for neighborhood iterators.
+    */
     template <typename W, typename N, typename I, typename E>
     class neighb_niter_base
       : public internal::site_relative_iterator_base< N,
diff --git a/milena/mln/core/internal/neighb_niter_impl.hh b/milena/mln/core/internal/neighb_niter_impl.hh
index f2c8ee0..eb5b6d2 100644
--- a/milena/mln/core/internal/neighb_niter_impl.hh
+++ b/milena/mln/core/internal/neighb_niter_impl.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -54,25 +54,31 @@ namespace mln
   namespace internal
   {
 
-    /// Default optional implementation.
+    /*!
+      \internal
+      \brief Default optional implementation.
+    */
     template <typename W, typename E>
     struct neighb_niter_impl
     {
 
     };
 
-    /// Add more implementation for neighborhoods made from
-    /// graph_window_base windows.
-    ///
-    /// FIXME: we need to redeclare the graph element interface.
-    /// Here, a neighb niter iterator encapsulates a window qiter iterator.
-    /// A window qiter iterator is a Proxy on a site P and can convert towards
-    /// a graph element through its member element().
-    ///
-    /// The window qiter iterator cannot have an automatic conversion towards
-    /// a graph element since there would be an ambiguity between this
-    /// conversion and the conversion to a psite P, if P is also a graph
-    /// element.
+    /*!
+      \internal
+      \brief Add more implementation for neighborhoods made from
+      graph_window_base windows.
+
+      FIXME: we need to redeclare the graph element interface.
+      Here, a neighb niter iterator encapsulates a window qiter iterator.
+      A window qiter iterator is a Proxy on a site P and can convert towards
+      a graph element through its member element().
+
+      The window qiter iterator cannot have an automatic conversion towards
+      a graph element since there would be an ambiguity between this
+      conversion and the conversion to a psite P, if P is also a graph
+      element.
+    */
     template <typename P, typename E>
     struct neighb_niter_impl_graph_window
     {
@@ -83,29 +89,38 @@ namespace mln
 
     };
 
-    /// In this case, The site P is a util::vertex which means this iterator
-    /// can automatically converts towards this type.
-    /// There would be an ambiguity between util::vertex members and the one
-    /// declared in neighb_niter_impl_graph_window<P,E> if this
-    /// specialization did not exist.
+    /*!
+      \internal
+      In this case, The site P is a util::vertex which means this iterator
+      can automatically converts towards this type.
+      There would be an ambiguity between util::vertex members and the one
+      declared in neighb_niter_impl_graph_window<P,E> if this
+      specialization did not exist.
+    */
     template <typename G, typename E>
     struct neighb_niter_impl_graph_window< util::vertex<G>, E >
     {
     };
 
-    /// In this case, The site P is a util::vertex which means this iterator
-    /// can automatically converts towards this type.
-    /// There would be an ambiguity between util::edge members and the one
-    /// declared in neighb_niter_impl_graph_window<P,E> if this
-    /// specialization did not exist.
+    /*!
+      \internal
+      In this case, The site P is a util::vertex which means this iterator
+      can automatically converts towards this type.
+      There would be an ambiguity between util::edge members and the one
+      declared in neighb_niter_impl_graph_window<P,E> if this
+      specialization did not exist.
+    */
     template <typename G, typename E>
     struct neighb_niter_impl_graph_window< util::edge<G>, E >
     {
     };
 
 
-    /// Add more implementation for neighborhoods made from
-    /// graph_window_base windows.
+    /*!
+      \internal
+      \brief Add more implementation for neighborhoods made from
+      graph_window_base windows.
+    */
     template <typename P, typename T, typename E>
     struct neighb_niter_impl< graph_window_base<P, T>, E >
       : neighb_niter_impl_graph_window<P,E>
@@ -124,8 +139,11 @@ namespace mln
 
 
 
-    /// Add more implementation for neighborhoods made from a
-    /// graph_window_piter.
+    /*!
+      \internal
+      \brief Add more implementation for neighborhoods made from a
+       graph_window_piter.
+    */
     template <typename G, typename S, typename E>
     struct neighb_niter_impl<graph_elt_window<G,S>, E>
       : public neighb_niter_impl< graph_window_base< mln_result(S::fun_t),
@@ -135,8 +153,11 @@ namespace mln
 
     };
 
-    /// Add more implementation for neighborhoods made from a
-    /// line_graph_window_piter.
+    /*!
+      \internal
+      \brief Add more implementation for neighborhoods made from a
+      line_graph_window_piter.
+    */
     template <typename G, typename F, typename E>
     struct neighb_niter_impl<line_graph_elt_window<G,F>, E>
       : public neighb_niter_impl< graph_window_base< mln_result(F),
@@ -147,8 +168,11 @@ namespace mln
     };
 
 
-    /// Add more implementation for neighborhoods made from a
-    /// graph_window_if_piter.
+    /*!
+      \internal
+      \brief Add more implementation for neighborhoods made from a
+      graph_window_if_piter.
+    */
     template <typename G, typename S, typename I, typename E>
     struct neighb_niter_impl<graph_elt_window_if<G,S,I>, E>
       : public neighb_niter_impl< graph_window_base< mln_result(S::fun_t),
@@ -159,8 +183,11 @@ namespace mln
     };
 
 
-    /// Add more implementation for neighborhoods made from a
-    /// graph_window_piter.
+    /*!
+      \internal
+      \brief Add more implementation for neighborhoods made from a
+      graph_window_piter.
+    */
     template <typename G, typename S, typename S2, typename E>
     struct neighb_niter_impl<graph_elt_mixed_window<G,S,S2>, E>
       : public neighb_niter_impl< graph_window_base< mln_result(S2::fun_t),
diff --git a/milena/mln/core/internal/neighborhood_base.hh b/milena/mln/core/internal/neighborhood_base.hh
index f1765c9..c24ab19 100644
--- a/milena/mln/core/internal/neighborhood_base.hh
+++ b/milena/mln/core/internal/neighborhood_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -66,25 +67,25 @@ namespace mln
       /// Give the foreground neighborhood in the case of a dual
       /// neighborhood.  For instance, with (object:c4, background:c8),
       /// the result is c4.
-      
+
       neighb<W> foreground() const
       {
 	W win = internal::force_exact<E>(*this).win().window_(1); // True, so object.
 	neighb<W> nbh(win);
 	return nbh;
       }
-      
+
       /// Give the background neighborhood in the case of a dual
       /// neighborhood.  For instance, with (object:c4, background:c8),
       /// the result is c8.
-      
+
       neighb<W> background() const
       {
 	W win = internal::force_exact<E>(*this).win().window_(0); // False, so background.
 	neighb<W> nbh(win);
 	return nbh;
       }
-      
+
     };
 
 
@@ -111,10 +112,12 @@ namespace mln
     };
 
 
-    /// Base class for neighborhood implementation classes.
-    ///
-    /// \p W is the underlying window type.
+    /*!
+      \internal
+      \base Base class for neighborhood implementation classes.
 
+      \p W is the underlying window type.
+    */
     template <typename W, typename E>
     struct neighborhood_base : public neighborhood_impl<W,E>
     {
diff --git a/milena/mln/core/internal/piter_adaptor.hh b/milena/mln/core/internal/piter_adaptor.hh
index 41c6333..fa84a43 100644
--- a/milena/mln/core/internal/piter_adaptor.hh
+++ b/milena/mln/core/internal/piter_adaptor.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -44,11 +45,13 @@ namespace mln
   namespace internal
   {
 
-    /// A base class for point iterator adaptors.
-    ///
-    /// Parameter \c Pi is the type of the point iterator adaptee;
-    /// parameter E is the exact type.
-    ///
+    /*!
+      \internal
+      \brief A base class for point iterator adaptors.
+
+      Parameter \c Pi is the type of the point iterator adaptee;
+      parameter E is the exact type.
+    */
     template <typename Pi, typename S, typename E>
     class piter_adaptor_ : public internal::site_iterator_base< S, E >
     {
diff --git a/milena/mln/core/internal/piter_identity.hh b/milena/mln/core/internal/piter_identity.hh
index 00fb16d..e0549f7 100644
--- a/milena/mln/core/internal/piter_identity.hh
+++ b/milena/mln/core/internal/piter_identity.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
 //
 // This file is part of Olena.
 //
@@ -39,11 +40,13 @@ namespace mln
   namespace internal
   {
 
-    /// A base class for site iterator identity adaptors.
-    ///
-    /// Parameter \c Pi is the type of the site iterator adaptee;
-    /// parameter E is the exact type.
-    ///
+    /*!
+      \internal
+      \brief A base class for site iterator identity adaptors.
+
+      Parameter \c Pi is the type of the site iterator adaptee;
+      parameter E is the exact type.
+    */
     template <typename Pi, typename E>
     class piter_identity_ : public piter_adaptor_< Pi,            // Adaptee.
 						   mln_pset(Pi),  // Site set.
diff --git a/milena/mln/core/internal/pixel_impl.hh b/milena/mln/core/internal/pixel_impl.hh
index d0549b1..ac78d31 100644
--- a/milena/mln/core/internal/pixel_impl.hh
+++ b/milena/mln/core/internal/pixel_impl.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -109,9 +109,11 @@ namespace mln
     };
 
 
-    /// Implementation class to equip generalized pixel
-    /// classes based on mutable images.
-    ///
+    /*!
+      \internal
+      \brief Implementation class to equip generalized pixel
+      classes based on mutable images.
+    */
     template <typename I, typename E>
     class pixel_impl_
 
@@ -168,9 +170,11 @@ namespace mln
     };
 
 
-    /// Implementation class to equip generalized pixel
-    /// classes based on constant images.
-    ///
+    /*!
+      \internal
+      \brief Implementation class to equip generalized pixel
+      classes based on constant images.
+    */
     template <typename I, typename E>
     class pixel_impl_< const I, E >
 
diff --git a/milena/mln/core/internal/pixel_iterator_base.hh b/milena/mln/core/internal/pixel_iterator_base.hh
index 5e8107e..7f3b6ce 100644
--- a/milena/mln/core/internal/pixel_iterator_base.hh
+++ b/milena/mln/core/internal/pixel_iterator_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -45,7 +46,10 @@ namespace mln
     | internal::pixel_iterator_base_<I, E>.  |
     `---------------------------------------*/
 
-    /// A base class for pixel iterators.
+    /*!
+      \internal
+      \brief A base class for pixel iterators.
+    */
     template <typename I, typename E>
     class pixel_iterator_base_ : public Pixel_Iterator<E>,
 				 public internal::pixel_impl_<I, E>
@@ -73,7 +77,10 @@ namespace mln
     | internal::forward_pixel_iterator_base_<I, E>.  |
     `-----------------------------------------------*/
 
-    /// A base class for forward pixel iterators.
+    /*!
+      \internal
+      \brief A base class for forward pixel iterators.
+    */
     template <typename I, typename E>
     class forward_pixel_iterator_base_ : public pixel_iterator_base_<I, E>
     {
@@ -102,7 +109,10 @@ namespace mln
     | internal::backward_pixel_iterator_base_<I, E>.  |
     `------------------------------------------------*/
 
-    /// A base class for backward pixel iterators.
+    /*!
+      \internal
+      \brief A base class for backward pixel iterators.
+    */
     template <typename I, typename E>
     class backward_pixel_iterator_base_ : public pixel_iterator_base_<I, E>
     {
diff --git a/milena/mln/core/internal/pseudo_site_base.hh b/milena/mln/core/internal/pseudo_site_base.hh
index da61277..576428e 100644
--- a/milena/mln/core/internal/pseudo_site_base.hh
+++ b/milena/mln/core/internal/pseudo_site_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -40,10 +41,12 @@ namespace mln
   namespace internal
   {
 
-    /*! A base class for pseudo sites.
-     *
-     * Parameter \c P is FIXME: a point site type.
-     */
+    /*!
+      \internal
+      \brief A base class for pseudo sites.
+
+      Parameter \c P is FIXME: a point site type.
+    */
     template <typename P, typename E>
     struct pseudo_site_base_ : Pseudo_Site<E>,
                                proxy_impl<P, E>
diff --git a/milena/mln/core/internal/run_image.hh b/milena/mln/core/internal/run_image.hh
index da12ad8..1751b1b 100644
--- a/milena/mln/core/internal/run_image.hh
+++ b/milena/mln/core/internal/run_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -41,11 +42,14 @@ namespace mln
   namespace internal
   {
 
-    /*! Factorization class for run_image.
-     * Parameter \c T is the type of the image value.
-     * Parameter \c P is the type of the image point.
-     * Parameter \c E is the Exact type of the image.
-     */
+    /*!
+      \internal
+      \brief Factorization class for run_image.
+
+      Parameter \c T is the type of the image value.
+      Parameter \c P is the type of the image point.
+      Parameter \c E is the Exact type of the image.
+    */
     template <typename T, typename P, typename E>
     class run_image_ : public internal::image_primary< P, p_set_of< p_run<P> >, E >
     {
diff --git a/milena/mln/core/internal/set_of.hh b/milena/mln/core/internal/set_of.hh
index df8568b..f4d4bed 100644
--- a/milena/mln/core/internal/set_of.hh
+++ b/milena/mln/core/internal/set_of.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -45,16 +46,19 @@ namespace mln
   namespace internal
   {
 
-    /*! An "efficient" mathematical set class.
-     * This set class is designed to store a mathematical set and to
-     * present it to the user as a linear array (std::vector).
-     * Elements are stored by copy.  Implementation is lazy.
-     * \invariant \a v_.size() == s_.size()
-     * The parameter \c E is the element type, which shall not be
-     * const-qualified.
-     *
-     * \todo Add a remove method.
-     */
+    /*!
+      \internal
+      \brief An "efficient" mathematical set class.
+
+      This set class is designed to store a mathematical set and to
+      present it to the user as a linear array (std::vector).
+      Elements are stored by copy.  Implementation is lazy.
+      \invariant \a v_.size() == s_.size()
+      The parameter \c E is the element type, which shall not be
+      const-qualified.
+
+      \todo Add a remove method.
+    */
     template <typename E>
     class set_of_
     {
diff --git a/milena/mln/core/internal/site_relative_iterator_base.hh b/milena/mln/core/internal/site_relative_iterator_base.hh
index 7483dfa..c091203 100644
--- a/milena/mln/core/internal/site_relative_iterator_base.hh
+++ b/milena/mln/core/internal/site_relative_iterator_base.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -47,16 +47,18 @@ namespace mln
   namespace internal
   {
 
-    /// A generic iterator on points of windows and of
-    ///  neighborhoods.
-    ///
-    /// Parameter \c S is the targeted "site set definition" type.  It
-    /// can be either a Window, or a Neighborhood.
-    ///
-    /// IMPORTANT: Sub-classes have to define center_at_, do_start_, do_next_,
-    /// is_valid_, invalidate_ and compute_p_.  They shall define
-    /// NEITHER start_ NOR next_.
-    ///
+    /*!
+      \internal
+      \brief A generic iterator on points of windows and of
+      neighborhoods.
+
+      Parameter \c S is the targeted "site set definition" type.  It
+      can be either a Window, or a Neighborhood.
+
+      IMPORTANT: Sub-classes have to define center_at_, do_start_, do_next_,
+      is_valid_, invalidate_ and compute_p_.  They shall define
+      NEITHER start_ NOR next_.
+    */
     template <typename S, typename E, typename C = mln_psite(S)>
     class site_relative_iterator_base : public site_iterator_base< S, E >
     {
diff --git a/milena/mln/core/internal/site_set_base.hh b/milena/mln/core/internal/site_set_base.hh
index 076d480..191a16c 100644
--- a/milena/mln/core/internal/site_set_base.hh
+++ b/milena/mln/core/internal/site_set_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -42,12 +43,15 @@ namespace mln
   {
 
 
-    /// A base class for site set classes.
-    ///
-    /// \tparam P The psite type of what is ``contained'' in the site
-    ///           set, not the psite of the site set (which is
-    ///           different, and defined by the site set itself).
-    /// \tparam E The exact type of the site set.
+    /*!
+      \internal
+      \brief A base class for site set classes.
+
+      \tparam P The psite type of what is ``contained'' in the site
+                set, not the psite of the site set (which is
+                different, and defined by the site set itself).
+      \tparam E The exact type of the site set.
+    */
     template <typename P, typename E>
     struct site_set_base_ : public Site_Set<E>
     {
diff --git a/milena/mln/core/internal/site_set_iterator_base.hh b/milena/mln/core/internal/site_set_iterator_base.hh
index 71c3fe3..0b85fbb 100644
--- a/milena/mln/core/internal/site_set_iterator_base.hh
+++ b/milena/mln/core/internal/site_set_iterator_base.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -41,14 +41,16 @@ namespace mln
   namespace internal
   {
 
-    /// A base class for iterators on site sets.
-    ///
-    /// Parameter \c S is the targeted site set type.
-    ///
-    /// IMPORTANT: Sub-classes have to define start_, next_,
-    /// is_valid_ and invalidate_.  They may also define
-    /// change_target_.
-    //
+    /*!
+      \internal
+      \brief A base class for iterators on site sets.
+
+      Parameter \c S is the targeted site set type.
+
+      IMPORTANT: Sub-classes have to define start_, next_,
+      is_valid_ and invalidate_.  They may also define
+      change_target_.
+    */
     template <typename S, typename E>
     class site_set_iterator_base : public site_iterator_base<S, E>
     {
diff --git a/milena/mln/core/internal/weighted_window_base.hh b/milena/mln/core/internal/weighted_window_base.hh
index cb21536..4a6698c 100644
--- a/milena/mln/core/internal/weighted_window_base.hh
+++ b/milena/mln/core/internal/weighted_window_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -39,10 +40,12 @@ namespace mln
   namespace internal
   {
 
-    /// Base class for weighted window classes.
-    ///
-    /// \p W is the corresponding window type.
+    /*!
+      \internal
+      \brief Base class for weighted window classes.
 
+      \p W is the corresponding window type.
+    */
     template <typename W, typename E>
     struct weighted_window_base : public Weighted_Window<E>
     {
@@ -70,7 +73,7 @@ namespace mln
       /// method is valid iff the support is regular and the
       /// definition is not varying.
       bool is_centered() const;
-      
+
       /// Give the maximum coordinate gap; final method.  This method
       /// is valid iff the support is regular and the definition is
       /// not varying.
diff --git a/milena/mln/core/internal/window_base.hh b/milena/mln/core/internal/window_base.hh
index 0047055..bfe8da5 100644
--- a/milena/mln/core/internal/window_base.hh
+++ b/milena/mln/core/internal/window_base.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -41,10 +41,12 @@ namespace mln
   {
 
 
-    /// A base class for window classes.
-    ///
-    /// \p D is a dpsite type.
-    ///
+    /*!
+      \internal
+      \brief A base class for window classes.
+
+      \p D is a dpsite type.
+    */
     template <typename D, typename E>
     struct window_base : public Window<E>
     {
diff --git a/milena/mln/core/pixter1d.hh b/milena/mln/core/pixter1d.hh
index da0eb75..8a626da 100644
--- a/milena/mln/core/pixter1d.hh
+++ b/milena/mln/core/pixter1d.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -40,7 +41,10 @@ namespace mln
   | fwd_pixter1d<I>.  |
   `------------------*/
 
-  /// Forward pixel iterator on a 1-D image with border.
+  /*!
+    \internal
+    \brief Forward pixel iterator on a 1-D image with border.
+  */
   template <typename I>
   class fwd_pixter1d :
     public internal::forward_pixel_iterator_base_< I, fwd_pixter1d<I> >
@@ -64,7 +68,10 @@ namespace mln
   | bkd_pixter1d<I>.  |
   `------------------*/
 
-  /// Backward pixel iterator on a 1-D image with border.
+  /*!
+    \internal
+    \brief Backward pixel iterator on a 1-D image with border.
+  */
   template <typename I>
   class bkd_pixter1d :
     public internal::backward_pixel_iterator_base_< I, bkd_pixter1d<I> >
diff --git a/milena/mln/core/pixter2d.hh b/milena/mln/core/pixter2d.hh
index 930addd..49011aa 100644
--- a/milena/mln/core/pixter2d.hh
+++ b/milena/mln/core/pixter2d.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -42,7 +43,10 @@ namespace mln
   | fwd_pixter2d<I>.  |
   `------------------*/
 
-  /// Forward pixel iterator on a 2-D image with border.
+  /*!
+    \internal
+    \brief Forward pixel iterator on a 2-D image with border.
+  */
   template <typename I>
   class fwd_pixter2d
     : public internal::forward_pixel_iterator_base_< I, fwd_pixter2d<I> >
@@ -82,7 +86,10 @@ namespace mln
   | bkd_pixter2d<I>.  |
   `------------------*/
 
-  /// Backward pixel iterator on a 2-D image with border.
+  /*!
+    \internal
+    \brief Backward pixel iterator on a 2-D image with border.
+  */
   template <typename I>
   class bkd_pixter2d
     : public internal::backward_pixel_iterator_base_< I, bkd_pixter2d<I> >
diff --git a/milena/mln/core/pixter3d.hh b/milena/mln/core/pixter3d.hh
index a9cb48b..93bad74 100644
--- a/milena/mln/core/pixter3d.hh
+++ b/milena/mln/core/pixter3d.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -43,7 +44,10 @@ namespace mln
   | fwd_pixter3d<I>.  |
   `------------------*/
 
-  /// Forward pixel iterator on a 3-D image with border.
+  /*!
+    \internal
+    \brief Forward pixel iterator on a 3-D image with border.
+  */
   template <typename I>
   class fwd_pixter3d
     : public internal::forward_pixel_iterator_base_< I, fwd_pixter3d<I> >
@@ -95,7 +99,10 @@ namespace mln
   | bkd_pixter3d<I>.  |
   `------------------*/
 
-  /// Backward pixel iterator on a 3-D image with border.
+  /*!
+    \internal
+    \brief Backward pixel iterator on a 3-D image with border.
+  */
   template <typename I>
   class bkd_pixter3d
     : public internal::backward_pixel_iterator_base_< I, bkd_pixter3d<I> >
diff --git a/milena/mln/core/routine/ops.hh b/milena/mln/core/routine/ops.hh
index db26631..220e14d 100644
--- a/milena/mln/core/routine/ops.hh
+++ b/milena/mln/core/routine/ops.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -107,27 +107,45 @@ namespace mln
     // For unary operators.
 
 
-    /// Default definition of op::uplus trait.
+    /*!
+      \internal
+      \brief Default definition of op::uplus trait.
+    */
     template <typename O>
     struct set_unary_< op::uplus, Object,O > { typedef O ret; };
 
-    /// Default definition of op::uminus trait.
+    /*!
+      \internal
+      \brief Default definition of op::uminus trait.
+    */
     template <typename O>
     struct set_unary_< op::uminus, Object,O > { typedef mln_trait_op_minus(O, O) ret; };
 
-    /// Default definition of op::preinc trait.
+    /*!
+      \internal
+      \brief Default definition of op::preinc trait.
+    */
     template <typename O>
     struct set_unary_< op::preinc, Object,O > { typedef O& ret; };
 
-    /// Default definition of op::preinc trait.
+    /*!
+      \internal
+      \brief Default definition of op::preinc trait.
+    */
     template <typename O>
     struct set_unary_< op::predec, Object,O > { typedef O& ret; };
 
-    /// Default definition of op::postinc trait.
+    /*!
+      \internal
+      \brief Default definition of op::postinc trait.
+    */
     template <typename O>
     struct set_unary_< op::postinc, Object,O > { typedef O ret; };
 
-    /// Default definition of op::postinc trait.
+    /*!
+      \internal
+      \brief Default definition of op::postinc trait.
+    */
     template <typename O>
     struct set_unary_< op::postdec, Object,O > { typedef O ret; };
 
diff --git a/milena/mln/core/site_set/attic/p_complex_faces_piter.hh b/milena/mln/core/site_set/attic/p_complex_faces_piter.hh
index d910b4f..1f01319 100644
--- a/milena/mln/core/site_set/attic/p_complex_faces_piter.hh
+++ b/milena/mln/core/site_set/attic/p_complex_faces_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -55,8 +56,11 @@ namespace mln
   | p_complex_faces_fwd_piter_<N, D, P>.  |
   `--------------------------------------*/
 
-  /// \brief Forward iterator on the \p N-faces sites of an
-  /// mln::p_complex<D, P>.
+  /*!
+    \internal
+    \brief Forward iterator on the \p N-faces sites of an
+    mln::p_complex<D, P>.
+  */
   template <unsigned N, unsigned D, typename P>
   class p_complex_faces_fwd_piter_
     : public internal::p_complex_piter_base_< topo::faces_fwd_iter_<N, D>,
@@ -83,8 +87,11 @@ namespace mln
   | p_complex_faces_bkd_piter_<N, D, P>.  |
   `--------------------------------------*/
 
-  /// \brief Backward iterator on the \p N-faces sites of an
-  /// mln::p_complex<D, P>.
+  /*!
+    \internal
+    \brief Backward iterator on the \p N-faces sites of an
+    mln::p_complex<D, P>.
+  */
   template <unsigned N, unsigned D, typename P>
   class p_complex_faces_bkd_piter_
   /* FIXME: Rename internal::p_complex_piter_base_ to something else,
diff --git a/milena/mln/core/site_set/attic/p_faces_piter.hh b/milena/mln/core/site_set/attic/p_faces_piter.hh
index 148872c..7f67bbc 100644
--- a/milena/mln/core/site_set/attic/p_faces_piter.hh
+++ b/milena/mln/core/site_set/attic/p_faces_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -51,8 +52,11 @@ namespace mln
   | p_faces_fwd_piter_<N, D, P>.  |
   `------------------------------*/
 
-  /// \brief Forward iterator on the \p N-faces sites of an
-  /// mln::p_faces<N, D, P>.
+  /*!
+    \internal
+    \brief Forward iterator on the \p N-faces sites of an
+    mln::p_faces<N, D, P>.
+  */
   template <unsigned N, unsigned D, typename P>
   class p_faces_fwd_piter_
     : public internal::p_complex_piter_base_< topo::faces_fwd_iter_<N, D>,
@@ -79,8 +83,11 @@ namespace mln
   | p_faces_bkd_piter_<N, D, P>.  |
   `------------------------------*/
 
-  /// \brief Backward iterator on the \p N-faces sites of an
-  /// mln::p_faces<N, D, P>.
+  /*!
+    \internal
+    \brief Backward iterator on the \p N-faces sites of an
+    mln::p_faces<N, D, P>.
+  */
   template <unsigned N, unsigned D, typename P>
   class p_faces_bkd_piter_
   /* FIXME: Rename internal::p_complex_piter_base_ to something else,
diff --git a/milena/mln/core/site_set/box_piter.hh b/milena/mln/core/site_set/box_piter.hh
index b031654..d3b548f 100644
--- a/milena/mln/core/site_set/box_piter.hh
+++ b/milena/mln/core/site_set/box_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -38,12 +39,14 @@
 namespace mln
 {
 
-  /// \brief A generic forward iterator on points of boxes.
-  ///
-  /// The parameter \c P is the type of points.
-  ///
-  /// \see mln::box
-  ///
+  /*!
+    \internal
+    \brief A generic forward iterator on points of boxes.
+
+    The parameter \c P is the type of points.
+
+    \see mln::box
+  */
   template <typename P>
   class box_fwd_piter_ : public internal::site_set_iterator_base< box<P>,
 								  box_fwd_piter_<P> >
@@ -84,12 +87,14 @@ namespace mln
 
 
 
-  /// A generic backward iterator on points of boxes.
-  ///
-  /// The parameter \c P is the type of points.
-  ///
-  /// \see mln::box
-  ///
+  /*!
+    \internal
+    \brief A generic backward iterator on points of boxes.
+
+    The parameter \c P is the type of points.
+
+    \see mln::box
+  */
   template <typename P>
   class box_bkd_piter_ : public internal::site_set_iterator_base< box<P>,
 								  box_bkd_piter_<P> >
diff --git a/milena/mln/core/site_set/complex_psite.hh b/milena/mln/core/site_set/complex_psite.hh
index 9e150cc..c15c12d 100644
--- a/milena/mln/core/site_set/complex_psite.hh
+++ b/milena/mln/core/site_set/complex_psite.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
 //
 // This file is part of Olena.
 //
@@ -227,7 +228,7 @@ namespace mln
   complex_psite<D, G>::complex_psite(const p_complex<D, G>& pc,
 				     unsigned n, unsigned face_id)
     : pc_(&pc),
-      face_(pc.cplx(), n, face_id)  
+      face_(pc.cplx(), n, face_id)
   {
     if (is_valid())
       update_();
diff --git a/milena/mln/core/site_set/p_array.hh b/milena/mln/core/site_set/p_array.hh
index 0ca810e..08a041e 100644
--- a/milena/mln/core/site_set/p_array.hh
+++ b/milena/mln/core/site_set/p_array.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 EPITA Research and
 // Development Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -177,8 +177,10 @@ namespace mln
 
 
 
-  /// Psite class for indexed site sets such as p_array<P>.
-  ///
+  /*!
+    \internal
+    \brief Psite class for indexed site sets such as p_array<P>.
+  */
   template <typename S>
   class p_indexed_psite : public internal::pseudo_site_base_< const mln_element(S)&,
 							      p_indexed_psite<S> >
@@ -229,8 +231,10 @@ namespace mln
 
 
 
-  /// Forward iterator on sites of an indexed site set.
-
+  /*!
+    \internal
+    \brief Forward iterator on sites of an indexed site set.
+  */
   template <typename S>
   class p_indexed_fwd_piter
     :
@@ -270,8 +274,10 @@ namespace mln
 
 
 
-  /// Backward iterator on sites of an indexed site set.
-
+  /*!
+    \internal
+    \brief Backward iterator on sites of an indexed site set.
+  */
   template <typename S>
   class p_indexed_bkd_piter
     :
diff --git a/milena/mln/core/site_set/p_complex_piter.hh b/milena/mln/core/site_set/p_complex_piter.hh
index 9fa2282..ac52cb7 100644
--- a/milena/mln/core/site_set/p_complex_piter.hh
+++ b/milena/mln/core/site_set/p_complex_piter.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -48,7 +48,10 @@ namespace mln
   | p_complex_fwd_piter_<D, G>.  |
   `-----------------------------*/
 
-  /// \brief Forward iterator on (all) the faces of an mln::p_complex<D, G>.
+  /*!
+    \internal
+    \brief Forward iterator on (all) the faces of an mln::p_complex<D, G>.
+  */
   template <unsigned D, typename G>
   class p_complex_fwd_piter_
     : public internal::p_complex_piter_base_< topo::face_fwd_iter<D>,
@@ -75,7 +78,10 @@ namespace mln
   | p_complex_bkd_piter_<D, G>.  |
   `-----------------------------*/
 
-  /// \brief Backward iterator on (all) the faces of an mln::p_complex<D, G>.
+  /*!
+    \internal
+    \brief Backward iterator on (all) the faces of an mln::p_complex<D, G>.
+  */
   template <unsigned D, typename G>
   class p_complex_bkd_piter_
     : public internal::p_complex_piter_base_< topo::face_bkd_iter<D>,
diff --git a/milena/mln/core/site_set/p_edges_psite.hh b/milena/mln/core/site_set/p_edges_psite.hh
index c72e9bb..9b0a0fa 100644
--- a/milena/mln/core/site_set/p_edges_psite.hh
+++ b/milena/mln/core/site_set/p_edges_psite.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -89,8 +90,10 @@ namespace mln
   namespace internal
   {
 
-    /// Subject_impl (Proxy)
-
+    /*!
+      \internal
+      \brief Subject_impl (Proxy)
+    */
     template <typename G, typename F, typename E>
     struct subject_impl< const p_edges_psite<G,F>&, E >
       :	   subject_impl< const graph_psite_base< p_edges<G,F>,
diff --git a/milena/mln/core/site_set/p_graph_piter.hh b/milena/mln/core/site_set/p_graph_piter.hh
index 12b7e0d..2a52048 100644
--- a/milena/mln/core/site_set/p_graph_piter.hh
+++ b/milena/mln/core/site_set/p_graph_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -50,7 +51,10 @@ namespace mln
   | p_graph_piter<S,I>.  |
   `------------------------*/
 
-  /// Generic iterator on point sites of a mln::S.
+  /*!
+    \internal
+    \brief Generic iterator on point sites of a mln::S.
+  */
   template <typename S, typename I>
   class p_graph_piter
     : public internal::site_set_iterator_base< S,
@@ -112,7 +116,10 @@ namespace mln
   {
 
     /// \{
-    /// subject_impl specialization (Proxy)
+    /*!
+      \internal
+      \brief subject_impl specialization (Proxy)
+    */
     template <typename S, typename I, typename E>
     struct subject_impl< const p_graph_piter<S,I>&, E >
     {
diff --git a/milena/mln/core/site_set/p_if_piter.hh b/milena/mln/core/site_set/p_if_piter.hh
index 8bfa124..7820d40 100644
--- a/milena/mln/core/site_set/p_if_piter.hh
+++ b/milena/mln/core/site_set/p_if_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -39,13 +40,15 @@ namespace mln
 {
 
 
-  /*! \brief Iterator on site sets conditionned by a function.
-   *
-   * Parameter \c S is a site set type; parameter F is a function
-   * from point to Boolean.
-   *
-   * \see mln::p_if
-   */
+  /*!
+    \internal
+    \brief Iterator on site sets conditionned by a function.
+
+    Parameter \c S is a site set type; parameter F is a function
+    from point to Boolean.
+
+    \see mln::p_if
+  */
   template <typename Pi, typename S, typename F>
   struct p_if_piter_
     : public internal::piter_adaptor_< Pi,                       // Adaptee.
@@ -112,7 +115,7 @@ namespace mln
       pi_.next();
     while (pi_.is_valid() && ! s_->pred(pi_));
   }
-  
+
   template <typename Pi, typename S, typename F>
   inline
   void
diff --git a/milena/mln/core/site_set/p_n_faces_piter.hh b/milena/mln/core/site_set/p_n_faces_piter.hh
index 3282be8..0a1849f 100644
--- a/milena/mln/core/site_set/p_n_faces_piter.hh
+++ b/milena/mln/core/site_set/p_n_faces_piter.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -50,8 +50,11 @@ namespace mln
   | p_n_faces_fwd_piter<D, G>.  |
   `----------------------------*/
 
-  /// \brief Forward iterator on the n-faces sites of an
-  /// mln::p_complex<D, G>.
+  /*!
+    \internal
+    \brief Forward iterator on the n-faces sites of an
+    mln::p_complex<D, G>.
+  */
   template <unsigned D, typename G>
   class p_n_faces_fwd_piter
     : public internal::p_complex_piter_base_< topo::n_face_fwd_iter<D>,
@@ -86,8 +89,11 @@ namespace mln
   | p_n_faces_bkd_piter<D, G>.  |
   `----------------------------*/
 
-  /// \brief Backward iterator on the n-faces sites of an
-  /// mln::p_complex<D, G>.
+  /*!
+    \internal
+    \brief Backward iterator on the n-faces sites of an
+    mln::p_complex<D, G>.
+  */
   template <unsigned D, typename G>
   class p_n_faces_bkd_piter
   /* FIXME: Rename internal::p_complex_piter_base_ to something else,
@@ -145,7 +151,7 @@ namespace mln
 
   template <unsigned D, typename G>
   inline
-  unsigned 
+  unsigned
   p_n_faces_fwd_piter<D, G>::n() const
   {
     return this->iter_.n();
@@ -158,7 +164,7 @@ namespace mln
   {
     this->iter_.set_n(n);
   }
-    
+
 
   /*----------------------------.
   | p_n_faces_bkd_piter<D, G>.  |
@@ -182,7 +188,7 @@ namespace mln
 
   template <unsigned D, typename G>
   inline
-  unsigned 
+  unsigned
   p_n_faces_bkd_piter<D, G>::n() const
   {
     return this->iter_.n();
diff --git a/milena/mln/core/site_set/p_run_piter.hh b/milena/mln/core/site_set/p_run_piter.hh
index dd04610..1495723 100644
--- a/milena/mln/core/site_set/p_run_piter.hh
+++ b/milena/mln/core/site_set/p_run_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -38,9 +39,10 @@
 namespace mln
 {
 
-  /*! \brief Forward iterator on points of a p_run<P>.
-   *
-   */
+  /*!
+    \internal
+    \brief Forward iterator on points of a p_run<P>.
+  */
   template <typename P>
   class p_run_fwd_piter_
     :
@@ -76,9 +78,10 @@ namespace mln
 
 
 
-  /*! \brief Backward iterator on points of a p_run<P>.
-   *
-   */
+  /*!
+    \internal
+    \brief Backward iterator on points of a p_run<P>.
+  */
   template <typename P>
   class p_run_bkd_piter_
     :
diff --git a/milena/mln/core/site_set/p_transformed_piter.hh b/milena/mln/core/site_set/p_transformed_piter.hh
index 25375fb..505c72d 100644
--- a/milena/mln/core/site_set/p_transformed_piter.hh
+++ b/milena/mln/core/site_set/p_transformed_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
 //
 // This file is part of Olena.
 //
@@ -39,13 +40,15 @@ namespace mln
 {
 
 
-  /// Iterator on p_transformed<S,F>.
-  ///
-  /// Parameter \c S is a site set type; parameter F is a function
-  /// from point to Boolean.
-  ///
-  /// \see mln::p_transformed
-  //
+  /*!
+    \internal
+    \brief Iterator on p_transformed<S,F>.
+
+    Parameter \c S is a site set type; parameter F is a function
+    from point to Boolean.
+
+    \see mln::p_transformed
+  */
   template <typename Pi, typename S, typename F>
   struct p_transformed_piter
     : public internal::site_set_iterator_base< p_transformed<S,F>,            // Site_Set.
@@ -59,16 +62,16 @@ namespace mln
 
     /// Test the iterator validity.
     bool is_valid_() const;
-    
+
     /// Invalidate the iterator.
     void invalidate_();
-    
+
     /// Start an iteration.
     void start_();
-    
+
     /// Go to the next point.
     void next_();
-    
+
     /// Change the set site targeted by this iterator.
     void change_target(const p_transformed<S,F>& s);
 
diff --git a/milena/mln/core/site_set/p_vertices_psite.hh b/milena/mln/core/site_set/p_vertices_psite.hh
index 320796f..a8b2cb2 100644
--- a/milena/mln/core/site_set/p_vertices_psite.hh
+++ b/milena/mln/core/site_set/p_vertices_psite.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -84,8 +84,10 @@ namespace mln
   namespace internal
   {
 
-    /// Subject_impl (Proxy)
-
+    /*!
+      \internal
+      \brief Subject_impl (Proxy)
+    */
     template <typename G, typename F, typename E>
     struct subject_impl< const p_vertices_psite<G,F>&, E >
 	 : subject_impl< const graph_psite_base< p_vertices<G,F>,
diff --git a/milena/mln/fun/c.hh b/milena/mln/fun/c.hh
index a09325c..32666d0 100644
--- a/milena/mln/fun/c.hh
+++ b/milena/mln/fun/c.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -41,12 +42,18 @@
 namespace mln
 {
 
-  /// Concept-like.
+  /*!
+    \internal
+    \brief Concept-like.
+  */
   template <typename E>
   struct C_Function;
 
 
-  /// Category declaration for a unary C function.
+  /*!
+    \internal
+    \brief Category declaration for a unary C function.
+  */
   template <typename R, typename A>
   struct category< R (*)(A) >
   {
diff --git a/milena/mln/fun/internal/ch_function_value_impl.hh b/milena/mln/fun/internal/ch_function_value_impl.hh
index 387cb17..185634a 100644
--- a/milena/mln/fun/internal/ch_function_value_impl.hh
+++ b/milena/mln/fun/internal/ch_function_value_impl.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -39,7 +40,10 @@ namespace mln
     namespace internal
     {
 
-      /// Default implementation.
+      /*!
+	\internal
+	\brief Default implementation.
+      */
       template <typename F, typename V>
       struct ch_function_value_impl
       {
diff --git a/milena/mln/fun/v2v/ch_function_value.hh b/milena/mln/fun/v2v/ch_function_value.hh
index 68fc9ee..8fc6f32 100644
--- a/milena/mln/fun/v2v/ch_function_value.hh
+++ b/milena/mln/fun/v2v/ch_function_value.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -47,7 +48,7 @@ namespace mln
     namespace v2v
     {
 
-      /// Wrap a function v2v and convert its result to another type.
+      /// \brief Wrap a function v2v and convert its result to another type.
       template <typename F, typename V>
       class ch_function_value : public Function_v2v< ch_function_value<F,V> >,
 				public internal::ch_function_value_impl<F, V>
diff --git a/milena/mln/fun/x2x/composed.hh b/milena/mln/fun/x2x/composed.hh
index a95dfeb..162e2fe 100644
--- a/milena/mln/fun/x2x/composed.hh
+++ b/milena/mln/fun/x2x/composed.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -58,7 +58,10 @@ namespace mln
         struct helper_composed_;
 
 
-        /// Helper for describing a bijective composition.
+        /*!
+	  \internal
+	  \brief Helper for describing a bijective composition.
+	*/
         template <typename T2, typename T1, typename E>
         struct helper_composed_<T2,T1,E,true>
           : public fun::internal::x2x_linear_impl_<mln_result(T2), typename T2::data_t, E >,
@@ -99,7 +102,10 @@ namespace mln
           T1 g_;
         };
 
-        /// Helper for describing a non bijective composition.
+        /*!
+	  \internal
+	  \brief Helper for describing a non bijective composition.
+	*/
         template <typename T2, typename T1, typename E>
         struct helper_composed_<T2,T1,E,false>
           : public fun::internal::x2x_linear_impl_<mln_result(T2), typename T2::data_t, E >,
diff --git a/milena/mln/geom/complex_geometry.hh b/milena/mln/geom/complex_geometry.hh
index ef23c3e..fbad8c4 100644
--- a/milena/mln/geom/complex_geometry.hh
+++ b/milena/mln/geom/complex_geometry.hh
@@ -114,9 +114,12 @@ namespace mln
 
     namespace internal
     {
-      /// The data stored in a complex_geometry object.
-      ///
-      /// \tparam P The type of the location of a 0-face.
+      /*!
+	\internal
+	\brief The data stored in a complex_geometry object.
+
+	\tparam P The type of the location of a 0-face.
+      */
       template <typename P>
       struct complex_geometry_data
       {
diff --git a/milena/mln/labeling/blobs.hh b/milena/mln/labeling/blobs.hh
index ce06b7d..d41563f 100644
--- a/milena/mln/labeling/blobs.hh
+++ b/milena/mln/labeling/blobs.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -74,8 +74,10 @@ namespace mln
     namespace internal
     {
 
-      /// Functor not computing anything. To be passed to the labeling
-      /// blobs canvas.
+      /*!
+	\brief Functor not computing anything. To be passed to the labeling
+	blobs canvas.
+      */
       template <typename L>
       struct dummy_functor
       {
diff --git a/milena/mln/labeling/blobs_and_compute.hh b/milena/mln/labeling/blobs_and_compute.hh
index e8f784c..39ea59d 100644
--- a/milena/mln/labeling/blobs_and_compute.hh
+++ b/milena/mln/labeling/blobs_and_compute.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -71,8 +71,11 @@ namespace mln
     namespace internal
     {
 
-      /// Functor not computing anything. To be passed to the labeling
-      /// blobs canvas.
+      /*!
+	\internal
+	\brief Functor not computing anything.
+	To be passed to the labeling  blobs canvas.
+      */
       template <typename L, typename A>
       struct compute_functor
       {
diff --git a/milena/mln/metal/ands.hh b/milena/mln/metal/ands.hh
index b2329a1..6a65436 100644
--- a/milena/mln/metal/ands.hh
+++ b/milena/mln/metal/ands.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -38,8 +39,11 @@ namespace mln
 
   namespace metal
   {
-    
-    /// Ands type.
+
+    /*!
+      \internal
+      \brief Ands type.
+    */
     template < typename E1,
 	       typename E2,
 	       typename E3,
diff --git a/milena/mln/metal/bexpr.hh b/milena/mln/metal/bexpr.hh
index 0dc1821..1631151 100644
--- a/milena/mln/metal/bexpr.hh
+++ b/milena/mln/metal/bexpr.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -45,26 +46,38 @@ namespace mln
 
   namespace metal
   {
-    
-    /// Negate type.
+
+    /*!
+      \internal
+      \brief Negate type.
+    */
     template <typename B>
     struct not_ : bool_<( ! B::value )>
     {};
-    
 
-    /// And type.
+
+    /*!
+      \internal
+      \brief And type.
+    */
     template <typename L, typename R>
     struct and_ : bool_<( L::value && R::value )>
     {};
-    
 
-    /// Or type.
+
+    /*!
+      \internal
+      \brief Or type.
+    */
     template <typename L, typename R>
     struct or_ : bool_<( L::value || R::value )>
     {};
-    
 
-    /// Xor type.
+
+    /*!
+      \internal
+      \brief Xor type.
+    */
     template <typename L, typename R>
     struct xor_ : bool_<( L::value ^ R::value )>
     {};
diff --git a/milena/mln/metal/bool.hh b/milena/mln/metal/bool.hh
index 3960b8d..4b6ff59 100644
--- a/milena/mln/metal/bool.hh
+++ b/milena/mln/metal/bool.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -50,7 +51,10 @@ namespace mln
     template <bool b> struct bool_;
 
 
-    /// "true" type.
+    /*!
+      \internal
+      \brief "true" type.
+    */
     template <>
     struct bool_< true >
     {
@@ -64,7 +68,10 @@ namespace mln
     typedef bool_<true> true_;
 
 
-    /// "false" type.
+    /*!
+      \internal
+      \brief "false" type.
+    */
     template <>
     struct bool_< false >
     {
diff --git a/milena/mln/metal/converts_to.hh b/milena/mln/metal/converts_to.hh
index 25be3e9..8d877ba 100644
--- a/milena/mln/metal/converts_to.hh
+++ b/milena/mln/metal/converts_to.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -73,7 +74,10 @@ namespace mln
 
 
 
-    /// \brief "converts-to" check.
+    /*!
+      \internal
+      \brief "converts-to" check.
+    */
     template <typename T, typename U>
     struct converts_to : bool_<( sizeof(internal::helper_converts_to_<T, U>
 					::selector(*internal::make_<mlc_const(T)>::ptr(),
diff --git a/milena/mln/metal/equal.hh b/milena/mln/metal/equal.hh
index 47b7c4f..170ed91 100644
--- a/milena/mln/metal/equal.hh
+++ b/milena/mln/metal/equal.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -42,9 +43,11 @@ namespace mln
   namespace metal
   {
 
-    /// Definition of a static 'equal' test.
-    /// Check whether type T1 is exactly type T2.
-    //
+    /*!
+      \internal
+      \brief Definition of a static 'equal' test.
+      Check whether type T1 is exactly type T2.
+    */
     template <typename T1, typename T2>
     struct equal : false_
     {};
diff --git a/milena/mln/metal/goes_to.hh b/milena/mln/metal/goes_to.hh
index f8757c9..79bbd15 100644
--- a/milena/mln/metal/goes_to.hh
+++ b/milena/mln/metal/goes_to.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -45,14 +46,16 @@ namespace mln
   namespace metal
   {
 
-    /*! \brief "goes-to" check.
-     *
-     * FIXME: Doc!
-     */
+    /*!
+      \internal
+      \brief "goes-to" check.
+
+      FIXME: Doc!
+    */
     template <typename T, typename U>
     struct goes_to : or_< mlc_converts_to(T,U), mlc_is(T,U) >::eval
     {};
-    
+
 
   } // end of namespace mln::metal
 
diff --git a/milena/mln/metal/if.hh b/milena/mln/metal/if.hh
index ab5a64f..5adb0e7 100644
--- a/milena/mln/metal/if.hh
+++ b/milena/mln/metal/if.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -64,10 +65,12 @@ namespace mln
     } // end of namespace mln::metal::internal
 
 
-    /*! \brief "if-then-else" expression.
-     *
-     * FIXME: Doc!
-     */
+    /*!
+      \internal
+      \brief "if-then-else" expression.
+
+      FIXME: Doc!
+    */
     template <typename Cond, typename Then, typename Else>
     struct if_ : internal::helper_if_< Cond::value, Then, Else >
     {
diff --git a/milena/mln/metal/int.hh b/milena/mln/metal/int.hh
index a216db9..d52291c 100644
--- a/milena/mln/metal/int.hh
+++ b/milena/mln/metal/int.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -41,7 +42,10 @@ namespace mln
   namespace metal
   {
 
-    /// "int" type.
+    /*!
+      \internal
+      \brief "int" type.
+    */
     template <int i>
     struct int_
     {
diff --git a/milena/mln/metal/is.hh b/milena/mln/metal/is.hh
index 10db237..f4f2c10 100644
--- a/milena/mln/metal/is.hh
+++ b/milena/mln/metal/is.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -57,9 +58,11 @@ namespace mln
 
 
 
-    /// \brief "is" check.
-    /// Check whether T inherits from U.
-    //
+    /*!
+      \internal
+      \brief "is" check.
+      Check whether T inherits from U.
+    */
     template <typename T, typename U>
     struct is : bool_<( sizeof(internal::helper_is_<T, U>::selector(internal::make_<T>::ptr()))
 			==
diff --git a/milena/mln/metal/is_a.hh b/milena/mln/metal/is_a.hh
index 2244c33..7a0c803 100644
--- a/milena/mln/metal/is_a.hh
+++ b/milena/mln/metal/is_a.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -33,14 +34,16 @@
 # include <mln/metal/bool.hh>
 
 
-/// \brief Expand to a "metalic" boolean expression stating whether \a
-/// T is a subclass of \a M or not.
-///
-/// In the current implementation, \a M must be template class with
-/// exactly one, non template parameter.
-///
-/// This macro is the recommended user interface of the "is_a"
-/// facility.
+/*!
+  \brief Expand to a "metalic" boolean expression stating whether \a
+  T is a subclass of \a M or not.
+
+  In the current implementation, \a M must be template class with
+  exactly one, non template parameter.
+
+  This macro is the recommended user interface of the "is_a"
+  facility.
+*/
 # define mlc_is_a(T, M) mln::metal::is_a<T, M>
 
 
@@ -87,28 +90,30 @@ namespace mln
 
 
 
-    /// \brief "is_a" check.
-    ///
-    /// Check whether T inherits from _CONCEPT_ M.
-    //
+    /*!
+      \internal
+      \brief "is_a" check.
+
+      Check whether T inherits from _CONCEPT_ M.
+    */
     template <typename T, template <class> class M>
     struct is_a : bool_<( sizeof( internal::helper_is_a_< T, M >::selector(internal::make_< T >::ptr()) )
 			  ==
 			  sizeof( internal::yes_ )  )>
     {};
-    
+
     template <typename T, template <class> class M>
     struct is_a< const T, M > : is_a< T, M >::eval
     {};
-    
+
     template <typename T, template <class> class M>
     struct is_a< T&, M > : is_a< T, M >::eval
     {};
-    
+
     template <typename T, template <class> class M>
     struct is_a< const T&, M > : is_a< T, M >::eval
     {};
-    
+
 
   } // end of namespace mln::metal
 
diff --git a/milena/mln/metal/is_not.hh b/milena/mln/metal/is_not.hh
index 2857934..c00d009 100644
--- a/milena/mln/metal/is_not.hh
+++ b/milena/mln/metal/is_not.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -44,10 +45,12 @@ namespace mln
   namespace metal
   {
 
-    /*! \brief "is_not" check.
-     *
-     * FIXME: Doc!
-     */
+    /*!
+      \internal
+      \brief "is_not" check.
+
+      FIXME: Doc!
+    */
     template <typename T, typename U>
     struct is_not : not_< is<T, U> >::eval
     {
diff --git a/milena/mln/metal/is_not_a.hh b/milena/mln/metal/is_not_a.hh
index 1519590..15cbac6 100644
--- a/milena/mln/metal/is_not_a.hh
+++ b/milena/mln/metal/is_not_a.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -43,7 +44,10 @@ namespace mln
   namespace metal
   {
 
-    /// "is_not_a" static Boolean expression.
+    /*!
+      \internal
+      \brief "is_not_a" static Boolean expression.
+    */
     template <typename T, template <class> class M>
     struct is_not_a : not_< is_a<T, M> >::eval
     {
diff --git a/milena/mln/pw/image.hh b/milena/mln/pw/image.hh
index f88a811..ccf5b9e 100644
--- a/milena/mln/pw/image.hh
+++ b/milena/mln/pw/image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -59,7 +60,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for mln::pw::internal::image
+    /*!
+      \internal
+      \brief Data structure for mln::pw::internal::image
+    */
     template <typename F, typename S>
     struct data< mln::pw::image<F,S> >
     {
diff --git a/milena/mln/pw/internal/image_base.hh b/milena/mln/pw/internal/image_base.hh
index 537f2eb..87693dc 100644
--- a/milena/mln/pw/internal/image_base.hh
+++ b/milena/mln/pw/internal/image_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2010, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -107,9 +108,13 @@ namespace mln
     namespace internal
     {
 
-      /// A base class for point-wise images.
-      /// Parameter \p F is the image value type.
-      /// Parameter \p S is the image site set type.
+      /*!
+	\internal
+	\brief A base class for point-wise images.
+
+	Parameter \p F is the image value type.
+	Parameter \p S is the image site set type.
+      */
       template <typename F, typename S, typename E>
       class image_base
 	: public mln::internal::image_primary<mln_result(F), S, E >
diff --git a/milena/mln/topo/adj_higher_dim_connected_n_face_iter.hh b/milena/mln/topo/adj_higher_dim_connected_n_face_iter.hh
index 034f139..5b04e19 100644
--- a/milena/mln/topo/adj_higher_dim_connected_n_face_iter.hh
+++ b/milena/mln/topo/adj_higher_dim_connected_n_face_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -56,11 +57,12 @@ namespace mln
     | topo::adj_higher_dim_connected_n_face_fwd_iter<D>.  |
     `----------------------------------------------------*/
 
-    /// \brief Forward iterator on all the n-faces sharing an adjacent
-    /// (n+1)-face with a (reference) n-face of an mln::complex<D>.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
-    //
+    /*! \internal
+      \brief Forward iterator on all the n-faces sharing an adjacent
+      (n+1)-face with a (reference) n-face of an mln::complex<D>.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned D>
     class adj_higher_dim_connected_n_face_fwd_iter
       : public internal::forward_complex_relative_iterator_base< topo::face<D>,
@@ -95,11 +97,13 @@ namespace mln
     | topo::adj_higher_dim_connected_n_face_bkd_iter<D>.  |
     `----------------------------------------------------*/
 
-    /// \brief Backward iterator on all the n-faces sharing an adjacent
-    /// (n+1)-face with a (reference) n-face of an mln::complex<D>.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
-    //
+    /*!
+      \internal
+      \brief Backward iterator on all the n-faces sharing an adjacent
+      (n+1)-face with a (reference) n-face of an mln::complex<D>.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned D>
     class adj_higher_dim_connected_n_face_bkd_iter
       : public internal::backward_complex_relative_iterator_base< topo::face<D>,
diff --git a/milena/mln/topo/adj_higher_face_iter.hh b/milena/mln/topo/adj_higher_face_iter.hh
index 2b4ef65..797c5d1 100644
--- a/milena/mln/topo/adj_higher_face_iter.hh
+++ b/milena/mln/topo/adj_higher_face_iter.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -63,11 +63,13 @@ namespace mln
     | topo::adj_higher_face_fwd_iter<D>.  |
     `------------------------------------*/
 
-    /// \brief Forward iterator on all the adjacent (n+1)-faces of the
-    /// n-face of an mln::complex<D>.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
-    //
+    /*!
+      \internal
+      \brief Forward iterator on all the adjacent (n+1)-faces of the
+      n-face of an mln::complex<D>.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned D>
     class adj_higher_face_fwd_iter
       : public internal::forward_complex_relative_iterator_base< topo::face<D>,
@@ -97,11 +99,13 @@ namespace mln
     | topo::adj_higher_face_bkd_iter<D>.  |
     `------------------------------------*/
 
-    /// \brief Backward iterator on all the adjacent (n+1)-faces of
-    /// the n-face of an mln::complex<D>.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
-    //
+    /*!
+      \internal
+      \brief Backward iterator on all the adjacent (n+1)-faces of
+      the n-face of an mln::complex<D>.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned D>
     class adj_higher_face_bkd_iter
       : public internal::backward_complex_relative_iterator_base< topo::face<D>,
diff --git a/milena/mln/topo/adj_lower_dim_connected_n_face_iter.hh b/milena/mln/topo/adj_lower_dim_connected_n_face_iter.hh
index d493ea9..24f2800 100644
--- a/milena/mln/topo/adj_lower_dim_connected_n_face_iter.hh
+++ b/milena/mln/topo/adj_lower_dim_connected_n_face_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -56,11 +57,13 @@ namespace mln
     | topo::adj_lower_dim_connected_n_face_fwd_iter<D>.  |
     `---------------------------------------------------*/
 
-    /// \brief Forward iterator on all the n-faces sharing an adjacent
-    /// (n-1)-face with a (reference) n-face of an mln::complex<D>.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
-    //
+    /*!
+      \internal
+      \brief Forward iterator on all the n-faces sharing an adjacent
+      (n-1)-face with a (reference) n-face of an mln::complex<D>.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned D>
     class adj_lower_dim_connected_n_face_fwd_iter
       : public internal::forward_complex_relative_iterator_base< topo::face<D>,
@@ -95,11 +98,13 @@ namespace mln
     | topo::adj_lower_dim_connected_n_face_bkd_iter<D>.  |
     `---------------------------------------------------*/
 
-    /// \brief Backward iterator on all the n-faces sharing an adjacent
-    /// (n-1)-face with a (reference) n-face of an mln::complex<D>.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
-    //
+    /*!
+      \internal
+      \brief Backward iterator on all the n-faces sharing an adjacent
+      (n-1)-face with a (reference) n-face of an mln::complex<D>.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned D>
     class adj_lower_dim_connected_n_face_bkd_iter
       : public internal::backward_complex_relative_iterator_base< topo::face<D>,
diff --git a/milena/mln/topo/adj_lower_face_iter.hh b/milena/mln/topo/adj_lower_face_iter.hh
index a903460..5a6b7f0 100644
--- a/milena/mln/topo/adj_lower_face_iter.hh
+++ b/milena/mln/topo/adj_lower_face_iter.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -64,11 +64,13 @@ namespace mln
     | topo::adj_lower_face_fwd_iter<D>.  |
     `-----------------------------------*/
 
-    /// \brief Forward iterator on all the adjacent (n-1)-faces of the
-    /// n-face of an mln::complex<D>.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
-    //
+    /*!
+      \internal
+      \brief Forward iterator on all the adjacent (n-1)-faces of the
+      n-face of an mln::complex<D>.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned D>
     class adj_lower_face_fwd_iter
       : public internal::forward_complex_relative_iterator_base< topo::face<D>,
@@ -99,11 +101,13 @@ namespace mln
     | topo::adj_lower_face_bkd_iter<D>.  |
     `-----------------------------------*/
 
-    /// \brief Backward iterator on all the adjacent (n-1)-faces of
-    /// the n-face of an mln::complex<D>.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
-    //
+    /*!
+      \internal
+      \brief Backward iterator on all the adjacent (n-1)-faces of
+      the n-face of an mln::complex<D>.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned D>
     class adj_lower_face_bkd_iter
       : public internal::backward_complex_relative_iterator_base< topo::face<D>,
diff --git a/milena/mln/topo/adj_lower_higher_face_iter.hh b/milena/mln/topo/adj_lower_higher_face_iter.hh
index 2ed4abd..4788ed7 100644
--- a/milena/mln/topo/adj_lower_higher_face_iter.hh
+++ b/milena/mln/topo/adj_lower_higher_face_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -63,10 +64,13 @@ namespace mln
     | topo::adj_lower_higher_face_fwd_iter<D>.  |
     `------------------------------------------*/
 
-    /// Forward iterator on all the adjacent (n-1)-faces and
-    /// (n+1)-faces of the n-face of an mln::complex<D>.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
+    /*!
+      \internal
+      \brief Forward iterator on all the adjacent (n-1)-faces and
+      (n+1)-faces of the n-face of an mln::complex<D>.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned D>
     class adj_lower_higher_face_fwd_iter
       : public internal::complex_relative_iterator_sequence<adj_lower_face_fwd_iter<D>,
@@ -94,10 +98,13 @@ namespace mln
     | topo::adj_lower_higher_face_bkd_iter<D>.  |
     `------------------------------------------*/
 
-    /// Forward iterator on all the adjacent (n-1)-faces and
-    /// (n+1)-faces of the n-face of an mln::complex<D>.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
+    /*!
+      \internal
+      \brief Forward iterator on all the adjacent (n-1)-faces and
+      (n+1)-faces of the n-face of an mln::complex<D>.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned D>
     class adj_lower_higher_face_bkd_iter
       : public internal::complex_relative_iterator_sequence<adj_higher_face_bkd_iter<D>,
diff --git a/milena/mln/topo/adj_m_face_iter.hh b/milena/mln/topo/adj_m_face_iter.hh
index 1b070a9..abe4514 100644
--- a/milena/mln/topo/adj_m_face_iter.hh
+++ b/milena/mln/topo/adj_m_face_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -57,15 +58,18 @@ namespace mln
     | topo::adj_m_face_fwd_iter<D>.  |
     `-------------------------------*/
 
-    /** Forward iterator on all the m-faces transitively
-        adjacent to a (reference) n-face in a complex.
+    /*!
+      \internal
+      \brief Forward iterator on all the m-faces transitively
+      adjacent to a (reference) n-face in a complex.
 
-        \tparam D The dimension of the complex this iterator belongs to.
+      \tparam D The dimension of the complex this iterator belongs to.
 
-        The dimension parameter (\a m_) must be lower or equal to D.
+      The dimension parameter (\a m_) must be lower or equal to D.
 
-	If \a m_ is equal to the dimension of the reference face, then
-	the iterated set is empty.  */
+      If \a m_ is equal to the dimension of the reference face, then
+      the iterated set is empty.
+    */
     template <unsigned D>
     class adj_m_face_fwd_iter
       : public internal::forward_complex_relative_iterator_base< topo::face<D>,
@@ -105,15 +109,18 @@ namespace mln
     | topo::adj_m_face_bkd_iter<D>.  |
     `-------------------------------*/
 
-    /** Backward iterator on all the m-faces transitively
-        adjacent to a (reference) n-face in a complex.
+    /*!
+      \internal
+      \brief Backward iterator on all the m-faces transitively
+      adjacent to a (reference) n-face in a complex.
 
-        \tparam D The dimension of the complex this iterator belongs to.
+      \tparam D The dimension of the complex this iterator belongs to.
 
-        The dimension parameter (\a m_) must be lower or equal to D.
+      The dimension parameter (\a m_) must be lower or equal to D.
 
-	If \a m_ is equal to the dimension of the reference face, then
-	the iterated set is empty.  */
+      If \a m_ is equal to the dimension of the reference face, then
+      the iterated set is empty.
+    */
     template <unsigned D>
     class adj_m_face_bkd_iter
       : public internal::backward_complex_relative_iterator_base< topo::face<D>,
diff --git a/milena/mln/topo/attic/faces_iter.hh b/milena/mln/topo/attic/faces_iter.hh
index eca6f40..b97397e 100644
--- a/milena/mln/topo/attic/faces_iter.hh
+++ b/milena/mln/topo/attic/faces_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -43,10 +44,13 @@ namespace mln
     | topo::faces_fwd_iter_<N, D>.  |
     `------------------------------*/
 
-    /// \brief Forward iterator on all the faces of a mln::complex<D>.
-    ///
-    /// \tparam N The dimension of the face associated to this iterator.
-    /// \tparam D The dimension of the complex this iterator belongs to.
+    /*!
+      \internal
+      \brief Forward iterator on all the faces of a mln::complex<D>.
+
+      \tparam N The dimension of the face associated to this iterator.
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned N, unsigned D>
     class faces_fwd_iter_
       : public internal::complex_set_iterator_base< n_face<N, D>,
@@ -90,10 +94,13 @@ namespace mln
     | topo::faces_bkd_iter_<N, D>.  |
     `------------------------------*/
 
-    /// \brief Backward iterator on all the faces of a mln::complex<D>.
-    ///
-    /// \tparam N The dimension of the face associated to this iterator.
-    /// \tparam D The dimension of the complex this iterator belongs to.
+    /*!
+      \internal
+      \brief Backward iterator on all the faces of a mln::complex<D>.
+
+      \tparam N The dimension of the face associated to this iterator.
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned N, unsigned D>
     class faces_bkd_iter_
       : public internal::complex_set_iterator_base< n_face<N, D>,
diff --git a/milena/mln/topo/center_only_iter.hh b/milena/mln/topo/center_only_iter.hh
index 5e695ce..a5b08b3 100644
--- a/milena/mln/topo/center_only_iter.hh
+++ b/milena/mln/topo/center_only_iter.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -52,24 +52,27 @@ namespace mln
     | topo::center_only_iter<D>.  |
     `----------------------------*/
 
-    /** \brief Iterator on all the adjacent (n-1)-faces of the n-face
-        of an mln::complex<D>.
-
-        \tparam D The dimension of the complex this iterator belongs to.
-
-        mln::topo::center_only_iter inherits from
-        mln::topo::internal::forward_complex_relative_iterator_base,
-        but it could inherit from
-        mln::topo::internal::backward_complex_relative_iterator_base
-        as well, since it always contains a single element, the
-        center/reference face (and the traversal order is
-        meaningless).
-
-        This iterator is essentially used to implement other iterators.
-        \see mln::topo::centered_iter_adapter
-        \see mln::complex_lower_window
-        \see mln::complex_higher_window
-        \see mln::complex_lower_higher_window  */
+    /*!
+      \internal
+      \brief Iterator on all the adjacent (n-1)-faces of the n-face
+      of an mln::complex<D>.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+
+      mln::topo::center_only_iter inherits from
+      mln::topo::internal::forward_complex_relative_iterator_base,
+      but it could inherit from
+      mln::topo::internal::backward_complex_relative_iterator_base
+      as well, since it always contains a single element, the
+      center/reference face (and the traversal order is
+      meaningless).
+
+      This iterator is essentially used to implement other iterators.
+      \see mln::topo::centered_iter_adapter
+      \see mln::complex_lower_window
+      \see mln::complex_higher_window
+      \see mln::complex_lower_higher_window
+    */
     template <unsigned D>
     class center_only_iter
       : public internal::forward_complex_relative_iterator_base< topo::face<D>,
diff --git a/milena/mln/topo/centered_iter_adapter.hh b/milena/mln/topo/centered_iter_adapter.hh
index 4a6e0cc..bc19dc5 100644
--- a/milena/mln/topo/centered_iter_adapter.hh
+++ b/milena/mln/topo/centered_iter_adapter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -48,11 +49,14 @@ namespace mln
 
     // FIXME: We should deduce D from I.
 
-    /// \brief Backward complex relative iterator adapters adding the
-    /// central (reference) point to the set of iterated faces.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
-    /// \tparam I The adapated complex relative iterator.
+    /*!
+      \internal
+      \brief Backward complex relative iterator adapters adding the
+      central (reference) point to the set of iterated faces.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+      \tparam I The adapated complex relative iterator.
+    */
     template <unsigned D, typename I>
     class centered_fwd_iter_adapter
       : public internal::complex_relative_iterator_sequence< center_only_iter<D>,
@@ -82,11 +86,14 @@ namespace mln
 
     // FIXME: We should deduce D from I.
 
-    /// \brief Forward complex relative iterator adapters adding the
-    /// central (reference) point to the set of iterated faces.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
-    /// \tparam I The adapated complex relative iterator.
+    /*!
+      \internal
+      \brief Forward complex relative iterator adapters adding the
+      central (reference) point to the set of iterated faces.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+      \tparam I The adapated complex relative iterator.
+    */
     template <unsigned D, typename I>
     class centered_bkd_iter_adapter
       : public internal::complex_relative_iterator_sequence< I,
diff --git a/milena/mln/topo/complex.hh b/milena/mln/topo/complex.hh
index 9cfd266..bb11e5c 100644
--- a/milena/mln/topo/complex.hh
+++ b/milena/mln/topo/complex.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -81,8 +81,9 @@ namespace mln
     | Complex.  |
     `----------*/
 
-    /// \brief General complex of dimension \p D.
-    //
+    /*!
+      \brief General complex of dimension \p D.
+    */
     template <unsigned D>
     class complex
     {
@@ -240,12 +241,12 @@ namespace mln
 
                    ,-----------> higher_dim_faces_set_mixin<0, D>
                    |
-        faces_set_mixin<0, D> 
+        faces_set_mixin<0, D>
                  ^
                  |
                  | ,-----------> higher_dim_faces_set_mixin<1, D>
                  | | ,--------->  lower_dim_faces_set_mixin<1, D>
-                 | | |           
+                 | | |
         faces_set_mixin<1, D>
                  ^
                  |
@@ -257,13 +258,13 @@ namespace mln
                  |
                  | ,-----------> higher_dim_faces_set_mixin<D - 1, D>
                  | | ,--------->  lower_dim_faces_set_mixin<D - 1, D>
-                 | | |           
+                 | | |
         faces_set_mixin<D - 1, D>
                  ^
-                 |              
+                 |
                  |   ,--------->  lower_dim_faces_set_mixin<D, D>
-                 |   |           
-        faces_set_mixin<D, D> 
+                 |   |
+        faces_set_mixin<D, D>
                  ^
                  |
                  |
@@ -303,13 +304,16 @@ namespace mln
       // mln::topo::internal::faces_set_mixin.  //
       // -------------------------------------- //
 
-      /// Recursive mixins of set of faces.
+      /// \internal \brief Recursive mixins of set of faces.
       /// \{
 
       template <unsigned N, unsigned D> struct faces_set_mixin;
 
 
-      /// Faces of intermediate dimension (greater than 0, lower than \p D).
+      /*!
+	\internal
+	\brief Faces of intermediate dimension (greater than 0, lower than \p D).
+      */
       template <unsigned N, unsigned D>
       struct faces_set_mixin : public faces_set_mixin<N - 1, D>,
 			       public lower_dim_faces_set_mixin<N, D>,
@@ -340,7 +344,10 @@ namespace mln
 	/// \}
       };
 
-      /// Faces of highest dimension (\p D).
+      /*!
+	\internal
+	\brief Faces of highest dimension (\p D).
+      */
       template <unsigned D>
       struct faces_set_mixin<D, D> : public faces_set_mixin<D - 1, D>,
 				     public lower_dim_faces_set_mixin<D, D>
@@ -368,7 +375,10 @@ namespace mln
 	/// \}
       };
 
-      /// Faces of lowest dimension (0).
+      /*!
+	\internal
+	\brief Faces of lowest dimension (0).
+      */
       template <unsigned D>
       struct faces_set_mixin<0u, D> : public higher_dim_faces_set_mixin<0u, D>
       {
@@ -395,7 +405,10 @@ namespace mln
 	/// \}
       };
 
-      /// Faces of a 0-complex.
+      /*!
+	\internal
+	\brief Faces of a 0-complex.
+      */
       template <>
       struct faces_set_mixin<0u, 0u>
       {
@@ -428,7 +441,10 @@ namespace mln
       // class to be defined after the specializations of
       // 'faces_set_mixin'.
 
-      /// Complex data.
+      /*!
+	\internal
+	\brief Complex data.
+      */
       template <unsigned D>
       struct complex_data : public faces_set_mixin<D, D>
       {
@@ -441,7 +457,7 @@ namespace mln
       // mln::topo::internal::higher_dim_faces_set_mixin.  //
       // ------------------------------------------------- //
 
-      /// Mixins of mixin mln::faces_set_mixin.
+      /// \internal \brief Mixins of mixin mln::faces_set_mixin.
       /// \{
       template <unsigned N, unsigned D>
       struct lower_dim_faces_set_mixin
@@ -530,14 +546,17 @@ namespace mln
     namespace internal
     {
 
-      /// A binary meta-functor defined by:
-      ///
-      /// \code
-      /// add_size : x, c -> x + c.size()
-      /// \endcode
-      ///
-      /// \see mln::complex<D>::nfaces_of_static_dim<N> (static version).
-      /// \see mln::complex<D>::fold_left_.
+      /*!
+	\internal
+	\brief A binary meta-functor defined by:
+
+	\code
+	add_size : x, c -> x + c.size()
+	\endcode
+
+	\see mln::complex<D>::nfaces_of_static_dim<N> (static version).
+	\see mln::complex<D>::fold_left_.
+      */
       struct add_size
       {
 	template <typename T, typename Container>
@@ -547,14 +566,17 @@ namespace mln
 	}
       };
 
-      /// An unary meta-functor defined by:
-      ///
-      /// \code
-      /// add_size : c -> c.size()
-      /// \endcode
-      ///
-      /// \see mln::complex<D>::nfaces_of_dim (dynamic version).
-      /// \see mln::complex<D>::apply_if_dim_matches_.
+      /*!
+	\internal
+	\brief An unary meta-functor defined by:
+
+	\code
+	add_size : c -> c.size()
+	\endcode
+
+	\see mln::complex<D>::nfaces_of_dim (dynamic version).
+	\see mln::complex<D>::apply_if_dim_matches_.
+      */
       struct get_size
       {
 	typedef std::size_t result_type;
@@ -695,7 +717,7 @@ namespace mln
 
     template <unsigned D>
     inline
-    const void* 
+    const void*
     complex<D>::addr() const
     {
       return data_.ptr_;
diff --git a/milena/mln/topo/face_data.hh b/milena/mln/topo/face_data.hh
index 1622e51..118598a 100644
--- a/milena/mln/topo/face_data.hh
+++ b/milena/mln/topo/face_data.hh
@@ -105,7 +105,10 @@ namespace mln
     namespace internal
     {
 
-      /// Factored implementation of faces.
+      /*!
+	\internal
+	\brief Factored implementation of faces.
+      */
       /// \{
       template <unsigned N, unsigned D>
       class lower_dim_faces_data_mixin
diff --git a/milena/mln/topo/face_iter.hh b/milena/mln/topo/face_iter.hh
index c78500a..01a421a 100644
--- a/milena/mln/topo/face_iter.hh
+++ b/milena/mln/topo/face_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -60,11 +61,13 @@ namespace mln
     | topo::face_fwd_iter<D>.  |
     `-------------------------*/
 
-    /// \brief Forward iterator on all the faces of an
-    /// mln::complex<D>.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
-    //
+    /*!
+      \internal
+      \brief Forward iterator on all the faces of an
+      mln::complex<D>.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned D>
     class face_fwd_iter
       : public internal::complex_set_iterator_base< topo::face<D>, face_fwd_iter<D> >
@@ -104,10 +107,12 @@ namespace mln
     | topo::face_bkd_iter<D>.  |
     `-------------------------*/
 
-    /// \brief Backward iterator on all the faces of an mln::complex<D>.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
-    //
+    /*!
+      \internal
+      \brief Backward iterator on all the faces of an mln::complex<D>.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned D>
     class face_bkd_iter
     : public internal::complex_set_iterator_base< topo::face<D>, face_bkd_iter<D> >
diff --git a/milena/mln/topo/internal/complex_iterator_base.hh b/milena/mln/topo/internal/complex_iterator_base.hh
index bc8f26e..5c0d212 100644
--- a/milena/mln/topo/internal/complex_iterator_base.hh
+++ b/milena/mln/topo/internal/complex_iterator_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -70,10 +71,13 @@ namespace mln
     namespace internal
     {
 
-      /// Factoring class for iterators on mln::complex.
-      ///
-      /// \tparam F The type of the face handle.
-      /// \tparam E The type exact type of the iterator.
+      /*!
+	\internal
+	\brief Factoring class for iterators on mln::complex.
+
+	\tparam F The type of the face handle.
+	\tparam E The type exact type of the iterator.
+      */
       template <typename F, typename E>
       class complex_iterator_base : public Iterator<E>
       {
diff --git a/milena/mln/topo/internal/complex_relative_iterator_base.hh b/milena/mln/topo/internal/complex_relative_iterator_base.hh
index 03f9cda..4fd03bf 100644
--- a/milena/mln/topo/internal/complex_relative_iterator_base.hh
+++ b/milena/mln/topo/internal/complex_relative_iterator_base.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -32,7 +32,7 @@
     iterators on mln::complex.
 
     The hierarchy of classes in this file is as follows
-    
+
     \verbatim
 
                     complex_relative_iterator_base<C, F, E>
@@ -76,11 +76,14 @@ namespace mln
       | topo::internal::complex_relative_iterator_base<C, F, E>.  |
       `----------------------------------------------------------*/
 
-      /// Factoring class for relative iterators on mln::complex.
-      ///
-      /// \tparam C The type of the center face handle.
-      /// \tparam F The type of the face handle.
-      /// \tparam E The type exact type of the iterator.
+      /*!
+	\internal
+	\brief Factoring class for relative iterators on mln::complex.
+
+	\tparam C The type of the center face handle.
+	\tparam F The type of the face handle.
+	\tparam E The type exact type of the iterator.
+      */
       template <typename C, typename F, typename E>
       class complex_relative_iterator_base :
 	public complex_iterator_base<F, E>
@@ -128,12 +131,15 @@ namespace mln
       | topo::internal::forward_complex_relative_iterator_base<C, F, E>.  |
       `------------------------------------------------------------------*/
 
-      /// Factoring class for forward relative iterators on
-      /// mln::complex.
-      ///
-      /// \tparam C The type of the center face handle.
-      /// \tparam F The type of the face handle.
-      /// \tparam E The type exact type of the iterator.
+      /*!
+	\internal
+	\brief Factoring class for forward relative iterators on
+	mln::complex.
+
+        \tparam C The type of the center face handle.
+        \tparam F The type of the face handle.
+        \tparam E The type exact type of the iterator.
+      */
       template <typename C, typename F, typename E>
       class forward_complex_relative_iterator_base
 	: public complex_relative_iterator_base<C, F, E>
@@ -179,12 +185,15 @@ namespace mln
       | topo::internal::backward_complex_relative_iterator_base<C, F, E>.  |
       `-------------------------------------------------------------------*/
 
-      /// Factoring class for backward relative iterators on
-      /// mln::complex.
-      ///
-      /// \tparam C The type of the center face handle.
-      /// \tparam F The type of the face handle.
-      /// \tparam E The type exact type of the iterator.
+      /*!
+	\internal
+	\brief Factoring class for backward relative iterators on
+	mln::complex.
+
+        \tparam C The type of the center face handle.
+        \tparam F The type of the face handle.
+        \tparam E The type exact type of the iterator.
+      */
       template <typename C, typename F, typename E>
       class backward_complex_relative_iterator_base
 	: public complex_relative_iterator_base<C, F, E>
diff --git a/milena/mln/topo/internal/complex_relative_iterator_sequence.hh b/milena/mln/topo/internal/complex_relative_iterator_sequence.hh
index fda267c..ed6b216 100644
--- a/milena/mln/topo/internal/complex_relative_iterator_sequence.hh
+++ b/milena/mln/topo/internal/complex_relative_iterator_sequence.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -56,15 +57,18 @@ namespace mln
       };
 
 
-      /// A meta relative iterator on the faces of a complex
-      /// using two complex relative iterators sequentially.
-      ///
-      /// The first relative iterator is used, and when it becomes
-      /// invalid, the second one is used.
-      ///
-      /// \tparam I1 The type of the first relative iterator.
-      /// \tparam I2 The type of the second relative iterator.
-      /// \tparam E  The type exact type of the iterator.
+      /*!
+	\internal
+	\brief A meta relative iterator on the faces of a complex
+	using two complex relative iterators sequentially.
+
+        The first relative iterator is used, and when it becomes
+        invalid, the second one is used.
+
+        \tparam I1 The type of the first relative iterator.
+        \tparam I2 The type of the second relative iterator.
+        \tparam E  The type exact type of the iterator.
+      */
       template <typename I1, typename I2, typename E>
       class complex_relative_iterator_sequence : public Iterator<E>
       {
diff --git a/milena/mln/topo/internal/complex_set_iterator_base.hh b/milena/mln/topo/internal/complex_set_iterator_base.hh
index f428566..2cd9276 100644
--- a/milena/mln/topo/internal/complex_set_iterator_base.hh
+++ b/milena/mln/topo/internal/complex_set_iterator_base.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -49,10 +49,13 @@ namespace mln
       class complex_iterator_base;
 
 
-      /// Factoring class for (set) iterators on mln::complex.
-      ///
-      /// \tparam F The type of the face handle.
-      /// \tparam E The type exact type of the iterator.
+      /*!
+	\internal
+	\brief Factoring class for (set) iterators on mln::complex.
+
+        \tparam F The type of the face handle.
+        \tparam E The type exact type of the iterator.
+      */
       template <typename F, typename E>
       class complex_set_iterator_base : public complex_iterator_base<F, E>
       {
diff --git a/milena/mln/topo/n_face_iter.hh b/milena/mln/topo/n_face_iter.hh
index 4cdb091..0ed55be 100644
--- a/milena/mln/topo/n_face_iter.hh
+++ b/milena/mln/topo/n_face_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -63,11 +64,13 @@ namespace mln
     | topo::n_face_fwd_iter<D>.  |
     `---------------------------*/
 
-    /// \brief Forward iterator on all the faces of an
-    /// mln::complex<D>.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
-    //
+    /*!
+      \internal
+      \brief Forward iterator on all the faces of an
+      mln::complex<D>.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned D>
     class n_face_fwd_iter
       : public internal::complex_set_iterator_base< topo::face<D>,
@@ -120,9 +123,12 @@ namespace mln
     | topo::n_face_bkd_iter<D>.  |
     `---------------------------*/
 
-    /// Backward iterator on all the faces of an mln::complex<D>.
-    ///
-    /// \tparam D The dimension of the complex this iterator belongs to.
+    /*!
+      \internal
+      \brief Backward iterator on all the faces of an mln::complex<D>.
+
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned D>
     class n_face_bkd_iter
       : public internal::complex_set_iterator_base< topo::face<D>,
diff --git a/milena/mln/topo/static_n_face_iter.hh b/milena/mln/topo/static_n_face_iter.hh
index 21a7639..ebd22e3 100644
--- a/milena/mln/topo/static_n_face_iter.hh
+++ b/milena/mln/topo/static_n_face_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -45,12 +46,14 @@ namespace mln
     | topo::static_n_face_fwd_iter<N, D>.  |
     `-------------------------------------*/
 
-    /// \brief Forward iterator on all the \p N-faces of a
-    /// mln::complex<D>.
-    ///
-    /// \tparam N The dimension of the face associated to this iterator.
-    /// \tparam D The dimension of the complex this iterator belongs to.
-    //
+    /*!
+      \internal
+      \brief Forward iterator on all the \p N-faces of a
+      mln::complex<D>.
+
+      \tparam N The dimension of the face associated to this iterator.
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned N, unsigned D>
     class static_n_face_fwd_iter
       : public internal::complex_set_iterator_base< topo::face<D>,
@@ -91,12 +94,14 @@ namespace mln
     | topo::static_n_face_bkd_iter<N, D>.  |
     `-------------------------------------*/
 
-    /// \brief Backward iterator on all the \p N-faces of a
-    /// mln::complex<D>.
-    ///
-    /// \tparam N The dimension of the face associated to this iterator.
-    /// \tparam D The dimension of the complex this iterator belongs to.
-    //
+    /*!
+      \internal
+      \brief Backward iterator on all the \p N-faces of a
+      mln::complex<D>.
+
+      \tparam N The dimension of the face associated to this iterator.
+      \tparam D The dimension of the complex this iterator belongs to.
+    */
     template <unsigned N, unsigned D>
     class static_n_face_bkd_iter
       : public internal::complex_set_iterator_base< topo::face<D>,
diff --git a/milena/mln/trait/ch_function_value.hh b/milena/mln/trait/ch_function_value.hh
index 2c01e79..9a41ea9 100644
--- a/milena/mln/trait/ch_function_value.hh
+++ b/milena/mln/trait/ch_function_value.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -52,7 +53,7 @@ namespace mln
     namespace impl
     {
 
-      /// Default.
+      // Default.
       template <typename F, typename VF, typename V>
       struct ch_function_value
       {
diff --git a/milena/mln/trait/image/props.hh b/milena/mln/trait/image/props.hh
index c7b7746..1e6463e 100644
--- a/milena/mln/trait/image/props.hh
+++ b/milena/mln/trait/image/props.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -759,7 +760,10 @@ namespace mln
 
   // FIXME: To be moved elsewhere?
 
-  /// Compute the image::space trait from a point type.
+  /*!
+    \internal
+    \brief Compute the image::space trait from a point type.
+  */
   /// \{
 
   // Fwd decl. (used by trait::image::space_from_point).
@@ -782,7 +786,10 @@ namespace mln
     namespace image
     {
 
-      /// Function mapping a point type to the corresponding space trait.
+      /*!
+	\internal
+	\brief Function mapping a point type to the corresponding space trait.
+      */
       /// \{
       template <typename P>
       struct space_from_point
diff --git a/milena/mln/trait/images.hh b/milena/mln/trait/images.hh
index 2ae9299..7541c07 100644
--- a/milena/mln/trait/images.hh
+++ b/milena/mln/trait/images.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
diff --git a/milena/mln/trait/neighborhood.hh b/milena/mln/trait/neighborhood.hh
index c63cd6f..623202a 100644
--- a/milena/mln/trait/neighborhood.hh
+++ b/milena/mln/trait/neighborhood.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -59,27 +60,42 @@ namespace mln
     // FIXME: Might be moved to another file, as it's the case for
     // images and values.
 
-    /// Traits related to neighborhoods.
+    /*!
+      \internal
+      \brief Traits related to neighborhoods.
+    */
     namespace neighborhood
     {
 
-      /// Kind of neighborhood.
+      /*!
+	\internal
+	\brief Kind of neighborhood.
+      */
       struct kind
       {
-	/// The base class of the hierarchy of neighborhood traits.
+	/*!
+	  \internal
+	  \brief The base class of the hierarchy of neighborhood traits.
+	*/
 	struct any
 	{
 	  std::string name() const { return "kind::any"; }
 	};
 
-	/// A generic neighborhood, with no particular feature.
+	/*!
+	  \internal
+	  \brief A generic neighborhood, with no particular feature.
+	*/
 	struct generic : any
 	{
 	  std::string name() const { return "kind::generic"; }
 	};
 
-	/// A neighborhood on a regular grid, i.e.
-	/// holding/convertible to a window.
+	/*!
+	  \internal
+	  \brief A neighborhood on a regular grid, i.e.
+	  holding/convertible to a window.
+	*/
 	struct regular : any
 	{
 	  std::string name() const { return "kind::regular"; }
diff --git a/milena/mln/trait/promote.hh b/milena/mln/trait/promote.hh
index 681ebde..3b5c5aa 100644
--- a/milena/mln/trait/promote.hh
+++ b/milena/mln/trait/promote.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2006, 2007, 2009  EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2006, 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -52,7 +53,10 @@ namespace mln
   namespace trait
   {
 
-    /// Declaration of the "promote" trait.
+    /*!
+      \internal
+      \brief Declaration of the "promote" trait.
+    */
     template <typename T, typename U>
     struct promote : public solve_binary<promote, T, U>
     {
@@ -60,10 +64,11 @@ namespace mln
 
 
     /*!
-     * \brief Default case when one type is involved twice: the
-     * promotion type is the same as the input type (so actually there
-     * is no promotion).
-     */
+      \internal
+      \brief Default case when one type is involved twice: the
+      promotion type is the same as the input type (so actually there
+      is no promotion).
+    */
     template <typename T>
     struct set_binary_< promote, Object, T, Object, T >
     {
diff --git a/milena/mln/trait/site_set/props.hh b/milena/mln/trait/site_set/props.hh
index 9d1fd31..859f3dd 100644
--- a/milena/mln/trait/site_set/props.hh
+++ b/milena/mln/trait/site_set/props.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -38,41 +39,46 @@
 # include <mln/trait/undef.hh>
 
 
-
-//  Properties of site sets.
-//  ========================
-
-//  nsites:   /any/
-//              |
-//              + -- unknown
-//              |
-//              + -- known
-
-//  bbox:     /any/
-//              |
-//              + -- unknown
-//              |
-//              + -- /known/
-//                     |
-//                     + -- lazy
-//                     |
-//                     + -- straight
-
-//  contents: /any/
-//              |
-//              + -- fixed
-//              |
-//              + -- /dynamic/
-//                     |
-//                     + -- growing
-//                     |
-//                     + -- free
-
-//  arity:    /any/
-//              |
-//              + -- unique
-//              |
-//              + -- multiple
+/*!
+  \verbatim
+
+    Properties of site sets.
+    ========================
+
+    nsites:   /any/
+                |
+                + -- unknown
+                |
+                + -- known
+
+    bbox:     /any/
+                |
+                + -- unknown
+                |
+                + -- /known/
+                       |
+                       + -- lazy
+                       |
+                       + -- straight
+
+    contents: /any/
+                |
+                + -- fixed
+                |
+                + -- /dynamic/
+                       |
+                       + -- growing
+                       |
+                       + -- free
+
+    arity:    /any/
+                |
+                + -- unique
+                |
+                + -- multiple
+
+  \endverbatim
+*/
 
 
 namespace mln
@@ -85,59 +91,95 @@ namespace mln
     {
 
 
-      /// Site set property about the 'nsites' method presence.
+      /*!
+	\internal
+	\brief Site set property about the 'nsites' method presence.
+      */
       struct nsites
       {
-	/// Base class for the site set 'nsites' property.
+	/*!
+	  \internal
+	  \brief Base class for the site set 'nsites' property.
+	*/
 	struct any { protected: any() {} };
 
-	/// Property that states that the number of sites cannot be
-	/// retrieved from a site set in O(1) complexity so the site
-	/// set does not feature the 'nsites' methods.
+	/*!
+	  \internal
+	  \brief Property that states that the number of sites cannot be
+	  retrieved from a site set in O(1) complexity so the site
+	  set does not feature the 'nsites' methods.
+	*/
 	struct unknown : any { std::string name() const { return "nsites::unknown"; } };
 
-	/// Property that states that a site set features the method
-	/// 'nsites' because the number of sites is known so its
-	/// retrieval has O(1) complexity.
+	/*!
+	  \internal
+	  \brief Property that states that a site set features the method
+	  'nsites' because the number of sites is known so its
+	  retrieval has O(1) complexity.
+	*/
 	struct known   : any { std::string name() const { return "nsites::known"; } };
       };
 
 
-      /// Site set property about the 'bbox' method presence.
+      /*!
+	\internal
+	\brief Site set property about the 'bbox' method presence.
+      */
       struct bbox
       {
-	/// Base class for the site set 'bbox' property.
+	/*!
+	  \internal
+	  \brief Base class for the site set 'bbox' property.
+	*/
 	struct any { protected: any() {} };
 
-	/// Property that states that the bounding box of a site set
-	/// is not featured as a method.  This is either because the
-	/// notion of bounding box is meaningless for the site set
-	/// type, or because the bounding box cannot be retrieved in
-	/// O(1) complexity.
+	/*!
+	  \internal
+	  Property that states that the bounding box of a site set
+	  is not featured as a method.  This is either because the
+	  notion of bounding box is meaningless for the site set
+	  type, or because the bounding box cannot be retrieved in
+	  O(1) complexity.
+	*/
 	struct unknown : any { std::string name() const { return "bbox::unknown"; } };
 
-	/// Property that states that the bounding box of a site set
-	/// is featured by the 'bbox' method.  It means that the
-	/// notion of bounding box makes sense and that such a piece
-	/// of information can be retrieved in O(1) complexity.
-	/// Warning: this property is pseudo-abstract.  The more
-	/// precise properties are 'lazy' and 'straight'.
+	/*!
+	  \internal
+	  Property that states that the bounding box of a site set
+	  is featured by the 'bbox' method.  It means that the
+	  notion of bounding box makes sense and that such a piece
+	  of information can be retrieved in O(1) complexity.
+	  Warning: this property is pseudo-abstract.  The more
+	  precise properties are 'lazy' and 'straight'.
+	*/
 	struct known   : any { protected: known() {} };
 
-	/// Property that states that the bounding box of a site set
-	/// is computed by the site set in a lazy way.
+	/*!
+	  \internal
+	  Property that states that the bounding box of a site set
+	  is computed by the site set in a lazy way.
+	*/
 	struct lazy     : known { std::string name() const { return "bbox::lazy"; } };
 
-	/// Property that states that the bounding box of a site set
-	/// is always kept up to date by the site set.
+	/*!
+	  \internal
+	  Property that states that the bounding box of a site set
+	  is always kept up to date by the site set.
+	*/
 	struct straight : known { std::string name() const { return "bbox::straight"; } };
       };
 
 
-      /// Site set property about how the contents can evolve.
+      /*!
+	\internal
+	\brief Site set property about how the contents can evolve.
+      */
       struct contents
       {
-	/// Base class for the site set 'contents' property.
+	/*!
+	  \internal
+	  \brief Base class for the site set 'contents' property.
+	*/
 	struct any { protected: any() {} };
 	struct fixed   : any     { std::string name() const { return "contents::fixed"; } };
 	struct dynamic : any { protected: dynamic() {} };
@@ -145,11 +187,17 @@ namespace mln
 	struct free    : dynamic { std::string name() const { return "contents::free"; } };
       };
 
-      /// Site set property about the unicity or multiplicity of its
-      /// elements.
+      /*!
+	\internal
+	\brief Site set property about the unicity or multiplicity of its
+	elements.
+      */
       struct arity
       {
-	/// Base class for the site set 'arity' property.
+	/*!
+	  \internal
+	  \brief Base class for the site set 'arity' property.
+	*/
 	struct any { protected: any() {} };
 	struct unique   : any { std::string name() const { return "arity::unique"; } };
 	struct multiple : any { std::string name() const { return "arity::multiple"; } };
diff --git a/milena/mln/trait/site_sets.hh b/milena/mln/trait/site_sets.hh
index 64b304e..32512cd 100644
--- a/milena/mln/trait/site_sets.hh
+++ b/milena/mln/trait/site_sets.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -59,7 +60,10 @@ namespace mln
   namespace trait
   {
 
-    /// Pack of 'undefined' type values for properties of site sets.
+    /*!
+      \internal
+      \brief Pack of 'undefined' type values for properties of site sets.
+    */
     template <typename I>
     struct undefined_site_set_
     {
@@ -70,14 +74,16 @@ namespace mln
     };
 
 
-    /*! \brief The trait pack structure for properties of site sets.
-     *
-     * This structure is specialized for every concrete class of site
-     * set so that properties are properly defined.
-     *
-     * \see mln::doc::Site_Set for the documentation of the "site set"
-     * concept.
-     */
+    /*!
+      \internal
+      \brief The trait pack structure for properties of site sets.
+
+      This structure is specialized for every concrete class of site
+      set so that properties are properly defined.
+
+      \see mln::doc::Site_Set for the documentation of the "site set"
+      concept.
+    */
     template <typename I>
     struct site_set_ : undefined_site_set_<I>
     {
diff --git a/milena/mln/trait/solve.hh b/milena/mln/trait/solve.hh
index 1a415e3..8ec6857 100644
--- a/milena/mln/trait/solve.hh
+++ b/milena/mln/trait/solve.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2006, 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2006, 2007, 2008, 2009, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -42,7 +43,7 @@
 
 // FIXME: Just for the record (use it...)
 
-#  ifndef MLN_DEBUG_TRAITS 
+#  ifndef MLN_DEBUG_TRAITS
 #  endif // ! MLN_DEBUG_TRAITS
 
 
@@ -60,13 +61,22 @@ namespace mln
   namespace trait
   {
 
-    /// Flag type for a not found trait.
+    /*!
+      \internal
+      \brief Flag type for a not found trait.
+    */
     struct not_found {};
 
-    /// Flag type for an undefined trait.
+    /*!
+      \internal
+      \brief Flag type for an undefined trait.
+    */
     struct undefined {};
 
-    /// Flag type for a trait that is multiply undefined.
+    /*!
+      \internal
+      \brief Flag type for a trait that is multiply undefined.
+    */
     struct multiply_defined {};
 
 
@@ -110,7 +120,7 @@ namespace mln
       typedef undefined ret;
     };
 
-    
+
     template < template <class, class> class Name,
 	       template <class> class Category_L, typename L,
 	       template <class> class Category_R, typename R >
diff --git a/milena/mln/trait/window/props.hh b/milena/mln/trait/window/props.hh
index 1b40e47..ae2b901 100644
--- a/milena/mln/trait/window/props.hh
+++ b/milena/mln/trait/window/props.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -75,50 +76,92 @@ namespace mln
     {
 
 
-      /// Window property about the 'size' method presence.
+      /*!
+	\internal
+	\brief Window property about the 'size' method presence.
+      */
       struct size
       {
-	/// Base class for the window 'size' property.
+	/*!
+	  \internal
+	  \brief Base class for the window 'size' property.
+	*/
 	struct any { protected: any() {} };
 
-	/// Property that states that the size is fixed.
+	/*!
+	  \internal
+	  \brief Property that states that the size is fixed.
+	*/
 	struct fixed   : any { std::string name() const { return "size::fixed"; } };
 
-	/// Property that states that the size is not fixed so unknown.
+	/*!
+	  \internal
+	  \brief Property that states that the size is not fixed so unknown.
+	*/
 	struct unknown : any { std::string name() const { return "size::unknown"; } };
       };
 
 
-      /// Window property about the 'support' it is designed for.
+      /*!
+	\internal
+	\brief Window property about the 'support' it is designed for.
+      */
       struct support
       {
-	/// Base class for the window 'support' property.
+	/*!
+	  \internal
+	  \brief Base class for the window 'support' property.
+	*/
 	struct any { protected: any() {} };
 
-	/// Property that states that the window is designed for a regular support.
+	/*!
+	  \internal
+	  \brief Property that states that the window is designed for a regular support.
+	*/
 	struct regular   : any { std::string name() const { return "support::regular"; } };
 
-	/// Property that states that the window is not designed for a regular support.
+	/*!
+	  \internal
+	  \brief Property that states that the window is not designed for a regular support.
+	*/
 	struct irregular : any { std::string name() const { return "support::irregular"; } };
       };
 
 
-      /// Window property about how the window is defined.
+      /*!
+	\internal
+	\brief Window property about how the window is defined.
+      */
       struct definition
       {
-	/// Base class for the window 'definition' property.
+	/*!
+	  \internal
+	  \brief Base class for the window 'definition' property.
+	*/
 	struct any { protected: any() {} };
 
-	/// Property that states that the definition is unique.
+	/*!
+	  \internal
+	  \brief Property that states that the definition is unique.
+	*/
 	struct unique : any { std::string name() const { return "definition::unique"; } };
 
-	/// Abstract property that states that the definition is multiple.
+	/*!
+	  \internal
+	  \brief Abstract property that states that the definition is multiple.
+	*/
 	struct multiple : any { protected: multiple() {} };
 
-	/// Property that states that this window has n definitions.
+	/*!
+	  \internal
+	  \brief Property that states that this window has n definitions.
+	*/
 	struct n_ary : multiple { std::string name() const { return "definition::n_ary"; } };
 
-	/// Property that states that this window has a varying definition.
+	/*!
+	  \internal
+	  \brief Property that states that this window has a varying definition.
+	*/
 	struct varying : multiple { std::string name() const { return "definition::varying"; } };
       };
 
diff --git a/milena/mln/trait/windows.hh b/milena/mln/trait/windows.hh
index 2a77470..feec278 100644
--- a/milena/mln/trait/windows.hh
+++ b/milena/mln/trait/windows.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -68,7 +69,10 @@ namespace mln
   namespace trait
   {
 
-    /// Pack of 'undefined' type values for properties of windows.
+    /*!
+      \internal
+      \brief Pack of 'undefined' type values for properties of windows.
+    */
     template <typename W>
     struct undefined_window_
     {
@@ -78,13 +82,15 @@ namespace mln
     };
 
 
-    /*! \brief The trait pack structure for properties of windows.
-     *
-     * This structure is specialized for every concrete class of site
-     * set so that properties are properly defined.
-     *
-     * \see mln::doc::Window for the documentation of the "window"
-     * concept.
+    /*!
+      \internal
+      \brief The trait pack structure for properties of windows.
+
+      This structure is specialized for every concrete class of site
+      set so that properties are properly defined.
+
+      \see mln::doc::Window for the documentation of the "window"
+      concept.
      */
     template <typename W>
     struct window_ : undefined_window_<W>
@@ -92,7 +98,10 @@ namespace mln
     };
 
 
-    // \internal Trait for classical windows. 
+    /*!
+      \internal
+      \brief Trait for classical windows.
+    */
     struct classical_window_
     {
       typedef mln::trait::window::size::fixed        size;
diff --git a/milena/mln/util/branch_iter.hh b/milena/mln/util/branch_iter.hh
index 30b2faf..42cec57 100644
--- a/milena/mln/util/branch_iter.hh
+++ b/milena/mln/util/branch_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -42,12 +43,14 @@ namespace mln
   namespace util
   {
 
-    /*! \brief Basic 2D image class.
-     *
-     * The parameter \c T is the type of node's data. branch_iter is
-     * used to pre-order walk a branch.
-     *
-     */
+    /*!
+      \internal
+      \brief Iterator on branch.
+
+      The parameter \c T is the type of node's data. branch_iter is
+      used to pre-order walk a branch.
+
+    */
     template <typename T>
     class branch_iter
     {
diff --git a/milena/mln/util/branch_iter_ind.hh b/milena/mln/util/branch_iter_ind.hh
index 9cb2568..501d332 100644
--- a/milena/mln/util/branch_iter_ind.hh
+++ b/milena/mln/util/branch_iter_ind.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -56,12 +57,14 @@ namespace mln
       int pos_;
     };
 
-    /*! \brief Basic 2D image class.
-     *
-     * The parameter \c T is the type of node's data. branch_iter_ind
-     * is used to pre-order walk a branch.
-     *
-     */
+    /*!
+      \internal
+      \brief Iterator on branch.
+
+      The parameter \c T is the type of node's data. branch_iter_ind
+      is used to pre-order walk a branch.
+
+    */
     template <typename T>
     class branch_iter_ind
     {
diff --git a/milena/mln/util/edge.hh b/milena/mln/util/edge.hh
index 75a82c9..bf5acf5 100644
--- a/milena/mln/util/edge.hh
+++ b/milena/mln/util/edge.hh
@@ -175,7 +175,10 @@ namespace mln
   namespace internal
   {
 
-    /// subject_impl specialization (Proxy).
+    /*!
+      \internal
+      \brief subject_impl specialization (Proxy).
+    */
     /// \{
 
     template <typename G, typename E>
diff --git a/milena/mln/util/graph.hh b/milena/mln/util/graph.hh
index 54d1c76..bf31e58 100644
--- a/milena/mln/util/graph.hh
+++ b/milena/mln/util/graph.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2012 EPITA Research and
+// Development Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -48,7 +48,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for mln::util::graph.
+    /*!
+      \internal
+      \brief Data structure for mln::util::graph.
+    */
     template <>
     struct data<util::graph>
     {
diff --git a/milena/mln/util/internal/edge_impl.hh b/milena/mln/util/internal/edge_impl.hh
index ca5b5fa..695eeeb 100644
--- a/milena/mln/util/internal/edge_impl.hh
+++ b/milena/mln/util/internal/edge_impl.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -43,7 +44,10 @@ namespace mln
     namespace internal
     {
 
-      /// Implementation class to equip generalized edge classes.
+      /*!
+	\internal
+	\brief Implementation class to equip generalized edge classes.
+      */
       template <typename G>
       class edge_impl_
       {
@@ -51,28 +55,18 @@ namespace mln
 	  edge_impl_();
       };
 
-    } // end of namespace internal
-
-  } // end of namespace util
-
-} // end of namespace mln
 
 #ifndef MLN_INCLUDE_ONLY
 
-namespace mln
-{
 
-  namespace util
-  {
+      template <typename G>
+      inline
+      edge_impl_<G>::edge_impl_()
+      {
+      }
 
-    namespace internal
-    {
+#endif // ! MLN_INCLUDE_ONLY
 
-    template <typename G>
-    inline
-    edge_impl_<G>::edge_impl_()
-    {
-    }
 
     } // end of namespace internal
 
@@ -80,7 +74,5 @@ namespace mln
 
 } // end of namespace mln
 
-#endif // ! MLN_INCLUDE_ONLY
-
 
 #endif // ! MLN_UTIL_INTERNAL_EDGE_IMPL_HH
diff --git a/milena/mln/util/internal/graph_base.hh b/milena/mln/util/internal/graph_base.hh
index 3a9eea9..0297465 100644
--- a/milena/mln/util/internal/graph_base.hh
+++ b/milena/mln/util/internal/graph_base.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -60,7 +60,10 @@ namespace mln
 
     namespace internal
     {
-      /// \brief Base class for undirected graphs.
+      /*!
+	\internal
+	\brief Base class for undirected graphs.
+      */
       template<typename E>
       class graph_base : public Graph<E>
       {
diff --git a/milena/mln/util/internal/graph_iter.hh b/milena/mln/util/internal/graph_iter.hh
index 09e0bb4..6ebd627 100644
--- a/milena/mln/util/internal/graph_iter.hh
+++ b/milena/mln/util/internal/graph_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -42,8 +43,10 @@ namespace mln
   namespace internal
   {
 
-    /// Forward vertex iterator.
-
+    /*!
+      \internal
+      \brief Forward vertex iterator.
+    */
     template<typename G>
     class vertex_fwd_iterator
       : public graph_iter_base<G, util::vertex<G>, vertex_fwd_iterator<G> >
@@ -70,8 +73,10 @@ namespace mln
     };
 
 
-    /// Backward vertex iterator.
-
+    /*!
+      \internal
+      \brief Backward vertex iterator.
+    */
     template<typename G>
     class vertex_bkd_iterator
       : public graph_iter_base<G, util::vertex<G>, vertex_bkd_iterator<G> >
@@ -98,8 +103,10 @@ namespace mln
     };
 
 
-    /// Forward edge iterator.
-
+    /*!
+      \internal
+      \brief Forward edge iterator.
+    */
     template <typename G>
     class edge_fwd_iterator
       : public graph_iter_base<G, util::edge<G>, edge_fwd_iterator<G> >
@@ -126,8 +133,10 @@ namespace mln
     };
 
 
-    /// Backward edge iterator.
-
+    /*!
+      \internal
+      \brief Backward edge iterator.
+    */
     template <typename G>
     class edge_bkd_iterator
       : public graph_iter_base<G, util::edge<G>, edge_bkd_iterator<G> >
diff --git a/milena/mln/util/internal/vertex_impl.hh b/milena/mln/util/internal/vertex_impl.hh
index 754075e..04af289 100644
--- a/milena/mln/util/internal/vertex_impl.hh
+++ b/milena/mln/util/internal/vertex_impl.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -43,7 +44,10 @@ namespace mln
     namespace internal
     {
 
-      /// Implementation class to equip generalized vertex classes.
+      /*!
+	\internal
+	\brief Implementation class to equip generalized vertex classes.
+      */
       template <typename G>
       class vertex_impl_
       {
@@ -51,22 +55,9 @@ namespace mln
 	  vertex_impl_();
       };
 
-    } // end of namespace internal
-
-  } // end of namespace util
-
-} // end of namespace mln
 
 #ifndef MLN_INCLUDE_ONLY
 
-namespace mln
-{
-
-  namespace util
-  {
-
-    namespace internal
-    {
 
     template <typename G>
     inline
@@ -74,13 +65,13 @@ namespace mln
     {
     }
 
+
+#endif // ! MLN_INCLUDE_ONLY
+
     } // end of namespace internal
 
   } // end of namespace util
 
 } // end of namespace mln
 
-#endif // ! MLN_INCLUDE_ONLY
-
-
 #endif // ! MLN_UTIL_INTERNAL_VERTEX_IMPL_HH
diff --git a/milena/mln/util/lemmings.hh b/milena/mln/util/lemmings.hh
index c6d74b2..4aaefac 100644
--- a/milena/mln/util/lemmings.hh
+++ b/milena/mln/util/lemmings.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -40,8 +41,7 @@ namespace mln
   {
 
     /*! \brief Lemmings tool.
-     *
-     */
+    */
     template <typename I>
     struct lemmings_ : public Object< lemmings_<I> >
     {
diff --git a/milena/mln/util/line_graph.hh b/milena/mln/util/line_graph.hh
index f8104a4..f5b68af 100644
--- a/milena/mln/util/line_graph.hh
+++ b/milena/mln/util/line_graph.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -50,7 +50,10 @@ namespace mln
   namespace internal
   {
 
-    /// Data structure for mln::util::line_graph<G>.
+    /*!
+      \internal
+      \brief Data structure for mln::util::line_graph<G>.
+    */
     template <typename G>
     struct data< util::line_graph<G> >
     {
diff --git a/milena/mln/util/site_pair.hh b/milena/mln/util/site_pair.hh
index 52cb75d..4dee2fd 100644
--- a/milena/mln/util/site_pair.hh
+++ b/milena/mln/util/site_pair.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -97,8 +98,10 @@ namespace mln
   {
 
     /// \{
-    /// subject_impl specialization (Proxy)
-
+    /*!
+      \internal
+      \brief subject_impl specialization (Proxy)
+    */
     template <typename P, typename E>
     struct subject_impl< const util::site_pair<P>, E >
     {
diff --git a/milena/mln/util/vertex.hh b/milena/mln/util/vertex.hh
index 4f5f1b2..2cbdaa1 100644
--- a/milena/mln/util/vertex.hh
+++ b/milena/mln/util/vertex.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -165,7 +165,10 @@ namespace mln
   namespace internal
   {
 
-    /// subject_impl specialization (Proxy).
+    /*!
+      \internal
+      \brief subject_impl specialization (Proxy).
+    */
     /// \{
 
     template <typename G, typename E>
diff --git a/milena/mln/value/internal/value_like.hh b/milena/mln/value/internal/value_like.hh
index e3988d4..28dfc38 100644
--- a/milena/mln/value/internal/value_like.hh
+++ b/milena/mln/value/internal/value_like.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -43,10 +44,14 @@ namespace mln
     namespace internal
     {
 
-      /// Base class for value classes defined over another
-      /// type. Parameters are \c V the equivalent value type and
-      /// \c E the exact value type.
-      ///
+      /*!
+	\internal
+	\brief Base class for value classes defined over another
+	type.
+
+	Parameters are \c V the equivalent value type and
+	\c E the exact value type.
+      */
       template < typename V, // Equivalent.
 		 typename C, // Encoding.
 		 typename N, // Interoperation.
diff --git a/milena/mln/value/stack.hh b/milena/mln/value/stack.hh
index 1782c1c..01ef66e 100644
--- a/milena/mln/value/stack.hh
+++ b/milena/mln/value/stack.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
 // Laboratory (LRDE)
 //
 // This file is part of Olena.
@@ -48,8 +48,10 @@ namespace mln
   {
 
 
-    /// data structure for stack_image.
-    ///
+    /*!
+      \internal
+      \brief data structure for stack_image.
+    */
     template <unsigned n, typename I>
     struct data< value::stack_image<n, I> >
     {
diff --git a/milena/mln/value/viter.hh b/milena/mln/value/viter.hh
index 308e0de..8d9434d 100644
--- a/milena/mln/value/viter.hh
+++ b/milena/mln/value/viter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
 //
 // This file is part of Olena.
 //
@@ -44,10 +45,12 @@ namespace mln
   {
 
 
-    /*! \brief FIXME: Forward iterator on a set of values.
-     *
-     * The parameter \c S is the type of value set.
-     */
+    /*!
+      \internal
+      \brief FIXME: Forward iterator on a set of values.
+
+      The parameter \c S is the type of value set.
+    */
     template <typename S>
     struct fwd_viter_ : public Value_Iterator< fwd_viter_<S> >
     {
@@ -89,10 +92,12 @@ namespace mln
 
 
 
-    /*! \brief FIXME: Backward iterator on a set of values.
-     *
-     * The parameter \c S is the type of value set.
-     */
+    /*!
+      \internal
+      \brief FIXME: Backward iterator on a set of values.
+
+      The parameter \c S is the type of value set.
+    */
     template <typename S>
     struct bkd_viter_ : public Value_Iterator< bkd_viter_<S> >
     {
-- 
1.7.2.5
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        ---
 milena/doc/Makefile.am                        |    6 +-
 milena/doc/examples/box2d-bbox.cc             |    2 +-
 milena/doc/examples/split/box2d-bbox-1.cc.raw |    2 +-
 milena/doc/img/src/2dgrid.tikz                |   16 +
 milena/doc/img/src/standalone.cfg             |   34 +
 milena/doc/img/src/standalone.cls             |  837 +++++++++++++++++++++++++
 milena/doc/img/src/ydoc.cfg                   |   40 ++
 milena/doc/img/src/ydoc.cls                   |   21 +
 milena/doc/ref-guide.tex                      |   21 +-
 9 files changed, 958 insertions(+), 21 deletions(-)
 create mode 100644 milena/doc/img/src/2dgrid.tikz
 create mode 100644 milena/doc/img/src/standalone.cfg
 create mode 100644 milena/doc/img/src/standalone.cls
 create mode 100644 milena/doc/img/src/ydoc.cfg
 create mode 100644 milena/doc/img/src/ydoc.cls
diff --git a/milena/doc/Makefile.am b/milena/doc/Makefile.am
index 1761308..4c83006 100644
--- a/milena/doc/Makefile.am
+++ b/milena/doc/Makefile.am
@@ -83,7 +83,9 @@ SUFFIXES += .pbm .pgm .ppm .png
 PNG_FIGURES =					\
   $(PBM_FIGURES:.pbm=.png)			\
   $(PGM_FIGURES:.pgm=.png)			\
-  $(PPM_FIGURES:.ppm=.png)
+  $(PPM_FIGURES:.ppm=.png)			\
+  $(srcdir)/img/genericity.png 			\
+  $(srcdir)/img/2dgrid.png
 EXTRA_DIST += $(PNG_FIGURES)
 MAINTAINERCLEANFILES += $(PNG_FIGURES)
 
@@ -181,7 +183,7 @@ regen-split-examples-mk:
 ## Doxygen documentation.  ##
 ## ----------------------- ##
 
-REFMAN_deps =				\
+REFMAN_deps =					\
   $(PNG_FIGURES)				\
   $(srcdir)/tutorial.hh				\
   $(srcdir)/ref-guide.hh
diff --git a/milena/doc/examples/box2d-bbox.cc b/milena/doc/examples/box2d-bbox.cc
index 7707514..5e03b49 100644
--- a/milena/doc/examples/box2d-bbox.cc
+++ b/milena/doc/examples/box2d-bbox.cc
@@ -6,7 +6,7 @@ int main()
 // \{
   box2d b(2,3);
 
-  // The bbox can be retrived in constant time.
+  // The bbox can be retrieved in constant time.
   std::cout << b.bbox() << std::endl;
 
   // nsites can be retrieved in constant time.
diff --git a/milena/doc/examples/split/box2d-bbox-1.cc.raw b/milena/doc/examples/split/box2d-bbox-1.cc.raw
index e6b3e0c..d785d13 100644
--- a/milena/doc/examples/split/box2d-bbox-1.cc.raw
+++ b/milena/doc/examples/split/box2d-bbox-1.cc.raw
@@ -1,6 +1,6 @@
   box2d b(2,3);
 
-  // The bbox can be retrived in constant time.
+  // The bbox can be retrieved in constant time.
   std::cout << b.bbox() << std::endl;
 
   // nsites can be retrieved in constant time.
diff --git a/milena/doc/img/src/2dgrid.tikz b/milena/doc/img/src/2dgrid.tikz
new file mode 100644
index 0000000..fa2988c
--- /dev/null
+++ b/milena/doc/img/src/2dgrid.tikz
@@ -0,0 +1,16 @@
+\documentclass[tikz]{standalone}
+\begin{document}
+\begin{tikzpicture}[scale=1]
+
+\draw[blue!20, thick] (-2, -2) grid [right=0.5cm,above=0.5cm,step=1cm] (3, 3);
+\draw[line width=1mm] (-1, -1) grid [step=1cm] (3, 3);
+\draw[black,line width=2mm,<-] (0, -2) node {y} -- (0, 4);
+\draw[black,line width=2mm,->] (-2, 3) node {x} -- (4, 3);
+
+\foreach \x in {-0.5, 0.5, 1.5, 2.5}
+  \foreach \y in {-0.5, 0.5, 1.5, 2.5}
+    \node at (\x, \y) [fill=blue!30] {};
+
+\draw[black] (2.5, 1.5) -- (4, 2) node {Point2d(1, 2)};
+\end{tikzpicture}
+\end{document}
\ No newline at end of file
diff --git a/milena/doc/img/src/standalone.cfg b/milena/doc/img/src/standalone.cfg
new file mode 100644
index 0000000..ab1ffbb
--- /dev/null
+++ b/milena/doc/img/src/standalone.cfg
@@ -0,0 +1,34 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{standalone.cfg}[%
+    2012/04/13
+    v1.0b
+    Default configuration file for 'standalone' class]%
+%% Enabled the "varwidth" option if the "varwidth" package is available:
+%%\IfFileExists{varwidth.sty}{%
+%%    \standaloneconfig{varwidth}%
+%%}{}%
+
+%% Default options:
+\standaloneconfig{crop}
+
+%% Option which 'preview' should be loaded with
+\PassOptionsToPackage{active,tightpage}{preview}%
+
+%% Enable 'preview' option by default:
+%%\standaloneconfig{preview}
+
+%% Remove the border:
+\standaloneconfig{border=0pt}
+
+%% Default preview border (used by standalone v0.x):
+%%\standaloneconfig{border=0.50001bp}
+
+%% Disable navigation symbols in beamer.
+%% This must be done AtEndOfClass because the options are not processed yet,
+%% so "beamer" mode is not enabled yet.
+\AtEndOfClass{%
+\ifstandalonebeamer
+  \setbeamertemplate{navigation symbols}{}%
+\fi
+}
+%% vim: ft=tex
diff --git a/milena/doc/img/src/standalone.cls b/milena/doc/img/src/standalone.cls
new file mode 100644
index 0000000..a60e7bf
--- /dev/null
+++ b/milena/doc/img/src/standalone.cls
@@ -0,0 +1,837 @@
+%% Copyright (C) 2011 by Martin Scharrer <martin(a)scharrer-online.de>
+%% ---------------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Martin Scharrer.
+%%
+%% This work consists of the files <+name+>.dtx and <+name+>.ins
+%% and the derived filebase <+name+>.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{standalone}[%
+    2012/04/13
+    v1.0b
+    Class to compile TeX sub-files standalone]
+\newif\ifstandalone
+\standalonetrue
+\newif\ifstandalonebeamer
+\standalonebeamerfalse
+\let\onlyifstandalone\@firstofone
+\let\IfStandalone\@firstoftwo
+\def\sa@border@left{0.50001bp}
+\let\sa@border@right\sa@border@left
+\let\sa@border@top\sa@border@left
+\let\sa@border@bottom\sa@border@left
+\def\rem@bp#1bp\relax#2\@nnil{#1}%
+\def\default@bp#1#2{%
+    \begingroup
+    \afterassignment\remove@to@nnil
+    \dimen@ #2bp\relax\@nnil
+    \expandafter
+    \endgroup
+    \expandafter
+    \def\expandafter#1\expandafter{\the\dimen@}%
+}
+\def\sa@readborder#1 #2 #3 #4 #5\@nnil{%
+    \ifx\\#2#3#4\\%
+        \default@bp\sa@border@left{#1}%
+        \let\sa@border@right\sa@border@left
+        \let\sa@border@top\sa@border@left
+        \let\sa@border@bottom\sa@border@left
+    \else
+    \ifx\\#4\\%
+        \default@bp\sa@border@left{#1}%
+        \let\sa@border@right\sa@border@left
+        \default@bp\sa@border@top{#2}%
+        \let\sa@border@bottom\sa@border@top
+    \else
+        \default@bp\sa@border@left{#1}%
+        \default@bp\sa@border@bottom{#2}%
+        \default@bp\sa@border@right{#3}%
+        \default@bp\sa@border@top{#4}%
+    \fi\fi
+}%
+\expandafter\ifx\csname ifluatex\endcsname\relax
+    \IfFileExists{ifluatex.sty}{\@firstoftwo}{\@secondoftwo}{%
+        \RequirePackage{ifluatex}
+    }{
+        \begingroup
+        \expandafter\ifx\csname directlua\endcsname\relax
+            \endgroup
+            \expandafter\let\csname ifluatex\expandafter\endcsname\csname iffalse\endcsname
+        \else
+            \endgroup
+            \expandafter\let\csname ifluatex\expandafter\endcsname\csname iftrue\endcsname
+        \fi
+    }
+\fi
+\expandafter\ifx\csname ifpdf\endcsname\relax
+    \IfFileExists{ifpdf.sty}{\@firstoftwo}{\@secondoftwo}{%
+        \RequirePackage{ifpdf}
+    }{
+        \begingroup
+        \expandafter\ifx\csname pdfoutput\endcsname\relax
+            \endgroup
+            \expandafter\let\csname ifpdf\expandafter\endcsname\csname iffalse\endcsname
+        \else
+            \endgroup
+            \ifnum\pdfoutput<1
+                \expandafter\let\csname ifpdf\expandafter\endcsname\csname iffalse\endcsname
+            \else
+                \expandafter\let\csname ifpdf\expandafter\endcsname\csname iftrue\endcsname
+            \fi
+        \fi
+    }
+\fi
+\expandafter\ifx\csname ifxetex\endcsname\relax
+    \IfFileExists{ifxetex.sty}{\@firstoftwo}{\@secondoftwo}{%
+        \RequirePackage{ifxetex}
+    }{
+        \begingroup
+        \expandafter\ifx\csname XeTeXrevision\endcsname\relax
+            \endgroup
+            \expandafter\let\csname ifxetex\expandafter\endcsname\csname iffalse\endcsname
+        \else
+            \endgroup
+            \expandafter\let\csname ifxetex\expandafter\endcsname\csname iftrue\endcsname
+        \fi
+    }
+\fi
+\let\sa@classoptionslist\@classoptionslist
+\RequirePackage{xkeyval}
+\newif\ifsa@preview
+\newif\ifsa@crop
+\newif\ifsa@multi
+\newif\ifsa@varwidth
+\newif\ifsa@ignorerest
+\newif\ifsa@ignoreempty
+\newif\ifsa@tikz
+\newif\ifsa@pstricks
+\newif\ifsa@convert
+\newif\ifsa@float
+\newif\ifsa@math
+\let\sa@beamertrue\standalonebeamertrue
+\let\sa@beamerfalse\standalonebeamerfalse
+\def\sa@clsoption{%
+    \define(a)key{standalone.cls}%
+}
+\sa@clsoption{border}{%
+    \sa@readborder#1 {} {} {} {} \@nnil
+}
+\def\sa@boolean#1#2{%
+    \sa@boolorvalue{#1}{#2}%
+        {\ClassError{standalone}{Invalid value '#2' for boolean key '#1'}{}}%
+}
+\def\sa@boolorvalue#1#2{%
+    \begingroup
+    \edef\@tempa{#2}%
+    \def\@tempb{true}%
+    \ifx\@tempa\@tempb
+        \endgroup
+        \csname sa@#1true\endcsname
+        \expandafter\@gobble
+    \else
+    \def\@tempb{false}%
+    \ifx\@tempa\@tempb
+        \endgroup
+        \csname sa@#1false\endcsname
+        \expandafter\expandafter
+        \expandafter\@gobble
+    \else
+        \endgroup
+        \expandafter\expandafter
+        \expandafter\@firstofone
+    \fi\fi
+}
+\sa@clsoption{preview}[true]{%
+    \sa@boolean{preview}{#1}%
+    \ifsa@preview
+        \setkeys{standalone.cls}{crop=false,float=false}%
+    \fi
+}
+\sa@previewtrue
+\sa@clsoption{crop}[true]{%
+    \sa@boolean{crop}{#1}%
+    \ifsa@crop
+        \setkeys{standalone.cls}{preview=false,float=false}%
+    \fi
+}
+\sa@clsoption{ignorerest}[true]{%
+    \sa@boolean{ignorerest}{#1}%
+}
+\sa@clsoption{ignoreempty}[true]{%
+    \sa@boolean{ignoreempty}{#1}%
+}
+\sa@clsoption{multi}[true]{%
+    \sa@boolorvalue{multi}{#1}{\sa@multitrue\AtBeginDocument{\standaloneenv{#1}}}%
+}
+\sa@clsoption{math}[true]{%
+    \sa@boolean{math}{#1}%
+    \ifsa@math
+        \setkeys{standalone.cls}{multi=true,ignoreempty=true,border=0.50001bp}%
+    \fi
+}
+\AtBeginDocument{\ifsa@math\sa@math\fi}
+\def\sa@math{%
+    \standaloneenv{math}%
+    \def\({\begingroup\math}%
+    \def\){\endmath\endgroup}%
+    \def\[{\(\displaystyle}%
+    \def\]{\)}%
+    \def\displaymath{\math\displaystyle}%
+    \def\enddisplaymath{\endmath}%
+    \newcommand*\multimathsep{%
+        \endmath
+        \math
+        \let\\\multimathsep
+    }%
+    \newenvironment{multimath}{%
+        \math
+        \let\\\multimathsep
+    }{%
+        \endmath
+    }%
+    \newcommand*\multidisplaymathsep{%
+        \endmath
+        \math\displaystyle
+        \let\\\multidisplaymathsep
+    }%
+    \newenvironment{multidisplaymath}{%
+        \math\displaystyle
+        \let\\\multidisplaymathsep
+    }{%
+        \endmath
+    }%
+}
+\sa@clsoption{varwidth}[true]{%
+    \sa@boolorvalue{varwidth}{#1}{\sa@varwidthtrue\def\sa@width{#1}}%
+    \ifsa@varwidth
+        \def\sa@varwidth{\varwidth{\sa@width}}%
+        \def\sa@endvarwidth{\endvarwidth}%
+    \else
+        \let\sa@varwidth\@empty
+        \let\sa@endvarwidth\@empty
+    \fi
+}
+\let\sa@varwidth\@empty
+\let\sa@endvarwidth\@empty
+\sa@clsoption{tikz}[true]{%
+    \sa@boolean{tikz}{#1}%
+    \ifsa@tikz
+        \setkeys{standalone.cls}{multi=tikzpicture,varwidth=false}%
+    \fi
+}
+\sa@clsoption{pstricks}[true]{%
+    \sa@boolean{pstricks}{#1}%
+    \ifsa@pstricks
+        \setkeys{standalone.cls}{multi=pspicture,varwidth=false}%
+    \fi
+}
+\sa@clsoption{beamer}[true]{%
+    \sa@boolean{beamer}{#1}%
+    \ifstandalonebeamer
+        \def\sa@class{beamer}%
+        \setkeys{standalone.cls}{preview=false,crop=false,varwidth=false}%
+    \else
+        \begingroup
+        \def\@tempa{beamer}%
+        \ifx\@tempa\sa@class
+            \endgroup
+            \def\sa@class{article}%
+        \else
+            \endgroup
+        \fi
+    \fi
+}
+\sa@clsoption{class}{%
+    \def\sa@class{#1}%
+}
+\def\sa@class{article}
+\sa@clsoption{float}[true]{%
+    \sa@boolean{float}{#1}%
+    \ifsa@float
+        \let\@float\sa@origfloat
+        \let\end@float\sa@origendfloat
+    \else
+        \ifx\@float\sa@nofloat\else
+            \let\sa@origfloat\@float
+        \fi
+        \ifx\end@float\sa@endnofloat\else
+            \let\sa@origendfloat\end@float
+        \fi
+        \let\@float\sa@nofloat
+        \let\end@float\sa@endnofloat
+    \fi
+}
+\def\sa@nofloat#1{%
+    \def\@captype{#1}%
+    \trivlist\item[]%
+    \@ifnextchar[{%
+        \begingroup
+        \def\@tempa[####1]{%
+            \endgroup
+        }\@tempa
+    }{}%
+}
+\def\sa@endnofloat{%
+    \endtrivlist
+}
+\sa@clsoption{convert}[]{%
+    \setkeys{standalone.cls/convert}{true,#1}%
+}
+\sa@clsoption{disable@convert}[]{%
+    \typeout{Disable conversion}
+    \sa@convertfalse
+    \let\sa@converttrue\relax
+}
+\def\sa@convertoption{%
+    \define(a)key{standalone.cls/convert}%
+}
+\def\sa@convertvar#1#2{%
+    \define(a)key{standalone.cls/convert}{#1}{%
+        \@namedef{sa@convert@#1}{##1}%
+    }%
+    \@namedef{sa@convert@#1}{#2}%
+}
+\sa@convertoption{true}[]{%
+    \sa@converttrue
+}
+\sa@convertoption{false}[]{%
+    \sa@convertfalse
+}
+\sa@convertoption{png}[]{%
+    \setkeys{standalone.cls/convert}{true,outext={.png}}%
+}
+\sa@clsoption{png}[]{%
+    \setkeys{standalone.cls/convert}{png,#1}%
+}
+\sa@convertoption{jpg}[]{%
+    \setkeys{standalone.cls/convert}{true,outext={.jpg}}%
+}
+\sa@clsoption{jpg}[]{%
+    \setkeys{standalone.cls/convert}{jpg,#1}%
+}
+\sa@convertoption{gif}[]{%
+    \setkeys{standalone.cls/convert}{true,outext={.gif}}%
+}
+\sa@clsoption{gif}[]{%
+    \setkeys{standalone.cls/convert}{gif,#1}%
+}
+\sa@convertoption{onfailure}{%
+    \begingroup
+    \edef\@tempa{#1}%
+    \def\@tempb{error}%
+    \ifx\@tempa\@tempb
+        \endgroup
+        \let\sa@convert@failuremsg\ClassError
+    \else
+    \def\@tempb{warning}%
+    \ifx\@tempa\@tempb
+        \endgroup
+        \let\sa@convert@failuremsg\ClassWarning
+    \else
+    \def\@tempb{info}%
+    \ifx\@tempa\@tempb
+        \endgroup
+        \let\sa@convert@failuremsg\ClassInfo
+    \else
+    \def\@tempb{ignore}%
+    \ifx\@tempa\@tempb
+        \endgroup
+        \def\sa@convert@failuremsg##1##2##3{}%
+        \let\sa@convert@notfoundmsg\@gobbletwo
+    \else
+        \let\on@line\@empty
+        \ClassError{standalone}{Invalid value '\@tempa' for the 'onfailure' option.\MessageBreak
+                                Valid values: 'error', 'warning', 'info', 'ignore'}{}%
+        \endgroup
+    \fi\fi\fi\fi
+}
+\let\sa@convert@failuremsg\ClassWarning
+\let\sa@convert@notfoundmsg\ClassWarning
+\sa@convertoption{defgsdevice}{%
+    \sa@defgsdevice#1\relax\relax
+}
+\def\sa@defgsdevice#1#2{%
+    \@namedef{sa@gsdevice@#1}{#2}%
+}
+\@namedef{sa@gsdevice@.jpg}{jpeg}%
+\@namedef{sa@gsdevice@.png}{png16m}%
+\sa@convertoption{command}{%
+    \def\sa@convert@command{#1}%
+}
+\sa@convertoption{pdf2svg}[]{%
+    \def\sa@convert@command{pdf2svg \infile\space\outfile}%
+    \sa(a)convertvar{outext}{.svg}
+}
+\sa@convertoption{imagemagick}[]{%
+    \def\sa@convert@command{\convertexe\space -density \density\space \infile\space \ifx\size\empty\else -resize \size\fi\space -quality 90 \outfile}%
+}
+\sa@convertoption{ghostscript}[]{%
+    \def\sa@convert@command{\gsexe\space -dSAFER -dBATCH -dNOPAUSE -sDEVICE=\gsdevice\space -r\density\space -sOutputFile=\outfile\space \infile}%
+}
+\sa@convertvar{subjobname}{\jobname}
+\sa@convertvar{size}{}
+\sa@convertvar{inname}{\subjobname}
+\sa@convertvar{infile}{\inname\inext}
+\sa(a)convertvar{outext}{.png}
+\sa@convertvar{outname}{\inname}
+\sa@convertvar{outfile}{\outname\ifsa@multi-\@percentchar d\fi\outext}
+\sa@convertvar{density}{300}
+\sa@convertvar{gsdevice}{%
+    \expandafter\ifx\csname sa@gsdevice@\outext\endcsname\relax
+        \expandafter\@gobble\outext
+    \else
+        \csname sa@gsdevice@\outext\endcsname
+    \fi
+}
+\ifluatex
+    \sa@convertvar{latex}{lualatex}
+    \sa(a)convertvar{inext}{.pdf}
+    \sa@convertvar{precommand}{}
+    \setkeys{standalone.cls/convert}{imagemagick}
+\else
+\ifpdf
+    \sa@convertvar{latex}{pdflatex}
+    \sa(a)convertvar{inext}{.pdf}
+    \sa@convertvar{precommand}{}
+    \setkeys{standalone.cls/convert}{imagemagick}
+\else
+\ifxetex
+    \sa@convertvar{latex}{xelatex}
+    \sa(a)convertvar{inext}{.pdf}
+    \sa@convertvar{precommand}{}
+    \setkeys{standalone.cls/convert}{imagemagick}
+\else
+    \sa@convertvar{latex}{latex}
+    \sa(a)convertvar{inext}{.ps}
+    \sa@convertvar{precommand}{dvips \jobname.dvi}
+    \setkeys{standalone.cls/convert}{ghostscript}
+\fi\fi\fi
+\begingroup
+\ifluatex
+  \csname @tempswa\directlua{
+      if os.type == "windows" then
+        tex.sprint("true")
+      else
+        tex.sprint("false")
+      end
+    }\endcsname
+\else
+    \IfFileExists{/dev/null}{\@tempswafalse}{\@tempswatrue}%
+\fi
+\if@tempswa
+    \endgroup
+    \sa@convertvar{convertexe}{imgconvert}
+    \sa@convertvar{gsexe}{gswin32c}
+\else
+    \endgroup
+    \sa@convertvar{convertexe}{convert}
+    \sa@convertvar{gsexe}{gs}
+\fi
+\newcommand*\standaloneenv[1]{%
+    \begingroup
+    \edef\@tempa{\endgroup\noexpand\@for\noexpand\@tempa:=\zap@space#1 \@empty}%
+    \@tempa\do{\expandafter\@standaloneenv\expandafter{\@tempa}}%
+    \setkeys{standalone.cls}{multi}%
+}
+\@onlypreamble\standaloneenv
+\newcommand*{\standaloneconfig}{\setkeys{standalone.cls}}
+\let\@standaloneenv\@gobble
+\newcount\sa@internal
+\let\standalone\empty
+\let\endstandalone\relax
+\def\sa@width{\linewidth}
+\InputIfFileExists{standalone.cfg}{}{}
+\begingroup
+\def\(a)tempa{\endgroup\setkeys*{standalone.cls}}
+\expandafter\expandafter\expandafter\@tempa
+\expandafter\expandafter\expandafter{\csname opt(a)standalone.cls\endcsname}
+\let\@classoptionslist\XKV@rm
+\disable(a)keys{standalone.cls}{crop,preview,class,beamer,ignorerest}
+\AtBeginDocument{%
+    \disable(a)keys{standalone.cls}{multi}%
+}
+\expandafter\expandafter\expandafter\LoadClass
+\expandafter\expandafter\expandafter[%
+\expandafter\@classoptionslist
+\expandafter]\expandafter{\sa@class}
+\ifsa@varwidth
+    \RequirePackage{varwidth}
+\fi
+\ifsa@tikz
+    \RequirePackage{tikz}
+\fi
+\ifsa@pstricks
+    \RequirePackage{pstricks}
+\fi
+\ifsa@preview
+\RequirePackage{preview}
+\ifsa@multi\else
+    \@ifundefined{endstandalone}{%
+        \renewenvironment{standalone}
+            {\preview\sa@varwidth}
+            {\sa@endvarwidth\endpreview}
+    }{}% TODO: Add info message?
+\fi
+\def\PreviewBbAdjust{-\sa@border@left\space -\sa@border@bottom\space \sa@border@right\space \sa@border@top}%
+\def\@standaloneenv#1{%
+    \expandafter\ifx\csname sa@orig@#1\endcsname\relax
+        \expandafter\let\csname sa@orig@#1\expandafter\endcsname\csname #1\endcsname
+        \expandafter\let\csname sa@orig@end#1\expandafter\endcsname\csname end#1\endcsname
+    \fi
+    \expandafter\def\csname #1\endcsname{%
+        \ifnum\sa@internal=0
+            \preview
+            \sa@varwidth
+        \fi
+        \advance\sa@internal\@ne
+        \csname sa@orig@#1\endcsname
+    }%
+    \expandafter\def\csname end#1\endcsname{%
+        \csname sa@orig@end#1\endcsname
+        \advance\sa@internal\m@ne
+        \ifnum\sa@internal=0
+            \sa@endvarwidth
+            \endpreview
+        \fi
+    }%
+}%
+\fi
+\ifsa@crop
+\newbox\sa@box
+\pagestyle{empty}
+\hoffset=-72.27pt
+\voffset=-72.27pt
+\topmargin=0pt
+\headheight=0pt
+\headsep=0pt
+\marginparsep=0pt
+\marginparwidth=0pt
+\footskip=0pt
+\marginparpush=0pt
+\oddsidemargin=0pt
+\evensidemargin=0pt
+\topskip=0pt
+\textheight=\maxdimen
+\def\sa@boxit{%
+    \setbox\sa@box\hbox\bgroup\color@setgroup\sa@varwidth
+}%
+\def\endsa@boxit{%
+    \sa@endvarwidth\color@endgroup\egroup
+}%
+\renewenvironment{standalone}{%
+    \ifsa@multi
+        \ifsa@ignorerest
+            \sa@boxit
+        \fi
+    \else
+        \sa@boxit
+    \fi
+}{%
+    \ifsa@multi
+        \ifsa@ignorerest
+            \endsa@boxit
+        \fi
+    \else
+        \endsa@boxit
+        \sa@handlebox
+    \fi
+}
+\ifsa@multi\else
+    \sa@ignorerestfalse
+\fi
+\ifsa@ignorerest
+    \def\@standaloneenv#1{%
+        \expandafter\ifx\csname sa@orig@#1\endcsname\relax
+            \expandafter\let\csname sa@orig@#1\expandafter\endcsname\csname #1\endcsname
+            \expandafter\let\csname sa@orig@end#1\expandafter\endcsname\csname end#1\endcsname
+        \fi
+        \expandafter\def\csname #1\endcsname{%
+            \ifnum\sa@internal=0
+                \edef\@tempa{\endgroup
+                    \noexpand\endsa@boxit
+                    \begingroup
+                    \def\noexpand\@currenvir{\@currenvir}%
+                    \def\noexpand\@currenvline{\@currenvline}%
+                }%
+                \@tempa
+                \sa@boxit
+            \fi
+            \advance\sa@internal\@ne
+            \csname sa@orig@#1\endcsname
+        }%
+        \expandafter\def\csname end#1\endcsname{%
+            \csname sa@orig@end#1\endcsname
+            \advance\sa@internal\m@ne
+            \ifnum\sa@internal=0
+                \endsa@boxit
+                \sa@handlebox
+                \aftergroup\sa@boxit
+            \fi
+        }%
+    }%
+\else
+    \def\@standaloneenv#1{%
+        \expandafter\ifx\csname sa@orig@#1\endcsname\relax
+            \expandafter\let\csname sa@orig@#1\expandafter\endcsname\csname #1\endcsname
+            \expandafter\let\csname sa@orig@end#1\expandafter\endcsname\csname end#1\endcsname
+        \fi
+        \expandafter\def\csname #1\endcsname{%
+            \ifnum\sa@internal=0
+                \sa@boxit
+            \fi
+            \advance\sa@internal\@ne
+            \csname sa@orig@#1\endcsname
+        }%
+        \expandafter\def\csname end#1\endcsname{%
+            \csname sa@orig@end#1\endcsname
+            \advance\sa@internal\m@ne
+            \ifnum\sa@internal=0
+                \endsa@boxit
+                \sa@handlebox
+            \fi
+        }%
+    }%
+\fi
+\def\sa@handlebox{%
+    \ifcase
+        0%
+        \ifsa@ignoreempty
+            \ifdim\wd\sa@box=\z@
+            \ifdim\ht\sa@box=\z@
+            \ifdim\dp\sa@box=\z@
+                1%
+            \fi\fi\fi
+        \fi
+    \relax
+    \sbox\sa@box{%
+        \hskip\sa@border@left
+        \@tempdima=\ht\sa@box
+        \advance\@tempdima\sa@border@top\relax
+        \ht\sa@box=\@tempdima
+        \@tempdima=\dp\sa@box
+        \advance\@tempdima\sa@border@bottom\relax
+        \dp\sa@box=\@tempdima
+        \raise\dp\sa@box
+            \box\sa@box
+        \hskip\sa@border@right
+    }%
+    \sa@placebox
+    \fi
+}
+\ifcase0%
+    \ifpdf\else\ifluatex\else\ifxetex\else 1\fi\fi\fi
+  \relax
+    \def\sa@placebox{%
+        \newpage
+        \global\pdfpagewidth=\wd\sa@box
+        \global\pdfpageheight=\ht\sa@box
+        \global\paperwidth=\wd\sa@box
+        \global\paperheight=\ht\sa@box
+        \global\hsize=\wd\sa@box
+        \global\vsize=\ht\sa@box
+        \global\@colht=\ht\sa@box
+        \global\@colroom=\ht\sa@box
+        \noindent\usebox\sa@box
+        \newpage
+    }
+  \else
+    \def\sa@placebox{%
+        \global\paperwidth=\wd\sa@box
+        \global\paperheight=\ht\sa@box
+        \global\@colht=\maxdimen
+        \global\@colroom=\maxdimen
+        \global\hsize=\maxdimen
+        \global\vsize=\maxdimen
+        \sa@papersize
+        \ifsa@multi
+        \begingroup
+        \(a)tempdima0.99626\paperwidth
+        \(a)tempdimb0.99626\paperheight
+        \edef\@tempc{\strip@pt\@tempdima}%
+        \edef\@tempd{\strip@pt\@tempdimb}%
+        \advance\@tempdima by .998pt
+        \advance\@tempdimb by .998pt
+        \def\strip(a)float##1.##2\relax{##1}%
+        \edef\@tempa{\expandafter\strip@float\the\@tempdima\relax}%
+        \edef\@tempb{\expandafter\strip@float\the\@tempdimb\relax}%
+        \special{ps::%
+            \@percentchar\@percentchar PageBoundingBox: 0 0 \@tempa\space\@tempb^^J%
+            \@percentchar\@percentchar HiResPageBoundingBox: 0 0 \@tempc\space\@tempd^^J%
+            \@percentchar\@percentchar BeginPageSetup^^J%
+            << /PageSize [\@tempc\space\@tempd]
+            >> setpagedevice^^J%<<
+            0 0 bop^^J%
+            \@percentchar\@percentchar EndPageSetup}%
+        \endgroup
+        \fi
+        \topskip=0pt
+        \noindent\sa@ps@content
+        \newpage
+    }
+\def\sa@ps@content{%
+    \noindent\usebox\sa@box
+    \global\def\sa@ps@content{%
+        \@tempdima\sa@yoffset
+        \advance\@tempdima-\topskip
+        \dp\sa@box\z@
+        \ht\sa@box\z@
+        \noindent\lower\@tempdima\copy\sa@box
+    }%
+}
+\def\sa@papersize{%
+    \global\let\sa@papersize\relax
+    \special{papersize=\the\paperwidth,\the\paperheight}%
+    \global\sa@yoffset=\paperheight
+    \special{ps::%
+        \@percentchar\@percentchar HiResBoundingBox: 0 0 \the\paperwidth\space\the\paperheight^^J%
+    }%
+}
+\newlength\sa@yoffset
+\fi
+\fi
+\ifstandalonebeamer
+\newenvironment{standaloneframe}{%
+  \@ifnextchar<%
+    {\@standaloneframe}%
+    {\@@standaloneframe{}}%
+}{\end{frame}}%
+\def\@standaloneframe<#1>{%
+    \@@standaloneframe{<#1>}%
+}
+\def\@@standaloneframe#1{%
+  \@ifnextchar[%]
+    {\@@@standaloneframe{#1}}%
+    {\@@@standaloneframe{#1}[]}%
+}%
+\def\@@@standaloneframe#1[{%
+  \@ifnextchar<%
+    {\@@@@standaloneframe{#1}[}%
+    {\@@@@@@standaloneframe{#1}[}%
+}%
+\def\@@@@standaloneframe#1[#2]{%
+  \@ifnextchar[%]
+    {\@@@@@standaloneframe{#1}{#2}}%
+    {\begin{frame}#1[#2][environment=standaloneframe]}%
+}%
+\def\@@@@@standaloneframe#1#2[#3]{%
+    \begin{frame}#1[#2][environment=standaloneframe,#3]%
+}%
+\def\@@@@@@standaloneframe#1[#2]{%
+    \begin{frame}#1[environment=standaloneframe,#2]%
+}%
+\fi
+\expandafter\ifx\csname sa@internal@run\endcsname\relax\else
+    \sa@convertfalse
+\fi
+\ifsa@convert
+\begingroup
+\let\on@line\@gobble
+\def\sa@convert#1{%
+    \IfFileExists{\outfile}{%
+        \edef\filemodbefore{\csname pdffilemoddate\endcsname{\outfile}}%
+    }{%
+    \IfFileExists{\outname\outext}{%
+        \edef\filemodbefore{\csname pdffilemoddate\endcsname{\outname\outext}}%
+    }{%
+    \IfFileExists{\outname-0\outext}{%
+        \edef\filemodbefore{\csname pdffilemoddate\endcsname{\outname-0\outext}}%
+    }{%
+    \IfFileExists{\outname-1\outext}{%
+        \edef\filemodbefore{\csname pdffilemoddate\endcsname{\outname-1\outext}}%
+    }{%
+        \def\filemodbefore{}%
+    }}}}%
+    \immediate\write18{\sa@convert@latex\space -jobname '\sa@convert@subjobname' '\noexpand\expandafter\def\noexpand\csname sa@internal@run\noexpand\endcsname{1}\noexpand\input{\jobname}'}%
+    \edef\sa@convert@precommand{\sa@convert@precommand}%
+    \ifx\sa@convert@precommand\@empty\else
+        \immediate\write18{\sa@convert@precommand}%
+    \fi
+    \immediate\write18{\sa@convert@command}%
+    \@tempswafalse
+    \IfFileExists{\outfile}{%
+        \@tempswatrue
+    }{%
+    \IfFileExists{\outname\outext}{%
+        \@tempswatrue
+        \def\outfile{\outname\outext}%
+    }{%
+    \IfFileExists{\outname-0\outext}{%
+        \@tempswatrue
+        \def\outfile{\outname-0\outext}%
+    }{%
+    \IfFileExists{\outname-1\outext}{%
+        \@tempswatrue
+        \def\outfile{\outname-1\outext}%
+    }{%
+    }}}}%
+    \if@tempswa
+        \edef\filemodafter{\csname pdffilemoddate\endcsname{\outfile}}%
+        \ifx\filemodbefore\filemodafter
+            \expandafter\ifx\csname pdffilemoddate\endcsname\relax\else
+                \sa@convert@failuremsg{standalone}{#1}{}%
+            \fi
+        \else
+            \ClassInfo{standalone}{Conversion successful.}%
+        \fi
+    \else
+        \sa@convert@failuremsg{standalone}{#1}{}%
+    \fi
+}
+\let\subjobname\sa@convert@subjobname
+\let\infile\sa@convert@infile
+\let\inext\sa@convert@inext
+\let\inname\sa@convert@inname
+\let\gsdevice\sa@convert@gsdevice
+\let\convertexe\sa@convert@convertexe
+\let\gsexe\sa@convert@gsexe
+\let\density\sa@convert@density
+\let\size\sa@convert@size
+\let\outext\sa@convert@outext
+\let\outname\sa@convert@outname
+\let\outfile\sa@convert@outfile
+\let\percent\@percentchar
+\ifcase0%
+    \expandafter\ifx\csname pdfshellescape\endcsname\relax
+    \ifeof18 \else 3\fi
+    \else\the\pdfshellescape\fi
+\relax% 0
+    \sa@convert@failuremsg
+        {standalone}{Shell escape disabled! Cannot convert file '\infile'.}{}%
+\or% 1
+    \sa@convert{Conversion unsuccessful!\MessageBreak
+                There might be something wrong with your\MessageBreak
+                conversation software or the file permissions!}%
+\else% 2 or 3
+    \sa@convert{Conversion failed! Please ensure that shell escape\MessageBreak is enabled (e.g. use '-shell-escape').}%
+\fi
+\endgroup
+\expandafter\stop
+\fi
+\begingroup
+\toks@\expandafter{%
+    \document
+    \sa@cls@afterbegindocument
+}
+\xdef\document{\the\toks@}%
+\toks@\expandafter{%
+    \expandafter
+    \sa@cls@beforeenddocument
+    \enddocument
+}
+\xdef\enddocument{\the\toks@}%
+\endgroup
+\def\sa@cls@afterbegindocument{\standalone\ignorespaces}
+\def\sa@cls@beforeenddocument{\ifhmode\unskip\fi\endstandalone}
+\endinput
+%%
+%% End of file `standalone.cls'.
diff --git a/milena/doc/img/src/ydoc.cfg b/milena/doc/img/src/ydoc.cfg
new file mode 100644
index 0000000..049f0f4
--- /dev/null
+++ b/milena/doc/img/src/ydoc.cfg
@@ -0,0 +1,40 @@
+%%
+%% This is file `ydoc.cfg',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ydoc.dtx  (with options: `ydoc.cfg')
+%% 
+%% Please delete the following line on manual changes:
+\ProvidesFile{ydoc.cfg}[%
+    2011/11/19
+    v0.6alpha
+   Default config file for ydoc]
+\usepackage[T1]{fontenc}
+\IfFileExists{fourier.sty}{%
+    \usepackage{fourier}
+}{}
+\IfFileExists{lmodern.sty}{
+    \IfFileExists{fourier.sty}{
+        \renewcommand{\ttdefault}{lmtt}
+    }{
+        \usepackage{lmodern}
+    }
+}{}
+\urlstyle{sf}
+\usepackage{ifpdf}
+\ifpdf
+\usepackage{microtype}
+\fi
+\usepackage{array}
+\usepackage{booktabs}
+\usepackage{multicol}
+\usepackage{xcolor}
+\usepackage{listings}
+\usepackage{booktabs}
+\usepackage{hyperref}
+\reversemarginpar
+\endinput
+%%
+%% End of file `ydoc.cfg'.
diff --git a/milena/doc/img/src/ydoc.cls b/milena/doc/img/src/ydoc.cls
new file mode 100644
index 0000000..a2bc248
--- /dev/null
+++ b/milena/doc/img/src/ydoc.cls
@@ -0,0 +1,21 @@
+%%
+%% This is file `ydoc.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ydoc.dtx  (with options: `ydoc.cls')
+%% 
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesClass{ydoc}[%
+    2011/11/19
+    v0.6alpha
+    ydoc class: document LaTeX class and packages]
+\PassOptionsToClass{a4paper}{article}
+\DeclareOption*{\expandafter\PassOptionsToClass\expandafter{\CurrentOption}{article}}
+\ProcessOptions\relax
+\LoadClass{article}
+\RequirePackage{ydoc}
+\endinput
+%%
+%% End of file `ydoc.cls'.
diff --git a/milena/doc/ref-guide.tex b/milena/doc/ref-guide.tex
index 3328947..6e4a790 100644
--- a/milena/doc/ref-guide.tex
+++ b/milena/doc/ref-guide.tex
@@ -290,22 +290,9 @@ This concept allows us to divide a pixel into two information:
 
 Let's say we have a 2D grid like this:
 
-%FIXME: Find a way to get that figure in HTML output.
-\begin{latexonly}
-\begin{tikzpicture}[scale=1]
-
-\draw[blue!20, thick] (-2, -2) grid [right=0.5cm,above=0.5cm,step=1cm] (3, 3);
-\draw[line width=1mm] (-1, -1) grid [step=1cm] (3, 3);
-\draw[black,line width=2mm,<-] (0, -2) node {y} -- (0, 4);
-\draw[black,line width=2mm,->] (-2, 3) node {x} -- (4, 3);
-
-\foreach \x in {-0.5, 0.5, 1.5, 2.5}
-  \foreach \y in {-0.5, 0.5, 1.5, 2.5}
-    \node at (\x, \y) [fill=blue!30] {};
-
-\draw[black] (2.5, 1.5) -- (4, 2) node {Point2d(2, 2)};
-\end{tikzpicture}
-\end{latexonly}
+\begin{center}
+\doxyimg{2dgrid}{3cm}
+\end{center}
 
 On such a regular grid, in 2D, we usually use a 2D point as a site which
 means we have the following equivalence:
@@ -407,7 +394,7 @@ const Box\& & bbox & - & X &  Bounding box. Available only on grid site sets.
 \end{tabular} \\
 
 The previous methods are available depending on the site set. A box
-will have the bbox() method since it can be retrived in constant time: a box
+will have the bbox() method since it can be retrieved in constant time: a box
 is it's own bounding box.
 
 \doxycode{box2d-bbox}
-- 
1.7.2.5
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0