Olena-patches
Threads by month
- ----- 2025 -----
- 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
February 2012
- 3 participants
- 78 discussions
* Makefile.am: Add doc to SUBDIRS.
* doc/Doxyfile.in: Include bib file.
* doc/Makefile.am: Fix uninstall/install rules.
* doc/mainpage.hh: Improve layout.
* doc/bibliography.hh,
* doc/doc.bib,
* doc/modules_list.hh,
* doc/olena.bib: New.
---
ChangeLog | 17 ++
Makefile.am | 4 +-
doc/Doxyfile.in | 2 +-
doc/Makefile.am | 18 ++-
doc/bibliography.hh | 19 +++
doc/doc.bib | 12 ++
doc/mainpage.hh | 44 ++++--
doc/modules_list.hh | 9 +
doc/olena.bib | 415 +++++++++++++++++++++++++++++++++++++++++++++++++++
9 files changed, 521 insertions(+), 19 deletions(-)
create mode 100644 doc/bibliography.hh
create mode 100644 doc/doc.bib
create mode 100644 doc/modules_list.hh
create mode 100644 doc/olena.bib
diff --git a/ChangeLog b/ChangeLog
index b5674dc..a9cc1f7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2012-02-01 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Improve common documentation.
+
+ * Makefile.am: Add doc to SUBDIRS.
+
+ * doc/Doxyfile.in: Include bib file.
+
+ * doc/Makefile.am: Fix uninstall/install rules.
+
+ * doc/mainpage.hh: Improve layout.
+
+ * doc/bibliography.hh,
+ * doc/doc.bib,
+ * doc/modules_list.hh,
+ * doc/olena.bib: New.
+
2012-01-30 Guillaume Lazzara <z(a)lrde.epita.fr>
Improve layout and content of Milena's doc.
diff --git a/Makefile.am b/Makefile.am
index 66dc10c..677a9c3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -17,7 +17,7 @@
ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = build-aux external milena
+SUBDIRS = build-aux doc external milena
if ENABLE_SWILENA
SUBDIRS += swilena
@@ -164,3 +164,5 @@ snapshot:
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& mv -f $(srcdir)/configure.ac.old $(srcdir)/configure.ac
#>>
+
+
diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in
index 106c58c..a0fcf00 100644
--- a/doc/Doxyfile.in
+++ b/doc/Doxyfile.in
@@ -112,7 +112,7 @@ INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
INPUT_ENCODING = ISO-8859-1
-
+CITE_BIB_FILES = @top_srcdir@/doc/olena.bib
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
diff --git a/doc/Makefile.am b/doc/Makefile.am
index ac2fd2e..e733ab9 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -53,11 +53,13 @@ regen-doc:
DOXYFILE_USER = Doxyfile_user
-REFMAN_deps = $(srcdir)/footer.html \
- $(srcdir)/header.html \
- $(srcdir)/doxygen.css \
- $(srcdir)/mainpage.hh \
- $(srcdir)/DoxygenLayout.xml
+REFMAN_deps = $(srcdir)/footer.html \
+ $(srcdir)/header.html \
+ $(srcdir)/doxygen.css \
+ $(srcdir)/mainpage.hh \
+ $(srcdir)/DoxygenLayout.xml \
+ $(srcdir)/modules_list.hh \
+ $(srcdir)/olena.bib
# Sed is used to generate Doxyfile from Doxyfile.in instead of
# configure, because the former is way faster than the latter.
@@ -142,6 +144,12 @@ install-data-local:
# special case.
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/bibliography.hh b/doc/bibliography.hh
new file mode 100644
index 0000000..841372b
--- /dev/null
+++ b/doc/bibliography.hh
@@ -0,0 +1,19 @@
+/** \page bibliography Bibliography
+
+ Here you can find all the articles related to the Olena platform.
+
+ \li \cite burrus.03.mpool
+ \li \cite darbon.02.ismm
+ \li \cite darbon.04.ecoopphd
+ \li \cite duret.00.gcse
+ \li \cite geraud.00.icpr
+ \li \cite geraud.01.ai
+ \li \cite geraud.08.mpool
+ \li \cite geraud.99.gretsi
+ \li \cite lazzara.11.icdar
+ \li \cite levillain.09.ismm
+ \li \cite levillain.10.icip
+ \li \cite levillain.10.wadgmm
+ \li \cite levillain.11.gretsi
+
+ */
diff --git a/doc/doc.bib b/doc/doc.bib
new file mode 100644
index 0000000..b116a98
--- /dev/null
+++ b/doc/doc.bib
@@ -0,0 +1,12 @@
+(a)Article{besl.92.pami,
+ author = "P.J. Besl and N.D. McKay",
+ title = "A Method for Registration of 3-D Shapes",
+ journal = "IEEE Transactions on Pattern Analysis and Machine Intelligence",
+ volume = "14",
+ issn = "0162-8828",
+ year = "1992",
+ pages = "239--256",
+ doi = "http://doi.ieeecomputersociety.org/10.1109/34.121791",
+ publisher = "IEEE Computer Society",
+ address = "Los Alamitos, CA, USA"
+}
\ No newline at end of file
diff --git a/doc/mainpage.hh b/doc/mainpage.hh
index 0704753..116c69a 100644
--- a/doc/mainpage.hh
+++ b/doc/mainpage.hh
@@ -6,26 +6,46 @@
<table class="doxtable itable">
<tr>
- <th>General Presentation</th>
- <th>Modules</th>
- <th>Applications</th>
+ <th>General Presentation</th>
+ <th>Modules</th>
+ <th>Applications</th>
</tr>
<tr>
- <td><ul><li>What is Olena ?</li><li>Bibliography</li><li>Contributors</li></ul></td>
- <td><ul><li>List of Available modules</li><li><a href='../../../milena/doc/user-refman/html/index.html'>Milena</a></li><li><a href='../../../scribo/doc/user-refman/html/index.html'>Scribo</a></li><li>Swilena</li></ul></td>
- <td><ul><li>Online Demos</li><li>Papers Related Programs</li><li>Olena Powered Programs</li></ul></td>
+ <td>
+ \li What is Olena ?
+ \li \ref bibliography
+ \li Contributors
+ </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 Swilena
+ </td>
+ <td>
+ \li Online Demos
+ \li Papers Related Programs
+ \li Olena Powered Programs
+ </td>
</tr>
<tr>
- <th>Contributing</th>
- <th>Licensing</th>
- <th> </th>
+ <th>Contributing</th>
+ <th>Licensing</th>
+ <th> </th>
</tr>
<tr>
- <td><ul><li>Report Bugs and Make Suggestions</li><li>Get the Sources</li><li>Online Resources</li></ul></td>
- <td><ul><li>GNU GPL</li><li>Commercial Use</li></ul></td>
- <td> </td>
+ <td>
+ \li Report Bugs and Make Suggestions
+ \li Get the Sources
+ \li Online Resources
+ </td>
+ <td>
+ \li GNU GPL
+ \li Commercial Use
+ </td>
+ <td> </td>
</tr>
</table>
diff --git a/doc/modules_list.hh b/doc/modules_list.hh
new file mode 100644
index 0000000..e3f2b8d
--- /dev/null
+++ b/doc/modules_list.hh
@@ -0,0 +1,9 @@
+/** \page moduleslist List of available modules
+
+As a platform, Olena is divided in several modules:
+
+\li Milena, a generic image processing library.
+\li Scribo, a framework for document image analysis.
+\li Swilena, Python bindings for Milena.
+
+ */
diff --git a/doc/olena.bib b/doc/olena.bib
new file mode 100644
index 0000000..248a22d
--- /dev/null
+++ b/doc/olena.bib
@@ -0,0 +1,415 @@
+@InProceedings{ burrus.03.mpool,
+ author = {Nicolas Burrus and Alexandre Duret-Lutz and {\relax
+ Th}ierry G\'eraud and David Lesage and Rapha\"el Poss},
+ title = {A static {C++} object-oriented programming ({SCOOP})
+ paradigm mixing benefits of traditional {OOP} and generic
+ programming},
+ booktitle = {Proceedings of the Workshop on Multiple Paradigm with
+ Object-Oriented Languages (MPOOL)},
+ year = 2003,
+ address = {Anaheim, CA, USA},
+ month = oct,
+ project = {Olena},
+ urllrde = {200310-MPOOL},
+ abstract = {Object-oriented and generic programming are both supported
+ in C++. OOP provides high expressiveness whereas GP leads
+ to more efficient programs by avoiding dynamic typing. This
+ paper presents SCOOP, a new paradigm which enables both
+ classical OO design and high performance in C++ by mixing
+ OOP and GP. We show how classical and advanced OO features
+ such as virtual methods, multiple inheritance, argument
+ covariance, virtual types and multimethods can be
+ implemented in a fully statically typed model, hence
+ without run-time overhead.}
+}
+
+
+@InProceedings{ darbon.02.ismm,
+ author = {J\'er\^ome Darbon and {\relax Th}ierry G\'eraud and
+ Alexandre Duret-Lutz},
+ title = {Generic implementation of morphological image operators},
+ booktitle = {Mathematical Morphology, Proceedings of the 6th
+ International Symposium (ISMM)},
+ pages = {175--184},
+ year = 2002,
+ address = {Sydney, Australia},
+ month = apr,
+ publisher = {CSIRO Publishing},
+ project = {Olena},
+ urllrde = {200204-Ismm},
+ abstract = {Several libraries dedicated to mathematical morphology
+ exist. But they lack genericity, that is to say, the
+ ability for operators to accept input of different natures
+ ---2D binary images, graphs enclosing floating values, etc.
+ We describe solutions which are integrated in Olena, a
+ library providing morphological operators. We demonstrate
+ with some examples that translating mathematical formulas
+ and algorithms into source code is made easy and safe with
+ Olena. Moreover, experimental results show that no extra
+ costs at run-time are induced.}
+}
+
+@InProceedings{ darbon.04.ecoopphd,
+ author = {J\'er\^ome Darbon and {\relax Th}ierry G\'eraud and
+ Patrick Bellot},
+ title = {Generic algorithmic blocks dedicated to image processing},
+ booktitle = {Proceedings of the ECOOP Workshop for PhD Students},
+ year = 2004,
+ address = {Oslo, Norway},
+ month = jun,
+ project = {Olena},
+ urllrde = {200406-ECOOPPHD},
+ abstract = {This paper deals with the implementation of algorithms in
+ the specific domain of image processing. Although many
+ image processing libraries are available, they generally
+ lack genericity and flexibility. Many image processing
+ algorithms can be expressed as compositions of elementary
+ algorithmic operations referred to as blocks. Implementing
+ these compositions is achieved using generic programming.
+ Our solution is compared to previous ones and we
+ demonstrate it on a class image processing algorithms.}
+}
+
+@InProceedings{ duret.00.gcse,
+ author = {Alexandre Duret-Lutz},
+ title = {Olena: a component-based platform for image processing,
+ mixing generic, generative and {OO} programming},
+ booktitle = {Proceedings of the 2nd International Symposium on
+ Generative and Component-Based Software Engineering
+ (GCSE)---Young Researchers Workshop; published in
+ ``Net.ObjectDays2000''},
+ pages = {653--659},
+ year = 2000,
+ address = {Erfurt, Germany},
+ month = oct,
+ isbn = {3-89683-932-2},
+ project = {Olena},
+ urllrde = {200010-NetObjectDays},
+ abstract = {This paper presents Olena, a toolkit for programming and
+ designing image processing chains in which each processing
+ is a component. But since there exist many image types
+ (different structures such as 2D images, 3D images or
+ graphs, as well as different value types) the platform has
+ been designed with genericity and reusability in mind: each
+ component is written as a generic C++ procedure, \`a la
+ STL. Other libraries, such as Khoros [Kon94] have a
+ different approach where a processing component contains an
+ implementation for each type supported by the library. This
+ makes code maintenance hard and prevents easy addition of
+ new image types. Still, Olena is not only a generic
+ component library [Jaz95], it shall contain additional
+ tools such as a visual programming environment (VPE). Those
+ tools may be programmed in a classical object-oriented
+ fashion (using operation and inclusion polymorphism) which
+ may seems antagonist with the generic programming paradigm
+ used in the library. Section 2 outlines the architecture of
+ Olena and elaborates more on the design problems resulting
+ from the use of generic components. Section 3 presents the
+ solution chosen to address these problems.}
+}
+
+
+@InProceedings{ geraud.00.icpr,
+ author = {{\relax Th}ierry G\'eraud and Yoann Fabre and Alexandre
+ Duret-Lutz and Dimitri Papadopoulos-Orfanos and
+ Jean-Fran\c{c}ois Mangin},
+ title = {Obtaining genericity for image processing and pattern
+ recognition algorithms},
+ booktitle = {Proceedings of the 15th International Conference on
+ Pattern Recognition (ICPR)},
+ year = 2000,
+ month = sep,
+ address = {Barcelona, Spain},
+ volume = 4,
+ pages = {816--819},
+ publisher = {IEEE Computer Society},
+ project = {Olena},
+ urllrde = {200009-Icpr},
+ abstract = {Algorithm libraries dedicated to image processing and
+ pattern recognition are not reusable; to run an algorithm
+ on particular data, one usually has either to rewrite the
+ algorithm or to manually ``copy, paste, and modify''. This
+ is due to the lack of genericity of the programming
+ paradigm used to implement the libraries. In this paper, we
+ present a recent paradigm that allows algorithms to be
+ written once and for all and to accept input of various
+ types. Moreover, this total reusability can be obtained
+ with a very comprehensive writing and without significant
+ cost at execution, compared to a dedicated algorithm. This
+ new paradigm is called ``generic programming'' and is fully
+ supported by the C++ language. We show how this paradigm
+ can be applied to image processing and pattern recognition
+ routines. The perspective of our work is the creation of a
+ generic library.}
+}
+
+@InProceedings{ geraud.01.ai,
+ author = {{\relax Th}ierry G\'eraud and Yoann Fabre and Alexandre
+ Duret-Lutz},
+ title = {Applying generic programming to image processing},
+ booktitle = {Proceedings of the IASTED International Conference on
+ Applied Informatics (AI)---Symposium on Advances in
+ Computer Applications},
+ year = 2001,
+ publisher = {ACTA Press},
+ editor = {M.H.~Hamsa},
+ address = {Innsbruck, Austria},
+ pages = {577--581},
+ month = feb,
+ project = {Olena},
+ urllrde = {200102-Ai},
+ abstract = {This paper presents the evolution of algorithms
+ implementation in image processing libraries and discusses
+ the limits of these implementations in terms of
+ reusability. In particular, we show that in C++, an
+ algorithm can have a general implementation; said
+ differently, an implementation can be generic, i.e.,
+ independent of both the input aggregate type and the type
+ of the data contained in the input aggregate. A total
+ reusability of algorithms can therefore be obtained;
+ moreover, a generic implementation is more natural and does
+ not introduce a meaningful additional cost in execution
+ time as compared to an implementation dedicated to a
+ particular input type.}
+}
+
+
+@InProceedings{ geraud.08.mpool,
+ author = {{\relax Th}ierry G\'eraud and Roland Levillain},
+ title = {Semantics-Driven Genericity: A Sequel to the Static {C++}
+ Object-Oriented Programming Paradigm ({SCOOP 2})},
+ booktitle = {Proceedings of the 6th International Workshop on
+ Multiparadigm Programming with Object-Oriented Languages
+ (MPOOL)},
+ year = 2008,
+ address = {Paphos, Cyprus},
+ month = jul,
+ project = {Olena},
+ urllrde = {200807-MPOOL},
+ abstract = {Classical (unbounded) genericity in \Cxx{}03 defines the
+ interactions between generic data types and algorithms in
+ terms of concepts. Concepts define the requirements over a
+ type (or a parameter) by expressing constraints on its
+ methods and dependent types (typedefs). The upcoming
+ \Cxx{}0x standard will promote concepts from abstract
+ entities (not directly enforced by the tools) to language
+ constructs, enabling compilers and tools to perform
+ additional checks on generic constructs as well as enabling
+ new features (e.g., concept-based overloading). Most modern
+ languages support this notion of signature on generic
+ types. However, generic types built on other types and
+ relying on concepts to both ensure type conformance and
+ drive code specialization, restrain the interface and the
+ implementation of the newly created type: specific methods
+ and associated types not mentioned in the concept will not
+ be part of the new type. The paradigm of concept-based
+ genericity lacks the required semantics to transform types
+ while retaining or adapting their intrinsic capabilities.
+ We present a new form of semantically-enriched genericity
+ allowing static generic type transformations through a
+ simple form of type introspection based on type metadata
+ called properties. This approach relies on a new Static
+ \Cxx Object-Oriented Programming (SCOOP) paradigm, and is
+ adapted to the creation of generic and efficient libraries,
+ especially in the field of scientific computing. Our
+ proposal uses a metaprogramming facility built into a \Cxx
+ library called Static, and doesn't require any language
+ extension nor additional processing (preprocessor,
+ transformation tool).}
+}
+
+@InProceedings{ geraud.99.gretsi,
+ author = {{\relax Th}ierry G\'eraud and Yoann Fabre and Dimitri
+ Papadopoulos-Orfanos and Jean-Fran\c{c}ois Mangin},
+ title = {Vers une r\'eutilisabilit\'e totale des algorithmes de
+ traitement d'images},
+ booktitle = {Proceedings of the 17th Symposium on Signal and Image
+ Processing (GRETSI)},
+ category = {national},
+ pages = {331--334},
+ volume = 2,
+ year = 1999,
+ address = {Vannes, France},
+ month = sep,
+ note = {In French},
+ project = {Olena},
+ urllrde = {199909-Gretsi},
+ abstract = {Cet article pr\'esente l'\'evolution des techniques de
+ programmation d'algorithmes de traitement d'images et
+ discute des limites de la r\'eutilisabilit\'e de ces
+ algorithmes. En particulier, nous montrons qu'en C++ un
+ algorithme peut s'\'ecrire sous une forme g\'en\'erale,
+ ind\'ependante aussi bien du type des donn\'ees que du type
+ des structures de donn\'ees sur lesquelles il peut
+ s'appliquer. Une r\'eutilisabilit\'e totale des algorithmes
+ peut donc \^etre obtenue ; mieux, leur \'ecriture est plus
+ naturelle et elle n'introduit pas de surco\^ut significatif
+ en temps d'ex\'ecution.}
+}
+
+
+@InProceedings{ lazzara.11.icdar,
+ author = {Guillaume Lazzara and Roland Levillain and {\relax
+ Th}ierry G\'eraud and Yann Jacquelet and Julien Marquegnies
+ and Arthur Cr\'epin-Leblond},
+ title = {The {SCRIBO} Module of the {Olena} Platform: a Free
+ Software Framework for Document Image Analysis},
+ booktitle = {Proceedings of the 11th International Conference on
+ Document Analysis and Recognition (ICDAR)},
+ year = 2011,
+ address = {Beijing, China},
+ month = sep,
+ organization = {International Association for Pattern Recognition (IAPR)},
+ note = {Accepted},
+ project = {Olena},
+ urllrde = {201109-ICDAR},
+ abstract = {Electronic documents are being more and more usable thanks
+ to better and more affordable network, storage and
+ computational facilities. But in order to benefit from
+ computer-aided document management, paper documents must be
+ digitized and analyzed. This task may be challenging at
+ several levels. Data may be of multiple types thus
+ requiring different adapted processing chains. The tools to
+ be developed should also take into account the needs and
+ knowledge of users, ranging from a simple graphical
+ application to a complete programming framework. Finally,
+ the data sets to process may be large. In this paper, we
+ expose a set of features that a Document Image Analysis
+ framework should provide to handle the previous issues. In
+ particular, a good strategy to address both flexibility and
+ efficiency issues is the Generic Programming (GP) paradigm.
+ These ideas are implemented as an open source module,
+ SCRIBO, built on top of Olena, a generic and efficient
+ image processing platform. Our solution features services
+ such as preprocessing filters, text detection, page
+ segmentation and document reconstruction (as XML, PDF or
+ HTML documents). This framework, composed of reusable
+ software components, can be used to create full-fledged
+ graphical applications, small utilities, or processing
+ chains to be integrated into third-party projects.},
+ keywords = {Document Image Analysis, Software Design, Reusability,
+ Free Software}
+}
+
+@InProceedings{ levillain.09.ismm,
+ author = {Roland Levillain and {\relax Th}ierry G\'eraud and Laurent
+ Najman},
+ title = {{Milena}: Write Generic Morphological Algorithms Once, Run
+ on Many Kinds of Images},
+ booktitle = {Mathematical Morphology and Its Application to Signal and
+ Image Processing -- Proceedings of the Ninth International
+ Symposium on Mathematical Morphology (ISMM)},
+ pages = {295--306},
+ year = 2009,
+ editor = {Michael H. F. Wilkinson and Jos B. T. M. Roerdink},
+ series = {Lecture Notes in Computer Science},
+ address = {Groningen, The Netherlands},
+ month = aug,
+ publisher = {Springer Berlin / Heidelberg},
+ volume = 5720,
+ project = {Olena},
+ urllrde = {200908-ISMM},
+ abstract = {We present a programming framework for discrete
+ mathematical morphology centered on the concept of
+ genericity. We show that formal definitions of
+ morphological algorithms can be translated into actual
+ code, usable on virtually any kind of compatible images,
+ provided a general definition of the concept of image is
+ given. This work is implemented in Milena, a generic,
+ efficient, and user-friendly image processing library.},
+ keywords = {mathematical morphology, image processing operator,
+ genericity, programming}
+}
+
+@InProceedings{ levillain.10.icip,
+ author = {Roland Levillain and {\relax Th}ierry G\'eraud and Laurent
+ Najman},
+ title = {Why and How to Design a Generic and Efficient Image
+ Processing Framework: The Case of the {Milena} Library},
+ booktitle = {Proceedings of the IEEE International Conference on Image
+ Processing (ICIP)},
+ pages = {1941--1944},
+ year = 2010,
+ address = {Hong Kong},
+ month = sep,
+ project = {Olena},
+ urllrde = {201009-ICIP},
+ abstract = {Most image processing frameworks are not generic enough to
+ provide true reusability of data structures and algorithms.
+ In fact, genericity allows users to write and experiment
+ virtually any method on any compatible input(s). In this
+ paper, we advocate the use of generic programming in the
+ design of image processing software, while preserving
+ performances close to dedicated code. The implementation of
+ our proposal, Milena, a generic and efficient library,
+ illustrates the benefits of our approach.},
+ keywords = {Genericity, Image Processing, Software Design,
+ Reusability, Efficiency}
+}
+
+@InProceedings{ levillain.10.wadgmm,
+ author = {Roland Levillain and {\relax Th}ierry G\'eraud and Laurent
+ Najman},
+ title = {Writing Reusable Digital Geometry Algorithms in a Generic
+ Image Processing Framework},
+ booktitle = {Proceedings of the Workshop on Applications of Digital
+ Geometry and Mathematical Morphology (WADGMM)},
+ pages = {96--100},
+ year = 2010,
+ address = {Istanbul, Turkey},
+ month = aug,
+ url = {http://mdigest.jrc.ec.europa.eu/wadgmm2010/},
+ project = {Olena},
+ urllrde = {201008-WADGMM},
+ abstract = {Digital Geometry software should reflect the generality of
+ the underlying mathematics: mapping the latter to the
+ former requires genericity. By designing generic solutions,
+ one can effectively reuse digital geometry data structures
+ and algorithms. We propose an image processing framework
+ centered on the Generic Programming paradigm in which an
+ algorithm on the paper can be turn into a single code,
+ written once and usable with various input types. This
+ approach enables users to design and implement new methods
+ at a lower cost, try cross-domain experiments and help
+ generalize results.},
+ keywords = {Generic Programming, Interface, Skeleton, Complex}
+}
+
+@InProceedings{ levillain.11.gretsi,
+ author = {Roland Levillain and {\relax Th}ierry G\'eraud and Laurent
+ Najman},
+ title = {Une approche g\'en\'erique du logiciel pour le traitement
+ d'images pr\'eservant les performances},
+ booktitle = {Proceedings of the 23rd Symposium on Signal and Image
+ Processing (GRETSI)},
+ category = {national},
+ year = 2011,
+ address = {Bordeaux, France},
+ month = sep,
+ note = {In French. Accepted},
+ project = {Olena},
+ urllrde = {201109-GRETSI},
+ abstract = {De plus en plus d'outils logiciels modernes pour le
+ traitement d'images sont con\,c{}us en prenant en compte le
+ probl\`eme de la g\'en\'ericit\'e du code, c'est-\`a-dire
+ la possibilit\'e d'\'ecrire des algorithmes
+ r\'eutilisables, compatibles avec de nombreux types
+ d'entr\'ees. Cependant, ce choix de conception se fait
+ souvent au d\'etriment des performances du code
+ ex\'ecut\'e. Du fait de la grande vari\'et\'e des types
+ d'images existants et de la n\'ecessit\'e d'avoir des
+ impl\'ementations rapides, g\'en\'ericit\'e et performance
+ apparaissent comme des qualit\'es essentielles du logiciel
+ en traitement d'images. Cet article pr\'esente une approche
+ pr\'eservant les performances dans un framework logiciel
+ g\'en\'erique tirant parti des caract\'eristiques des types
+ de donn\'ees utilis\'es. Gr\^ace \`a celles-ci, il est
+ possible d'\'ecrire des variantes d'algorithmes
+ g\'en\'eriques offrant un compromis entre g\'en\'ericit\'e
+ et performance. Ces alternatives sont capables de
+ pr\'eserver une partie des aspects g\'en\'eriques d'origine
+ tout en apportant des gains substantiels \`a l'ex\'ecution.
+ D'apr\`es nos essais, ces optimisations g\'en\'eriques
+ fournissent des performances supportant la comparaison avec
+ du code d\'edi\'e, allant parfois m\^eme jusqu'\`a surpasser des routines optimis\'ees manuellement.}
+}
--
1.7.2.5
1
0

27 Feb '12
---
milena/ChangeLog | 4 ++++
milena/mln/registration/icp.hh | 2 ++
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index ae7964a..6a780fc 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,9 @@
2012-02-01 Guillaume Lazzara <z(a)lrde.epita.fr>
+ * mln/registration/icp.hh: Cite article.
+
+2012-02-01 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Fix Milena doc (un)installation.
* doc/Doxyfile.in: Fix paths.
diff --git a/milena/mln/registration/icp.hh b/milena/mln/registration/icp.hh
index 9448a2f..4c3bd51 100644
--- a/milena/mln/registration/icp.hh
+++ b/milena/mln/registration/icp.hh
@@ -107,6 +107,8 @@ namespace mln
*
* \pre \p P_ and \p X must not be empty.
*
+ * \cite besl.92.pami
+ *
* Reference article: "A Method for Registration of 3-D Shapes", Paul J.
* Besl and Neil D. McKay, IEEE, 2, February 1992.
*
--
1.7.2.5
1
0
* Makefile.am: Add doc in SUBDIRS.
* doc/Makefile.am: Fix install/uninstall rules.
---
scribo/ChangeLog | 8 ++++++++
scribo/Makefile.am | 2 +-
scribo/doc/Makefile.am | 15 ++++++++++-----
3 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/scribo/ChangeLog b/scribo/ChangeLog
index df9d036..1470f32 100644
--- a/scribo/ChangeLog
+++ b/scribo/ChangeLog
@@ -1,3 +1,11 @@
+2012-02-01 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Fix scribo doc (un)installation.
+
+ * Makefile.am: Add doc in SUBDIRS.
+
+ * doc/Makefile.am: Fix install/uninstall rules.
+
2011-12-12 Guillaume Lazzara <z(a)lrde.epita.fr>
* scribo/subsampling/integral_single_image.hh: Fix forward
diff --git a/scribo/Makefile.am b/scribo/Makefile.am
index b9a590a..cf8a4c6 100644
--- a/scribo/Makefile.am
+++ b/scribo/Makefile.am
@@ -15,7 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with Olena. If not, see <http://www.gnu.org/licenses/>.
-SUBDIRS = demo tests src
+SUBDIRS = demo doc tests src
.PHONY: bin
diff --git a/scribo/doc/Makefile.am b/scribo/doc/Makefile.am
index f1fae6c..6469ab9 100644
--- a/scribo/doc/Makefile.am
+++ b/scribo/doc/Makefile.am
@@ -223,11 +223,16 @@ maintainer-clean-local:
# .../srcdoc", which installs our dir into the previous one, instead
# of replacing it.
install-data-local:
- $(mkdir_p) $(DESTDIR)$(htmldir)
+ $(mkdir_p) $(DESTDIR)$(htmldir)/$(USER_REFMAN)
# The user reference manual is located in a subdirectory, hence this
# special case.
- rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)
- cp -r $(srcdir)/$(USER_REFMAN)/html $(DESTDIR)$(htmldir)/$(USER_REFMAN)
+ rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)/scribo
+ 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'`
# Other HTML directories can be processed uniformly.
for d in $(DATA_html_dirs_inst); do \
rm -rf $(DESTDIR)$(htmldir)/$$d; \
@@ -246,5 +251,5 @@ uninstall-local:
done
# Same remark as above regarding the special case of the user
# reference manual.
- chmod -R 700 $(DESTDIR)$(htmldir)/$(USER_REFMAN)
- rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)
+ chmod -R 700 $(DESTDIR)$(htmldir)/$(USER_REFMAN)/scribo
+ rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)/scribo
--
1.7.2.5
1
0
* doc/Doxyfile.in: Fix paths.
* doc/Makefile.am: Fix install/uninstall rules.
---
milena/ChangeLog | 8 ++++++++
milena/doc/Doxyfile.in | 4 ++--
milena/doc/Makefile.am | 10 +++++-----
3 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 2454245..ae7964a 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,11 @@
+2012-02-01 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Fix Milena doc (un)installation.
+
+ * doc/Doxyfile.in: Fix paths.
+
+ * doc/Makefile.am: Fix install/uninstall rules.
+
2011-11-30 Guillaume Lazzara <z(a)lrde.epita.fr>
* mln/accu/math/sumpow.hh: New accumulator.
diff --git a/milena/doc/Doxyfile.in b/milena/doc/Doxyfile.in
index 494d99c..7790ce6 100644
--- a/milena/doc/Doxyfile.in
+++ b/milena/doc/Doxyfile.in
@@ -122,7 +122,7 @@ INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
INPUT_ENCODING = ISO-8859-1
-
+CITE_BIB_FILES = @top_srcdir@/doc/doc.bib
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
@@ -149,7 +149,7 @@ HTML_FILE_EXTENSION = .html
HTML_HEADER = @top_srcdir@/doc/header.html
HTML_FOOTER = @top_srcdir@/doc/subdoc_footer.html
HTML_STYLESHEET = @top_srcdir@/doc/doxygen.css
-LAYOUT_FILE = @top_srcdir@/doc/DoxygenLayout.xml
+LAYOUT_FILE = @top_srcdir@/milena/doc/DoxygenLayout.xml
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
diff --git a/milena/doc/Makefile.am b/milena/doc/Makefile.am
index 2132c7e..99dd4c6 100644
--- a/milena/doc/Makefile.am
+++ b/milena/doc/Makefile.am
@@ -739,11 +739,11 @@ 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)
+ $(mkdir_p) $(DESTDIR)$(htmldir)/$(USER_REFMAN)
# The user reference manual is located in a subdirectory, hence this
# special case.
- rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)
- cp -r $(srcdir)/$(USER_REFMAN)/html $(DESTDIR)$(htmldir)/$(USER_REFMAN)
+ rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)/milena
+ cp -r $(srcdir)/$(USER_REFMAN)/html $(DESTDIR)$(htmldir)/$(USER_REFMAN)/milena
# Other HTML directories can be processed uniformly.
for d in $(DATA_html_dirs_inst); do \
rm -rf $(DESTDIR)$(htmldir)/$$d; \
@@ -762,5 +762,5 @@ uninstall-local:
done
# Same remark as above regarding the special case of the user
# reference manual.
- chmod -R 700 $(DESTDIR)$(htmldir)/$(USER_REFMAN)
- rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)
+ chmod -R 700 $(DESTDIR)$(htmldir)/$(USER_REFMAN)/milena
+ rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)/milena
--
1.7.2.5
1
0

