Processing

Au cours de mon stage de fin de DUT effectué à l'ISIT (Institut des Sciences de l'Image pour les Techniques interventionnelles), j'ai eu à réaliser une application de traitement d'images 3D (images de scanner).

Plus spécifiquement, les traitements mis au point visent à extraire de l'image des informations spécifiques liées à une pathologie cardiovasculaire, la dissection aortique. Ce projet a été réalisé dans un cadre de recherche, l'objectif final étant de fournir aux médecins (chirurgiens) d'avantages d'informations sur « l'étendue » de la dissection aortique d'un patient atteint d'une telle pathologie.

Au vu du cahier des charges du projet (traitement lourd d'images 3D), le développement a été réalisé en C++ (norme 2011), en utilisant les bibliothèques ITK et Qt.

Détails du projet

Dans le cadre du projet, divers traitements d'images ont été mis en œuvres pour parvenir aux résultats recherchés :
 - une segmentation par croissance de régions, permettant d'obtenir une image binaire de l'aorte qui est nécessaire à l'utilisation de nombreux autres algorithmes,
- des algorithmes de squelettisation qui consistent à réduire un objet en un ensemble de courbes, tout en préservant ses propriétés topologiques,
- des algorithmes de bouchage de trous, qui font là encore intervenir des notions de topologie,
- divers autres algorithmes, tels que des opérateurs de morphologies mathématiques.


L'intérêt du projet

La manipulation d'images en 3 dimensions rajoute une certaine difficulté supplémentaire. Par exemple, les (nombreux) traitements qui font intervenir le voisinage d'un point dans leur algorithme doivent considérer 26 points en 3D contre « seulement » 8 points en 2D, ce qui a un coût non négligeable à l'exécution. De plus, les images traitées sont relativement volumineuses puisque qu'elles comportent généralement entre 100 et 150 millions de points).
Cela nécessite donc de réfléchir à la manière la plus adaptée pour implémenter un algorithme, en évitant de dégrader inutilement les performances.
Les traitements implémentés restant toutefois à un stade de recherche, il s'avère inutile d'optimiser les implémentations de manière excessive. Il faut alors trouver le juste milieu.


Note : Cette présentation se veut à la fois simple et générale. Pour cette raison, les notions médicales ne sont pas détaillées et les traitements évoqués ne sont que brièvement présentés (ces derniers étant parfois un peu complexes, un article beaucoup plus long serait nécessaire pour tous les expliquer).