Retour

Suivi volumétrique de tumeur cérébrale (VTK/ITK)

Application interactive en Python développée avec ITK et VTK permettant d'aligner deux scans IRM multi-temporels (recalage 3D) et de segmenter automatiquement la tumeur pour suivre son évolution volumétrique.

29 juin 2026
Suivi volumétrique de tumeur cérébrale (VTK/ITK)
PythonITKVTKPyQt6Medical Imaging3D Visualization

Introduction

Ce projet de traitement d'images médicales a été réalisé dans le cadre du cours "VTK/ITK" enseigné dans la majeure Image et vise à suivre l'évolution temporelle d'une tumeur cérébrale (gliome) à partir de deux scans IRM 3D effectués sur un même patient à des dates différentes.

Il a été entièrement développé en Python avec les bibliothèques ITK (Insight Toolkit) pour les algorithmes de traitement, VTK (Visualization Toolkit) pour le rendu 3D, et PyQt6 pour l'interface graphique.

1. Recalage 3D (Registration)

Le recalage permet d'aligner l'image acquise à la seconde date (image mobile) sur le repère spatial du premier scan (image fixe) afin de pouvoir comparer la tumeur de manière géométrique.

Nous avons implémenté trois modèles de déformation pour le recalage, chacun adapté à différents types de mouvements et de déformations du cerveau entre les deux scans.

  • Rigide (6 DDL) : C'est le modèle le plus physique et stable pour aligner la boîte crânienne solide du patient d'une session à l'autre.
  • Affine (12 DDL) : Permet de compenser les différences globales d'échelle et de cisaillement induites par le scanner (dérive ou calibration).
  • B-Spline (Déformations locales non-linéaires) : Permet de modéliser les déformations locales des tissus cérébraux (croissance tumorale, œdème) à l'aide d'une grille de points de contrôle. Nous pensions qu'il améliorerait la précision du recalage, mais il a été constaté que le recalage rigide était suffisant pour ce cas clinique particulier.

2. Segmentation et Calcul de Volume

La segmentation permet d'isoler la tumeur tridimensionnelle pour mesurer son volume physique. L'application propose deux approches distinctes :

Approche Semi-automatique

L'utilisateur peut placer une graine (seed) à l'intérieur de la tumeur. Les paramètres optimisés par défaut utilisent un multiplicateur de variance de 2.3 sur 2 itérations, avec un rayon initial de 1 voxel.

Approche Automatique (Pipeline d'Analyse de Forme)

  1. Seuillage Multi-Otsu : Découpage de l'image en 4 classes d'intensité pour isoler les voxels hyper-intenses de la tumeur.
  2. Ouverture Morphologique : Utilisation d'un élément structurant sphérique de rayon 2 pour nettoyer le bruit, détacher les structures satellites et lisser les contours.
  3. Analyse de Composantes Connexes : Labellisation des zones segmentées pour identifier les régions distinctes et calculer leurs volumes respectifs.
  4. Filtrage Géométrique : Calcul de la solidité (rapport entre le nombre de voxels de la forme et le volume de son enveloppe englobante) de chaque région. La région de plus de 500 voxels présentant la plus forte compacité est automatiquement classée comme la tumeur cérébrale.

Calcul de l'évolution volumétrique

Le volume physique final est obtenu en multipliant le nombre total de voxels segmentés par le volume physique d'un voxel unique (calculé via le "Spacing" tridimensionnel extrait des métadonnées de l'image ITK).


3. Interface Graphique et Visualisation 3D (PyQt6 + VTK)

L'idée de l'interface est de pouvoir jouer avec les deux scans IRM et leurs segmentations respectives pour visualiser la tumeur dans l'espace 3D et suivre son évolution, mais en permettant surtout de visualiser les différentes méthodes de recalage et de segmentation pour comparer leurs performances.

Interface utilisateur PyQt6 / VTK de l'application
Interface utilisateur PyQt6 / VTK de l'application

4. Analyse et Observations Cliniques

Même si je suis loin d'être un expert médical, il est intéressant de noter que le recalage rigide a été suffisant pour ce cas clinique particulier. Cela suggère que la tumeur n'a pas provoqué de déformations significatives du cerveau entre les deux scans, ce qui est un point positif pour le suivi du patient.

D'un point de vue médical, il est aussi assez évident de constater que la tumeur a grossi entre les deux scans, ce qui est cohérent avec l'évolution attendue d'un gliome !