27 Feb '12
* milena/doc/Doxyfile.in: Generate tag file and fine tune output.
* milena/doc/DoxygenLayout.xml,
* milena/doc/milena.qhcp: New.
---
ChangeLog | 9 ++++++
milena/doc/Doxyfile.in | 42 +++++++++++++++++++----------
{scribo => milena}/doc/DoxygenLayout.xml | 2 +-
doc/olena.qhcp => milena/doc/milena.qhcp | 3 +-
4 files changed, 38 insertions(+), 18 deletions(-)
copy {scribo => milena}/doc/DoxygenLayout.xml (99%)
copy doc/olena.qhcp => milena/doc/milena.qhcp (62%)
diff --git a/ChangeLog b/ChangeLog
index 473c3d1..b5674dc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2012-01-30 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Improve layout and content of Milena's doc.
+
+ * milena/doc/Doxyfile.in: Generate tag file and fine tune output.
+
+ * milena/doc/DoxygenLayout.xml,
+ * milena/doc/milena.qhcp: New.
+
+2012-01-30 Guillaume Lazzara <z(a)lrde.epita.fr>
+
First draft of Scribo documentation.
* scribo/doc/.gitignore,
diff --git a/milena/doc/Doxyfile.in b/milena/doc/Doxyfile.in
index 843280a..494d99c 100644
--- a/milena/doc/Doxyfile.in
+++ b/milena/doc/Doxyfile.in
@@ -1,5 +1,5 @@
-# Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-# Laboratory (LRDE)
+# Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+# Development Laboratory (LRDE)
#
# This file is part of Olena.
#
@@ -20,8 +20,10 @@
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
-PROJECT_NAME = "Milena (@PACKAGE_NAME@)"
-PROJECT_NUMBER = "User documentation @PACKAGE_VERSION@ @ID@"
+PROJECT_NAME = "Milena"
+PROJECT_NUMBER = "@PACKAGE_VERSION@"
+PROJECT_BRIEF = "An Image Processing Platform"
+PROJECT_LOGO = @top_srcdir@/doc/logo.jpg
OUTPUT_DIRECTORY = @builddir@/user-refman.tmp
CREATE_SUBDIRS = YES
OUTPUT_LANGUAGE = English
@@ -54,8 +56,8 @@ EXTRACT_PRIVATE = NO
EXTRACT_STATIC = NO
EXTRACT_LOCAL_CLASSES = NO
EXTRACT_LOCAL_METHODS = NO
-HIDE_UNDOC_MEMBERS = YES
-HIDE_UNDOC_CLASSES = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = YES
HIDE_IN_BODY_DOCS = YES
INTERNAL_DOCS = NO
@@ -144,9 +146,10 @@ IGNORE_PREFIX = mln::
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
+HTML_HEADER = @top_srcdir@/doc/header.html
+HTML_FOOTER = @top_srcdir@/doc/subdoc_footer.html
+HTML_STYLESHEET = @top_srcdir@/doc/doxygen.css
+LAYOUT_FILE = @top_srcdir@/doc/DoxygenLayout.xml
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
@@ -327,26 +330,26 @@ SKIP_FUNCTION_MACROS = YES
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
-GENERATE_TAGFILE =
+GENERATE_TAGFILE = milena.tag
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = YES
-HIDE_UNDOC_RELATIONS = YES
+CLASS_DIAGRAMS = NO
+HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = YES
-CLASS_GRAPH = YES
+CLASS_GRAPH = NO
COLLABORATION_GRAPH = NO # Disabled for light doc
GROUP_GRAPHS = NO # Disabled for light doc
UML_LOOK = NO
-TEMPLATE_RELATIONS = YES
+TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = NO # Disabled for light doc
INCLUDED_BY_GRAPH = NO # Disabled for light doc
CALL_GRAPH = NO
CALLER_GRAPH = NO
-GRAPHICAL_HIERARCHY = YES
+GRAPHICAL_HIERARCHY = NO
DIRECTORY_GRAPH = NO # Disabled for light doc
DOT_IMAGE_FORMAT = png
DOT_PATH =
@@ -360,6 +363,15 @@ 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.scribo"
+QHP_VIRTUAL_FOLDER = "scribo-2.0"
+QCH_FILE = "@builddir@/scribo.qch"
+QHG_LOCATION = "qhelpgenerator"
+
# Local Variables:
# mode: Makefile
diff --git a/scribo/doc/DoxygenLayout.xml b/milena/doc/DoxygenLayout.xml
similarity index 99%
copy from scribo/doc/DoxygenLayout.xml
copy to milena/doc/DoxygenLayout.xml
index ac34f54..ff1e5e4 100644
--- a/scribo/doc/DoxygenLayout.xml
+++ b/milena/doc/DoxygenLayout.xml
@@ -1,7 +1,7 @@
<doxygenlayout version="1.0">
<!-- Navigation index tabs for HTML output -->
<navindex>
- <tab type="mainpage" visible="yes" title="Scribo"/>
+ <tab type="mainpage" visible="yes" title="Milena"/>
<tab type="pages" visible="yes" title=""/>
<tab type="modules" visible="yes" title=""/>
<tab type="namespaces" visible="yes" title="">
diff --git a/doc/olena.qhcp b/milena/doc/milena.qhcp
similarity index 62%
copy from doc/olena.qhcp
copy to milena/doc/milena.qhcp
index 595d34e..1a4e7ca 100644
--- a/doc/olena.qhcp
+++ b/milena/doc/milena.qhcp
@@ -5,8 +5,7 @@
</assistant>
<docFiles>
<register>
- <file>../milena/doc/user-refman/html/milena.qch</file>
- <file>../scribo/doc/user-refman/html/scribo.qch</file>
+ <file>user-refman/html/milena.qch</file>
</register>
</docFiles>
</QHelpCollectionProject>
\ No newline at end of file
--
1.7.2.5
1
0

