Method Article

PyDesigner v1.0 : une implémentation pythonique du pipeline DESIGNER pour l’imagerie par résonance magnétique de diffusion

DOI:

10.3791/66397

May 17th, 2024

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Nous présentons ici PyDesigner, un pipeline de traitement d’imagerie par résonance magnétique de diffusion (IRMd) basé sur Python, capable de corriger les artefacts typiques de l’IRMd et de produire des sorties d’imagerie du tenseur de diffusion (DTI), d’imagerie d’aplatissement de diffusion (DKI), d’imagerie de bille de fibre (FBI), de modélisation de la microstructure (intégrité de la substance blanche [WMTI] et matière blanche de la boule de fibre [FBWM]) et de sorties.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

PyDesigner est un progiciel basé sur Python basé sur le pipeline original DESIGNER (Dv1) pour le prétraitement de l’IRMd et l’estimation tensorielle. Ce logiciel est ouvertement fourni pour la recherche non commerciale et ne peut pas être utilisé pour des soins cliniques. PyDesigner combine des outils de FSL et MRtrix3 pour effectuer le débruitage, la correction de la résonance de Gibbs, la correction du mouvement par courants de Foucault, le masquage cérébral, le lissage de l’image et la correction du biais de Rician afin d’optimiser l’estimation de plusieurs mesures de diffusion. Il peut être utilisé sur toutes les plates-formes Windows, Mac et Linux pour dériver avec précision les métriques couramment utilisées à partir d’ensembles de données DKI, DTI, WMTI, FBI et FBWM, ainsi que d’ODF de tractographie et de fichiers .fib. Il est également indépendant du format de fichier, acceptant des entrées sous la forme des formats .nii, .nii.gz, .mif et dicom. Convivial et facile à installer, ce logiciel génère également des mesures de contrôle de la qualité illustrant les graphiques de rapport signal/bruit, les voxels aberrants et le mouvement de la tête pour évaluer l’intégrité des données. De plus, ce pipeline de traitement d’IRMd prend en charge le traitement de plusieurs ensembles de données d’écho-temps et permet de personnaliser le pipeline, ce qui permet à l’utilisateur de spécifier les processus utilisés et les sorties produites pour répondre à divers besoins des utilisateurs.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

L’IRM de diffusion (IRMd) est largement utilisée pour l’étude non invasive des propriétés microstructurelles du cerveau. Bien que de nombreuses méthodes d’IRMd aient été proposées, deux sont l’imagerie du tenseur de diffusion (DTI) et l’imagerie de l’aplatissement par diffusion (DKI). Ces techniques sont étroitement liées, la DKI étant une extension de la DTI qui inclut la quantification de la non-gaussianité diffusionnelle1. Les deux fournissent une variété de mesures de diffusion scalaire et permettent la construction d’une tractographie de fibre de matière blanche. Un avantage important du DTI et du DKI est qu’ils ont une base solide en physique de diffusion, de sorte que leur validité ne repose pas sur des hypothèses détaillées concernant la microstructure tissulaire 2,3. Cela permet à DTI et DKI d’être appliqués dans tout le cerveau et le corps pour les participants de tout âge et de tout état pathologique.

Étant donné que les images brutes pondérées en fonction de la diffusion (DWI) sont dégradées par de multiples facteurs, notamment le bruit du signal, le mouvement, la résonance de Gibbs et la distorsion par courants de Foucault, un prétraitement doit être utilisé avant le calcul de toute grandeur de diffusion4. Le prétraitement des DWI est un domaine de recherche actif qui est aujourd’hui très développé. Cependant, il est difficile de combiner les étapes de traitement nécessaires dans un seul pipeline qui donne des résultats cohérents, car plusieurs paramètres définis par l’utilisateur doivent être ajustés en fonction des détails de l’acquisition de l’IRMd et parce que l’ordre dans lequel les étapes de prétraitement sont effectuées affecte le résultat. Pour cette raison, le pipeline Diffusion parameter EStImation with Gibbs and NoisE Removal (DESIGNER, GitHub : NYU-DiffusionMRI/DESIGNER) a été initialement proposé en 2016 pour optimiser, standardiser et rationaliser le prétraitement des DWI5. DESIGNER Dv1 s’appuie sur des outils logiciels intégrés dans FSL, MRtrix3, MATLAB et Python pour créer un processus DWI transparent et complet, qui englobe la correction d’image par prétraitement et l’estimation du tenseur de diffusion/d’aplatissement5. Avec des indicateurs de contrôle pour activer ou désactiver les étapes de prétraitement, les corrections DWI peuvent être effectuées de manière sélective. DESIGNER prétraite dans un ordre spécifique - (i) analyse en composantes principales de Marchenko-Pastur (MP-PCA) débruitage6, (ii) correction de la résonance de Gibbs7, (iii) correction de distorsion de l’imagerie écho-planaire (EPI)8, correction des courants de Foucault9, correction de mouvement10 et remplacement des valeurs aberrantes11, (iv) correction du champ de polarisation B1, (v) génération de masque cérébral, (vi) lissage, (vii) correction de la distorsion du bruit de Rician et (viii) normalisation b0. Le prétraitement dans cet ordre spécifique améliore à la fois la précision et le rapport signal/bruit (SNR)5. Il convient de noter que chaque étape de PyDesigner est facultative et peut être utilisée ou ignorée en fonction des préférences de l’utilisateur. Le lissage, par exemple, peut ne pas être une étape de prétraitement nécessaire pour certains ensembles de données. Bien qu’il permette d’atténuer les erreurs de filtrage, il peut ne pas être nécessaire pour les jeux de données de très haute qualité. Ainsi, les utilisateurs peuvent choisir de n’utiliser que les étapes nécessaires pour leurs données.

La mise en œuvre de DESIGNER sur toutes les plates-formes est difficile en raison des différences entre les systèmes d’exploitation et les paramètres d’environnement. En particulier, le fait que DESIGNER Dv1 soit principalement écrit en MATLAB crée d’importants problèmes de portabilité découlant d’exigences de configuration complexes nécessaires pour permettre l’interfaçage Python-MATLAB. De plus, différentes combinaisons de versions MATLAB, Python et de dépendances compromettent la reproductibilité de ce pipeline. Pour cette raison, nous avons développé PyDesigner, qui est entièrement basé sur Python. Non seulement ce pipeline de traitement dMRI permet un prétraitement sans faille, mais il permet également d’incorporer le pipeline dans un conteneur Docker, ce qui améliore considérablement la portabilité et la reproductibilité. De plus, en remplaçant le code MATLAB, PyDesigner évite tous les frais de licence et améliore l’accessibilité.

Ce pipeline de traitement d’IRMd augmente l’approche mains libres introduite par DESIGNER, ajoute plusieurs nouvelles fonctionnalités et intègre des outils de FSL et MRtrix3 pour effectuer le prétraitement. Des bibliothèques mathématiques Python standard telles que Numpy12, SciPy13 et CVXPY14,15 ont été utilisées pour remplacer les parties MATLAB de DESIGNER par du code Python. Ce logiciel est ouvertement fourni et disponible sur Github16. L’objectif de cet article n’est pas de valider ou de comparer notre logiciel à des logiciels similaires, mais plutôt de donner aux utilisateurs un guide étape par étape pour le traitement de leurs données avec PyDesigner s’ils choisissent de le faire.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Toutes les données utilisées pour développer et tester le logiciel ont été recueillies dans le cadre d’un protocole d’étude approuvé par le comité d’examen institutionnel.

