Le schéma suivant résume les différentes étapes pour l'obtention des vérités-terrain pour entraîner le modèle de segmentation de la moelle épinière contrast-agnostic qui permet une couverture adéquate de la région de la vertèbre C1.
- Spinal Cord Toolbox (version 6.4 ou plus)
- Python (version 3.9 ou plus)
La banque de données utilisée dans le cadre de ce projet est Spine Generic Public Database (Multi Subject) https://github.com/spine-generic/data-multi-subject/
- Calculer où se rendent les segmentations vérité terrain de contrast-agnostic par rapport au label de C1: seg_vs_label.py
python creer_GT/seg_vs_label.py \
-segmentation_regex regex_des_segmentations \
-labels_regex regex_des_labels \
-d_seg chemin/vers/les/segmentations \
-d_label chemin/vers/les/labels \
-seg_method NomMethode
- Vérifier quelles segmentations GT ont besoin d'être modifiées afin d'aller plus haut: analyse_seg_vs_label.py
python creer_GT/analyse_gt_propseg.py \
-f chemin/CSV/sortie/de/seg_vs_label \
-o chemin/de/sortie/désiré
- Créer une segmentation propseg avec des paramètres différents selon jusqu'où se rend la segmentation avec les paramètres par défaut: modification_propseg.py
python creer_GT/modification_propseg.py \
-f chemin/CSV/sortie/de/analyse_seg_vs_label \
-o chemin/de/sortie/désiré \
- Calculer un facteur d'échelle entre la segmentation vérité terrain de contrast-agnostic et la segmentation propseg: calcul_facteurs_echelle.sh
bash creer_GT/calcul_facteur_echelle.sh
- Appliquer ce facteur d'échelle à la segmentation propseg: aplliquer_facteur_echelle.py
python creer_GT/appliquer_facteur_echelle.py
- Fusionner les segmentations propseg et vérité terrain de contrast-agnostic: fusion_seg.sh
bash creer_GT/fusion_seg.sh
- Couper la segmentation si elle se rend trop haut: crop_above_C1.sh
bash creer_GT/crop_above_C1.sh
- Faire des rapports de contrôle de qualité: qc_fusion_all.sh
bash creer_GT/qc_fusion_all.sh
- Créer un fichier YAML avec les sujets ayant passé le contrôle de qualité
- Créer un datasplit avec ces sujets: train, val, test
Le protocole suivi pour l'entraînement est celui provenant de ce dépôt: https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord
- Calcul des Dice scores: compute_dice_scores.py
python analyser_segmentation_test/compute_dice_scores.py
- Calcul du pourcentage de couverture de C1: couverture_C1.py
python analyser_segmentation_test/couverture_C1.py