Vers une architecture logicielle pour le traitement d'images générique
Auteur / Autrice : | Roland Levillain |
Direction : | Laurent Najman |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 15/11/2011 |
Etablissement(s) : | Paris Est |
Ecole(s) doctorale(s) : | École doctorale Mathématiques, Sciences et Technologies de l'Information et de la Communication (Champs-sur-Marne, Seine-et-Marne ; 2010-....) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire d'informatique de l'Institut Gaspard Monge (1997-2009) |
Jury : | Président / Présidente : Karl Tombre |
Examinateurs / Examinatrices : Laurent Najman, Étienne Decencière, Gilles Roussel, Thierry Géraud | |
Rapporteur / Rapporteuse : Jacques-Olivier Lachaud, David Coeurjolly, Ulrich Köthe |
Mots clés
Résumé
Dans le cadre du génie logiciel en traitement d'images (TDI), nous nous intéressons à la notion de réutilisabilité des algorithmes. Dans de nombreux outils logiciels, l'implémentation d'un algorithme est souvent dépendante du type des données traitées. Au sens le plus général, les formes que peuvent prendre les images numériques discrètes sont nombreuses (image 2D classiques, volumes 3D, graphes non réguliers, complexes cellulaires, etc.) conduisant à une explosion combinatoire du nombre théorique d'implémentations. La programmation générique (PG) est un cadre adapté au développement d'outils logiciels réutilisables. Nous présentons un paradigme de programmation basé sur la PG conçu pour la création de logiciels scientifiques tels ceux dédiés au TDI. Cette approche concilie réutilisabilité, puissance d'expression, extensibilité et performance. Nous proposons ensuite une architecture logicielle pour le TDI basée sur ce paradigme de programmation, s'appuyant sur une bibliothèque générique de TDI. Les fondations de ce cadre définissent des concepts fondamentaux du TDI, qui permettent l'écriture d'algorithmes réutilisables sur de nombreux types d'images. Nous présentons enfin une stratégie pour construire des outils haut niveau au dessus de cette bibliothèque tels que des ponts vers des langages dynamiques ou des interfaces graphiques. Ce mécanisme est conçu pour préserver la généricité et la performance des outils logiciels sous-jacents, tout en permettant un usage plus simple et plus flexible de ceux-ci