REMARQUE : PyDesigner a été construit sur MacOS 10.14 et nécessite un sous-système Windows pour Linux (WSL) pour s’exécuter sur Windows. Les mêmes commandes peuvent être utilisées pour les systèmes Linux/Mac.

1. Compatibilité avec le système d’exploitation

  1. Pour les systèmes Windows, suivez le lien pour installer WSL17 , puis passez à l’étape 2.6.
  2. Pour les systèmes basés sur Unix (tels que Linux et Mac), passez à la section 2.
    REMARQUE : Les systèmes basés sur Unix peuvent installer nativement PyDesigner et ses dépendances.

2. Installer FSL

REMARQUE : Tous les tests de PyDesigner ont été effectués avec la version 6.0.2 de FSL, et il est recommandé d’utiliser la version 6.0.2 ou supérieure.

  1. Allez sur le wiki FSL18 et sélectionnez Télécharger/Installer. Pour les utilisateurs de Windows, passez à l’étape 2.6.
  2. Choisissez Télécharger FSL sous l’en-tête Installation de FSL. Sélectionnez ensuite la licence du logiciel d’installation FSL, lisez le contrat, puis sélectionnez Accepter.
  3. Remplissez les champs obligatoires et sélectionnez S’inscrire.
  4. Choisissez le lien Télécharger FSL (premier lien sur la page). Sélectionnez ensuite le lien des instructions d’installation (deuxième lien sur la page). Suivez ces instructions pour télécharger le FSL pour chaque système d’exploitation.
    REMARQUE : L’installation de FSL prend environ 10 minutes.
  5. Pour vérifier que l’installation a réussi, entrez ce qui suit dans une nouvelle fenêtre de terminal :
    $ flirt -version . Cela devrait renvoyer le numéro de version. Passez à l’étape 3.
  6. Pour les utilisateurs de Windows, suivez le guide d’installation WSL pour FSL19.

3. Créez un environnement Conda

  1. Installez un package conda pour gérer les environnements Python. Les utilisateurs peuvent choisir entre Miniconda et Anaconda.
    1. Télécharger Miniconda/Anaconda20. Les utilisateurs de Mac et de Linux passent à l’étape 3.2.
    2. Pour Windows, configurez conda dans WSL21.
      REMARQUE : Les instructions suivantes s’appliquent à Miniconda, mais les mêmes commandes fonctionnent pour Anaconda. Bien que conda ne supporte plus Python 3.7, il est toujours possible de créer un environnement conda avec Python 3.7, ce qui permet à ce protocole d’être implémenté exactement comme décrit.
  2. Entrez ce qui suit dans le terminal pour créer l’environnement conda : $ conda create -n mri python=3.7. Utilisez cet environnement conda pour toutes les activités liées à PyDesigner.
    1. Lorsque vous êtes invité à entrer .Proceed ([y]/n)? y
      REMARQUE : l’indicateur -n : utilisez cette option pour indiquer le nom de l’environnement conda. Dans la vidéo, l’environnement conda est nommé mri.
      REMARQUE : python=: La version 3.7 est recommandée, car PyDesigner a été construit et testé sur cette version.

4. Installez MRtrix3

  1. Activez l’environnement conda en entrant la commande suivante : $ conda activate mri
  2. Ouvrez la page de téléchargement de MRtrix322 et suivez les instructions de téléchargement du système d’exploitation approprié. Le code d’installation vous demandera la confirmation de certaines dépendances. Entrez y pour continuer le processus de téléchargement.
    1. Imprimez la documentation MRtrix3 pour confirmer l’installation en saisissant les éléments suivants dans le terminal : $ mrinfo -h

5. Installer PyDesigner

  1. Ouvrez une nouvelle fenêtre de terminal et activez l’environnement conda en saisissant ce qui suit dans le terminal : $ conda activate mri
  2. Exécutez la commande : $ pip install PyDesigner-DWI
  3. Pour vérifier que l’installation a réussi, imprimez le numéro de version en saisissant ce qui suit dans le terminal : $ pydesigner -v
    1. Si l’erreur « module introuvable » apparaît, veuillez consulter la section Dépannage à la fin du protocole (section 10)
      NOTE : $ pydesigner -h imprimera la documentation d’aide qui explique les commandes et la syntaxe du logiciel. PyDesigner peut également être téléchargé via Github. Voir les instructions d’installation sur le site23.

6. Préparation des données

REMARQUE : PyDesigner fonctionne avec plusieurs types de fichiers tels que .nii, .nii.gz, .mif et DICOM. Dans la vidéo, les DICOM sont triés et convertis en NIfTI avant d’utiliser ce pipeline de traitement d’IRMd. Les fichiers NIfTI sont plus faciles à utiliser car ils sont anonymisés et il y a un fichier par séquence.

  1. Pour trier les DICOM, utilisez l’outil DicomSort24.
    REMARQUE : Tout autre outil de tri DICOM disponible qui accomplit la même tâche est autorisé.
  2. Après avoir trié les DICOM, convertissez-les en fichiers NIfTI à l’aide de dcm2niix25.
    1. Installez dcm2niix en entrant la commande suivante dans le terminal :
      $ sudo apt installdcm2niix
    2. Une fois téléchargé, tapez ce qui suit dans le terminal pour vérifier l’installation en imprimant la documentation pour dcm2nii : $ dcm2niix -h
  3. Pour exécuter dcm2niix, entrez la commande suivante dans le terminal :
    $ dcm2niix -f %s_%p_%d -o pathtosavefolder/ pathtorawdicoms/
    REMARQUE : -f : Pour spécifier la structure du nom de fichier pour le fichier de sortie, faites suivre cette balise de la structure de nom de fichier souhaitée. La vidéo utilise : -f %s_ %p_ %d . %s, %p et %d sont respectivement des notations pour la série, le numéro de protocole et la description. N’importe quelle structure de fichier fonctionnera. Les sorties attendues de dcm2niix sont les fichiers .bval, .bvec, .json et .nii. Si des données TOPUP ont été acquises, il y aura des fichiers TOPUP .json et .nii.

7. Utilisation de base de PyDesigner

