Skip to topic | Skip to bottom
Home
Publications
Publications.Seminar-2002-09-25r1.12 - 07 Jul 2003 - 11:55 - AstridWang?topic end

Start of topic | Skip to actions

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

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

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

Image processing/Pattern recognition Quôc Peyrot. Restoration of Old Films Using Morphological Operators. CSI Seminar September 2002

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

Slides

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

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

Image processing/Pattern recognition Quôc Peyrot. Restoration of Old Films Using Morphological Operators. CSI Seminar Septembre 2002

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


You are here: Publications > Seminar > Seminar-2002-09-25

to top

Copyright © 1999-2010 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback