LRDE Seminar, 25 Sep 2002, EPITA, Amphi 1
Most, if not all, of the efforts developped in the LRDE aims at producing an efficient image processing library: Olena. Olena is written in C++, which makes it possible to add some syntactic sugar:
13h30 (45mn) Astrid Wang?, on User-friendly and secure initializations in C++
There are many ways of initializing aggregate types in C++.
But they are often inconvenient to use, for some reasons:
- their syntax is not really user-friendly
- they are not quite safe, allowing the user to make some big mistakes during initialization without the compiler to warn
- they do not allow extra information to be added to the initializer.
Furthermore, when doing static programming, wanted values may be known at compile-time already, so it would be nice to initialize them at declaration-time.
There don't seem to be any statisfying built-in syntax to initialize those complex types statically.
This presentation will first give a brief overview of what exists
in C++ to initialize complex types.
Then, it will provide a user-friendly way of inputting initialization values by using comma overloading, paying a special attention to static checks.
Finally, it will present how this last method allows adding extra information to the initializer, and how it was used within the project "Olena".
It is also possible to improve the basic data types (integers etc.):
14h15 (45mn) Nicolas Burrus?, on safe and efficient data types in C++
Using C++ builtins types is very unsafe, they don't have overflow checking and are too weak typed. Using intensive meta programming, it becomes possible to design safe datatypes without heavy runtime overhead. The following topics will be discussed :
- Overview of Vigra, Octave and old Olena data types and their limitations.
- New data types : goals and features.
- Implementation's overview, interesting C++ technical points : "intelligent" function template overloading, parent class determination.
- Limitations and future work.
Unfortunately, in spite of the possible syntactic sugaring, programming high performance generic C++ remains a difficult, unpleasant, and very error prone task. Some promising approach seems to be enriching the C++ with additional constructs, which we pre-compile (or pre-process) into valid --but horrid-- C++. This requires highly advanced program transformation tools.
15h00 (45mn) Nicolas Tisserand?, on Tools for C++ programs transformations
C++ meta-programming has been LRDE's main interest for several years.
Experience has shown that developing efficient generic C++ libraries
is made difficult by the high level of obfuscation suffered
by the C++ code used in them.
There is a need for automatic C++ program transformation tools that
could bridge the gap between C++ static genericity and human readability.
But building such programs with a general purpose language is a huge amount of work. We show here the benefits of using dedicated meta-tools for C++ program
transformations : the XT tools.
We first take a look a the problems stated by our needs, then present the XT bundle of tools and its inherent concepts, show some sample transformations
and finish by taking a look at our future work.
Finally, in the long tradition of the LRDE, some research on image processing.
15h45 (1h) Quôc Peyrot?, on Pattern recognition: restoration of old film using morphological operators.
- Morphological operators
- Different cases of restoration
- Implementation using Olena
Cinema is often considered as the eleventh art. Since the invention of
``Lumière Cinematograph´´ in 1895 by Lumière brothers, many motion
pictures have been made. A lot was destroyed, others very damaged
due to the short life span of films used and their conditions
continues to deteriorate. Thus it is urgent to restore and preserve
this cultural inheritance.
The main drawback of the classical approach is they are
time-consuming and money-consuming: each picture has to be restored
separatly and in a manual manner. With the growing of computer power
and image processing, computers are more and more used in motion
pictures restoration.
In this paper we present some methods to detect and restorate artifacts
using morphological mathematics. The language used for the
implemention will be C++, morphological mathematics and image
manipulation will be provide by Olena, an generic image processing C++
library from EPITA Research & Development Laboratory (LRDE).
16h45 (45min) Benoit Perrot and Sylvain Berlemont?, on Statistical methods for image processing
- Probabilistic model
- Markov Random Fields
- Potts model
- Factorial discriminant analysis
- Overview of the article : (IEEE) "A simple unsupervised MRF model based image segmentation approach" (A.Sarkar, K.Biswas, KMS Sharma)
Segmentation can be defined as the process of partitionning an image into some distinct regions. Each of such region is homogeneous with respect to the characteristics measured such as intensity, color, etc. No two such regions are similar with respect to these characteristics.
We present a simple technique to obtain optimal segmentation based
on statistical characteristics of an image using Markov random field (MRF) model. The technique takes an initially over-segmented image as well as the original image as inputs and defines an MRF over the region adjacency graph (RAG) of the initially segmented regions.
The essence of this approach is primarily based on quantitative value
(variance, mean) on regions and consequently deciding upon action of merging neighboring regions using factorial discriminant analysis.
Reports and Slides
Reports and Slides are available from their own pages.
Reports

Astrid Wang.
User-friendly and secure initializations in C++.
CSI Seminar 0216 September 2002

Nicolas Tisserand.
Tools for C++ programs transformations.
CSI Seminar 0213 September 2002

Quôc Peyrot.
Restoration of Old Films Using Morphological Operators.
CSI Seminar September 2002

Nicolas Burrus.
Safe and efficient data types in C++.
CSI Seminar 0212 September 2002
Slides

Astrid Wang.
User-friendly and secure initializations in C++.
CSI Seminar Septembre 2002

Nicolas Tisserand.
Tools for C++ programs transformations.
CSI Seminar Septembre 2002

Quôc Peyrot.
Restoration of Old Films Using Morphological Operators.
CSI Seminar Septembre 2002

Nicolas Burrus.
Safe and efficient data types in C++.
CSI Seminar Septembre 2002
to top