REMARQUE : PyDesigner peut prendre jusqu’à 1,5 h pour un seul ensemble de données en fonction des paramètres de traitement et des capacités de l’ordinateur.

  1. Pour exécuter le traitement standard, utilisez l’indicateur -s ou -standard. Cette commande exécutera le pipeline de prétraitement recommandé dans l’ordre suivant : Débruitage6, correction de la sonnerie de Gibbs7, correction de la distorsion EPI8, correction du mouvement des courants de Foucault9, création de masques pour le cerveau et le liquide céphalo-rachidien (LCR), lissage, correction du biais de Rician, détection des valeurs aberrantes11, estimation du tenseur et création de cartes paramétriques.
  2. Pour exécuter la commande de base PyDesigner, activez d’abord l’environnement conda en entrant la commande suivante dans le terminal : $ conda activate mri
  3. Imprimez la documentation d’aide du logiciel en entrant la commande suivante : $ pydesigner -h. Cette documentation explique toutes les commandes et syntaxes possibles pour PyDesigner.
  4. Utilisez l’exemple suivant pour structurer la commande.
    $ pydesigner -s --verbose --rpe_pairs 1 -o ./output_folder/ ./input_folder/input1.nii ./input_folder/input2.nii
  5. Notez les indicateurs importants suivants :
    1. --verbose: Utilisez cette option pour afficher la console PyDesigner pendant qu’elle traite les données (non obligatoire).
    2. --rpe pairs #: Utilisez cette option pour permettre aux utilisateurs disposant d’une séquence TOPUP d’accélérer le processus de correction de distorsion EPI8 à l’aide de TOPUP. Le # fait référence au nombre de volumes B0 de la séquence TOPUP qui seront utilisés. L’utilisation de #=1 empêche la surestimation du champ de distorsion et réduit le temps nécessaire à la création de ce champ. Les utilisateurs ont régulièrement utilisé #=1 avec des résultats fiables. Lors de l’utilisation de #=1, PyDesigner prendra par défaut le premier volume.

8. Utilisation avancée de PyDesigner : adapter le logiciel aux besoins individuels des utilisateurs

REMARQUE : Lors de la personnalisation de PyDesigner, omettez l’indicateur -s ; cet indicateur est la commande de prétraitement automatique.

  1. Activez l’environnement conda en entrant la commande suivante dans le terminal : $ conda activate mri
  2. Consultez le site Webdu logiciel 23 pour une liste de drapeaux ; chaque indicateur permet à l’utilisateur d’exécuter chaque partie de PyDesigner individuellement.
  3. Structurez la commande. Commencez par les indicateurs pour chaque séquence que l’utilisateur souhaite effectuer. Ensuite, dirigez PyDesigner vers les fichiers d’entrée et de sortie. Par exemple:
    $ pydesigner flag1 flag2 flag3 -o ./output_folder/ ./input_folder/input1.nii
  4. Exemple 1 : Exécutez l’ajustement tensoriel seul (pas de prétraitement supplémentaire).
    1. Activez l’environnement conda en entrant la commande suivante dans le terminal : $ conda activate mri
    2. Consultez le site WebPyDesigner 23 pour une liste de drapeaux. Cet exemple utilise .-m
    3. -m: Ajoutez cet indicateur pour limiter l’ajustement tensoriel à l’intérieur des voxels du cerveau uniquement. Cela accélère l’ajustement tensoriel + la détection des valeurs aberrantes.
    4. Utilisez l’exemple suivant pour structurer la commande :
      $ pydesigner -m -o ./output_folder/ ./input_folder/input1.nii
      REMARQUE : L’entrée pour l’ajustement tensoriel est un fichier .nii prétraité.
  5. Exemple 2 : Exécuter le débruitage seul (pas de prétraitement supplémentaire).
    1. Activez l’environnement conda en saisissant les éléments suivants dans le terminal : $ conda activate mri
    2. Consultez le site WebPyDesigner 23 pour une liste de drapeaux. Cet exemple utilise .-n
    3. -n : Ajoutez cet indicateur pour terminer l’étape de débruitage. Entrez le fichier DWI précédemment prétraité étiqueté DWI_preproccessed.nii, qui se trouve dans le dossier de sortie de chaque sujet.
    4. Utilisez l’exemple suivant pour structurer la commande :
      $ pydesigner -n -o ./output_folder/ ./input_folder/input1.nii

9. Futures mises à jour de PyDesigner

REMARQUE : Les mises à jour peuvent être trouvées sur le site Web23.

  1. Pour mettre à jour PyDesigner, entrez ce qui suit dans une nouvelle fenêtre de terminal :
    $ pip install --upgrade PyDesigner-DWI
    REMARQUE : Si PyDesigner a été installé via Github16, il doit également être mis à jour à l’aide de git.

10. Dépannage de l’installation

  1. Lors du téléchargement de PyDesigner, le code d’erreur « module introuvable » apparaîtra s’il manque un module Python.
    1. Corrigez un module manquant en entrant ce qui suit dans le terminal :
      $ pip install nameofmodule
    2. Répétez ensuite la première commande d’installation en entrant ce qui suit dans le terminal : $ pip install PyDesigner-DWI
    3. PyDesigner devrait maintenant être entièrement installé. Veuillez revenir à l’étape 5.3. Si la même erreur se produit, répétez ce processus jusqu’à ce que tous les modules Python manquants soient installés.

11. Dépannage des erreurs de sortie

  1. En cas de problème, examinez le fichier log_command.json pour identifier les erreurs de prétraitement. Examinez les fichiers intermédiaires pour déterminer l’erreur spécifique.
  2. Pour obtenir de l’aide sur le dépannage, envoyez une demande sur la page16 de GitHub.

12. Exécution de PyDesigner avec un exemple de jeu de données

  1. Téléchargez l’exemple de jeu de données d’OpenNeuro ici26.
    REMARQUE : Cet exemple de jeu de données contient des données brutes et prétraitées. Les données brutes sont destinées à servir d’entrée pour le traitement de l’exemple PyDesigner. Les données prétraitées sont constituées des sorties générées après le traitement des données brutes à l’aide du pipeline de traitement dMRI sur un iMac OS v12.4. Les utilisateurs peuvent télécharger les données brutes, traiter ces données à l’aide de PyDesigner et comparer leurs sorties aux exemples de sorties fournis pour s’assurer que PyDesigner fonctionne correctement. Les données brutes sont contenues dans le dossier principal (/PyDesigner Example Dataset/sub-01) et les données prétraitées sont contenues dans le dossier derivatives (/PyDesigner Example Dataset/derivatives/sub-01). Sauf indication contraire, l’ensemble de données OpenNeuro sera téléchargé dans le dossier utilisateur par défaut.
  2. Ouvrez un nouveau terminal sur Mac/Linux ou le WSL sur Windows.
    REMARQUE : Pour exécuter le pipeline de traitement PyDesigner standard, suivez l’exemple de structure de commande ci-dessous. Entrez les commandes suivantes ci-dessous dans le terminal/WSL. Dans cet exemple, où « ./user_download_folder/ » indique le chemin d’accès de l’exemple de dossier de données. Ce chemin d’accès sera spécifique à l’endroit où les données d’exemple sont stockées sur l’ordinateur de chaque utilisateur.
  3. Pour créer un nouveau dossier pour les sorties, entrez ce qui suit dans le terminal :
    $ mkdir ./user_download_folder/ ds004945-download /PyDesigner_Outputs
  4. Pour activer l’environnement conda, entrez ce qui suit dans le terminal :
    $ conda activate mri
  5. Pour exécuter PyDesigner sur l’exemple de jeu de données, entrez ce qui suit dans le terminal :
    $ pydesigner - o ./user_download_folder/ds004945-download/PyDesigner_Outputs -s ./user_download_folder/ds004945-download/sub-01/dwi/sub-01_dwi.nii
    REMARQUE : Dans cet exemple, ./user_download_folder/ indique le chemin d’accès de l’exemple de dossier de données. Ce chemin sera spécifique à l’ordinateur de chaque utilisateur. Les commandes des étapes 12.3 à 12.5 suivent la structure de l’étape 8.3. Cette commande utilise l’indicateur -s, l’indicateur de traitement standard de PyDesigner, qui exécute les étapes de traitement suivantes dans cet ordre : débruitage6, correction de la sonnerie de Gibbs7, dédistorsion 8,9, masquage cérébral, lissage et correction du biais ricien.
  6. Si le logiciel est correctement installé, toutes les sorties seront renseignées dans le dossier PyDesigner_Outputs nouvellement créé. Comparez les fichiers de prétraitement produits par PyDesigner avec l’exemple de dossier prétraité de jeu de données trouvé dans le dossier « derivatives » téléchargé depuis OpenNeuro.
    1. Consultez la section des résultats représentatifs pour comparer leurs cartes de mesures à celles de l’exemple de résultats de l’ensemble de données.

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Le logiciel PyDesigner applique plusieurs étapes de correction d’image aux données de diffusion brutes et génère des sorties utilisées pour améliorer la précision des fichiers bruts lors de l’analyse. Chaque étape disponible dans le pipeline a été préalablement validée par des publications évaluées par des pairs 5,6,7,8,9,10,11, comme indiqué dans l’introduction. Les résultats du logiciel peuvent être utilisés dans des analyses telles que les profils de tractographie, les matrices de connectivité, les analyses par voxel, les analyses ROI, les analyses fODF, les TBSS et les analyses fixes.

