Le développement d’outils de recalage spatial robustes est essentiel pour soutenir l’analyse longitudinale du développement cérébral pendant la période critique de myélinisation rapide chez l’enfant (0–12 mois).
Ce projet vise à développer et valider un pipeline générique pour le recalage longitudinal d’IRM T1 pondérées (T1w) acquises à différents âges. L’évaluation de la robustesse du pipeline repose sur la comparaison des segmentations cérébrales produites avec SynthSeg, un modèle d’apprentissage profond indépendant du contraste.
Le pipeline permet de traiter plusieurs sujets, chacun scanné à différents temps (ex: 3, 6, 10 mois), et propose trois niveaux de recalage :
- Recalage rigide
- Recalage rigide + affine
- Recalage non-linéaire (SyN)
Les scripts présentés ici sont pour le sujet 879509, mais il ne suffit que de remplacer le numéro du patient, les paires d'âges correspondantes, ainsi que les chemins d'accès dans les scripts afin de les adapter.
python rig_only.py # Recalage rigide
python rig_aff.py # Recalage rigide + affine + champ
python reg_nonlin.py # Recalage non-linéaire SyN
python apply_nonlin.py # Application des champs SyN
bash seg_orig.sh # Sur images originales
bash seg_rig.sh # Sur images rigides (_rigid_Warped)
bash seg_rigaff.sh # Sur images rigide+affine (_Warped)
bash seg_nonlin.sh # Sur images non-linéaires (_syn_Warped)
python align_rig_aff_seg.py # Appliquer matrice rigide/affine aux segmentations SynthSeg originales
python align_nonlin_seg.py # Appliquer champ SyN sur les segmentations alignées
python dice_base.py # Dice entre segmentation rig_aff directe vs transformée
python dice_nonlin.py # Dice entre segmentation nonlin directe vs transformée
python graph_vol.py # Volume par structure pour natif, rigide, affine, non-linéaire
python graph_dice.py # Comparaison Dice global rigide/affine vs non-linéaire
- Les scores de Dice par label et les volumes segmentés sont extraits pour chaque méthode.
- Résultats sauvegardés dans
sub-879509/
:dice_scores_by_label.csv
etdice_scores_nonlin_by_label.csv
comparaison_dice_scores_global.png
: barplot résumécomparaison_volumes_synthseg_quatre_niveaux.csv
volumes_*.png
: courbes de volumes par groupe
- Python ≥ 3.7
- Packages :
numpy
,scipy
,pandas
,nibabel
,matplotlib
- Outils externes :
Camille Lortie
Projet réalisé dans le cadre du cours GBM3100 – Projet individuel en génie biomédical, hiver 2025
Polytechnique Montréal# infant-longitudinal-registration