Web Analytics

BrLP

⭐ 115 stars French by LemuelPuglisi

brlp

Paper PDF Paper PDF Video

Amélioration des modèles spatiotemporels de progression des maladies via la diffusion latente et les connaissances a priori

Lemuel Puglisi, Daniel C. Alexander, Daniele Ravì

https://github.com/user-attachments/assets/28ad3693-5e3e-4f6e-9bbc-485424fbbee2

InstallationEntraînementApplication CLICiter

NOUVELLES

🎉 Notre article de prolongation a été accepté pour publication dans Medical Image Analysis (IF=11.8*)

Table des matières

Installation

Téléchargez le dépôt, faites un cd dans le dossier du projet et installez le paquet brlp :

pip install -e .
Nous recommandons d'utiliser un environnement séparé (voir Anaconda). Le code a été testé avec python 3.9, cependant nous pensons qu'il fonctionnera également avec des versions plus récentes.

Préparation des données

Consultez notre document sur la Préparation des données et reproductibilité de l'étude. Ce fichier vous guidera dans l'organisation de vos données et la création des fichiers CSV nécessaires pour exécuter les pipelines d'entraînement.

Entraînement

L'entraînement de BrLP comporte 3 phases principales qui seront décrites dans les sections suivantes. Chaque entraînement (sauf pour le modèle auxiliaire) peut être suivi à l'aide de tensorboard comme suit :

tensorboard --logdir runs

Train the autoencoder

Follow the commands below to train the autoencoder.

# Create an output and a cache directory
mkdir ae_output ae_cache

Run the training script

python scripts/training/train_autoencoder.py \ --dataset_csv /path/to/A.csv \ --cache_dir ./ae_cache \ --output_dir ./ae_output

Puis extrayez les latents de vos données IRM :

python scripts/prepare/extract_latents.py \
  --dataset_csv /path/to/A.csv \
  --aekl_ckpt   ae_output/autoencoder-ep-XXX.pth

Remplacez XXX pour sélectionner les points de contrôle de l'autoencodeur de votre choix.

Entraînez le UNet

Suivez les commandes ci-dessous pour entraîner le UNet de diffusion. Remplacez XXX pour sélectionner les points de contrôle de l'autoencodeur de votre choix.

# Create an output and a cache directory:
mkdir unet_output unet_cache

Run the training script

python scripts/training/train_diffusion_unet.py \ --dataset_csv /path/to/A.csv \ --cache_dir unet_cache \ --output_dir unet_output \ --aekl_ckpt ae_output/autoencoder-ep-XXX.pth

Entraînez le ControlNet

Suivez les commandes ci-dessous pour entraîner le ControlNet. Remplacez XXX pour sélectionner les points de contrôle de l'autoencodeur et de l'UNet de votre choix.

# Create an output and a cache directory:
mkdir cnet_output cnet_cache

Run the training script

python scripts/training/train_controlnet.py \ --dataset_csv /path/to/B.csv \ --cache_dir unet_cache \ --output_dir unet_output \ --aekl_ckpt ae_output/autoencoder-ep-XXX.pth \ --diff_ckpt unet_output/unet-ep-XXX.pth

Modèles auxiliaires

Suivez les commandes ci-dessous pour entraîner le modèle auxiliaire DCM.

# Create an output directory
mkdir aux_output

Run the training script

python scripts/training/train_aux.py \ --dataset_csv /path/to/A.csv \ --output_path aux_output

Nous soulignons que tout modèle de progression de maladie capable de prédire les changements volumétriques au fil du temps est également viable en tant que modèle auxiliaire pour BrLP.

Inférence

Notre package est livré avec une commande brlp pour utiliser BrLP pour l'inférence. Vérifiez :

brlp --help
Le paramètre --input requiert un fichier CSV dans lequel vous listez toutes les données disponibles pour vos sujets. Pour un exemple, consultez examples/input.example.csv. Si vous n'avez pas segmenté vos scans d'entrée, brlp peut effectuer cette tâche pour vous en utilisant SynthSeg, mais cela nécessite que FreeSurfer >= 7.4 soit installé. Le paramètre --confs spécifie les chemins vers les modèles et autres paramètres d'inférence, tels que LAS $m$. Pour un exemple, consultez examples/confs.example.yaml.

L'exécution du programme se présente ainsi :

inference-preview

Modèles pré-entraînés

Téléchargez les modèles pré-entraînés pour BrLP :

| Modèle | URL des poids | | ---------------------- | ------------------------------------------------------------ | | Autoencodeur | lien | | Modèle de diffusion UNet | lien | | ControlNet | lien | | Modèles auxiliaires (DCM) | lien |

Remerciements

Nous remercions les mainteneurs des bibliothèques open-source pour leurs contributions à l'accélération du processus de recherche, avec une mention spéciale à MONAI et son extension GenerativeModels.

Citation

Medical Image Analysis :

@article{puglisi2025brain,
  title={Brain latent progression: Individual-based spatiotemporal disease progression on 3D brain MRIs via latent diffusion},
  author={Puglisi, Lemuel and Alexander, Daniel C and Rav{\\i}, Daniele},
  journal={Medical Image Analysis},
  year={2025}
}

Actes de MICCAI 2024 :

@inproceedings{puglisi2024enhancing,
  title={Enhancing spatiotemporal disease progression models via latent diffusion and prior knowledge},
  author={Puglisi, Lemuel and Alexander, Daniel C and Rav{\\i}, Daniele},
  booktitle={International Conference on Medical Image Computing and Computer-Assisted Intervention},
  pages={173--183},
  year={2024},
  organization={Springer}
}
Actes de la conférence SPIE sur l’Imagerie Médicale 2025 :

@inproceedings{mcmaster2025technical,
  title={A technical assessment of latent diffusion for Alzheimer's disease progression},
  author={McMaster, Elyssa and Puglisi, Lemuel and Gao, Chenyu and Krishnan, Aravind R and Saunders, Adam M and Ravi, Daniele and Beason-Held, Lori L and Resnick, Susan M and Zuo, Lianrui and Moyer, Daniel and others},
  booktitle={Medical Imaging 2025: Image Processing},
  volume={13406},
  pages={505--513},
  year={2025},
  organization={SPIE}
}

--- Tranlated By Open Ai Tx | Last indexed: 2026-01-20 ---