Le site Webdu logiciel 23 répertorie tous les fichiers de sortie générés pendant le pipeline de prétraitement. Une fois chaque invite exécutée, la console génère une description de tous les processus terminés. Il existe 3 types de fichiers de sortie : les fichiers de traitement, les métriques et le contrôle qualité. La structure du répertoire de sortie est illustrée à la figure 1. Ces fichiers sont disponibles lors de l’utilisation du prétraitement standard (voir la section 7 du protocole). Si l’utilisateur a besoin d’une utilisation plus poussée (reportez-vous à la section 8 du protocole), les fichiers de sortie disponibles dépendront des processus terminés.

figure-results-1
Figure 1 : Représentation visuelle du pipeline PyDesigner. Le prétraitement commence par la fourniture d’un DWI 4D d’entrée à PyDesigner (en haut à gauche), qui subit ensuite un débruitage MP-PCA pour produire un DWI 4D débruité et une carte de bruit 3D. Le DWI 4D débruité subit ensuite une correction de sonnerie de Gibbs, une correction de polarisation de Ric, un TOPUP, une correction des courants de Foucault et une correction des valeurs aberrantes. Un masque cérébral est ensuite calculé pour les étapes suivantes, la détection des valeurs aberrantes et l’ajustement tensoriel afin d’accélérer les calculs en les effectuant uniquement dans le masque cérébral. Les sorties se trouvent dans les sous-répertoires du dossier de traitement principal du sujet : intermediate_nifti, métriques, metrics_qc. Notez que les captures d’écran des sorties PyDesigner ne sont pas destinées à être une liste exhaustive de toutes les sorties possibles, mais plutôt à fournir un exemple visuel schématique de ce à quoi les utilisateurs peuvent s’attendre. Les sorties, qu’il s’agisse des sorties finales ou des fichiers intermédiaires, varient en fonction des données d’entrée de l’utilisateur et des indicateurs de traitement utilisés. Veuillez cliquer ici pour voir une version agrandie de cette figure.

Traitement
Les fichiers de traitement sont utilisés pendant le pipeline PyDesigner et sont stockés dans le répertoire de sortie racine. Pour chaque étape de prétraitement, les fichiers DWI intermédiaires sont enregistrés dans le dossier de sortie « intermediate_nifti », comme illustré à la figure 1. Ces fichiers doivent être référencés lors de la résolution de problèmes de traitement ou de sorties afin d’évaluer chaque étape du pipeline séparément.

figure-results-2
Figure 2 : Fichiers NifTI DWI intermédiaires optimaux et sous-optimaux. La figure montre le fichier NIfTI intermédiaire pour chaque étape de correction d’image du pipeline PyDesigner. La rangée du haut est un exemple de sorties de fichiers intermédiaires optimales utilisant des données provenant d’un cerveau adulte sain, la rangée du milieu est un exemple de sorties de fichiers intermédiaires optimaux utilisant des données provenant d’un cerveau pathologique (méningiome), et la rangée inférieure affiche des sorties de fichiers intermédiaires sous-optimales utilisant des données provenant d’un cerveau adulte sain avec un artefact de sensibilité non lié à la structure ou à la santé du cerveau. Veuillez cliquer ici pour voir une version agrandie de cette figure.

Métrique
Ce dossier contient toutes les cartes paramétriques calculées par PyDesigner (voir Figure 1). Cela inclut des cartes paramétriques pour les mesures DTI/DKI, l’imagerie des billes de fibres (FBI)/la matière blanche des billes de fibres (FBWM) et l’intégrité du faisceau de la substance blanche (WMTI) (Tableau 1)16.

figure-results-3
Tableau 1 : Plage de valeurs attendue pour les mesures DTI/DKI et FBI/FBWM. Le tableau comprend une liste de métriques robustes DTI, DKI, FBI et FBWM générées par PyDesigner et leurs plages de valeurs attendues. Les séquences et les valeurs b requises (s/mm2) pour calculer chaque métrique sont également répertoriées. Les indicateurs DTI répertoriés sont FA, MD, AD et RD. Les métriques DKI répertoriées sont MK, AK, RK et KFA. La mesure du FBI répertoriée est la FAA. Les indicateurs FBWM répertoriés sont AWF, DA, DE_AX, DE_RAD et FAE.

Les utilisateurs peuvent effectuer un contrôle de la qualité visuel et de la valeur des mesures de diffusivité moyenne (MD), d’anisotropie fractionnelle (FA) et d’aplatissement moyen (MK) pour identifier les résultats sous-optimaux. Si ces mesures ne sont pas optimales par rapport aux normes décrites ci-dessous, les utilisateurs doivent examiner chaque fichier intermédiaire décrit à la figure 2 pour déterminer quelle étape de prétraitement a échoué.

Le contrôle visuel est utilisé pour identifier les résultats sous-optimaux (par exemple, les problèmes d’ajustement des tenseurs et les artefacts). Nous vous recommandons d’utiliser ImageJ pour le contrôle qualité visuel afin de vous assurer qu’aucune manipulation n’est effectuée sur l’image via les paramètres par défaut du logiciel. La rangée supérieure de la figure 3 montre des cartes métriques MD, FA et MK typiques utilisant un seuil biologiquement plausible de 0-3 μm2/ms, 0-1 μm2/ms et 0-2 μm2/ms, respectivement (Figure 3 [rangée du haut]). La carte MD doit avoir les valeurs les plus élevées dans les ventricules et les valeurs élevées dans la matière grise corticale (Figure 3A [rangée du haut]). La carte FA doit avoir des faisceaux de substance blanche apparents qui sont clairs dans tout le cerveau (Figure 3B [rangée du haut]). La carte MK doit avoir des valeurs élevées dans la MW et des valeurs plus faibles dans la matière grise et le LCR (Figure 3C [Rangée du haut]). La figure 3D [rangée du haut] est un exemple de carte métrique avec des problèmes d’ajustement tensoriel, ce qui entraîne des grappes de voxels de valeur nulle. En cas de problème, examinez le fichier log_command.json pour trouver des erreurs de prétraitement. Examinez les fichiers intermédiaires pour déterminer l’erreur spécifique. Pour obtenir de l’aide sur le dépannage, soumettez une demande sur la page GitHub de PyDesigner.

Le contrôle de la qualité des valeurs est utilisé pour déterminer si les voxels d’une carte de mesure donnée sont relativement uniformes entre les sujets pour chaque ensemble de données. La plage de valeurs attendue pour chaque carte et jeu de données dépend des données et des paramètres PyDesigner. Dans notre ensemble de données de test, nous avons eu des pics cohérents dans les plages de 8000 à 10 000, 2500 à 4000 et 5000 à 13 000 pour MD, FA et MK, respectivement, en utilisant le regroupement d’histogrammes par défaut de FSLeyes. La rangée inférieure de la figure 3 fournit des exemples de variabilité d’histogramme. Le tableau 1 contient les valeurs attendues de l’axe des abscisses pour ces mesures. Les voxels supérieurs ou inférieurs sont caractéristiques de l’ensemble de données ou indiquent un artefact ou un problème de prétraitement (Figure 3D [rangée du bas]).

figure-results-4
Figure 3 : Exemples de cartes de mesures et d’histogrammes de PyDesigner avec des résultats optimaux et sous-optimaux. La rangée du haut montre des exemples de cartes MD, FA et MK à sujet unique utilisées pour le contrôle qualité visuel. La rangée du bas montre les histogrammes multi-sujets utilisés pour le CQ de la valeur. (A-C) Exemples typiques de cartes de mesures et d’histogrammes qui passent le contrôle visuel et le contrôle de la qualité des valeurs. Chaque ligne bleue sur les histogrammes de chaque type de métrique représente un ensemble de données individuel. Notez que chaque ensemble de données suit une courbe similaire et se situe dans une plage similaire. (D) Un exemple de carte de mesure qui ne passe pas le contrôle de qualité visuel ou de valeur. Notez que la ligne rouge de l’histogramme montre une courbe qui diffère de celle de A à C. Les voxels zéro encerclés sur cette carte métrique sont dus à des problèmes d’ajustement tensoriel lors du prétraitement (panneau D, rangée du haut). Cet histogramme est un exemple de voxels généralement plus élevés ou plus faibles que prévu dans un ensemble de données (panneau D, rangée du bas). Veuillez cliquer ici pour voir une version agrandie de cette figure.

Contrôle qualité
Une fois que PyDesigner a traité les données, le dossier metrics_qc (voir Figure 1) doit être utilisé pour identifier les ensembles de données non optimaux. Pour chaque ensemble de données, PyDesigner génère trois graphiques utilisés pour le contrôle qualité.

figure-results-5
Figure 4 : Histogrammes de contrôle qualité générés par PyDesigner pour les ensembles de données optimaux et sous-optimaux. SNR, mouvement de la tête intervolume et histogrammes aberrants générés par PyDesigner. Les deux rangées représentent les données d’un cerveau adulte en bonne santé. La ligne du haut est un exemple d’histogrammes de contrôle qualité pour un ensemble de données optimal. La rangée du bas montre les résultats du contrôle de la qualité d’un ensemble de données sous-optimal avec un artefact de sensibilité sans rapport avec la structure du cerveau ou la santé. Veuillez noter que la taille du texte des étiquettes dans les sorties par défaut de PyDesigner est plus petite que ce qu’elles apparaîtront dans cette figure. Nous avons augmenté la taille du texte dans cette figure pour plus de lisibilité. Veuillez cliquer ici pour voir une version agrandie de cette figure.

Les graphiques head_motion de la figure 4 montrent le déplacement de la tête par rapport au premier volume et au volume précédent. Comme le montre la figure 4 (panneau 1), le déplacement de la tête est généralement faible et PyDesigner ajuste ces artefacts de mouvement dans le pipeline de traitement standard à l’aide du programme FSL Eddy ainsi que de TOPUP pour la correction de mouvement et de mouvementpar courants de Foucault 9. Pour les ensembles de données non optimaux, le graphique head_motion peut apparaître vide, comme le montre la figure 4 (panneau 4). Cela indique que la correction du mouvement par courants de Foucault n’a pas réussi et que le PyDesigner n’a pas pu produire de graphique. Les fichiers journaux de correction des courants de Foucault se trouvent dans le sous-dossier Eddy du dossier metrics_qc (voir Figure 1). Le graphique du rapport signal/bruit (SNR) affiche 3 graphiques. Chaque graphique correspond à une valeur b différente et affiche à la fois les données prétraitées et les données brutes. Pour un ensemble de données optimal, le pic SNR des données brutes doit être de ≥5 (Figure 4 [panneau 2]). Les ensembles de données sous-optimaux auront un pic de SNR en données brutes de ≤3 (Figure 4 [panneau 5]). Idéalement, les utilisateurs devraient voir que le pic SNR pour toutes les valeurs b augmente légèrement, mais pas de façon spectaculaire. Le graphique des valeurs aberrantes se trouve dans le dossier d’ajustement à l’intérieur de metrics_qc et montre le pourcentage de valeurs aberrantes dans l’ensemble de données (Figure 4 [panneaux 3 et 6]). Un bon ensemble de données doit avoir un faible pourcentage de valeurs aberrantes, généralement inférieur à 5 % (Figure 4 [panneau 3]). Un ensemble de données sous-optimal aura un pourcentage élevé de valeurs aberrantes, comme le montre la figure 4 (panneau 6).

Exemple de résultats de dataset
Une fois que PyDesigner a terminé de traiter l’exemple de jeu de données, toutes les sorties doivent être contenues dans le dossier « PyDesigner_Outputs ». Ces sorties peuvent être comparées à celles trouvées dans le dossier « derivatives » fourni avec l’exemple de jeu de données téléchargé depuis OpenNeuro (traité sur MacOS 12.4). Si le logiciel fonctionne correctement, la structure des fichiers « PyDesigner_Outputs » et « dérivés » sera exactement la même. De même, le SNR, le mouvement de la tête et les graphiques aberrants trouvés dans le sous-dossier « metrics_qc » doivent correspondre à ceux de la figure 5A. Les cartes de métriques (qui se trouvent dans le sous-dossier « metrics ») peuvent être comparées via des logiciels d’imagerie tels que FSLeyes, MRIcron, ImageJ, etc. Les histogrammes des valeurs FA, MD et MK des métriques prétraitées sont visibles dans la figure 5B. Notez que tous les histogrammes métriques illustrés à la figure 5B sont mis à l’échelle en fonction des échelles de valeurs métriques suggérées dans le tableau 1.

figure-results-6
Figure 5 : Exemples d’histogrammes de données métriques et de mesures de contrôle qualité. (A) Histogrammes SNR, mouvements de tête intervolumes et valeurs aberrantes générés par PyDesigner pour les exemples de données téléchargées à partir d’OpenNeuro. Notez que la taille du texte a été augmentée sur les graphiques de cette figure pour plus de lisibilité. (B) Des histogrammes de cartes métriques à sujet unique du nombre de valeurs de voxels pour FA, MD et MK pour le même ensemble de données, visualisés via FSLeyes v6.0. Veuillez cliquer ici pour voir une version agrandie de cette figure.