27 Feb '12
* scribo/doc/.gitignore,
* scribo/doc/Doxyfile.in,
* scribo/doc/DoxygenLayout.xml,
* scribo/doc/Makefile.am,
* scribo/doc/doxyfuns.sty,
* scribo/doc/examples-outputs.mk,
* scribo/doc/examples.mk,
* scribo/doc/examples/dummy.cc,
* scribo/doc/figures.mk,
* scribo/doc/gen-examples-outputs-mk,
* scribo/doc/gen-figures-mk,
* scribo/doc/gen-make-variable,
* scribo/doc/gen-split-examples-mk,
* scribo/doc/gen-split-outputs-mk,
* scribo/doc/graphicx.hva,
* scribo/doc/outputs.mk,
* scribo/doc/outputs/dummy.txt,
* scribo/doc/programs-examples.mk,
* scribo/doc/scribo.qhcp,
* scribo/doc/scribo.sty,
* scribo/doc/split-examples.mk,
* scribo/doc/split-outputs.mk,
* scribo/doc/tools/todoxygen.sh,
* scribo/doc/tutorial.tex: New.
---
ChangeLog | 29 ++
scribo/doc/.gitignore | 13 +
scribo/doc/Doxyfile.in | 373 ++++++++++++++++++++
scribo/doc/DoxygenLayout.xml | 184 ++++++++++
scribo/doc/Makefile.am | 250 +++++++++++++
{milena => scribo}/doc/doxyfuns.sty | 0
.../doc/examples-outputs.mk | 0
scribo/doc/examples.mk | 4 +
.../doc/examples/dummy.cc | 0
.../doc/figures.mk | 0
{milena => scribo}/doc/gen-examples-outputs-mk | 0
{milena => scribo}/doc/gen-figures-mk | 0
{milena => scribo}/doc/gen-make-variable | 0
{milena => scribo}/doc/gen-split-examples-mk | 0
{milena => scribo}/doc/gen-split-outputs-mk | 0
{milena => scribo}/doc/graphicx.hva | 0
scribo/doc/outputs.mk | 4 +
.../doc/outputs/dummy.txt | 0
.../doc/programs-examples.mk | 0
scribo/doc/scribo.qhcp | 11 +
milena/doc/milena.sty => scribo/doc/scribo.sty | 0
.../doc/split-examples.mk | 0
.../doc/split-outputs.mk | 0
{milena => scribo}/doc/tools/todoxygen.sh | 0
.../doc/tutorial.tex | 0
25 files changed, 868 insertions(+), 0 deletions(-)
create mode 100644 scribo/doc/.gitignore
create mode 100644 scribo/doc/Doxyfile.in
create mode 100644 scribo/doc/DoxygenLayout.xml
create mode 100644 scribo/doc/Makefile.am
copy {milena => scribo}/doc/doxyfuns.sty (100%)
copy milena/doc/outputs/accu-right-instantiation.txt => scribo/doc/examples-outputs.mk (100%)
create mode 100644 scribo/doc/examples.mk
copy milena/doc/outputs/accu-right-instantiation.txt => scribo/doc/examples/dummy.cc (100%)
copy milena/doc/outputs/accu-right-instantiation.txt => scribo/doc/figures.mk (100%)
copy {milena => scribo}/doc/gen-examples-outputs-mk (100%)
copy {milena => scribo}/doc/gen-figures-mk (100%)
copy {milena => scribo}/doc/gen-make-variable (100%)
copy {milena => scribo}/doc/gen-split-examples-mk (100%)
copy {milena => scribo}/doc/gen-split-outputs-mk (100%)
copy {milena => scribo}/doc/graphicx.hva (100%)
create mode 100644 scribo/doc/outputs.mk
copy milena/doc/outputs/accu-right-instantiation.txt => scribo/doc/outputs/dummy.txt (100%)
copy milena/doc/outputs/accu-right-instantiation.txt => scribo/doc/programs-examples.mk (100%)
create mode 100644 scribo/doc/scribo.qhcp
copy milena/doc/milena.sty => scribo/doc/scribo.sty (100%)
copy milena/doc/outputs/accu-right-instantiation.txt => scribo/doc/split-examples.mk (100%)
copy milena/doc/outputs/accu-right-instantiation.txt => scribo/doc/split-outputs.mk (100%)
copy {milena => scribo}/doc/tools/todoxygen.sh (100%)
copy milena/doc/outputs/accu-right-instantiation.txt => scribo/doc/tutorial.tex (100%)
diff --git a/ChangeLog b/ChangeLog
index b7099ec..473c3d1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,34 @@
2012-01-30 Guillaume Lazzara <z(a)lrde.epita.fr>
+ First draft of Scribo documentation.
+
+ * scribo/doc/.gitignore,
+ * scribo/doc/Doxyfile.in,
+ * scribo/doc/DoxygenLayout.xml,
+ * scribo/doc/Makefile.am,
+ * scribo/doc/doxyfuns.sty,
+ * scribo/doc/examples-outputs.mk,
+ * scribo/doc/examples.mk,
+ * scribo/doc/examples/dummy.cc,
+ * scribo/doc/figures.mk,
+ * scribo/doc/gen-examples-outputs-mk,
+ * scribo/doc/gen-figures-mk,
+ * scribo/doc/gen-make-variable,
+ * scribo/doc/gen-split-examples-mk,
+ * scribo/doc/gen-split-outputs-mk,
+ * scribo/doc/graphicx.hva,
+ * scribo/doc/outputs.mk,
+ * scribo/doc/outputs/dummy.txt,
+ * scribo/doc/programs-examples.mk,
+ * scribo/doc/scribo.qhcp,
+ * scribo/doc/scribo.sty,
+ * scribo/doc/split-examples.mk,
+ * scribo/doc/split-outputs.mk,
+ * scribo/doc/tools/todoxygen.sh,
+ * scribo/doc/tutorial.tex: New.
+
+2012-01-30 Guillaume Lazzara <z(a)lrde.epita.fr>
+
First draft of common documentation.
* configure.ac: Add new makefiles.
diff --git a/scribo/doc/.gitignore b/scribo/doc/.gitignore
new file mode 100644
index 0000000..c858430
--- /dev/null
+++ b/scribo/doc/.gitignore
@@ -0,0 +1,13 @@
+/Doxyfile_user
+/user-refman
+/user-refman.pdf
+
+/Doxyfile_devel
+/devel-refman
+/devel-refman.pdf
+
+/figures/*.png
+
+/tutorial.hh
+/tutorial.pdf
+/tutorial/
diff --git a/scribo/doc/Doxyfile.in b/scribo/doc/Doxyfile.in
new file mode 100644
index 0000000..d279d76
--- /dev/null
+++ b/scribo/doc/Doxyfile.in
@@ -0,0 +1,373 @@
+# Copyright (C) 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.5.1
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+PROJECT_NAME = "Scribo"
+PROJECT_NUMBER = "User documentation @PACKAGE_VERSION@"
+PROJECT_BRIEF = "An Image Processing Platform"
+PROJECT_LOGO = @top_srcdir@/doc/logo.jpg
+OUTPUT_DIRECTORY = @builddir@/user-refman.tmp
+CREATE_SUBDIRS = YES
+OUTPUT_LANGUAGE = English
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ABBREVIATE_BRIEF =
+ALWAYS_DETAILED_SEC = YES
+INLINE_INHERITED_MEMB = YES
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH = @top_srcdir@/scribo
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = YES
+JAVADOC_AUTOBRIEF = YES
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 8
+ALIASES =
+OPTIMIZE_OUTPUT_FOR_C = NO
+OPTIMIZE_OUTPUT_JAVA = NO
+BUILTIN_STL_SUPPORT = YES
+IDL_PROPERTY_SUPPORT = NO
+DISTRIBUTE_GROUP_DOC = NO
+SUBGROUPING = YES
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL = NO
+EXTRACT_PRIVATE = NO
+EXTRACT_STATIC = NO
+EXTRACT_LOCAL_CLASSES = NO
+EXTRACT_LOCAL_METHODS = NO
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+HIDE_FRIEND_COMPOUNDS = YES
+HIDE_IN_BODY_DOCS = YES
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = YES
+SORT_BY_SCOPE_NAME = YES
+GENERATE_TODOLIST = NO
+GENERATE_TESTLIST = YES
+GENERATE_BUGLIST = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+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
+FILE_VERSION_FILTER =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = YES
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_FORMAT = "$file:$line: $text"
+WARN_LOGFILE =
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT = @top_srcdir@/scribo
+FILE_PATTERNS = *.cc \
+ *.hh \
+ *.hxx \
+ *.hcc
+RECURSIVE = YES
+EXCLUDE = @top_srcdir@/scribo/demo \
+ @top_srcdir@/scribo/sandbox \
+ @top_srcdir@/scribo/doc/user-refman \
+ @top_srcdir@/scribo/doc/devel-refman \
+ @top_srcdir@/scribo/tests/unit_test
+EXCLUDE_SYMLINKS = YES
+EXCLUDE_PATTERNS = *spe.hh
+EXCLUDE_SYMBOLS = *::internal* *_ mln::trait::*
+EXAMPLE_PATH = @top_srcdir@/scribo/doc/examples \
+ @top_srcdir@/scribo/doc/outputs \
+ @top_srcdir@/scribo/doc/examples/split \
+ @top_srcdir@/scribo/doc/outputs/split
+EXAMPLE_PATTERNS = *.cc \
+ *.cc.raw \
+ *.txt
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH = @top_srcdir@/scribo/doc/img \
+ @top_srcdir@/scribo/doc/figures
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+INPUT_ENCODING = ISO-8859-1
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = YES
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION = YES
+REFERENCES_LINK_SOURCE = NO
+USE_HTAGS = NO
+VERBATIM_HEADERS = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 5
+IGNORE_PREFIX = mln::
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = YES
+HTML_OUTPUT = html
+HTML_FILE_EXTENSION = .html
+HTML_HEADER = @top_srcdir@/doc/header.html
+HTML_FOOTER = @top_srcdir@/doc/subdoc_footer.html
+HTML_STYLESHEET = @top_srcdir@/doc/doxygen.css
+LAYOUT_FILE = @top_srcdir@/scribo/doc/DoxygenLayout.xml
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+CHM_FILE =
+HHC_LOCATION =
+GENERATE_CHI = NO
+BINARY_TOC = NO
+TOC_EXPAND = NO
+DISABLE_INDEX = NO
+ENUM_VALUES_PER_LINE = 4
+GENERATE_TREEVIEW = YES
+TREEVIEW_WIDTH = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = YES
+LATEX_OUTPUT = latex
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = YES
+USE_PDFLATEX = YES
+LATEX_BATCHMODE = YES
+LATEX_HIDE_INDICES = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_LINKS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML = NO
+XML_OUTPUT = xml
+XML_SCHEMA =
+XML_DTD =
+XML_PROGRAMLISTING = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH =
+INCLUDE_FILE_PATTERNS =
+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>" \
+ "mln_piter(T)=typename T::piter" \
+ "mln_fwd_piter(T)=typename T::fwd_piter" \
+ "mln_bkd_piter(T)=typename T::bkd_piter" \
+ "mln_qiter(T)=typename T::qiter" \
+ "mln_fwd_qiter(T)=typename T::fwd_qiter" \
+ "mln_bkd_qiter(T)=typename T::bkd_qiter" \
+ "mln_niter(T)=typename T::niter" \
+ "mln_fwd_niter(T)=typename T::fwd_niter" \
+ "mln_bkd_niter(T)=typename T::bkd_niter" \
+ "mln_viter(T)=typename T::viter" \
+ "mln_fwd_viter(T)=typename T::fwd_viter" \
+ "mln_bkd_viter(T)=typename T::bkd_viter" \
+ "mln_result(T)=typename T::result" \
+ "mln_enc(T)=typename T::enc" \
+ "mln_value(T)=typename T::value" \
+ "mln_qlf_value(T)=typename T::qlf_value" \
+ "mln_domain(T)=typename T::domain_t" \
+ "mln_sum(T)=typename mln::value::props<T>::sum" \
+ "mln_vset(T)=typename T::vset" \
+ "mln_rvalue(T)=typename T::rvalue" \
+ "mln_lvalue(T)=typename T::lvalue" \
+ "mln_mesh(T)=typename T::mesh" \
+ "mln_coord(T)=typename T::coord" \
+ "mln_site(T)=typename T::site" \
+ "mln_psite(T)=typename T::psite" \
+ "mln_dpsite(T)=typename T::dpsite" \
+ "mln_accu_with(A, T)=typename A::template with< T >::ret" \
+ "mln_trait_op_div(L, R)=typename mln::trait::op::div< L , R >::ret" \
+ "mln_trait_op_less(L, R)=typename mln::trait::op::less< L , R >::ret" \
+ "mln_trait_op_minus(L, R)=typename mln::trait::op::minus< L , R >::ret" \
+ "mln_trait_op_mod(L, R)=typename mln::trait::op::mod< L , R >::ret" \
+ "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_piter_(T)=T::piter" \
+ "mln_fwd_piter_(T)=T::fwd_piter" \
+ "mln_bkd_piter_(T)=T::bkd_piter" \
+ "mln_qiter_(T)=T::qiter" \
+ "mln_fwd_qiter_(T)=T::fwd_qiter" \
+ "mln_bkd_qiter_(T)=T::bkd_qiter" \
+ "mln_niter_(T)=T::niter" \
+ "mln_fwd_niter_(T)=T::fwd_niter" \
+ "mln_bkd_niter_(T)=T::bkd_niter" \
+ "mln_viter_(T)=T::viter" \
+ "mln_fwd_viter_(T)=T::fwd_viter" \
+ "mln_bkd_viter_(T)=T::bkd_viter" \
+ "mln_result_(T)=T::result" \
+ "mln_enc_(T)=T::enc" \
+ "mln_value_(T)=T::value" \
+ "mln_qlf_value_(T)=T::qlf_value" \
+ "mln_domain_(T)=T::domain_t" \
+ "mln_sum_(T)=mln::value::props<T>::sum" \
+ "mln_vset_(T)=T::vset" \
+ "mln_rvalue_(T)=T::rvalue" \
+ "mln_lvalue_(T)=T::lvalue" \
+ "mln_mesh_(T)=T::mesh" \
+ "mln_coord_(T)=T::coord" \
+ "mln_site_(T)=T::site" \
+ "mln_psite_(T)=T::psite" \
+ "mln_dpsite_(T)=T::dpsite" \
+ "mln_accu_with_(A, T)=A::template with< T >::ret" \
+ "mln_trait_op_plus_(L, R)=mln::trait::op::plus< L , R >::ret" \
+ "mln_trait_op_minus_(L, R)=mln::trait::op::minus< L , R >::ret" \
+ "mln_trait_op_times_(L, R)=mln::trait::op::times< L , R >::ret" \
+ "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"
+
+
+
+
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES = @builddir@/../../milena/doc/milena.tag=../../../../milena/doc/user-refman/html
+GENERATE_TAGFILE = scribo.tag
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+PERL_PATH = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = NO
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = YES
+CLASS_GRAPH = NO
+COLLABORATION_GRAPH = NO # Disabled for light doc
+GROUP_GRAPHS = NO # Disabled for light doc
+UML_LOOK = NO
+TEMPLATE_RELATIONS = NO
+INCLUDE_GRAPH = NO # Disabled for light doc
+INCLUDED_BY_GRAPH = NO # Disabled for light doc
+CALL_GRAPH = NO
+CALLER_GRAPH = NO
+GRAPHICAL_HIERARCHY = NO
+DIRECTORY_GRAPH = NO # Disabled for light doc
+DOT_IMAGE_FORMAT = png
+DOT_PATH =
+DOTFILE_DIRS =
+MAX_DOT_GRAPH_DEPTH = 1000
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = NO # Disabled for light doc
+DOT_CLEANUP = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE = YES
+
+GENERATE_QHP = yes
+QHP_NAMESPACE = "fr.epita.lrde.olena.scribo"
+QHP_VIRTUAL_FOLDER = "scribo-2.0"
+QCH_FILE = "@builddir@/scribo.qch"
+QHG_LOCATION = "qhelpgenerator"
+
+
+# Local Variables:
+# mode: Makefile
+# End:
diff --git a/scribo/doc/DoxygenLayout.xml b/scribo/doc/DoxygenLayout.xml
new file mode 100644
index 0000000..ac34f54
--- /dev/null
+++ b/scribo/doc/DoxygenLayout.xml
@@ -0,0 +1,184 @@
+<doxygenlayout version="1.0">
+ <!-- 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="namespaces" visible="yes" title="">
+ <tab type="namespaces" visible="yes" title=""/>
+ <tab type="namespacemembers" visible="yes" title=""/>
+ </tab>
+ <tab type="classes" visible="yes" title="">
+ <tab type="classes" visible="yes" title=""/>
+ <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
+ <tab type="hierarchy" visible="yes" title=""/>
+ <tab type="classmembers" visible="yes" title=""/>
+ </tab>
+ <tab type="files" visible="yes" title="">
+ <tab type="files" visible="yes" title=""/>
+ <tab type="globals" visible="yes" title=""/>
+ </tab>
+ <tab type="dirs" visible="yes" title=""/>
+ <tab type="examples" visible="yes" title=""/>
+ </navindex>
+
+ <!-- Layout definition for a class page -->
+ <class>
+ <briefdescription visible="yes"/>
+ <includes visible="$SHOW_INCLUDE_FILES"/>
+ <inheritancegraph visible="$CLASS_GRAPH"/>
+ <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=""/>
+ <packagetypes title=""/>
+ <packagemethods title=""/>
+ <packagestaticmethods title=""/>
+ <packageattributes title=""/>
+ <packagestaticattributes title=""/>
+ <properties title=""/>
+ <events title=""/>
+ <privatetypes title=""/>
+ <privateslots title=""/>
+ <privatemethods title=""/>
+ <privatestaticmethods title=""/>
+ <privateattributes title=""/>
+ <privatestaticattributes title=""/>
+ <friends title=""/>
+ <related title="" subtitle=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <typedefs title=""/>
+ <enums title=""/>
+ <constructors title=""/>
+ <functions title=""/>
+ <related title=""/>
+ <variables title=""/>
+ <properties title=""/>
+ <events title=""/>
+ </memberdef>
+ <usedfiles visible="$SHOW_USED_FILES"/>
+ <authorsection visible="yes"/>
+ </class>
+
+ <!-- Layout definition for a namespace page -->
+ <namespace>
+ <briefdescription visible="yes"/>
+ <memberdecl>
+ <nestednamespaces visible="yes" title=""/>
+ <classes visible="yes" title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <typedefs title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ </memberdef>
+ <authorsection visible="yes"/>
+ </namespace>
+
+ <!-- Layout definition for a file page -->
+ <file>
+ <briefdescription visible="yes"/>
+ <includes visible="$SHOW_INCLUDE_FILES"/>
+ <includegraph visible="$INCLUDE_GRAPH"/>
+ <includedbygraph visible="$INCLUDED_BY_GRAPH"/>
+ <sourcelink visible="yes"/>
+ <memberdecl>
+ <classes visible="yes" title=""/>
+ <namespaces visible="yes" title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <defines title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ </memberdef>
+ <authorsection/>
+ </file>
+
+ <!-- Layout definition for a group page -->
+ <group>
+ <briefdescription visible="yes"/>
+ <groupgraph visible="$GROUP_GRAPHS"/>
+ <memberdecl>
+ <classes visible="yes" title=""/>
+ <namespaces visible="yes" title=""/>
+ <dirs visible="yes" title=""/>
+ <nestedgroups visible="yes" title=""/>
+ <files visible="yes" title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <enumvalues title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <signals title=""/>
+ <publicslots title=""/>
+ <protectedslots title=""/>
+ <privateslots title=""/>
+ <events title=""/>
+ <properties title=""/>
+ <friends title=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <pagedocs/>
+ <defines title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <enumvalues title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <signals title=""/>
+ <publicslots title=""/>
+ <protectedslots title=""/>
+ <privateslots title=""/>
+ <events title=""/>
+ <properties title=""/>
+ <friends title=""/>
+ </memberdef>
+ <authorsection visible="yes"/>
+ </group>
+
+ <!-- Layout definition for a directory page -->
+ <directory>
+ <briefdescription visible="yes"/>
+ <directorygraph visible="yes"/>
+ <memberdecl>
+ <dirs visible="yes"/>
+ <files visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ </directory>
+</doxygenlayout>
diff --git a/scribo/doc/Makefile.am b/scribo/doc/Makefile.am
new file mode 100644
index 0000000..f1fae6c
--- /dev/null
+++ b/scribo/doc/Makefile.am
@@ -0,0 +1,250 @@
+# Copyright (C) 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/>.
+
+
+# Look for Scribo headers in srcdir and for (generated) test headers
+# (like data.hh) in builddir.
+AM_CPPFLAGS = -I$(top_srcdir)/scribo -I$(top_builddir)/scribo
+
+DOXYGEN = doxygen
+
+DOXYFILE = Doxyfile
+
+DATA_html_dirs =
+
+## --------------------- ##
+## LaTeX configuration. ##
+## --------------------- ##
+
+include $(top_srcdir)/build-aux/tex.mk
+
+TEXI2DVI_FLAGS += \
+ -I $(srcdir) -I $(srcdir)/outputs -I $(srcdir)/outputs/split \
+ -I $(srcdir)/img -I $(srcdir)/examples/split
+
+# Additional files for LaTeX compilations.
+DOC_PACKAGES = doxyfuns.sty scribo.sty
+
+
+# ----------------------- #
+# User Reference Manual. #
+# ----------------------- #
+
+all-local: $(srcdir)/$(USER_REFMAN)
+
+# Run "make regen-doc" to forcefully rebuild the Doxygen documentation.
+.PHONY: regen-doc
+regen-doc:
+ rm -f $(srcdir)/user-refman.stamp
+ $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/user-refman.stamp
+
+DOXYFILE_USER = Doxyfile_user
+
+# Sed is used to generate Doxyfile from Doxyfile.in instead of
+# configure, because the former is way faster than the latter.
+#
+## FIXME: This is because, as in TC, we depend on $Id$ from the
+## ChangeLog. Maybe we should depend from something less prone to
+## change. See Bison's build system.
+edit = sed -e "s|@ID@|$$Id|" \
+ -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
+ -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
+ -e 's,@top_srcdir\@,$(top_srcdir),g' \
+ -e 's,@top_builddir\@,$(top_builddir),g' \
+ -e 's,@srcdir\@,$(srcdir),g' \
+ -e 's,@builddir\@,$(builddir),g'
+
+$(DOXYFILE_USER): $(srcdir)/$(DOXYFILE).in
+ Id=`grep '^\$$Id' $(top_srcdir)/scribo/ChangeLog \
+ | sed -e 's/\\\$$//g'`; \
+ $(edit) $< >$@
+MAINTAINERCLEANFILES = $(DOXYFILE_USER)
+
+USER_REFMAN = user-refman
+
+# PDF.
+USER_REFMAN_PDF = user-refman.pdf
+dist_pdf_DATA = $(srcdir)/$(USER_REFMAN_PDF)
+
+$(srcdir)/$(USER_REFMAN_PDF): $(srcdir)/$(USER_REFMAN)
+ cd $(srcdir)/$(USER_REFMAN)/latex && $(MAKE) $(AM_MAKEFLAGS) pdf
+ cp -f $(srcdir)/$(USER_REFMAN)/latex/refman.pdf $@
+
+# HTML.
+EXTRA_DIST = $(srcdir)/user-refman.stamp
+MAINTAINERCLEANFILES += $(srcdir)/user-refman.stamp
+$(srcdir)/user-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
+ @rm -f $@.tmp
+ @touch $@.tmp
+ rm -rf $(USER_REFMAN).tmp
+ $(MAKE) $(AM_MAKE_FLAGS) $(DOXYFILE_USER)
+ $(DOXYGEN) $(DOXYFILE_USER)
+## Doxygen may generate an incomplete output and exit with success!
+## Check some files before deeming the output as acceptable.
+ test -f $(USER_REFMAN).tmp/latex/refman.tex
+ rm -rf $(srcdir)/$(USER_REFMAN)
+## FIXME: Moving directories between file systems is not portable.
+ mv $(USER_REFMAN).tmp $(srcdir)/$(USER_REFMAN)
+ @mv -f $@.tmp $@
+
+$(srcdir)/$(USER_REFMAN): $(srcdir)/user-refman.stamp
+## Recover from the removal of $@.
+ @if test -d $@; then :; else \
+ rm -f $<; \
+ $(MAKE) $(AM_MAKEFLAGS) $<; \
+ fi
+
+# Installing a directory located in the source dir is not supported by
+# Automake by default, so we cannot simply add `$(USER_REFMAN)/html'
+# to `dist_doc_DATA'. The rule `install-data-local' (see below) used
+# to work around this limitation is borrowed from the Vaucanson
+# project.
+EXTRA_DIST += $(USER_REFMAN)
+
+
+# ---------------------------- #
+# Developer Reference Manual. #
+# ---------------------------- #
+
+# Run "make regen-devel-doc" to forcefully rebuild the Doxygen
+# developer documentation.
+.PHONY: regen-devel-doc
+regen-devel-doc:
+ rm -f $(srcdir)/devel-refman.stamp
+ $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/devel-refman.stamp
+
+DOXYFILE_DEVEL = Doxyfile_devel
+
+edit_devel = sed \
+ -e 's,OUTPUT_DIRECTORY = @builddir@/user-refman.tmp,OUTPUT_DIRECTORY = @builddir@/devel-refman.tmp,' \
+ -e 's,EXTRACT_ALL = NO,EXTRACT_ALL = YES,' \
+ -e 's,EXTRACT_PRIVATE = NO,EXTRACT_PRIVATE = YES,' \
+ -e 's,EXTRACT_STATIC = NO,EXTRACT_STATIC = YES,' \
+ -e 's,EXTRACT_LOCAL_CLASSES = NO,EXTRACT_LOCAL_CLASSES = YES,' \
+ -e 's,HIDE_UNDOC_MEMBERS = YES,HIDE_UNDOC_MEMBERS = NO,' \
+ -e 's,HIDE_UNDOC_CLASSES = YES,HIDE_UNDOC_CLASSES = NO,' \
+ -e 's,HIDE_FRIEND_COMPOUNDS = YES,HIDE_FRIEND_COMPOUNDS = NO,' \
+ -e 's,HIDE_IN_BODY_DOCS = YES,HIDE_IN_BODY_DOCS = NO,' \
+ -e 's,INTERNAL_DOCS = NO,INTERNAL_DOCS = YES,' \
+ -e 's,GENERATE_TODOLIST = NO,GENERATE_TODOLIST = YES,' \
+ -e 's,PROJECT_NUMBER = \"User documentation ,PROJECT_NUMBER = \",' \
+ -e 's,EXCLUDE_SYMBOLS = \*::internal\* \*_ mln::trait::\*,EXCLUDE_SYMBOLS =,'
+
+$(DOXYFILE_DEVEL): $(srcdir)/$(DOXYFILE).in
+ rm -f $@.tmp
+ Id=`grep '^\$$Id' $(top_srcdir)/scribo/ChangeLog \
+ | sed -e 's/\\\$$//g'`; \
+ $(edit) $< >$@.tmp
+ $(edit_devel) $@.tmp >$@
+ rm -f $@.tmp
+MAINTAINERCLEANFILES += $(DOXYFILE_DEVEL)
+
+DEVEL_REFMAN = devel-refman
+
+# PDF.
+DEVEL_REFMAN_PDF = devel-refman.pdf
+# Be warned, most LaTeX installations will not be able to compile the
+# PDF development documentation as-is, as TeX's default memory
+# capacities are usually too small to handle such a large document.
+$(srcdir)/$(DEVEL_REFMAN_PDF): $(srcdir)/$(DEVEL_REFMAN)
+ cd $(srcdir)/$(DEVEL_REFMAN)/latex && $(MAKE) $(AM_MAKEFLAGS) pdf
+ cp -f $(srcdir)/$(DEVEL_REFMAN)/latex/refman.pdf $@
+
+# HTML.
+MAINTAINERCLEANFILES += $(srcdir)/devel-refman.stamp
+$(srcdir)/devel-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
+ @rm -f $@.tmp
+ @touch $@.tmp
+ rm -rf $(DEVEL_REFMAN).tmp
+ $(MAKE) $(AM_MAKE_FLAGS) $(DOXYFILE_DEVEL)
+ $(DOXYGEN) $(DOXYFILE_DEVEL)
+## Doxygen may generate an incomplete output and exit with success!
+## Check some files before deeming the output as acceptable.
+ test -f $(DEVEL_REFMAN).tmp/latex/refman.tex
+ rm -rf $(srcdir)/$(DEVEL_REFMAN)
+## FIXME: Moving directories between file systems is not portable.
+ mv $(DEVEL_REFMAN).tmp $(srcdir)/$(DEVEL_REFMAN)
+ @mv -f $@.tmp $@
+
+$(srcdir)/$(DEVEL_REFMAN): $(srcdir)/devel-refman.stamp
+## Recover from the removal of $@.
+ @if test -d $@; then :; else \
+ rm -f $<; \
+ $(MAKE) $(AM_MAKEFLAGS) $<; \
+ fi
+
+## -------------- ##
+## Distribution. ##
+## -------------- ##
+
+EXTRA_DIST += \
+ $(DATA_html_dirs) \
+ $(DOXYFILE).in \
+ doxyfuns.sty \
+ scribo.sty \
+ tools/clearbanner.sh \
+ tools/sample_utils.hh \
+ tools/split_sample.sh \
+ tools/todoxygen.sh
+
+
+## ---------- ##
+## Cleaning. ##
+## ---------- ##
+
+MAINTAINERCLEANFILES += $(dist_pdf_DATA)
+
+maintainer-clean-local:
+ -rm -rf $(USER_REFMAN).tmp $(srcdir)/$(USER_REFMAN)
+ -rm -rf $(DEVEL_REFMAN).tmp $(srcdir)/$(DEVEL_REFMAN)
+ -for d in $(DATA_html_dirs); do \
+ rm -rf $$d.tmp $(srcdir)/$$d; \
+ done
+
+
+## -------------- ##
+## Installation. ##
+## -------------- ##
+
+# We install by hand, otherwise Automake produces "install .../srcdoc
+# .../srcdoc", which installs our dir into the previous one, instead
+# of replacing it.
+install-data-local:
+ $(mkdir_p) $(DESTDIR)$(htmldir)
+# The user reference manual is located in a subdirectory, hence this
+# special case.
+ rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)
+ cp -r $(srcdir)/$(USER_REFMAN)/html $(DESTDIR)$(htmldir)/$(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); \
+ 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 {} \; \) \
+ -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; \
+ done
+# Same remark as above regarding the special case of the user
+# reference manual.
+ chmod -R 700 $(DESTDIR)$(htmldir)/$(USER_REFMAN)
+ rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)
diff --git a/milena/doc/doxyfuns.sty b/scribo/doc/doxyfuns.sty
similarity index 100%
copy from milena/doc/doxyfuns.sty
copy to scribo/doc/doxyfuns.sty
diff --git a/milena/doc/outputs/accu-right-instantiation.txt b/scribo/doc/examples-outputs.mk
similarity index 100%
copy from milena/doc/outputs/accu-right-instantiation.txt
copy to scribo/doc/examples-outputs.mk
diff --git a/scribo/doc/examples.mk b/scribo/doc/examples.mk
new file mode 100644
index 0000000..c7181cc
--- /dev/null
+++ b/scribo/doc/examples.mk
@@ -0,0 +1,4 @@
+## Generated by gen-make-variable. Do not edit by hand.
+
+EXAMPLES = \
+ $(srcdir)/examples/dummy.cc
diff --git a/milena/doc/outputs/accu-right-instantiation.txt b/scribo/doc/examples/dummy.cc
similarity index 100%
copy from milena/doc/outputs/accu-right-instantiation.txt
copy to scribo/doc/examples/dummy.cc
diff --git a/milena/doc/outputs/accu-right-instantiation.txt b/scribo/doc/figures.mk
similarity index 100%
copy from milena/doc/outputs/accu-right-instantiation.txt
copy to scribo/doc/figures.mk
diff --git a/milena/doc/gen-examples-outputs-mk b/scribo/doc/gen-examples-outputs-mk
similarity index 100%
copy from milena/doc/gen-examples-outputs-mk
copy to scribo/doc/gen-examples-outputs-mk
diff --git a/milena/doc/gen-figures-mk b/scribo/doc/gen-figures-mk
similarity index 100%
copy from milena/doc/gen-figures-mk
copy to scribo/doc/gen-figures-mk
diff --git a/milena/doc/gen-make-variable b/scribo/doc/gen-make-variable
similarity index 100%
copy from milena/doc/gen-make-variable
copy to scribo/doc/gen-make-variable
diff --git a/milena/doc/gen-split-examples-mk b/scribo/doc/gen-split-examples-mk
similarity index 100%
copy from milena/doc/gen-split-examples-mk
copy to scribo/doc/gen-split-examples-mk
diff --git a/milena/doc/gen-split-outputs-mk b/scribo/doc/gen-split-outputs-mk
similarity index 100%
copy from milena/doc/gen-split-outputs-mk
copy to scribo/doc/gen-split-outputs-mk
diff --git a/milena/doc/graphicx.hva b/scribo/doc/graphicx.hva
similarity index 100%
copy from milena/doc/graphicx.hva
copy to scribo/doc/graphicx.hva
diff --git a/scribo/doc/outputs.mk b/scribo/doc/outputs.mk
new file mode 100644
index 0000000..09a1efd
--- /dev/null
+++ b/scribo/doc/outputs.mk
@@ -0,0 +1,4 @@
+## Generated by gen-make-variable. Do not edit by hand.
+
+OUTPUTS = \
+ $(srcdir)/outputs/dummy.txt
diff --git a/milena/doc/outputs/accu-right-instantiation.txt b/scribo/doc/outputs/dummy.txt
similarity index 100%
copy from milena/doc/outputs/accu-right-instantiation.txt
copy to scribo/doc/outputs/dummy.txt
diff --git a/milena/doc/outputs/accu-right-instantiation.txt b/scribo/doc/programs-examples.mk
similarity index 100%
copy from milena/doc/outputs/accu-right-instantiation.txt
copy to scribo/doc/programs-examples.mk
diff --git a/scribo/doc/scribo.qhcp b/scribo/doc/scribo.qhcp
new file mode 100644
index 0000000..77269b5
--- /dev/null
+++ b/scribo/doc/scribo.qhcp
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<QHelpCollectionProject version="1.0">
+ <assistant>
+ <startPage>qthelp://fr.epita.lrde.olena/scribo-2.0/index.html</startPage>
+ </assistant>
+ <docFiles>
+ <register>
+ <file>user-refman/html/scribo.qch</file>
+ </register>
+ </docFiles>
+</QHelpCollectionProject>
\ No newline at end of file
diff --git a/milena/doc/milena.sty b/scribo/doc/scribo.sty
similarity index 100%
copy from milena/doc/milena.sty
copy to scribo/doc/scribo.sty
diff --git a/milena/doc/outputs/accu-right-instantiation.txt b/scribo/doc/split-examples.mk
similarity index 100%
copy from milena/doc/outputs/accu-right-instantiation.txt
copy to scribo/doc/split-examples.mk
diff --git a/milena/doc/outputs/accu-right-instantiation.txt b/scribo/doc/split-outputs.mk
similarity index 100%
copy from milena/doc/outputs/accu-right-instantiation.txt
copy to scribo/doc/split-outputs.mk
diff --git a/milena/doc/tools/todoxygen.sh b/scribo/doc/tools/todoxygen.sh
similarity index 100%
copy from milena/doc/tools/todoxygen.sh
copy to scribo/doc/tools/todoxygen.sh
diff --git a/milena/doc/outputs/accu-right-instantiation.txt b/scribo/doc/tutorial.tex
similarity index 100%
copy from milena/doc/outputs/accu-right-instantiation.txt
copy to scribo/doc/tutorial.tex
--
1.7.2.5
1
0

27 Feb '12
* configure.ac: Add new makefiles.
* doc/.gitignore,
* doc/Doxyfile.in,
* doc/DoxygenLayout.xml,
* doc/Makefile.am,
* doc/doxygen.css,
* doc/footer.html,
* doc/header.html,
* doc/logo.jpg,
* doc/mainpage.hh,
* doc/olena.qhcp,
* doc/subdoc_footer.html: New.
---
ChangeLog | 18 +
configure.ac | 2 +
doc/.gitignore | 9 +
doc/Doxyfile.in | 361 ++++++++++++++++++++
doc/DoxygenLayout.xml | 184 +++++++++++
doc/Makefile.am | 155 +++++++++
doc/doxygen.css | 856 ++++++++++++++++++++++++++++++++++++++++++++++++
doc/footer.html | 5 +
doc/header.html | 46 +++
doc/logo.jpg | Bin 0 -> 7477 bytes
doc/mainpage.hh | 38 +++
doc/olena.qhcp | 12 +
doc/subdoc_footer.html | 6 +
13 files changed, 1692 insertions(+), 0 deletions(-)
create mode 100644 doc/.gitignore
create mode 100644 doc/Doxyfile.in
create mode 100644 doc/DoxygenLayout.xml
create mode 100644 doc/Makefile.am
create mode 100644 doc/doxygen.css
create mode 100644 doc/footer.html
create mode 100644 doc/header.html
create mode 100644 doc/logo.jpg
create mode 100644 doc/mainpage.hh
create mode 100644 doc/olena.qhcp
create mode 100644 doc/subdoc_footer.html
diff --git a/ChangeLog b/ChangeLog
index 96e78df..b7099ec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2012-01-30 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ First draft of common documentation.
+
+ * configure.ac: Add new makefiles.
+
+ * doc/.gitignore,
+ * doc/Doxyfile.in,
+ * doc/DoxygenLayout.xml,
+ * doc/Makefile.am,
+ * doc/doxygen.css,
+ * doc/footer.html,
+ * doc/header.html,
+ * doc/logo.jpg,
+ * doc/mainpage.hh,
+ * doc/olena.qhcp,
+ * doc/subdoc_footer.html: New.
+
2011-11-25 Roland Levillain <roland(a)lrde.epita.fr>
Update lrde-scmstats.sh.
diff --git a/configure.ac b/configure.ac
index a53bcf8..d07ecdb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -339,6 +339,7 @@ AC_CONFIG_FILES([
scribo/demo/review/Makefile
scribo/demo/viewer/Makefile
scribo/demo/xml2doc/Makefile
+ scribo/doc/Makefile
scribo/src/Makefile
scribo/src/binarization/Makefile
scribo/src/contest/Makefile
@@ -406,6 +407,7 @@ AC_CONFIG_FILES([milena/doc/tools/data.hh])
# Ask for the Makefile creations.
AC_CONFIG_FILES([
Makefile
+ doc/Makefile
external/Makefile
milena/Makefile
milena/doc/Makefile
diff --git a/doc/.gitignore b/doc/.gitignore
new file mode 100644
index 0000000..9b600ce
--- /dev/null
+++ b/doc/.gitignore
@@ -0,0 +1,9 @@
+/Doxyfile_user
+/user-refman
+/user-refman.pdf
+
+/Doxyfile_devel
+/devel-refman
+/devel-refman.pdf
+
+/figures/*.png
diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in
new file mode 100644
index 0000000..106c58c
--- /dev/null
+++ b/doc/Doxyfile.in
@@ -0,0 +1,361 @@
+# Copyright (C) 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.5.1
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+PROJECT_NAME = "Olena"
+PROJECT_NUMBER = "@PACKAGE_VERSION@"
+PROJECT_BRIEF = "An Image Processing Platform"
+PROJECT_LOGO = @top_srcdir@/doc/logo.jpg
+OUTPUT_DIRECTORY = @builddir@/user-refman.tmp
+CREATE_SUBDIRS = NO
+OUTPUT_LANGUAGE = English
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ABBREVIATE_BRIEF =
+ALWAYS_DETAILED_SEC = YES
+INLINE_INHERITED_MEMB = YES
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH = @top_srcdir@
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = YES
+JAVADOC_AUTOBRIEF = YES
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 8
+ALIASES =
+OPTIMIZE_OUTPUT_FOR_C = NO
+OPTIMIZE_OUTPUT_JAVA = NO
+BUILTIN_STL_SUPPORT = YES
+IDL_PROPERTY_SUPPORT = NO
+DISTRIBUTE_GROUP_DOC = NO
+SUBGROUPING = YES
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL = NO
+EXTRACT_PRIVATE = NO
+EXTRACT_STATIC = NO
+EXTRACT_LOCAL_CLASSES = NO
+EXTRACT_LOCAL_METHODS = NO
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+HIDE_FRIEND_COMPOUNDS = YES
+HIDE_IN_BODY_DOCS = YES
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = NO
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = YES
+SORT_BY_SCOPE_NAME = YES
+GENERATE_TODOLIST = NO
+GENERATE_TESTLIST = NO
+GENERATE_BUGLIST = NO
+GENERATE_DEPRECATEDLIST= NO
+ENABLED_SECTIONS =
+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
+FILE_VERSION_FILTER =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = YES
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_FORMAT = "$file:$line: $text"
+WARN_LOGFILE =
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT = @top_srcdir@/doc
+FILE_PATTERNS = *.cc \
+ *.hh \
+ *.hxx \
+ *.hcc
+RECURSIVE = YES
+EXCLUDE = @top_srcdir@/milena/ \
+ @top_srcdir@/scribo/
+EXCLUDE_SYMLINKS = YES
+EXCLUDE_PATTERNS = *spe.hh
+EXCLUDE_SYMBOLS = *::internal* *_ mln::trait::*
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS = *.cc \
+ *.cc.raw \
+ *.txt
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+INPUT_ENCODING = ISO-8859-1
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = NO
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION = YES
+REFERENCES_LINK_SOURCE = NO
+USE_HTAGS = NO
+VERBATIM_HEADERS = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = NO
+COLS_IN_ALPHA_INDEX = 5
+IGNORE_PREFIX = mln::
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = YES
+HTML_OUTPUT = html
+HTML_FILE_EXTENSION = .html
+HTML_HEADER = @top_srcdir@/doc/header.html
+HTML_FOOTER = @top_srcdir@/doc/footer.html
+HTML_STYLESHEET = @top_srcdir@/doc/doxygen.css
+LAYOUT_FILE = @top_srcdir@/doc/DoxygenLayout.xml
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+CHM_FILE =
+HHC_LOCATION =
+GENERATE_CHI = NO
+BINARY_TOC = NO
+TOC_EXPAND = NO
+DISABLE_INDEX = NO
+ENUM_VALUES_PER_LINE = 4
+GENERATE_TREEVIEW = NO
+TREEVIEW_WIDTH = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = YES
+USE_PDFLATEX = YES
+LATEX_BATCHMODE = YES
+LATEX_HIDE_INDICES = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_LINKS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML = NO
+XML_OUTPUT = xml
+XML_SCHEMA =
+XML_DTD =
+XML_PROGRAMLISTING = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH =
+INCLUDE_FILE_PATTERNS =
+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>" \
+ "mln_piter(T)=typename T::piter" \
+ "mln_fwd_piter(T)=typename T::fwd_piter" \
+ "mln_bkd_piter(T)=typename T::bkd_piter" \
+ "mln_qiter(T)=typename T::qiter" \
+ "mln_fwd_qiter(T)=typename T::fwd_qiter" \
+ "mln_bkd_qiter(T)=typename T::bkd_qiter" \
+ "mln_niter(T)=typename T::niter" \
+ "mln_fwd_niter(T)=typename T::fwd_niter" \
+ "mln_bkd_niter(T)=typename T::bkd_niter" \
+ "mln_viter(T)=typename T::viter" \
+ "mln_fwd_viter(T)=typename T::fwd_viter" \
+ "mln_bkd_viter(T)=typename T::bkd_viter" \
+ "mln_result(T)=typename T::result" \
+ "mln_enc(T)=typename T::enc" \
+ "mln_value(T)=typename T::value" \
+ "mln_qlf_value(T)=typename T::qlf_value" \
+ "mln_domain(T)=typename T::domain_t" \
+ "mln_sum(T)=typename mln::value::props<T>::sum" \
+ "mln_vset(T)=typename T::vset" \
+ "mln_rvalue(T)=typename T::rvalue" \
+ "mln_lvalue(T)=typename T::lvalue" \
+ "mln_mesh(T)=typename T::mesh" \
+ "mln_coord(T)=typename T::coord" \
+ "mln_site(T)=typename T::site" \
+ "mln_psite(T)=typename T::psite" \
+ "mln_dpsite(T)=typename T::dpsite" \
+ "mln_accu_with(A, T)=typename A::template with< T >::ret" \
+ "mln_trait_op_div(L, R)=typename mln::trait::op::div< L , R >::ret" \
+ "mln_trait_op_less(L, R)=typename mln::trait::op::less< L , R >::ret" \
+ "mln_trait_op_minus(L, R)=typename mln::trait::op::minus< L , R >::ret" \
+ "mln_trait_op_mod(L, R)=typename mln::trait::op::mod< L , R >::ret" \
+ "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_piter_(T)=T::piter" \
+ "mln_fwd_piter_(T)=T::fwd_piter" \
+ "mln_bkd_piter_(T)=T::bkd_piter" \
+ "mln_qiter_(T)=T::qiter" \
+ "mln_fwd_qiter_(T)=T::fwd_qiter" \
+ "mln_bkd_qiter_(T)=T::bkd_qiter" \
+ "mln_niter_(T)=T::niter" \
+ "mln_fwd_niter_(T)=T::fwd_niter" \
+ "mln_bkd_niter_(T)=T::bkd_niter" \
+ "mln_viter_(T)=T::viter" \
+ "mln_fwd_viter_(T)=T::fwd_viter" \
+ "mln_bkd_viter_(T)=T::bkd_viter" \
+ "mln_result_(T)=T::result" \
+ "mln_enc_(T)=T::enc" \
+ "mln_value_(T)=T::value" \
+ "mln_qlf_value_(T)=T::qlf_value" \
+ "mln_domain_(T)=T::domain_t" \
+ "mln_sum_(T)=mln::value::props<T>::sum" \
+ "mln_vset_(T)=T::vset" \
+ "mln_rvalue_(T)=T::rvalue" \
+ "mln_lvalue_(T)=T::lvalue" \
+ "mln_mesh_(T)=T::mesh" \
+ "mln_coord_(T)=T::coord" \
+ "mln_site_(T)=T::site" \
+ "mln_psite_(T)=T::psite" \
+ "mln_dpsite_(T)=T::dpsite" \
+ "mln_accu_with_(A, T)=A::template with< T >::ret" \
+ "mln_trait_op_plus_(L, R)=mln::trait::op::plus< L , R >::ret" \
+ "mln_trait_op_minus_(L, R)=mln::trait::op::minus< L , R >::ret" \
+ "mln_trait_op_times_(L, R)=mln::trait::op::times< L , R >::ret" \
+ "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"
+
+
+
+
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES = @builddir@/../scribo/doc/scribo.tag=../../scribo/doc/user-refman/html \
+ @builddir@/../milena/doc/milena.tag=../../milena/doc/user-refman/html
+GENERATE_TAGFILE =
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+PERL_PATH = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = NO
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = YES
+CLASS_GRAPH = NO
+COLLABORATION_GRAPH = NO # Disabled for light doc
+GROUP_GRAPHS = NO # Disabled for light doc
+UML_LOOK = NO
+TEMPLATE_RELATIONS = NO
+INCLUDE_GRAPH = NO # Disabled for light doc
+INCLUDED_BY_GRAPH = NO # Disabled for light doc
+CALL_GRAPH = NO
+CALLER_GRAPH = NO
+GRAPHICAL_HIERARCHY = NO
+DIRECTORY_GRAPH = NO # Disabled for light doc
+DOT_IMAGE_FORMAT = png
+DOT_PATH =
+DOTFILE_DIRS =
+MAX_DOT_GRAPH_DEPTH = 1000
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = NO # Disabled for light doc
+DOT_CLEANUP = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE = NO
+
+
+# Local Variables:
+# mode: Makefile
+# End:
diff --git a/doc/DoxygenLayout.xml b/doc/DoxygenLayout.xml
new file mode 100644
index 0000000..a279910
--- /dev/null
+++ b/doc/DoxygenLayout.xml
@@ -0,0 +1,184 @@
+<doxygenlayout version="1.0">
+ <!-- Navigation index tabs for HTML output -->
+ <navindex>
+ <tab type="mainpage" visible="yes" title="Home"/>
+ <tab type="pages" visible="no" title=""/>
+ <tab type="modules" visible="no" title=""/>
+ <tab type="namespaces" visible="no" title="">
+ <tab type="namespaces" visible="no" title=""/>
+ <tab type="namespacemembers" visible="no" title=""/>
+ </tab>
+ <tab type="classes" visible="no" title="">
+ <tab type="classes" visible="no" title=""/>
+ <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
+ <tab type="hierarchy" visible="no" title=""/>
+ <tab type="classmembers" visible="no" title=""/>
+ </tab>
+ <tab type="files" visible="no" title="">
+ <tab type="files" visible="no" title=""/>
+ <tab type="globals" visible="no" title=""/>
+ </tab>
+ <tab type="dirs" visible="no" title=""/>
+ <tab type="examples" visible="no" title=""/>
+ </navindex>
+
+ <!-- Layout definition for a class page -->
+ <class>
+ <briefdescription visible="yes"/>
+ <includes visible="$SHOW_INCLUDE_FILES"/>
+ <inheritancegraph visible="$CLASS_GRAPH"/>
+ <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=""/>
+ <packagetypes title=""/>
+ <packagemethods title=""/>
+ <packagestaticmethods title=""/>
+ <packageattributes title=""/>
+ <packagestaticattributes title=""/>
+ <properties title=""/>
+ <events title=""/>
+ <privatetypes title=""/>
+ <privateslots title=""/>
+ <privatemethods title=""/>
+ <privatestaticmethods title=""/>
+ <privateattributes title=""/>
+ <privatestaticattributes title=""/>
+ <friends title=""/>
+ <related title="" subtitle=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <typedefs title=""/>
+ <enums title=""/>
+ <constructors title=""/>
+ <functions title=""/>
+ <related title=""/>
+ <variables title=""/>
+ <properties title=""/>
+ <events title=""/>
+ </memberdef>
+ <usedfiles visible="$SHOW_USED_FILES"/>
+ <authorsection visible="yes"/>
+ </class>
+
+ <!-- Layout definition for a namespace page -->
+ <namespace>
+ <briefdescription visible="yes"/>
+ <memberdecl>
+ <nestednamespaces visible="yes" title=""/>
+ <classes visible="yes" title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <typedefs title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ </memberdef>
+ <authorsection visible="yes"/>
+ </namespace>
+
+ <!-- Layout definition for a file page -->
+ <file>
+ <briefdescription visible="yes"/>
+ <includes visible="$SHOW_INCLUDE_FILES"/>
+ <includegraph visible="$INCLUDE_GRAPH"/>
+ <includedbygraph visible="$INCLUDED_BY_GRAPH"/>
+ <sourcelink visible="yes"/>
+ <memberdecl>
+ <classes visible="yes" title=""/>
+ <namespaces visible="yes" title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <defines title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ </memberdef>
+ <authorsection/>
+ </file>
+
+ <!-- Layout definition for a group page -->
+ <group>
+ <briefdescription visible="yes"/>
+ <groupgraph visible="$GROUP_GRAPHS"/>
+ <memberdecl>
+ <classes visible="yes" title=""/>
+ <namespaces visible="yes" title=""/>
+ <dirs visible="yes" title=""/>
+ <nestedgroups visible="yes" title=""/>
+ <files visible="yes" title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <enumvalues title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <signals title=""/>
+ <publicslots title=""/>
+ <protectedslots title=""/>
+ <privateslots title=""/>
+ <events title=""/>
+ <properties title=""/>
+ <friends title=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <pagedocs/>
+ <defines title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <enumvalues title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <signals title=""/>
+ <publicslots title=""/>
+ <protectedslots title=""/>
+ <privateslots title=""/>
+ <events title=""/>
+ <properties title=""/>
+ <friends title=""/>
+ </memberdef>
+ <authorsection visible="yes"/>
+ </group>
+
+ <!-- Layout definition for a directory page -->
+ <directory>
+ <briefdescription visible="yes"/>
+ <directorygraph visible="yes"/>
+ <memberdecl>
+ <dirs visible="yes"/>
+ <files visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ </directory>
+</doxygenlayout>
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..ac2fd2e
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,155 @@
+# Copyright (C) 2007, 2008, 2009, 2010 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/>.
+
+
+# Look for Milena headers in srcdir and for (generated) test headers
+# (like data.hh) in builddir.
+AM_CPPFLAGS = -I$(top_srcdir)/milena -I$(top_builddir)/milena
+
+DOXYGEN = doxygen
+
+DOXYFILE = Doxyfile
+
+
+## --------------------- ##
+## LaTeX configuration. ##
+## --------------------- ##
+
+include $(top_srcdir)/build-aux/tex.mk
+
+TEXI2DVI_FLAGS += \
+ -I $(srcdir) -I $(srcdir)/outputs -I $(srcdir)/outputs/split \
+ -I $(srcdir)/img -I $(srcdir)/examples/split
+
+# Additional files for LaTeX compilations.
+DOC_PACKAGES = doxyfuns.sty milena.sty
+
+
+# ----------------------- #
+# User Reference Manual. #
+# ----------------------- #
+
+all-local: $(srcdir)/$(USER_REFMAN)
+
+# Run "make regen-doc" to forcefully rebuild the Doxygen documentation.
+.PHONY: regen-doc
+regen-doc:
+ rm -f $(srcdir)/user-refman.stamp
+ $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/user-refman.stamp
+
+DOXYFILE_USER = Doxyfile_user
+
+REFMAN_deps = $(srcdir)/footer.html \
+ $(srcdir)/header.html \
+ $(srcdir)/doxygen.css \
+ $(srcdir)/mainpage.hh \
+ $(srcdir)/DoxygenLayout.xml
+
+# Sed is used to generate Doxyfile from Doxyfile.in instead of
+# configure, because the former is way faster than the latter.
+#
+## FIXME: This is because, as in TC, we depend on $Id$ from the
+## ChangeLog. Maybe we should depend from something less prone to
+## change. See Bison's build system.
+edit = sed -e "s|@ID@|$$Id|" \
+ -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
+ -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
+ -e 's,@top_srcdir\@,$(top_srcdir),g' \
+ -e 's,@top_builddir\@,$(top_builddir),g' \
+ -e 's,@srcdir\@,$(srcdir),g' \
+ -e 's,@builddir\@,$(builddir),g'
+
+$(DOXYFILE_USER): $(srcdir)/$(DOXYFILE).in
+ Id=`grep '^\$$Id' $(top_srcdir)/milena/ChangeLog \
+ | sed -e 's/\\\$$//g'`; \
+ $(edit) $< >$@
+MAINTAINERCLEANFILES = $(DOXYFILE_USER)
+
+USER_REFMAN = user-refman
+
+
+# HTML.
+EXTRA_DIST = $(srcdir)/user-refman.stamp
+MAINTAINERCLEANFILES += $(srcdir)/user-refman.stamp
+$(srcdir)/user-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
+ @rm -f $@.tmp
+ @touch $@.tmp
+ rm -rf $(USER_REFMAN).tmp
+ $(MAKE) $(AM_MAKE_FLAGS) $(DOXYFILE_USER)
+ $(DOXYGEN) $(DOXYFILE_USER)
+ rm -rf $(srcdir)/$(USER_REFMAN)
+## FIXME: Moving directories between file systems is not portable.
+ mv $(USER_REFMAN).tmp $(srcdir)/$(USER_REFMAN)
+ @mv -f $@.tmp $@
+
+$(srcdir)/$(USER_REFMAN): $(srcdir)/user-refman.stamp
+## Recover from the removal of $@.
+ @if test -d $@; then :; else \
+ rm -f $<; \
+ $(MAKE) $(AM_MAKEFLAGS) $<; \
+ fi
+
+# Installing a directory located in the source dir is not supported by
+# Automake by default, so we cannot simply add `$(USER_REFMAN)/html'
+# to `dist_doc_DATA'. The rule `install-data-local' (see below) used
+# to work around this limitation is borrowed from the Vaucanson
+# project.
+EXTRA_DIST += $(USER_REFMAN)
+
+
+
+
+
+## ---------- ##
+## Cleaning. ##
+## ---------- ##
+
+MAINTAINERCLEANFILES += $(dist_pdf_DATA)
+
+maintainer-clean-local:
+ -rm -rf $(USER_REFMAN).tmp $(srcdir)/$(USER_REFMAN)
+ -rm -rf $(DEVEL_REFMAN).tmp $(srcdir)/$(DEVEL_REFMAN)
+ -for d in $(DATA_html_dirs); do \
+ rm -rf $$d.tmp $(srcdir)/$$d; \
+ done
+
+
+## -------------- ##
+## Installation. ##
+## -------------- ##
+
+
+# We install by hand, otherwise Automake produces "install .../srcdoc
+# .../srcdoc", which installs our dir into the previous one, instead
+# of replacing it.
+install-data-local:
+ $(mkdir_p) $(DESTDIR)$(htmldir)
+# The user reference manual is located in a subdirectory, hence this
+# special case.
+ rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)
+ cp -r $(srcdir)/$(USER_REFMAN)/html $(DESTDIR)$(htmldir)/$(USER_REFMAN)
+## 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 {} \; \) \
+ -o -exec chmod a+r {} \;
+
+uninstall-local:
+# Same remark as above regarding the special case of the user
+# reference manual.
+ chmod -R 700 $(DESTDIR)$(htmldir)/$(USER_REFMAN)
+ rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)
diff --git a/doc/doxygen.css b/doc/doxygen.css
new file mode 100644
index 0000000..104c7dd
--- /dev/null
+++ b/doc/doxygen.css
@@ -0,0 +1,856 @@
+/* The standard CSS for doxygen */
+
+body, table, div, p, dl {
+ font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
+ font-size: 12px;
+}
+
+/* @group Heading Levels */
+
+h1 {
+ font-size: 150%;
+}
+
+.title {
+ font-size: 150%;
+ font-weight: bold;
+ margin: 10px 2px;
+}
+
+h2 {
+ font-size: 120%;
+}
+
+h3 {
+ font-size: 100%;
+}
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd, p.starttd {
+ margin-top: 2px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.qindex, div.navtab{
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #3D578C;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #4665A2;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #9CAFD4;
+ color: #ffffff;
+ border: 1px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code {
+ color: #4665A2;
+}
+
+a.codeRef {
+ color: #4665A2;
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+.fragment {
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+pre.fragment {
+ border: 1px solid #C4CFE5;
+ background-color: #FBFCFD;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+}
+
+div.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ padding: 0.2em;
+ border: solid thin #333;
+ border-radius: 0.5em;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ box-shadow: 2px 2px 3px #999;
+ -webkit-box-shadow: 2px 2px 3px #999;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+ background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background: white;
+ color: black;
+ margin: 0;
+}
+
+div.contents {
+ margin-top: 10px;
+ margin-left: 10px;
+ margin-right: 5px;
+}
+
+td.indexkey {
+ background-color: #EBEFF6;
+ font-weight: bold;
+ border: 1px solid #C4CFE5;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+}
+
+td.indexvalue {
+ background-color: #EBEFF6;
+ border: 1px solid #C4CFE5;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+address.footer {
+ text-align: right;
+ padding-right: 12px;
+}
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+/* @end */
+
+/*
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+ background: #EBEFF6;
+ font-weight: bold;
+}
+
+hr {
+ height: 0px;
+ border: none;
+ border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+ height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #F9FAFC;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memItemLeft, .memItemRight, .memTemplParams {
+ border-top: 1px solid #C4CFE5;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memItemRight {
+ width: 100%;
+}
+
+.memTemplParams {
+ color: #4665A2;
+ white-space: nowrap;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+ font-size: 80%;
+ color: #4665A2;
+ font-weight: normal;
+ margin-left: 9px;
+}
+
+.memnav {
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.mempage {
+ width: 100%;
+}
+
+.memitem {
+ padding: 0;
+ margin-bottom: 10px;
+ margin-right: 5px;
+}
+
+.memname {
+ white-space: nowrap;
+ font-weight: bold;
+ margin-left: 6px;
+}
+
+.memproto {
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 0px 6px 0px;
+ color: #253555;
+ font-weight: bold;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ /* opera specific markup */
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-top-right-radius: 8px;
+ border-top-left-radius: 8px;
+ /* firefox specific markup */
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ -moz-border-radius-topright: 8px;
+ -moz-border-radius-topleft: 8px;
+ /* webkit specific markup */
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -webkit-border-top-right-radius: 8px;
+ -webkit-border-top-left-radius: 8px;
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+
+}
+
+.memdoc {
+ border-bottom: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 2px 5px;
+ background-color: #FBFCFD;
+ border-top-width: 0;
+ /* opera specific markup */
+ border-bottom-left-radius: 8px;
+ border-bottom-right-radius: 8px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ /* firefox specific markup */
+ -moz-border-radius-bottomleft: 8px;
+ -moz-border-radius-bottomright: 8px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7);
+ /* webkit specific markup */
+ -webkit-border-bottom-left-radius: 8px;
+ -webkit-border-bottom-right-radius: 8px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7));
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+
+.params, .retval, .exception, .tparams {
+ border-spacing: 6px 2px;
+}
+
+.params .paramname, .retval .paramname {
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.params .paramtype {
+ font-style: italic;
+ vertical-align: top;
+}
+
+.params .paramdir {
+ font-family: "courier new",courier,monospace;
+ vertical-align: top;
+}
+
+
+
+
+/* @end */
+
+/* @group Directory (tree) */
+
+/* for the tree view */
+
+.ftvtree {
+ font-family: sans-serif;
+ margin: 0px;
+}
+
+/* these are for tree view when used as main index */
+
+.directory {
+ font-size: 9pt;
+ font-weight: bold;
+ margin: 5px;
+}
+
+.directory h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+/*
+The following two styles can be used to replace the root node title
+with an image of your choice. Simply uncomment the next two styles,
+specify the name of your image and be sure to set 'height' to the
+proper pixel height of your image.
+*/
+
+/*
+.directory h3.swap {
+ height: 61px;
+ background-repeat: no-repeat;
+ background-image: url("yourimage.gif");
+}
+.directory h3.swap span {
+ display: none;
+}
+*/
+
+.directory > h3 {
+ margin-top: 0;
+}
+
+.directory p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory div {
+ display: none;
+ margin: 0px;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+/* these are for tree view when not used as main index */
+
+.directory-alt {
+ font-size: 100%;
+ font-weight: bold;
+}
+
+.directory-alt h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+.directory-alt > h3 {
+ margin-top: 0;
+}
+
+.directory-alt p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory-alt div {
+ display: none;
+ margin: 0px;
+}
+
+.directory-alt img {
+ vertical-align: -30%;
+}
+
+/* @end */
+
+div.dynheader {
+ margin-top: 8px;
+}
+
+address {
+ font-style: normal;
+ color: #2A3D61;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+ /* new */
+ width:80%;
+ table-layout:fixed;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+
+ /* Changed */
+ text-align:center;
+}
+
+.tabsearch {
+ top: 0px;
+ left: 10px;
+ height: 36px;
+ background-image: url('tab_b.png');
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px;
+}
+
+.navpath ul
+{
+ font-size: 11px;
+ background-image:url('tab_b.png');
+ background-repeat:repeat-x;
+ height:30px;
+ line-height:30px;
+ color:#8AA0CC;
+ border:solid 1px #C2CDE4;
+ overflow:hidden;
+ margin:0px;
+ padding:0px;
+}
+
+.navpath li
+{
+ list-style-type:none;
+ float:left;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:url('bc_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+ height:32px;
+ display:block;
+ text-decoration: none;
+ outline: none;
+}
+
+.navpath li.navelem a:hover
+{
+ color:#6884BD;
+}
+
+.navpath li.footer
+{
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+ font-size: 8pt;
+}
+
+
+div.summary
+{
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right;
+}
+
+div.summary a
+{
+ white-space: nowrap;
+}
+
+div.ingroups
+{
+ font-size: 8pt;
+ padding-left: 5px;
+ width: 50%;
+ text-align: left;
+}
+
+div.ingroups a
+{
+ white-space: nowrap;
+}
+
+div.header
+{
+ background-image:url('nav_h.png');
+ background-repeat:repeat-x;
+ background-color: #F9FAFC;
+ margin: 0px;
+ border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+ padding: 5px 5px 5px 10px;
+}
+
+dl
+{
+ padding: 0 0 0 10px;
+}
+
+dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug
+{
+ border-left:4px solid;
+ padding: 0 0 0 6px;
+}
+
+dl.note
+{
+ border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+ border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+ border-color: #00D000;
+}
+
+dl.deprecated
+{
+ border-color: #505050;
+}
+
+dl.todo
+{
+ border-color: #00C0E0;
+}
+
+dl.test
+{
+ border-color: #3030E0;
+}
+
+dl.bug
+{
+ border-color: #C08050;
+}
+
+#projectlogo
+{
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate;
+}
+
+#projectlogo img
+{
+ border: 0px none;
+}
+
+#projectname
+{
+ /* Changed */
+ font: 32px Tahoma, Arial,sans-serif;
+
+ margin: 0px;
+ padding: 2px 0px;
+}
+
+#projectbrief
+{
+ /* Changed */
+ font: 13px Tahoma, Arial,sans-serif;
+
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectnumber
+{
+ font: 50% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#titlearea
+{
+ padding: 0px;
+ margin: 0px;
+ width: 100%;
+ border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+ text-align: center;
+}
+
+.dotgraph
+{
+ text-align: center;
+}
+
+.mscgraph
+{
+ text-align: center;
+}
+
+.caption
+{
+ font-weight: bold;
+}
+
+
+/* ===> NEW */
+
+table.itable th
+{
+ font-size: 17px;
+}
+
+table.itable li
+{
+ font-size: 16px;
+}
\ No newline at end of file
diff --git a/doc/footer.html b/doc/footer.html
new file mode 100644
index 0000000..d0e98ec
--- /dev/null
+++ b/doc/footer.html
@@ -0,0 +1,5 @@
+<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>
+</small></address>
+</body>
+</html>
diff --git a/doc/header.html b/doc/header.html
new file mode 100644
index 0000000..a94502d
--- /dev/null
+++ b/doc/header.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>$title</title>
+<link href="$relpath$tabs.css" rel="stylesheet" type="text/css"/>
+<link href="$relpath$doxygen.css" rel="stylesheet" type="text/css" />
+$treeview
+$search
+$mathjax
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+<!--BEGIN TITLEAREA-->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <!--BEGIN PROJECT_LOGO-->
+ <td id="projectlogo"><a href="$relpath$index.html"><img alt="Logo" src="$relpath$$projectlogo"></a></td>
+ <!--END PROJECT_LOGO-->
+ <!--BEGIN PROJECT_NAME-->
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">Olena
+ <!--BEGIN PROJECT_NUMBER--><!--  <span id="projectnumber">$projectnumber</span> --><!--END PROJECT_NUMBER-->
+ </div>
+ <!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
+ </td>
+ <!--END PROJECT_NAME-->
+ <!--BEGIN !PROJECT_NAME-->
+ <!--BEGIN PROJECT_BRIEF-->
+ <td style="padding-left: 0.5em;">
+ <div id="projectbrief">$projectbrief</div>
+ </td>
+ <!--END PROJECT_BRIEF-->
+ <!--END !PROJECT_NAME-->
+ <!--BEGIN DISABLE_INDEX-->
+ <!--BEGIN SEARCHENGINE-->
+ <td>$searchbox</td>
+ <!--END SEARCHENGINE-->
+ <!--END DISABLE_INDEX-->
+ </tr>
+ </tbody>
+</table>
+</div>
+<!--END TITLEAREA-->
diff --git a/doc/logo.jpg b/doc/logo.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a68a505583cdf475c11054066db4ded69dafd17a
GIT binary patch
literal 7477
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
literal 0
HcmV?d00001
diff --git a/doc/mainpage.hh b/doc/mainpage.hh
new file mode 100644
index 0000000..0704753
--- /dev/null
+++ b/doc/mainpage.hh
@@ -0,0 +1,38 @@
+/** \mainpage Documentation of Olena
+
+ <center>
+ <h1>Olena Reference Documentation</h1>
+
+ <table class="doxtable itable">
+
+ <tr>
+ <th>General Presentation</th>
+ <th>Modules</th>
+ <th>Applications</th>
+ </tr>
+ <tr>
+ <td><ul><li>What is Olena ?</li><li>Bibliography</li><li>Contributors</li></ul></td>
+ <td><ul><li>List of Available modules</li><li><a href='../../../milena/doc/user-refman/html/index.html'>Milena</a></li><li><a href='../../../scribo/doc/user-refman/html/index.html'>Scribo</a></li><li>Swilena</li></ul></td>
+ <td><ul><li>Online Demos</li><li>Papers Related Programs</li><li>Olena Powered Programs</li></ul></td>
+ </tr>
+
+
+ <tr>
+ <th>Contributing</th>
+ <th>Licensing</th>
+ <th> </th>
+ </tr>
+ <tr>
+ <td><ul><li>Report Bugs and Make Suggestions</li><li>Get the Sources</li><li>Online Resources</li></ul></td>
+ <td><ul><li>GNU GPL</li><li>Commercial Use</li></ul></td>
+ <td> </td>
+ </tr>
+
+ </table>
+
+ </center>
+
+ <br>
+ */
+
+
diff --git a/doc/olena.qhcp b/doc/olena.qhcp
new file mode 100644
index 0000000..595d34e
--- /dev/null
+++ b/doc/olena.qhcp
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<QHelpCollectionProject version="1.0">
+ <assistant>
+ <startPage>qthelp://fr.epita.lrde.olena/milena-2.0/index.html</startPage>
+ </assistant>
+ <docFiles>
+ <register>
+ <file>../milena/doc/user-refman/html/milena.qch</file>
+ <file>../scribo/doc/user-refman/html/scribo.qch</file>
+ </register>
+ </docFiles>
+</QHelpCollectionProject>
\ No newline at end of file
diff --git a/doc/subdoc_footer.html b/doc/subdoc_footer.html
new file mode 100644
index 0000000..3548c1e
--- /dev/null
+++ b/doc/subdoc_footer.html
@@ -0,0 +1,6 @@
+<hr class="footer"/><address class="footer"><small>
+<span style="position:absolute;bottom:0;left:5px;text-align:left;">Copyright (C) 2011 EPITA Research and Development Laboratory (LRDE)</span>
+<span style="position:absolute;bottom:0;right:5px;text-align:right;">Olena 2.0</span>
+</small></address>
+</body>
+</html>
--
1.7.2.5
1
0

olena-2.0-57-gf3c06f6 scribo/subsampling/integral_single_image.hh: Fix forward declarations.
by Guillaume Lazzara 27 Feb '12
by Guillaume Lazzara 27 Feb '12
27 Feb '12
---
scribo/ChangeLog | 5 +++++
scribo/scribo/subsampling/integral_single_image.hh | 20 ++++++++------------
2 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/scribo/ChangeLog b/scribo/ChangeLog
index 0d24f37..df9d036 100644
--- a/scribo/ChangeLog
+++ b/scribo/ChangeLog
@@ -1,3 +1,8 @@
+2011-12-12 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * scribo/subsampling/integral_single_image.hh: Fix forward
+ declarations.
+
2011-12-01 Guillaume Lazzara <z(a)lrde.epita.fr>
* src/Makefile.am: Remove -lpthread.
diff --git a/scribo/scribo/subsampling/integral_single_image.hh b/scribo/scribo/subsampling/integral_single_image.hh
index b9c7a59..381f08f 100644
--- a/scribo/scribo/subsampling/integral_single_image.hh
+++ b/scribo/scribo/subsampling/integral_single_image.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -53,20 +53,18 @@ namespace scribo
\param[in] input An image of Scalar.
\param[in] scale The scale factor.
- \param[in] integral_sum Integral image of mean values.
- \param[in] integral_sum_2 Integral image of squared mean values.
+ \param[in] integral_sum_sum_2 Integral image of mean and squared mean values.
\param[in] output_domain The domain of the subscaled image.
\param[in] border_thickness Border of the integral and subscaled images.
- \p integral_sum, \p integral_sum_2 and output image have the same domain.
+ \p integral_sum_sum_2 and output image have the same domain.
The output domain is set with \p output_domain.
*/
template <typename I, typename J>
- inline
mln_concrete(I)
- integral(const Image<I>& input, unsigned scale,
- Image<J>& integral_sum, Image<J>& integral_sum_2,
+ integral(const Image<I>& input_, unsigned scale,
+ Image<J>& integral_sum_sum_2,
const mln_domain(I)& output_domain, unsigned border_thickness);
/*! \overload
@@ -83,10 +81,8 @@ namespace scribo
template <typename I, typename J>
inline
mln_concrete(I)
- integral(const Image<I>& input, unsigned scale,
- Image<J>& integral_sum, Image<J>& integral_sum_2);
-
-
+ integral(const Image<I>& input_, unsigned scale,
+ Image<J>& integral_sum_sum_2);
# ifndef MLN_INCLUDE_ONLY
--
1.7.2.5
1
0
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Olena, a generic and efficient image processing platform".
The branch exp/newdoc has been updated
discards 1ddd7de0b34b608816ea1f10e7bc1c82b7e33ee3 (commit)
discards 91060da53c6ae12125ad3ab9d707c6d37c90f334 (commit)
discards e0226cbab4a078b353231ef52dfbaf9b47097706 (commit)
discards 08a4b36404bd942bddf4428725218a155275f023 (commit)
discards 0f3f15ef53d14ec0faf6a87e9a39ffcdaee950ee (commit)
discards 4869c40759411527fbe11083861a5b4be0ba7664 (commit)
discards 7e06ee92589629b6063e7da288fe07061647253c (commit)
discards fd667000529561b76f5fc2754bd82d53dc56ad9a (commit)
discards ad62145ff66470cd47e47d57f0022ddf1d0fd895 (commit)
discards 1fb4dc9cf3295cc8ff42b47478be8da43c89b52a (commit)
discards dba48254a311dc7322051f1305e40e9ad80e6424 (commit)
discards ff4aa1d03e9f8715af1a586a831510805c63917b (commit)
discards 8af1b0aaf356ae8b446e22c36038f5473631c81c (commit)
discards 3855e8a13669ece3ea8851e6b6131d98ed321535 (commit)
discards 0f9420d2dac3d05b51fc6bf2d9fe71ec40a9886d (commit)
discards 89e3d3bf00c964166e5441cbb8a7f3dae19fea16 (commit)
discards aec426504d443c9dc69dea33ca6a3a37acfb2301 (commit)
discards 5d3c5c68978ac88c3a0c44a6b61a0fc8e3504995 (commit)
discards 2b6e086b3974d51891a071fa18b84ab234d10a14 (commit)
discards 2ffc27397668186503cc38a6e7a9d48d30a8fd1f (commit)
discards edf485ea63836bf5500092827090fafc5de8f0a2 (commit)
discards 8a55bb8d43c37a0005ce2864f3a4f74f616d592e (commit)
discards 7b0feb6a1d262b8d0a2bb8cf3ac5a252aabf9a6b (commit)
discards 8883b2842a62cca258da9532c7006ac7fdbe03c8 (commit)
via 9f2364327889ec3a3f2df8742e22f13e81a01fdb (commit)
via 5fa47283c04d421251e4075b4bcfcb27239dd276 (commit)
via cc209cfc544076fc2e214e696cbd0852002d8382 (commit)
via 23b5d7ead7fe44dd9c0a4d6ac853d7ef5a82dfa8 (commit)
via 88e0b86a9f293235dc41957204f6d63b33a0fed8 (commit)
via 942779ab654d3ba1e28dbf4ea6d16eebd1082e15 (commit)
via dd96a43033b97206e427884db5a555665d9ae06e (commit)
via 37e7ff9f63870bd27e8f90099b810f4363b563fb (commit)
via 498e1f3817bb0cfe7d67daba967412365711f06f (commit)
via a433ee14ca875b8034ef453154c5048ad91b6a53 (commit)
via 379f11ae013b04219bfb83a992d31d294cbe4128 (commit)
via b6e594fe0e5d685aa6c668db4f8bd29e9748abc0 (commit)
via 2240957d2aeaf0a2f004195c9b0fc4fb6afae92a (commit)
via a11e843c2465051de4322719d9617bc8f87b9e53 (commit)
via 5f172d8ffd9e6a48627b8cc36ec1debbff5aebf9 (commit)
via ea3eefcfb3d90cbb664edbd87a483029d7dd5675 (commit)
via 6f2cda0fcd04be5f94ac101888a15dc64ceeb60e (commit)
via 125c7e314cdffae865797bea0ef8e573a073c9d7 (commit)
via aa02dac44ca1f201dd420972c89afbbc46123ae9 (commit)
via f4ec946311c1a8e9413b898f183ce82c1648f344 (commit)
via 149c03daf68864e53a01069db95f9bee74e840d5 (commit)
via 1106703d90a6b095d46c9f2e9958b6e29d031ceb (commit)
via 6931e2729a7dad8f683ace2d667bbc75f391caa0 (commit)
via 83e82f6b7b913761d72962d83989efed66ebb4db (commit)
via 69fb7d19f99a737af961956e3474cfdde94952a3 (commit)
via cf3ec1508a31566746bb8c2bae62ebb222917ed8 (commit)
via 93614bee2f0035570c1defa807f43bff2b6c1983 (commit)
via 596d8240198eb953966d2ea315c9efd939cc299e (commit)
via 397df188a14d2dd4a48a005199875809f380da96 (commit)
via 5375506bd32b6dc80beac3713f6614a823eea8eb (commit)
via 3970078fc25ff1b5fd9c666c34d7d43d6ed12d57 (commit)
via fa49a3477bc050860ba1ea480fc6e90cbff246d9 (commit)
via 16fdee102f1004ca79a1cdaac1cff95886cc1a7d (commit)
via bc28de4d7d4c2320fae5c8680ce6bbcf8141e76e (commit)
via 482c54fcaba752f31fddf8a1039020133946f6e9 (commit)
via b96a5a9877111fdc37f39d98576459379bbc585d (commit)
via 99ee8de8aeadd6d48167c0ee7d0c7e892bcfe75a (commit)
via a3c7875a958a75f5b2085bceda5fb4199ffd914b (commit)
via 516e8d49a64fe220d9d6f8087bc1c4e881dc6970 (commit)
via b9fa6407ef92a839b5634df6befd9b9887906c2a (commit)
via f3c06f65c794685bb17d73b321afcda9f70b05af (commit)
via c471618c68f0572f188c1851e2a016d92ca42855 (commit)
This update added new revisions after undoing existing revisions. That is
to say, the old revision is not a strict subset of the new revision. This
situation occurs when you --force push a change and generate a repository
containing something like this:
* -- * -- B -- O -- O -- O (1ddd7de0b34b608816ea1f10e7bc1c82b7e33ee3)
\
N -- N -- N (9f2364327889ec3a3f2df8742e22f13e81a01fdb)
When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
9f23643 src/debug/show_lines_boldness.cc: Use mln::math::round as a function.
5fa4728 Fix compilation.
cc209cfc build-aux/texi2dvi: Fix Dash incompatibility.
23b5d7e Define new documentation groups.
88e0b86 Improve main documentation.
942779a Set up documentation groups in Milena documentation.
dd96a43 tests/unit_test/unit-tests.mk: Regen.
37e7ff9 Add algorithms to documentation groups.
498e1f3 Revamp documentation directory structure.
a433ee1 doc/scribo/binarization/sauvola.dox: Fix documentation.
379f11a Fix path to data.
b6e594f Fix path to data.
2240957 Fix documentation.
a11e843 doc/Makefile.am: Add more missing files in EXTRA_DIST.
5f172d8 Change path to .bib files.
ea3eefc doc/Makefile.am: Add missing files in EXTRA_DIST.
6f2cda0 tests/binarization/Makefile.am (EXTRA_DIST): Fix invalid filename.
125c7e3 doc/Makefile.am: Fix deprecated dist files.
aa02dac Fix doxygen warnings.
f4ec946 Update generated .mk files.
149c03d Fix dependencies in Makefiles.
1106703 Fix Path to Olena logo.
6931e27 Add a new figure on the main page.
83e82f6 Fix titles.
69fb7d1 Improve Scribo documentation.
cf3ec15 Add new documentation groups.
93614be Add a description about Olena.
596d824 Add more content in general documentation.
397df18 Add details about licensing.
5375506 doc/Doxyfile.in: Do not warn about undocumented code.
3970078 Fix and improve documentation in Scribo.
fa49a34 Add new groups in Scribo documentation.
16fdee1 Improve common documentation.
bc28de4 Improve common documentation.
482c54f mln/registration/icp.hh: Cite article.
b96a5a9 Fix scribo doc (un)installation.
99ee8de Fix Milena doc (un)installation.
a3c7875 Improve layout and content of Milena's doc.
516e8d4 First draft of Scribo documentation.
b9fa640 First draft of common documentation.
f3c06f6 scribo/subsampling/integral_single_image.hh: Fix forward declarations.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 198 +++++++++++
build-aux/texi2dvi | 13 +-
doc/Doxyfile.in | 3 +-
doc/Makefile.am | 11 +-
doc/about.dox | 2 +-
doc/doxygen.css | 9 +-
doc/license.dox | 15 -
doc/license_commercial.dox | 7 -
doc/licensing.dox | 18 +
doc/mainpage.dox | 33 +-
doc/supported_platforms.dox | 45 +++
milena/ChangeLog | 370 ++++++++++++++++++++
milena/doc/Doxyfile.in | 47 ++-
milena/doc/Makefile.am | 4 +-
milena/doc/groups/accu.dox | 29 --
milena/doc/groups/images.dox | 43 ---
milena/doc/groups/main.dox | 30 --
milena/doc/groups/neighb.dox | 28 --
milena/doc/mln/accu/accu.dox | 45 +++
milena/doc/mln/canvas/canvas.dox | 27 ++
milena/doc/mln/core/image/concrete.dox | 6 +
milena/doc/mln/core/image/domain_morpher.dox | 6 +
milena/doc/mln/core/image/identity_morpher.dox | 6 +
milena/doc/mln/core/image/images.dox | 8 +
milena/doc/mln/core/image/morphers.dox | 6 +
milena/doc/mln/core/image/value_morpher.dox | 6 +
milena/doc/mln/core/neighb.dox | 36 ++
.../doc/{groups => mln/core/site_set}/site_set.dox | 0
milena/doc/mln/data/data.dox | 6 +
milena/doc/mln/io/io.dox | 110 ++++++
milena/doc/mln/main.dox | 97 +++++
milena/doc/mln/morpho/morpho.dox | 27 ++
milena/doc/{groups => mln/util}/graph.dox | 0
milena/doc/{groups => mln/util}/util.dox | 0
milena/doc/{groups => mln/win}/win.dox | 0
milena/mln/accu/compute.hh | 53 ++--
milena/mln/algebra/h_mat.hh | 5 +-
milena/mln/algebra/h_vec.hh | 6 +-
milena/mln/algebra/mat.hh | 27 +-
milena/mln/algebra/quat.hh | 6 +-
milena/mln/algebra/vec.hh | 8 +-
milena/mln/border/adjust.hh | 9 +-
milena/mln/border/duplicate.hh | 8 +-
milena/mln/border/equalize.hh | 10 +-
milena/mln/border/fill.hh | 10 +-
milena/mln/border/find.hh | 6 +-
milena/mln/border/get.hh | 5 +-
milena/mln/border/mirror.hh | 14 +-
milena/mln/border/resize.hh | 9 +-
milena/mln/border/resize_equal.hh | 9 +-
milena/mln/border/thickness.hh | 8 +-
milena/mln/canvas/browsing/backdiagonal2d.hh | 7 +-
milena/mln/canvas/browsing/breadth_first_search.hh | 10 +-
milena/mln/canvas/browsing/depth_first_search.hh | 10 +-
milena/mln/canvas/browsing/diagonal2d.hh | 8 +-
.../canvas/browsing/dir_struct_elt_incr_update.hh | 10 +-
milena/mln/canvas/browsing/directional.hh | 7 +-
milena/mln/canvas/browsing/fwd.hh | 9 +-
milena/mln/canvas/browsing/hyper_directional.hh | 9 +-
milena/mln/canvas/browsing/snake_fwd.hh | 8 +-
milena/mln/canvas/browsing/snake_generic.hh | 8 +-
milena/mln/canvas/browsing/snake_vert.hh | 10 +-
milena/mln/canvas/chamfer.hh | 4 +-
milena/mln/canvas/distance_front.hh | 11 +-
milena/mln/canvas/distance_geodesic.hh | 7 +-
milena/mln/canvas/labeling/blobs.hh | 8 +-
milena/mln/canvas/labeling/generic.hh | 11 +-
milena/mln/canvas/labeling/sorted.hh | 8 +-
milena/mln/canvas/labeling/video.hh | 7 +-
milena/mln/canvas/morpho/attribute_filter.hh | 9 +-
milena/mln/clustering/kmean_rgb.hh | 23 +-
milena/mln/convert/impl/from_double_to_value.hh | 8 +-
milena/mln/convert/impl/from_float_to_value.hh | 12 +-
milena/mln/core/concept/doc/point_iterator.hh | 5 +-
milena/mln/core/image/graph_window_piter.hh | 6 +-
milena/mln/core/internal/image_base.hh | 6 +-
milena/mln/core/neighb.hh | 6 +-
milena/mln/core/window.hh | 4 +-
milena/mln/data/abs.hh | 13 +-
milena/mln/data/apply.hh | 7 +-
milena/mln/data/compare.hh | 58 ++--
milena/mln/data/compute.hh | 60 ++--
milena/mln/data/compute_in_window.hh | 25 +-
milena/mln/data/convert.hh | 15 +-
milena/mln/data/fast_median.hh | 9 +-
milena/mln/data/fill.hh | 7 +-
milena/mln/data/median.hh | 9 +-
milena/mln/data/paste.hh | 37 +-
milena/mln/data/paste_without_localization.hh | 20 +-
milena/mln/data/replace.hh | 8 +-
milena/mln/data/saturate.hh | 15 +-
milena/mln/data/split.hh | 17 +-
milena/mln/data/stretch.hh | 8 +-
milena/mln/data/to_enc.hh | 5 +-
milena/mln/data/transform.hh | 10 +-
milena/mln/data/update.hh | 8 +-
milena/mln/data/wrap.hh | 9 +-
milena/mln/debug/draw_graph.hh | 64 ++--
milena/mln/debug/filename.hh | 31 +-
milena/mln/debug/format.hh | 25 +-
milena/mln/debug/histo.hh | 6 +-
milena/mln/debug/iota.hh | 15 +-
milena/mln/debug/mosaic.hh | 5 +-
milena/mln/debug/println.hh | 13 +-
milena/mln/debug/println_with_border.hh | 7 +-
milena/mln/debug/put_word.hh | 9 +-
milena/mln/debug/quiet.hh | 8 +-
milena/mln/debug/slices_2d.hh | 14 +-
milena/mln/debug/superpose.hh | 39 ++-
milena/mln/debug/z_order.hh | 8 +-
milena/mln/draw/box.hh | 25 +-
milena/mln/draw/box_plain.hh | 26 +-
milena/mln/draw/dashed_line.hh | 33 +-
milena/mln/draw/line.hh | 32 +-
milena/mln/draw/plot.hh | 22 +-
milena/mln/draw/polygon.hh | 31 +-
milena/mln/draw/site_set.hh | 25 +-
milena/mln/extension/adjust.hh | 31 ++-
milena/mln/extension/adjust_duplicate.hh | 20 +-
milena/mln/extension/adjust_fill.hh | 20 +-
milena/mln/extension/duplicate.hh | 10 +-
milena/mln/extension/fill.hh | 9 +-
milena/mln/fun/v2v/hsi_to_rgb.hh | 12 +-
milena/mln/fun/v2v/hsl_to_rgb.hh | 12 +-
milena/mln/fun/v2v/rgb8_to_rgbn.hh | 7 +-
milena/mln/fun/v2v/round.hh | 77 ++++
milena/mln/fun/v2v/round_sat.hh | 84 +++++
milena/mln/fun/x2v/bilinear.hh | 2 +-
milena/mln/fun/x2v/trilinear.hh | 16 +-
milena/mln/geom/bbox.hh | 25 +-
milena/mln/geom/chamfer.hh | 9 +-
milena/mln/geom/complex_geometry.hh | 7 +-
milena/mln/geom/crop.hh | 7 +-
milena/mln/geom/crop_without_localization.hh | 8 +-
milena/mln/geom/delta.hh | 18 +-
milena/mln/geom/horizontal_symmetry.hh | 9 +-
milena/mln/geom/max_col.hh | 14 +-
milena/mln/geom/max_ind.hh | 8 +-
milena/mln/geom/max_row.hh | 14 +-
milena/mln/geom/max_sli.hh | 7 +-
milena/mln/geom/min_col.hh | 14 +-
milena/mln/geom/min_ind.hh | 8 +-
milena/mln/geom/min_row.hh | 14 +-
milena/mln/geom/min_sli.hh | 7 +-
milena/mln/geom/ncols.hh | 12 +-
milena/mln/geom/ninds.hh | 8 +-
milena/mln/geom/nrows.hh | 12 +-
milena/mln/geom/nsites.hh | 8 +-
milena/mln/geom/nslis.hh | 9 +-
milena/mln/geom/pmin_pmax.hh | 34 ++-
milena/mln/geom/rotate.hh | 70 +++--
milena/mln/geom/seeds2tiling.hh | 25 +-
milena/mln/geom/seeds2tiling_roundness.hh | 31 +-
milena/mln/geom/translate.hh | 45 ++-
milena/mln/geom/vertical_symmetry.hh | 9 +-
milena/mln/io/cloud/load.hh | 14 +-
milena/mln/io/cloud/save.hh | 14 +-
milena/mln/io/dicom/get_header.hh | 13 +-
milena/mln/io/dicom/load.hh | 7 +-
milena/mln/io/dump/get_header.hh | 9 +-
milena/mln/io/dump/load.hh | 14 +-
milena/mln/io/dump/save.hh | 15 +-
milena/mln/io/fits/load.hh | 31 +-
milena/mln/io/fld/header.hh | 9 +-
milena/mln/io/fld/load.hh | 16 +-
milena/mln/io/fld/load_header.hh | 16 +-
milena/mln/io/fld/max_components.hh | 6 +-
milena/mln/io/fld/save.hh | 4 +
milena/mln/io/fld/write_header.hh | 15 +-
milena/mln/io/magick/load.hh | 12 +-
milena/mln/io/magick/save.hh | 13 +-
milena/mln/io/off/load.hh | 24 +-
milena/mln/io/off/save.hh | 30 ++-
milena/mln/io/pbm/load.hh | 31 +-
milena/mln/io/pbm/save.hh | 6 +-
milena/mln/io/pbms/load.hh | 16 +-
milena/mln/io/pfm/load.hh | 31 +-
milena/mln/io/pgm/load.hh | 35 ++-
milena/mln/io/pgm/save.hh | 6 +-
milena/mln/io/pgms/load.hh | 17 +-
milena/mln/io/plot/load.hh | 34 +--
milena/mln/io/plot/save.hh | 16 +-
milena/mln/io/ppm/load.hh | 36 ++-
milena/mln/io/ppm/save.hh | 7 +-
milena/mln/io/ppms/load.hh | 16 +-
milena/mln/io/raw/get_header.hh | 13 +-
milena/mln/io/raw/load.hh | 24 +-
milena/mln/io/raw/save.hh | 25 +-
milena/mln/io/tiff/load.hh | 9 +-
milena/mln/io/txt/save.hh | 15 +-
milena/mln/labeling/compute.hh | 61 +----
milena/mln/labeling/value_and_compute.hh | 4 +-
milena/mln/linear/#ch_convolve.hh# | 103 ++++++
milena/mln/linear/.#ch_convolve.hh | 1 +
milena/mln/linear/convolve.hh | 28 +-
milena/mln/linear/convolve_2x1d.hh | 19 +-
milena/mln/linear/convolve_directional.hh | 27 +-
milena/mln/linear/gaussian.hh | 17 +-
milena/mln/linear/gaussian_1d.hh | 7 +-
milena/mln/linear/gaussian_directional_2d.hh | 7 +-
milena/mln/linear/lap.hh | 13 +-
milena/mln/linear/local/convolve.hh | 39 ++-
milena/mln/linear/log.hh | 13 +-
milena/mln/linear/sobel_2d.hh | 17 +-
milena/mln/logical/and.hh | 7 +-
milena/mln/logical/and_not.hh | 13 +-
milena/mln/logical/not.hh | 11 +-
milena/mln/logical/or.hh | 13 +-
milena/mln/logical/xor.hh | 13 +-
milena/mln/make/influence_zone_adjacency_graph.hh | 4 +-
milena/mln/math/abs.hh | 25 +-
milena/mln/math/acos.hh | 6 +-
milena/mln/math/cos.hh | 6 +-
milena/mln/math/diff_abs.hh | 7 +-
milena/mln/math/jacobi.hh | 5 +-
milena/mln/math/max.hh | 6 +-
milena/mln/math/min.hh | 6 +-
milena/mln/math/pi.hh | 8 +-
milena/mln/math/round.hh | 49 ++-
milena/mln/math/round_sat.hh | 63 ++--
milena/mln/math/sign.hh | 6 +-
milena/mln/math/sin.hh | 8 +-
milena/mln/math/sqr.hh | 6 +-
milena/mln/math/sqrt.hh | 6 +-
milena/mln/morpho/Rd.hh | 9 +-
milena/mln/morpho/algebraic_filter.hh | 5 +-
milena/mln/morpho/approx/dilation.hh | 20 +-
milena/mln/morpho/approx/erosion.hh | 20 +-
milena/mln/morpho/closing/algebraic.hh | 7 +-
milena/mln/morpho/closing/area.hh | 8 +-
milena/mln/morpho/closing/area_on_vertices.hh | 23 +-
milena/mln/morpho/closing/height.hh | 5 +-
milena/mln/morpho/closing/leveling.hh | 8 +-
milena/mln/morpho/closing/structural.hh | 13 +-
milena/mln/morpho/closing/sum.hh | 8 +-
milena/mln/morpho/closing/volume.hh | 8 +-
milena/mln/morpho/complementation.hh | 17 +-
milena/mln/morpho/contrast.hh | 9 +-
milena/mln/morpho/dilation.hh | 8 +-
milena/mln/morpho/erosion.hh | 7 +-
milena/mln/morpho/gradient.hh | 30 +-
milena/mln/morpho/hit_or_miss.hh | 29 +-
milena/mln/morpho/laplacian.hh | 12 +-
milena/mln/morpho/leveling_filter.hh | 7 +-
milena/mln/morpho/line_gradient.hh | 10 +-
milena/mln/morpho/meyer_wst.hh | 19 +-
milena/mln/morpho/min.hh | 17 +-
milena/mln/morpho/minus.hh | 10 +-
milena/mln/morpho/opening/algebraic.hh | 27 +-
milena/mln/morpho/opening/approx/structural.hh | 12 +-
milena/mln/morpho/opening/area.hh | 8 +-
milena/mln/morpho/opening/area_on_vertices.hh | 23 +-
milena/mln/morpho/opening/height.hh | 8 +-
milena/mln/morpho/opening/leveling.hh | 27 +-
milena/mln/morpho/opening/structural.hh | 12 +-
milena/mln/morpho/opening/volume.hh | 8 +-
milena/mln/morpho/plus.hh | 9 +-
milena/mln/morpho/rank_filter.hh | 8 +-
milena/mln/morpho/skeleton_constrained.hh | 8 +-
milena/mln/morpho/thick_miss.hh | 7 +-
milena/mln/morpho/thickening.hh | 11 +-
milena/mln/morpho/thin_fit.hh | 9 +-
milena/mln/morpho/thinning.hh | 13 +-
milena/mln/morpho/top_hat.hh | 40 ++-
milena/mln/morpho/watershed/flooding.hh | 64 ++--
milena/mln/norm/l1.hh | 11 +-
milena/mln/norm/l2.hh | 15 +-
milena/mln/norm/linfty.hh | 12 +-
milena/mln/subsampling/antialiased.hh | 6 +-
milena/mln/subsampling/gaussian_subsampling.hh | 6 +-
milena/mln/subsampling/subsampling.hh | 8 +-
milena/mln/topo/is_simple_2d.hh | 6 +-
milena/mln/topo/skeleton/is_simple_point.hh | 6 +-
.../distance_and_closest_point_geodesic.hh | 55 ++--
.../distance_and_influence_zone_geodesic.hh | 28 +-
milena/mln/transform/distance_front.hh | 7 +-
milena/mln/transform/distance_geodesic.hh | 7 +-
milena/mln/transform/hough.hh | 30 +-
milena/mln/transform/influence_zone_front.hh | 11 +-
milena/mln/transform/influence_zone_geodesic.hh | 18 +-
.../transform/influence_zone_geodesic_saturated.hh | 29 +-
milena/mln/upscaling/art/scale2x.hh | 4 +-
milena/mln/upscaling/art/scale3x.hh | 4 +-
milena/mln/world/rgb/invert.hh | 5 +-
milena/tests/linear/convolve.cc | 8 +-
milena/tests/linear/convolve_2x1d.cc | 6 +-
milena/tests/linear/convolve_directional.cc | 10 +-
milena/tests/unit_test/unit-tests.mk | 6 +
scribo/ChangeLog | 239 +++++++++++++
scribo/doc/Doxyfile.in | 4 +-
scribo/doc/Makefile.am | 2 +-
scribo/doc/mainpage.dox | 34 +-
scribo/doc/scribo/binarization/sauvola.dox | 8 +-
scribo/doc/scribo/primitive/extract/separators.dox | 6 +
scribo/doc/scribo/text/ocr.dox | 6 +
scribo/doc/scribo/text/text.dox | 6 +
scribo/scribo/binarization/niblack_threshold.hh | 2 -
scribo/scribo/binarization/otsu_threshold.hh | 2 -
scribo/scribo/binarization/sauvola_threshold.hh | 2 -
.../primitive/extract/horizontal_separators.hh | 6 +-
.../scribo/primitive/extract/lines_discontinued.hh | 6 +-
.../primitive/extract/lines_h_discontinued.hh | 6 +-
scribo/scribo/primitive/extract/lines_h_pattern.hh | 3 +-
scribo/scribo/primitive/extract/lines_h_single.hh | 6 +-
scribo/scribo/primitive/extract/lines_h_thick.hh | 5 +-
.../primitive/extract/lines_h_thick_and_single.hh | 4 +-
.../primitive/extract/lines_h_thick_and_thin.hh | 6 +-
scribo/scribo/primitive/extract/lines_pattern.hh | 25 +-
scribo/scribo/primitive/extract/lines_thick.hh | 8 +-
.../primitive/extract/lines_v_discontinued.hh | 10 +-
scribo/scribo/primitive/extract/lines_v_pattern.hh | 22 +-
scribo/scribo/primitive/extract/lines_v_single.hh | 6 +-
scribo/scribo/primitive/extract/lines_v_thick.hh | 10 +-
.../primitive/extract/lines_v_thick_and_single.hh | 4 +-
scribo/scribo/primitive/extract/separators.hh | 10 +-
.../primitive/extract/separators_nonvisible.hh | 12 +-
.../primitive/extract/vertical_separators.hh | 9 +-
scribo/scribo/subsampling/integral_single_image.hh | 20 +-
scribo/scribo/text/extract_lines.hh | 26 +-
scribo/scribo/text/extract_lines_with_features.hh | 27 +-
scribo/scribo/text/extract_lines_wo_merge.hh | 33 ++-
scribo/scribo/text/extract_paragraphs.hh | 13 +-
scribo/scribo/text/extract_paragraphs_hdoc.hh | 7 +-
scribo/scribo/text/link_lines.hh | 6 +-
scribo/scribo/text/merging.hh | 26 +-
scribo/scribo/text/merging_hdoc.hh | 27 +-
scribo/scribo/text/recognition.hh | 32 +-
scribo/src/Makefile.am | 1 -
scribo/src/debug/show_lines_boldness.cc | 27 +-
329 files changed, 4249 insertions(+), 1814 deletions(-)
delete mode 100644 doc/license.dox
delete mode 100644 doc/license_commercial.dox
create mode 100644 doc/licensing.dox
create mode 100644 doc/supported_platforms.dox
delete mode 100644 milena/doc/groups/accu.dox
delete mode 100644 milena/doc/groups/images.dox
delete mode 100644 milena/doc/groups/main.dox
delete mode 100644 milena/doc/groups/neighb.dox
create mode 100644 milena/doc/mln/accu/accu.dox
create mode 100644 milena/doc/mln/canvas/canvas.dox
create mode 100644 milena/doc/mln/core/image/concrete.dox
create mode 100644 milena/doc/mln/core/image/domain_morpher.dox
create mode 100644 milena/doc/mln/core/image/identity_morpher.dox
create mode 100644 milena/doc/mln/core/image/images.dox
create mode 100644 milena/doc/mln/core/image/morphers.dox
create mode 100644 milena/doc/mln/core/image/value_morpher.dox
create mode 100644 milena/doc/mln/core/neighb.dox
rename milena/doc/{groups => mln/core/site_set}/site_set.dox (100%)
create mode 100644 milena/doc/mln/data/data.dox
create mode 100644 milena/doc/mln/io/io.dox
create mode 100644 milena/doc/mln/main.dox
create mode 100644 milena/doc/mln/morpho/morpho.dox
rename milena/doc/{groups => mln/util}/graph.dox (100%)
rename milena/doc/{groups => mln/util}/util.dox (100%)
rename milena/doc/{groups => mln/win}/win.dox (100%)
create mode 100644 milena/mln/fun/v2v/round.hh
create mode 100644 milena/mln/fun/v2v/round_sat.hh
create mode 100644 milena/mln/linear/#ch_convolve.hh#
create mode 120000 milena/mln/linear/.#ch_convolve.hh
create mode 100644 scribo/doc/scribo/primitive/extract/separators.dox
create mode 100644 scribo/doc/scribo/text/ocr.dox
create mode 100644 scribo/doc/scribo/text/text.dox
hooks/post-receive
--
Olena, a generic and efficient image processing platform
1
0

olena-2.0-97-g9f23643 src/debug/show_lines_boldness.cc: Use mln::math::round as a function.
by Guillaume Lazzara 27 Feb '12
by Guillaume Lazzara 27 Feb '12
27 Feb '12
---
scribo/ChangeLog | 5 +++++
scribo/src/debug/show_lines_boldness.cc | 27 ++++++++++++++++-----------
2 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/scribo/ChangeLog b/scribo/ChangeLog
index 9bb6125..e8364b3 100644
--- a/scribo/ChangeLog
+++ b/scribo/ChangeLog
@@ -1,5 +1,10 @@
2012-02-27 Guillaume Lazzara <z(a)lrde.epita.fr>
+ * src/debug/show_lines_boldness.cc: Use mln::math::round as a
+ function.
+
+2012-02-27 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Define new documentation groups.
* doc/scribo/primitive/extract/separators.dox,
diff --git a/scribo/src/debug/show_lines_boldness.cc b/scribo/src/debug/show_lines_boldness.cc
index eec473a..a49d0e1 100644
--- a/scribo/src/debug/show_lines_boldness.cc
+++ b/scribo/src/debug/show_lines_boldness.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2011 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2011, 2012 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -33,6 +34,7 @@
#include <mln/core/image/dmorph/image_if.hh>
#include <mln/data/convert.hh>
#include <mln/literal/colors.hh>
+#include <mln/math/round.hh>
#include <scribo/debug/usage.hh>
@@ -72,6 +74,7 @@ int main(int argc, char* argv[])
std::string prefix = argv[2];
typedef image2d<scribo::def::lbl_type> L;
+ typedef value::int_u8 V;
// Extract lines
line_set<L>
@@ -79,11 +82,9 @@ int main(int argc, char* argv[])
data::convert(value::rgb8(), input), input, c8());
const component_set<L>& comp_set = lines.components();
- mln::math::round<unsigned> round;
-
// Min boldness / line
{
- image2d<value::int_u8> min_boldness;
+ image2d<V> min_boldness;
initialize(min_boldness, input);
data::fill(min_boldness, 0);
@@ -105,7 +106,8 @@ int main(int argc, char* argv[])
{
unsigned id = lines(l).component_ids()(cid);
data::fill(((min_boldness | comp_set(id).bbox()).rw()
- | (pw::value(comp_set.labeled_image()) == pw::cst(id))).rw(), round(min));
+ | (pw::value(comp_set.labeled_image()) == pw::cst(id))).rw(),
+ mln::math::round<V>(min));
}
}
@@ -115,7 +117,7 @@ int main(int argc, char* argv[])
// Max boldness / line
{
- image2d<value::int_u8> max_boldness;
+ image2d<V> max_boldness;
initialize(max_boldness, input);
data::fill(max_boldness, 0);
@@ -137,7 +139,8 @@ int main(int argc, char* argv[])
{
unsigned id = lines(l).component_ids()(cid);
data::fill(((max_boldness | comp_set(id).bbox()).rw()
- | (pw::value(comp_set.labeled_image()) == pw::cst(id))).rw(), round(max));
+ | (pw::value(comp_set.labeled_image()) == pw::cst(id))).rw(),
+ mln::math::round<V>(max));
}
}
@@ -148,7 +151,7 @@ int main(int argc, char* argv[])
// Mean boldness / line
{
- image2d<value::int_u8> min_boldness;
+ image2d<V> min_boldness;
initialize(min_boldness, input);
data::fill(min_boldness, 0);
@@ -160,7 +163,8 @@ int main(int argc, char* argv[])
{
unsigned id = lines(l).component_ids()(cid);
data::fill(((min_boldness | comp_set(id).bbox()).rw()
- | (pw::value(comp_set.labeled_image()) == pw::cst(id))).rw(), round(lines(l).boldness()));
+ | (pw::value(comp_set.labeled_image()) == pw::cst(id))).rw(),
+ mln::math::round<V>(lines(l).boldness()));
}
}
@@ -170,7 +174,7 @@ int main(int argc, char* argv[])
// Stddev boldness / line
{
- image2d<value::int_u8> min_boldness;
+ image2d<V> min_boldness;
initialize(min_boldness, input);
data::fill(min_boldness, 0);
@@ -182,7 +186,8 @@ int main(int argc, char* argv[])
{
unsigned id = lines(l).component_ids()(cid);
data::fill(((min_boldness | comp_set(id).bbox()).rw()
- | (pw::value(comp_set.labeled_image()) == pw::cst(id))).rw(), round(lines(l).boldness_reliability()));
+ | (pw::value(comp_set.labeled_image()) == pw::cst(id))).rw(),
+ mln::math::round<V>(lines(l).boldness_reliability()));
}
}
--
1.7.2.5
1
0