figure-results-7
Figure 6 : Cartes DTI et DKI dérivées de PyDesigner, DESIGNER, DKE et DIPY. L’ajustement tensoriel a été effectué avec la contrainte Kapp > 0 dans PyDesigner, DESIGNER5 et l’estimateur de kurtose diffusatoire (DKE)27, tandis que l’ajustement sans contrainte a été utilisé dans l’imagerie de diffusion en Python (DIPY)28 en raison des limitations logicielles. Les unités de MD sont des micromètres carrés par milliseconde (μm2/ms), tandis que les autres métriques sont sans dimension. Les abandons dus à un problème générique de correction de la résonance de Gibbs peuvent être vus dans les cartes MK produites par DESIGNER, DKE et DIPY. Cette figure a été reproduite avec la permission de Dhiman et al.29. Veuillez cliquer ici pour voir une version agrandie de cette figure.

figure-results-8
Figure 7 : Comparaison de l’AF, du MD et du MK entre les pipelines. La distribution des valeurs calculées pour FA, MD et MK à partir de PyDesigner, DESIGNER5, DKE27 et DIPY28 dans les cerveaux exclus du LCR est similaire pour la plupart des voxels. Le calcul de la carte métrique entre les méthodes est comparable. Cette figure a été reproduite avec la permission de Dhiman et al.29. Veuillez cliquer ici pour voir une version agrandie de cette figure.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

La principale motivation pour le développement de PyDesigner était d’implémenter les éléments clés de DESIGNER tout en remplaçant tout le code MATLAB par Python, permettant ainsi une plus grande portabilité et accessibilité. PyDesigner et DESIGNER Dv1 produisent des sorties presque identiques29. Néanmoins, il existe quelques options supplémentaires, des paramètres par défaut et des corrections de bogues mineurs inclus dans PyDesigner. La documentation en ligne PyDesigner16 les décrit en détail.

PyDesigner donne également des résultats similaires à ceux couramment utilisés : l’estimateur de kurtose diffusatoire (DKE)27 et l’imagerie de diffusion en Python (DIPY)28, les outils d’analyse DKI29 (voir figure 6 et figure 7), mais les cartes générées sur la base de l’IRMd prétraitée par DESIGNER sont considérées comme plus précises en raison de leur algorithme d’ajustement, comme l’a démontré Ades-Aron et al.5. Voir la figure 6 pour une comparaison des cartes métriques MD, FA et MK de PyDesigner, DESIGNER5, DKE27 et DIPY28. La figure 7 montre la comparaison des histogrammes MD, FA et MK de chaque pipeline. La combinaison de l’ajustement tensoriel contraint, de la détection des valeurs aberrantes et de la correction du coefficient d’aplatissement apparent permet d’obtenir un ajustement tensoriel plus robuste et plus précis, comme on le voit dans PyDesigner et DESIGNER5.

L’un des avantages de PyDesigner par rapport à DESIGNER Dv1 est qu’il est disponible via le conteneur DockDock 30, ce qui améliore considérablement la portabilité et simplifie l’installation. Ce conteneur s’exécute sur toutes les principales plates-formes de système d’exploitation compatibles avec Docker, y compris Windows, Mac OS et diverses distributions Linux. Sur la base des commentaires des utilisateurs, PyDesigner v2.0 inclura des mises à jour du conteneur Docker PyDesigner. Les améliorations introduites par la nouvelle version de PyDesigner et l’introduction d’un Dockerfile en plusieurs étapes résoudront tous les problèmes existants auxquels les utilisateurs sont confrontés. Si les utilisateurs rencontrent des problèmes lors de l’installation, nous vous recommandons de soumettre vos questions à la pagede discussion 16 de PyDesigner. La technologie de conteneur de Docker permet également un déploiement simple sur des clusters hautes performances (HPC) pour le traitement rapide des DWI par lots sur des clusters locaux compatibles Docker.

PyDesigner inclut également des calculs de modélisation microstructurelle qui vont au-delà de DKI, notamment WMTI3, FBI et FBWM. Pour WMTI, un ensemble de données DKI standard est adéquat et les paramètres microstructurels associés sont calculés par défaut. Cependant, il convient de souligner que la validité de WMTI est limitée aux régions de la substance blanche où le FA est élevé (c’est-à-dire que le FA ≥ 0,4). Certaines mesures WMTI ont une précision limitée en raison de l’hypothèse d’un alignement parallèle des axones dans un voxel31 donné. FBI 32,33,34 est une méthode d’IRMd distincte applicable à l’ensemble de la substance blanche cérébrale, qui nécessite une valeur b élevée (c’est-à-dire b ≥ 4000 s/mm 2) et des données d’IRMd échantillonnées avec un minimum de 64 directions de codage de diffusion (ainsi que des données pour b = 0). Les principales sorties de FBI sont la fonction de densité d’orientation de la fibre (fODF) pour chaque voxel de substance blanche, qui peut être utilisée pour la tractographie de la matière blanche et sert d’entrée pour la FBWM, ainsi que l’anisotropie fractionnelle intra-axonale (FAA). FBWM utilise les données d’IRMd de DKI et de FBI pour estimer les mêmes paramètres que WMTI, mais avec une précision améliorée, et il peut être appliqué dans toute la substance blanche, quelle que soit la valeur FA. Par conséquent, si ces données supplémentaires sont disponibles, les estimations de la FBWM sont préférées à celles de WMTI35. Comme pour le FBI, la FBWM n’a été validée que dans la substance blanche cérébrale adulte.

En plus des invariants de rotation fournis par PyDesigner (orientation RAS), les fichiers .fib spécifiques à DSIstudio (orientation LPS) sont produits séparément pour DTI, DKI et FBI. Les fichiers .fib contiennent des informations directionnelles ODF pour générer des profils de tractographie pour chaque méthode. Les profils de tractographie résultants peuvent être utilisés pour générer des matrices de connectivité au niveau du sujet et du groupe. Les fichiers .fib DKI et FBI contiennent des informations multidirectionnelles relayant des informations sur le croisement des fibres qui ne sont pas disponibles avec la tractographie DTI. De plus, dans chaque fichier .fib, les différents invariants de rotation de chaque méthode ont été inclus, qui peuvent être utilisés dans diverses combinaisons comme critères d’ensemencement, d’exécution et d’arrêt de la tractographie. Vous trouverez de plus amples informations sur DSIstudio sur leur site Web36.

Une autre caractéristique notable de PyDesigner est l’entrée multi-fichiers, ce qui lui permet de gérer diverses entrées de fichiers - NifTi (.nii), NifTi compressé (.nii.gz), DICOM (.dcm) et le format de fichier MRtrix (.mif). PyDesigner peut identifier automatiquement les informations d’acquisition à partir des métadonnées d’en-tête, quel que soit le format d’entrée, et effectuer des corrections en conséquence, favorisant ainsi une approche non interventionniste. Quelles que soient les différences entre les protocoles, la même commande (voir ci-dessus) peut être utilisée pour traiter une grande variété de DWI. Ce logiciel permet ainsi d’économiser du temps et des efforts en minimisant les étapes de prétraitement manuel et les commandes. Dans une mise à jour récemment publiée (v1.0-RC10), cela a été amélioré en introduisant la compatibilité pour les ensembles de données à plusieurs échos (multi-TE). Cela permet à PyDesigner d’exécuter des étapes de prétraitement d’image, qui sont largement indépendantes de TE, sur un DWI multi-TE pour produire une image avec un minimum de bruit et d’artefacts. Des calculs tensoriels dépendants de l’ET sont ensuite effectués séparément sur chaque ET pour produire des mesures de diffusion ou d’aplatissement.

Nous notons que PyDesigner v1.0 ne représente pas un point final dans la conception des pipelines de prétraitement d’images. Le développement et la validation d’outils de traitement d’images est un domaine de recherche actif. En particulier, au cours de la préparation de ce manuscrit, de nouveaux développements dans le débruitage d’image et la suppression de la résonance de Gibbs ont été proposés, ce qui a abouti à la publication d’un pipeline Designer révisé, Designer Dv237, qui comprend un débruitage amélioré et une correction des artefacts de Gibbs pour l’IRMd acquis avec des acquisitions de Fourier partielles35, et qui est disponible sur le DESIGNER Github38. De même, la conformité organisationnelle BIDS39 est un aspect important de tout pipeline d’analyse IRM. Le format BIDS permet un partage plus efficace des données et une mise en œuvre du pipeline en établissant une structure d’ensemble spécifique pour tous les types de données IRM. Bien que PyDesigner ne soit pas actuellement conforme à BIDS, une prochaine version de PyDesigner inclura des sorties conformes à BIDS. De plus, PyDesigner a été écrit à l’origine en utilisant la version 3.7 de Python. Au moment de la publication de cet article, Python 3.7 est désormais considéré comme obsolète. Cependant, les informations contenues dans ce manuscrit sont indépendantes de la version Python. C’est-à-dire que les procédures décrites dans le présent document qui sont des fonctions de prétraitement importantes (par exemple, le débruitage, la correction de la sonnerie de Gibbs, etc.) suivront le même flux de travail opérationnel et conceptuel, quelles que soient les modifications apportées aux procédures d’installation. Il est important de noter que, comme pour tous les logiciels basés sur Python, les futures versions de PyDesigner seront mises à jour vers une nouvelle version de Python. Nous nous efforçons de valider et d’intégrer ces développements au fil du temps.

Pour obtenir la version la plus récente de PyDesigner, y compris toute nouvelle documentation relative aux mises à jour de la version Python, les lecteurs sont encouragés à consulter le site Web avant de commencer une nouvelle analyse et à s’engager dans le forum de discussion où les questions concernant PyDesigner peuvent être soumises16. L’implémentation Docker pour la portabilité s’appelle NeuroDock30, qui contient PyDesigner et ses dépendances pour permettre le traitement sur un large éventail de plateformes.

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Nous sommes reconnaissants des discussions utiles avec Olivia Horn, Daniel Lench et Graham Warner.

Les recherches dont il est question dans cette publication ont été soutenues, en partie, par des subventions des National Institutes of Health R01AG054159, R01AG057602, R01AG055132, R01DC014021, R01NS110347, R21DA050085, F31NS108623, P20GM109040, P50DC000422, T32GM008716 et T32DC014435. Le contenu relève de la seule responsabilité des auteurs et ne représente pas nécessairement les opinions officielles des National Institutes of Health. Des fonds supplémentaires ont été fournis par la Fondation Litwin.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Python version 3.7 ou ultérieurePython Software Foundationhttps://www.python.org/
FMRIB Software Library (FSL) version 6.0.2 ou ultérieureCentre de neuroimagerie intégrative de l’Université d’Oxfordhttps://fsl.fmrib.ox.ac.uk/fsl/fslwiki/
MRtrix3 version 3.0_RC3 ou supérieurede nombreux contributeurshttps://www.mrtrix.org/
AnacondaAnacondahttps://anaconda.org/
OrdinateurAppleMac OS 10.14Construit sur Mac OS 10.14 ; testé sur Mac OS 12.4, Mac OS 13, Windows 11 via WSL

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. MRI quantification of non-Gaussian water diffusion by kurtosis analysis. NMR Biomed. 23 (7), 698-710 (2010).">Jensen, J. H., Helpern, J. A. MRI quantification of non-Gaussian water diffusion by kurtosis analysis. NMR Biomed. 23 (7), 698-710 (2010).
  2. Relationships between diffusion tensor and q-space MRI. Magn Reson Med. 47 (2), 392-397 (2002).">Basser, P. J. Relationships between diffusion tensor and q-space MRI. Magn Reson Med. 47 (2), 392-397 (2002).
  3. White matter characterization with diffusional kurtosis imaging. Neuroimage. 58 (1), 177-188 (2011).">Fieremans, E., Jensen, J. H., Helpern, J. A. White matter characterization with diffusional kurtosis imaging. Neuroimage. 58 (1), 177-188 (2011).
  4. Artifacts and pitfalls in diffusion MRI. J Magn Reson Imaging. 24 (3), 478-488 (2006).">Le Bihan, D., Poupon, C., Amadon, A., Lethimonnier, F. Artifacts and pitfalls in diffusion MRI. J Magn Reson Imaging. 24 (3), 478-488 (2006).
  5. Evaluation of the accuracy and precision of the diffusion parameter EStImation with Gibbs and NoisE removal pipeline. Neuroimage. 183, 532-543 (2018).">Ades-Aron, B., et al. Evaluation of the accuracy and precision of the diffusion parameter EStImation with Gibbs and NoisE removal pipeline. Neuroimage. 183, 532-543 (2018).
  6. Denoising of diffusion MRI using random matrix theory. Neuroimage. 142, 394-406 (2016).">Veraart, J., Novikov, D. S., Christiaens, D., Ades-aron, B., Sijbers, J., Fieremans, E. Denoising of diffusion MRI using random matrix theory. Neuroimage. 142, 394-406 (2016).
  7. Gibbs-ringing artifact removal based on local subvoxel-shifts. Magn Reson Med. 76 (5), 1574-1581 (2016).">Kellner, E., Dhital, B., Kiselev, V. G., Reisert, M. Gibbs-ringing artifact removal based on local subvoxel-shifts. Magn Reson Med. 76 (5), 1574-1581 (2016).
  8. Efficient correction of inhomogeneous static magnetic field-induced distortion in Echo Planar Imaging. Neuroimage. 50 (1), 175-183 (2010).">Holland, D., Kuperman, J. M., Dale, A. M. Efficient correction of inhomogeneous static magnetic field-induced distortion in Echo Planar Imaging. Neuroimage. 50 (1), 175-183 (2010).
  9. An integrated approach to correction for off-resonance effects and subject movement in diffusion MR imaging. Neuroimage. 125, 1063-1078 (2016).">Andersson, J. L. R., Sotiropoulos, S. N. An integrated approach to correction for off-resonance effects and subject movement in diffusion MR imaging. Neuroimage. 125, 1063-1078 (2016).
  10. Motion correction in MRI of the brain. Phys Med Biol. 61 (5), 32-56 (2016).">Godenschweger, F., et al. Motion correction in MRI of the brain. Phys Med Biol. 61 (5), 32-56 (2016).
  11. Incorporating outlier detection and replacement into a non-parametric framework for movement and distortion correction of diffusion MR images. Neuroimage. 141, 556-572 (2016).">Andersson, J. L. R., Graham, M. S., Zsoldos, E., Sotiropoulos, S. N. Incorporating outlier detection and replacement into a non-parametric framework for movement and distortion correction of diffusion MR images. Neuroimage. 141, 556-572 (2016).
  12. Array programming with NumPy. Nature. 585 (7825), 357-362 (2020).">Harris, C. R., et al. Array programming with NumPy. Nature. 585 (7825), 357-362 (2020).
  13. SciPy 1.0: fundamental algorithms for scientific computing in Python. Nat Methods. 17 (3), 261-272 (2020).">Virtanen, P., et al. SciPy 1.0: fundamental algorithms for scientific computing in Python. Nat Methods. 17 (3), 261-272 (2020).
  14. A rewriting system for convex optimization problems. J Control Decis. 5 (1), 42-60 (2018).">Agrawal, A., Verschueren, R., Diamond, S., Boyd, S. A rewriting system for convex optimization problems. J Control Decis. 5 (1), 42-60 (2018).
  15. http://arxiv.org/abs/1603.00943 (2016).">Diamond, S., Boyd, S. CVXPY: A Python-embedded modeling language for convex optimization. , Available from: http://arxiv.org/abs/1603.00943 (2016).
  16. https://github.com/muscbridge/PyDesigner (2023).">PyDesigner. , Available from: https://github.com/muscbridge/PyDesigner (2023).
  17. https://learn.microsoft.com/en-us/windows/wsl/install (2023).">How to install Linux on Windows with WSL. , Available from: https://learn.microsoft.com/en-us/windows/wsl/install (2023).
  18. https://fsl.fmrib.ox.ac.uk/fsl/fslwiki (2024).">FSL Wiki. , Available from: https://fsl.fmrib.ox.ac.uk/fsl/fslwiki (2024).
  19. https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FslInstallation/Windows (2024).">Fsl Instillation. , Available from: https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FslInstallation/Windows (2024).
  20. https://conda.io/projects/conda/en/stable/user-guide/install/download.html (2024).">Installing conda. , Available from: https://conda.io/projects/conda/en/stable/user-guide/install/download.html (2024).
  21. https://gist.github.com/kauffmanes/5e74916617f9993bc3479f401dfec7da (2024).">Steps to install Anaconda on Windows Ubuntu terminal. , Available from: https://gist.github.com/kauffmanes/5e74916617f9993bc3479f401dfec7da (2024).
  22. https://www.mrtrix.org (2024).">Install MRtrix3. , Available from: https://www.mrtrix.org (2024).
  23. https://pydesigner.readthedocs.io/en/latest/ (2024).">PyDesigner Read the Docs. , Available from: https://pydesigner.readthedocs.io/en/latest/ (2024).
  24. https://github.com/muscbridgelab/dicomSort (2024).">dicomSort. , Available from: https://github.com/muscbridgelab/dicomSort (2024).
  25. https://github.com/rordenlab/dcm2niix (2024).">dcm2niix. , Available from: https://github.com/rordenlab/dcm2niix (2024).
  26. https://openneuro.org/datasets/ds004945 (2024).">PyDesigner Example Dataset. , Available from: https://openneuro.org/datasets/ds004945 (2024).
  27. Estimation of tensors and tensor-derived measures in diffusional kurtosis imaging. Magn Reson Med. 65 (3), 823-836 (2011).">Tabesh, A., Jensen, J. H., Ardekani, B. A., Helpern, J. A. Estimation of tensors and tensor-derived measures in diffusional kurtosis imaging. Magn Reson Med. 65 (3), 823-836 (2011).
  28. Dipy, a library for the analysis of diffusion MRI data. Front Neuroinform. 8, 8(2014).">Garyfallidis, E., et al. Dipy, a library for the analysis of diffusion MRI data. Front Neuroinform. 8, 8(2014).
  29. PyDesigner: A Pythonic implementation of the DESIGNER pipeline for diffusion tensor and diffusional Kurtosis imaging. bioRxiv. , (2021).">Dhiman, S., et al. PyDesigner: A Pythonic implementation of the DESIGNER pipeline for diffusion tensor and diffusional Kurtosis imaging. bioRxiv. , (2021).
  30. https://hub.docker.com/r/dmri/neurodock (2024).">Neurodock. , Available from: https://hub.docker.com/r/dmri/neurodock (2024).
  31. One diffusion acquisition and different white matter models: How does microstructure change in human early development based on WMTI and NODDI. Neuroimage. 107, 242-256 (2015).">Jelescu, I. O., et al. One diffusion acquisition and different white matter models: How does microstructure change in human early development based on WMTI and NODDI. Neuroimage. 107, 242-256 (2015).
  32. Fiber ball imaging. Neuroimage. 124, 824-833 (2016).">Jensen, J. H., Russell Glenn, G., Helpern, J. A. Fiber ball imaging. Neuroimage. 124, 824-833 (2016).
  33. High fidelity fiber orientation density functions from fiber ball imaging. NMR Biomed. 35 (1), e4613(2022).">Moss, H. G., Jensen, J. H. High fidelity fiber orientation density functions from fiber ball imaging. NMR Biomed. 35 (1), e4613(2022).
  34. Optimization of data acquisition and analysis for fiber ball imaging. Neuroimage. 200, 690-703 (2019).">Moss, H. G., McKinnon, E. T., Glenn, G. R., Helpern, J. A., Jensen, J. H. Optimization of data acquisition and analysis for fiber ball imaging. Neuroimage. 200, 690-703 (2019).
  35. Modeling white matter microstructure with fiber ball imaging. Neuroimage. 176, 11-21 (2018).">McKinnon, E. T., Helpern, J. A., Jensen, J. H. Modeling white matter microstructure with fiber ball imaging. Neuroimage. 176, 11-21 (2018).
  36. https://dsi-studio.labsolver.org (2024).">DSIstudio. , Available from: https://dsi-studio.labsolver.org (2024).
  37. Optimization and validation of the DESIGNER dMRI preprocessing pipeline in white matter aging. ArXiv. , arXiv:2305.14445v2 (2024).">Chen, J., et al. Optimization and validation of the DESIGNER dMRI preprocessing pipeline in white matter aging. ArXiv. , arXiv:2305.14445v2 (2024).
  38. https://github.com/NYU-DiffusionMRI/DESIGNER (2024).">DESIGNER. , Available from: https://github.com/NYU-DiffusionMRI/DESIGNER (2024).
  39. The brain imaging data structure, a format for organizing and describing outputs of neuroimaging experiments. Sci Data. 3, 160044(2016).">Gorgolewski, K. J., et al. The brain imaging data structure, a format for organizing and describing outputs of neuroimaging experiments. Sci Data. 3, 160044(2016).

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Diffusion MRIMRI PreprocessingTensor EstimationDenoising CorrectionGibbs Ringing CorrectionEddy Current CorrectionBrain MaskingRician Bias CorrectionDiffusion Tensor ImagingTractography ODFs
Video Coming Soon

Related Articles