Method Article

PyDesigner v1.0: een Pythonische implementatie van de DESIGNER-pijplijn voor Diffusion Magnetic Resonance Imaging

DOI:

10.3791/66397

May 17th, 2024

In This Article

Summary

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

Hier presenteren we PyDesigner, een op Python gebaseerde diffusie-magnetische resonantiebeeldvorming (dMRI)-verwerkingspijplijn die in staat is om te corrigeren voor typische dMRI-artefacten en diffusietensorbeeldvorming (DTI), diffusiekurtosis-beeldvorming (DKI), vezelbalbeeldvorming (FBI), microstructuurmodellering (integriteit van witte stof [WMTI] en vezelbol witte stof [FBWM]) en tractografie-uitvoer te produceren.

Abstract

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

PyDesigner is een op Python gebaseerd softwarepakket op basis van de originele Diffusion-parameter EStImation met Gibbs en NoisE Removal (DESIGNER) pipeline (Dv1) voor dMRI-voorverwerking en tensorschatting. Deze software wordt openlijk verstrekt voor niet-commercieel onderzoek en mag niet worden gebruikt voor klinische zorg. PyDesigner combineert tools van FSL en MRtrix3 om ruisonderdrukking, Gibbs-belcorrectie, wervelstroombewegingscorrectie, hersenmaskering, beeldafvlakking en Rician-biascorrectie uit te voeren om de schatting van meerdere diffusiemetingen te optimaliseren. Het kan op verschillende platforms op Windows, Mac en Linux worden gebruikt om veelgebruikte statistieken nauwkeurig af te leiden uit DKI-, DTI-, WMTI-, FBI- en FBWM-datasets, evenals tractografie-ODF's en .fib-bestanden. Het is ook agnostisch voor bestandsindelingen en accepteert invoer in de vorm van .nii-, .nii.gz-, .mif- en dicom-indeling. Deze software is gebruiksvriendelijk en eenvoudig te installeren en voert ook kwaliteitscontrolestatistieken uit die grafieken van signaal-ruisverhoudingen, uitschieters en hoofdbewegingen illustreren om de gegevensintegriteit te evalueren. Bovendien ondersteunt deze dMRI-verwerkingspijplijn de verwerking van meerdere echo-time datasets en biedt het pijplijnaanpassing, waardoor de gebruiker kan specificeren welke processen worden gebruikt en welke outputs worden geproduceerd om aan verschillende gebruikersbehoeften te voldoen.

Introduction

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

Diffusie-MRI (dMRI) wordt veel toegepast voor de niet-invasieve studie van microstructurele eigenschappen in de hersenen. Hoewel er veel dMRI-methoden zijn voorgesteld, zijn er twee veelgebruikte diffusietensorbeeldvorming (DTI) en diffusiekurtosisbeeldvorming (DKI). Deze technieken zijn nauw verwant, waarbij DKI een uitbreiding is van DTI die kwantificering van diffusie-niet-Gaussianiteit1 omvat. Beide bieden een verscheidenheid aan scalaire diffusiemaatregelen en maken de constructie van tractografie van wittestofvezels mogelijk. Een belangrijk voordeel van DTI en DKI is dat ze een solide basis hebben in de diffusiefysica, zodat hun validiteit niet afhankelijk is van gedetailleerde aannames met betrekking tot weefselmicrostructuur 2,3. Hierdoor kunnen DTI en DKI in de hersenen en het lichaam worden toegepast voor deelnemers van elke leeftijd en ziektestatus.

Omdat onbewerkte diffusiegewogen beelden (DWI's) worden verslechterd door meerdere factoren, waaronder signaalruis, beweging, Gibbs-beltoon en wervelstroomvervorming, moet voorbewerking worden gebruikt voorafgaand aan de berekening van eventuele diffusiegrootheden4. Preprocessing van DWI's is een actief onderzoeksgebied dat inmiddels sterk ontwikkeld is. Het combineren van de noodzakelijke verwerkingsstappen in een enkele pijplijn die consistente resultaten oplevert, is echter een uitdaging, omdat verschillende door de gebruiker gedefinieerde instellingen moeten worden aangepast, afhankelijk van de details van de dMRI-acquisitie en omdat de volgorde waarin de voorbewerkingsstappen worden uitgevoerd, van invloed is op het resultaat. Om deze reden werd de Diffusieparameter EStImation met Gibbs and NoisE Removal (DESIGNER, GitHub: NYU-DiffusionMRI/DESIGNER) pipeline oorspronkelijk voorgesteld in 2016 om de voorverwerking voor DWI's5 te optimaliseren, standaardiseren en stroomlijnen. DESIGNER Dv1 vertrouwt op softwaretools die zijn ingebed in FSL, MRtrix3, MATLAB en Python om een naadloos en compleet DWI-proces te creëren - een proces dat beeldcorrectie omvat door middel van voorverwerking en diffusie/kurtosis tensorschatting5. Met controlevlaggen om voorverwerkingsstappen in of uit te schakelen, kunnen DWI-correcties selectief worden uitgevoerd. DESIGNER preprocessen in een specifieke volgorde - (i) Marchenko-Pastur principal component analysis (MP-PCA) denoising6, (ii) Gibbs ringing correctie7, (iii) echo-planaire beeldvorming (EPI) vervormingscorrectie8, wervelstroomcorrectie9, bewegingscorrectie10 en uitbijtervervanging11, (iv) B1 bias veldcorrectie, (v) generatie van hersenmaskers, (vi) afvlakking, (vii) Rician noise bias correctie en (viii) b0 normalisatie. Voorbewerking in deze specifieke volgorde verbetert zowel de nauwkeurigheid als de effectieve signaal-ruisverhouding (SNR)5. Het is vermeldenswaard dat elke stap van PyDesigner optioneel is en kan worden gebruikt of overgeslagen op basis van de voorkeur van de gebruiker. Smoothing is bijvoorbeeld mogelijk geen noodzakelijke voorverwerkingsstap voor sommige datasets. Hoewel het helpt om filterfouten te beperken, is het misschien niet nodig voor datasets van ultrahoge kwaliteit. Als zodanig kunnen gebruikers ervoor kiezen om alleen de stappen te gebruiken die nodig zijn voor hun gegevens.

Het implementeren van DESIGNER op verschillende platforms is een uitdaging vanwege verschillen in besturingssystemen en omgevingsinstellingen. Met name het feit dat DESIGNER Dv1 voornamelijk in MATLAB is geschreven, zorgt voor aanzienlijke overdraagbaarheidsproblemen als gevolg van gecompliceerde configuratievereisten die nodig zijn om Python-MATLAB-interfacing mogelijk te maken. Bovendien brengen verschillende combinaties van MATLAB-, Python- en afhankelijkheidsversies de reproduceerbaarheid van deze pijplijn in gevaar. Om deze reden hebben we PyDesigner ontwikkeld, dat volledig op Python is gebaseerd. Deze dMRI-verwerkingspijplijn zorgt niet alleen voor naadloze voorverwerking, maar maakt het ook mogelijk om de pijplijn op te nemen in een Docker-container, wat de draagbaarheid en reproduceerbaarheid aanzienlijk verbetert. Door de MATLAB-code te vervangen, vermijdt PyDesigner bovendien alle licentiekosten en verbetert het de toegankelijkheid.

Deze dMRI-verwerkingspijplijn is een aanvulling op de handsfree-benadering die door DESIGNER is geïntroduceerd, voegt verschillende nieuwe functies toe en bevat tools van FSL en MRtrix3 om voorverwerking uit te voeren. Standaard wiskundige Python-bibliotheken zoals Numpy12, SciPy13 en CVXPY14,15 werden gebruikt om de MATLAB-delen van DESIGNER te vervangen door Python-code. Deze software wordt openlijk aangeboden en is beschikbaar op Github16. Het doel van dit artikel is niet om onze software te valideren of te vergelijken met vergelijkbare software, maar om gebruikers een stap-voor-stap handleiding te geven voor het verwerken van hun gegevens met PyDesigner, mochten ze daarvoor kiezen.

Protocol

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

Alle gegevens die werden gebruikt om de software te ontwikkelen en te testen, werden verzameld onder een door de institutionele beoordelingsraad goedgekeurd onderzoeksprotocol.

OPMERKING: PyDesigner is gebouwd op MacOS 10.14 en vereist een Windows-subsysteem voor Linux (WSL) om op Windows te kunnen draaien. Dezelfde commando's kunnen worden gebruikt voor Linux/Mac-systemen.

1. Compatibiliteit met besturingssysteem

  1. Voor Windows-systemen volgt u de link om WSL17 te installeren en gaat u verder met stap 2.6.
  2. Voor Unix-gebaseerde systemen (zoals Linux en Mac) gaat u verder met sectie 2.
    OPMERKING: Unix-systemen kunnen PyDesigner en zijn afhankelijkheden native installeren.

2. Installeer FSL

OPMERKING: Alle PyDesigner-tests zijn uitgevoerd met FSL versie 6.0.2 en het gebruik van v6.0.2 of hoger wordt aanbevolen.

  1. Ga naar de FSL-wiki18 en selecteer Downloaden/Installeren. Voor Windows-gebruikers, ga naar stap 2.6.
  2. Kies FSL downloaden onder de kop FSL installeren. Selecteer vervolgens de FSL-installatiesoftwarelicentie, lees de overeenkomst en selecteer akkoord.
  3. Vul de verplichte velden in en selecteer Registreren.
  4. Kies de link FSL downloaden (eerste link op de pagina). Selecteer vervolgens de link naar de installatie-instructies (tweede link op de pagina). Volg deze instructies om FSL voor elk besturingssysteem te downloaden.
    OPMERKING: FSL duurt ongeveer 10 minuten om te installeren.
  5. Om te controleren of de installatie is geslaagd, voert u het volgende in een nieuw terminalvenster in:
    $ flirt -version . Dit zou het versienummer moeten retourneren. Ga verder met stap 3.
  6. Voor Windows-gebruikers: volg de WSL-installatiehandleiding voor FSL19.

3. Creëer een Conda-omgeving

  1. Installeer een conda-pakket om Python-omgevingen te beheren. Gebruikers kunnen kiezen voor Miniconda of Anaconda.
    1. Miniconda/Anaconda20 downloaden. Mac- en Linux-gebruikers gaan door naar stap 3.2.
    2. Voor Windows stelt u conda in binnen WSL21.
      OPMERKING: De volgende instructies zijn voor Miniconda, maar dezelfde commando's werken voor Anaconda. Hoewel conda Python 3.7 niet meer ondersteunt, is het nog steeds mogelijk om met Python 3.7 een conda-omgeving te creëren, waardoor dit protocol precies zoals beschreven kan worden geïmplementeerd.
  2. Voer het volgende in de terminal in om de conda-omgeving te maken: $ conda create -n mri python=3.7. Gebruik deze conda-omgeving voor alle PyDesigner-gerelateerde activiteiten.
    1. Wanneer gevraagd met Proceed ([y]/n)? Enter y.
      OPMERKING: -n vlag: Gebruik dit om de naam van de conda-omgeving aan te geven. In de video wordt de conda-omgeving mri genoemd.
      OPMERKING: python=Versie 3.7 wordt aanbevolen, omdat PyDesigner op deze versie is gebouwd en getest.

4. Installeer MRtrix3

  1. Activeer de conda-omgeving door de volgende opdracht in te voeren: $ conda activate mri
  2. Open de downloadpagina voor MRtrix322 en volg de downloadinstructies voor het juiste besturingssysteem. De installatiecode vraagt om bevestiging van bepaalde afhankelijkheden. Ga naar binnen y om door te gaan met het downloadproces.
    1. Druk de MRtrix3-documentatie af om de installatie te bevestigen door het volgende in de terminal in te voeren: $ mrinfo -h

5. Installeer PyDesigner

  1. Open een nieuw terminalvenster en activeer de conda-omgeving door het volgende in de terminal in te voeren: $ conda activate mri
  2. Voer de opdracht uit: $ pip install PyDesigner-DWI
  3. Om te controleren of de installatie is geslaagd, drukt u het versienummer af door het volgende in de terminal in te voeren: $ pydesigner -v
    1. Als de foutmelding "module niet gevonden" verschijnt, raadpleegt u de sectie Problemen oplossen aan het einde van het protocol (sectie 10)
      OPMERKING: $ pydesigner -h drukt helpdocumentatie af die de commando's en syntaxis voor de software uitlegt. PyDesigner kan ook worden gedownload via Github. Zie de installatie-instructies op de website23.

6. Voorbereiding van de gegevens

OPMERKING: PyDesigner werkt met meerdere bestandstypen, zoals .nii, .nii.gz, .mif en DICOM. In de video worden DICOM's gesorteerd en geconverteerd naar NIfTI voordat deze dMRI-verwerkingspijplijn wordt gebruikt. NIfTI-bestanden zijn gemakkelijker om mee te werken omdat ze geanonimiseerd zijn en er één bestand per reeks is.

  1. Gebruik de DicomSort-tool24 om de DICOM's te sorteren.
    OPMERKING: Elke andere beschikbare DICOM-sorteertool die dezelfde taak uitvoert, is toegestaan.
  2. Nadat u de DICOM's hebt gesorteerd, converteert u ze naar NIfTI-bestanden met behulp van dcm2niix25.
    1. Installeer dcm2niix door de volgende opdracht in de terminal in te voeren:
      $ sudo apt installdcm2niix
    2. Eenmaal gedownload, typt u het volgende in de terminal om de installatie te verifiëren door de documentatie voor dcm2nii af te drukken: $ dcm2niix -h
  3. Om dcm2niix uit te voeren, voert u de volgende opdracht in de terminal in:
    $ dcm2niix -f %s_%p_%d -o pathtosavefolder/ pathtorawdicoms/
    OPMERKING: -f: Om de bestandsnaamstructuur voor het uitvoerbestand op te geven, volgt u deze tag met de gewenste bestandsnaamstructuur. De video gebruikt: -f %s_%p_%d . %s, %p en %d zijn notaties voor respectievelijk reeks, protocolnummer en beschrijving. Elke bestandsstructuur zal werken. Verwachte uitvoer van dcm2niix zijn .bval-, .bvec-, .json- en .nii-bestanden. Als TOPUP-gegevens zijn verkregen, zijn er .json- en .nii TOPUP-bestanden.

7. Basis PyDesigner gebruik

OPMERKING: Het kan tot 1,5 uur duren voordat PyDesigner een enkele gegevensset heeft, afhankelijk van de verwerkingsparameters en computermogelijkheden.

  1. Als u de standaardverwerking wilt uitvoeren, gebruikt u de vlag -s of -standard. Met deze opdracht wordt de aanbevolen voorverwerkingspijplijn in de volgende volgorde uitgevoerd: ruisonderdrukking6, Gibbs-ringcorrectie7, EPI-vervormingscorrectie8, wervelstroombewegingscorrectie9, creatie van maskers voor hersenen en cerebrospinale vloeistof (CSF), afvlakking, Riciaanse biascorrectie, uitbijterdetectie11, tensorschatting en creatie van parametrische kaarten.
  2. Als u de basisopdracht PyDesigner wilt uitvoeren, activeert u eerst de conda-omgeving door de volgende opdracht in de terminal in te voeren: $ conda activate mri
  3. Druk de Help-documentatie voor de software af door de volgende opdracht in te voeren: $ pydesigner -h. In deze documentatie worden alle mogelijke commando's en syntaxis voor PyDesigner uitgelegd.
  4. Gebruik het volgende voorbeeld om de opdracht te structureren.
    $ pydesigner -s --verbose --rpe_pairs 1 -o ./output_folder/ ./input_folder/input1.nii ./input_folder/input2.nii
  5. Let op de volgende belangrijke vlaggen:
    1. --verbose: Gebruik dit om de PyDesigner-console weer te geven terwijl deze gegevens verwerkt (niet vereist).
    2. --rpe pairs #: Gebruik dit om gebruikers met een TOPUP-reeks in staat te stellen het EPI-vervormingscorrectieproces8 te versnellen met behulp van TOPUP. De # verwijst naar het aantal B0-volumes uit de TOPUP-reeks dat zal worden gebruikt. Het gebruik van #=1 voorkomt overschatting van het vervormingsveld en verkort de tijd die nodig is om dit veld te maken. Gebruikers hebben routinematig #=1 gebruikt met betrouwbare resultaten. Bij gebruik van #=1 zal PyDesigner standaard het eerste volume nemen.

8. Geavanceerd gebruik van PyDesigner: de software afstemmen op de individuele behoeften van de gebruikers

OPMERKING: Bij het aanpassen van PyDesigner, laat de -s vlag weg; deze vlag is het commando voor automatische voorverwerking.

  1. Activeer de conda-omgeving door de volgende opdracht in de terminal in te voeren: $ conda activate mri
  2. Raadpleeg de website van de software23 voor een lijst met vlaggen; elke vlag stelt de gebruiker in staat om elk onderdeel van PyDesigner afzonderlijk uit te voeren.
  3. Structureer de opdracht. Begin met de vlaggen voor elke reeks die de gebruiker wil uitvoeren. Leid PyDesigner vervolgens naar de invoer- en uitvoerbestanden. Bijvoorbeeld:
    $ pydesigner flag1 flag2 flag3 -o ./output_folder/ ./input_folder/input1.nii
  4. Voorbeeld 1: Voer alleen tensorfitting uit (geen extra voorbewerking).
    1. Activeer de conda-omgeving door de volgende opdracht in de terminal in te voeren: $ conda activate mri
    2. Raadpleeg de PyDesigner-website23 voor een lijst met vlaggen. In dit voorbeeld wordt .-m
    3. -m: Voeg deze vlag toe om de tensorfitting te beperken tot alleen hersenvoxels. Dit versnelt tensor fitting + uitschieter detectie.
    4. Gebruik het volgende voorbeeld om de opdracht te structureren:
      $ pydesigner -m -o ./output_folder/ ./input_folder/input1.nii
      OPMERKING: De invoer voor tensorfitting is een voorbewerkt .nii-bestand.
  5. Voorbeeld 2: Alleen ruisonderdrukking uitvoeren (geen extra voorbewerking).
    1. Activeer de conda-omgeving door het volgende in de terminal in te voeren: $ conda activate mri
    2. Raadpleeg de PyDesigner-website23 voor een lijst met vlaggen. In dit voorbeeld wordt .-n
    3. -n: Voeg deze vlag toe om de ruisonderdrukkingsstap te voltooien. Voer het eerder voorbewerkte DWI-bestand met het label DWI_preproccessed.nii in, dat zich in de uitvoermap van elke persoon bevindt.
    4. Gebruik het volgende voorbeeld om de opdracht te structureren:
      $ pydesigner -n -o ./output_folder/ ./input_folder/input1.nii

9. Toekomstige PyDesigner-updates

LET OP: Updates zijn te vinden op de website23.

  1. Als u PyDesigner wilt bijwerken, voert u het volgende in een nieuw terminalvenster in:
    $ pip install --upgrade PyDesigner-DWI
    OPMERKING: Als PyDesigner is geïnstalleerd via Github16, moet het ook worden bijgewerkt met git.

10. Problemen met de installatie oplossen

  1. Bij het downloaden van PyDesigner verschijnt de foutcode "module niet gevonden" als er een Python-module ontbreekt.
    1. Repareer een ontbrekende module door het volgende in de terminal in te voeren:
      $ pip install nameofmodule
    2. Herhaal vervolgens de eerste installatieopdracht door het volgende in de terminal in te voeren: $ pip install PyDesigner-DWI
    3. PyDesigner zou nu volledig geïnstalleerd moeten zijn. Ga terug naar stap 5.3. Als dezelfde fout optreedt, herhaalt u dit proces totdat alle ontbrekende Python-modules zijn geïnstalleerd.

11. Problemen met uitvoerfouten oplossen

  1. Als er problemen optreden, bekijkt u het log_command.json bestand om eventuele voorverwerkingsfouten te identificeren. Bekijk de tussenliggende bestanden om de specifieke fout te bepalen.
  2. Voor hulp bij het oplossen van problemen dient u een verzoek in op de GitHub-pagina16.

12. PyDesigner uitvoeren met een voorbeelddataset

  1. Download hier de voorbeelddataset van OpenNeuro26.
    OPMERKING: Deze voorbeeldgegevensset bevat zowel onbewerkte als voorbewerkte gegevens. De ruwe gegevens zijn bedoeld als input voor de verwerking van PyDesigner-voorbeelden. De voorbewerkte gegevens bestaan uit de uitvoer die is gegenereerd nadat de onbewerkte gegevens zijn verwerkt met behulp van de dMRI-verwerkingspijplijn op een iMac OS v12.4. Gebruikers kunnen de onbewerkte gegevens downloaden, deze gegevens verwerken met behulp van PyDesigner en hun uitvoer vergelijken met de voorbeelduitvoer om ervoor te zorgen dat PyDesigner correct wordt uitgevoerd. Ruwe gegevens bevinden zich in de hoofdmap (/PyDesigner Example Dataset/sub-01) en de voorbewerkte gegevens bevinden zich in de map met afgeleiden (/PyDesigner Example Dataset/derivatives/sub-01). Tenzij anders aangegeven, wordt de OpenNeuro-gegevensset gedownload naar de standaardgebruikersmap.
  2. Open een nieuwe terminal op Mac/Linux of de WSL op Windows.
    OPMERKING: Als u de standaard PyDesigner-verwerkingspijplijn wilt uitvoeren, volgt u de onderstaande voorbeeldopdrachtstructuur. Voer de volgende commando's hieronder in de terminal/WSL in. In dit voorbeeld, waarbij " ./user_download_folder/" het pad voor de voorbeeldgegevensmap aangeeft. Dit pad is specifiek voor de plaats waar de voorbeeldgegevens zijn opgeslagen op de computer van de individuele gebruiker.
  3. Om een nieuwe map voor uitvoer te maken, voert u het volgende in de terminal in:
    $ mkdir ./user_download_folder/ ds004945-download /PyDesigner_Outputs
  4. Om de conda-omgeving te activeren, voert u het volgende in de terminal in:
    $ conda activate mri
  5. Als u PyDesigner wilt uitvoeren op de voorbeeldgegevensset, voert u het volgende in de terminal in:
    $ pydesigner - o ./user_download_folder/ds004945-download/PyDesigner_Outputs -s ./user_download_folder/ds004945-download/sub-01/dwi/sub-01_dwi.nii
    OPMERKING: In dit voorbeeld geeft ./user_download_folder/ het pad aan voor de voorbeeldgegevensmap. Dit pad is specifiek voor de computer van elke gebruiker. De commando's in stap 12.3 tot en met 12.5 volgen de structuur van stap 8.3. Deze opdracht maakt gebruik van de -s-vlag, de standaardverwerkingsvlag van PyDesigner, die de volgende verwerkingsstappen in deze volgorde uitvoert: ruisonderdrukking6, Gibbs-belcorrectie7, niet-vervorming 8,9, hersenmaskering, afvlakking en riciaanse biascorrectie.
  6. Als de software correct is geïnstalleerd, worden alle uitgangen ingevuld in de nieuw gemaakte map PyDesigner_Outputs. Vergelijk de voorbewerkingsbestanden die door PyDesigner zijn geproduceerd met de voorbeeldmap met voorbewerkte dataset die te vinden is in de map "derivaten" die is gedownload van OpenNeuro.
    1. Raadpleeg de sectie representatieve resultaten om hun metrische toewijzingen te vergelijken met die in de voorbeeldgegevenssetresultaten.

Results

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

De PyDesigner-software past meerdere beeldcorrectiestappen toe op onbewerkte diffusiegegevens en genereert uitvoer die wordt gebruikt om de nauwkeurigheid van de onbewerkte bestanden te verbeteren bij het uitvoeren van analyses. Elke stap die beschikbaar is in de pijplijn is eerder gevalideerd door middel van peer-reviewed publicaties 5,6,7,8,9,10,11 zoals besproken in de inleiding. De output van de software kan worden gebruikt in analyses zoals tractografieprofielen, connectiviteitsmatrices, voxel-gewijze analyses, ROI-analyses, fODF-analyses, TBSS en fixel-gebaseerde analyses.

De softwarewebsite23 geeft een overzicht van alle uitvoerbestanden die tijdens de voorverwerkingspijplijn zijn gegenereerd. Nadat elke prompt is uitgevoerd, geeft de console een beschrijving van alle voltooide processen. Er zijn 3 soorten uitvoerbestanden: verwerkingsbestanden, statistieken en kwaliteitscontrole. De structuur van de uitvoermap wordt weergegeven in figuur 1. Deze bestanden zijn beschikbaar bij gebruik van standaard voorverwerking (zie sectie 7 van het protocol). Als de gebruiker geavanceerder gebruik nodig heeft (zie sectie 8 van het protocol), zijn de beschikbare uitvoerbestanden afhankelijk van welke processen zijn voltooid.

figure-results-1
Figuur 1: Visuele weergave van de PyDesigner-pijplijn. De voorverwerking begint met het leveren van een 4D DWI-invoer aan PyDesigner (linksboven), die vervolgens MP-PCA-ruisonderdrukking ondergaat om een ruisvrije 4D DWI en een 3D-ruiskaart op te leveren. De ruisvrije 4D DWI ondergaat vervolgens Gibbs-belcorrectie, Rician-biascorrectie, TOPUP, wervelstroomcorrectie en uitbijtercorrectie. Een hersenmasker wordt vervolgens berekend voor volgende stappen, detectie van uitschieters en tensoraanpassing om berekeningen te versnellen door ze alleen binnen het hersenmasker uit te voeren. Uitvoer is te vinden in submappen in de hoofdmap voor het verwerken van onderwerpen - intermediate_nifti, metrische gegevens en metrics_qc. Merk op dat de schermafbeeldingen van PyDesigner-uitvoer niet bedoeld zijn als een uitputtende lijst van alle mogelijke uitvoer, maar eerder als een schematisch visueel voorbeeld van wat gebruikers kunnen verwachten. Outputs, zowel definitieve outputs als tussenliggende bestanden, zullen variëren op basis van de invoergegevens van de gebruiker en de gebruikte verwerkingsvlaggen. Klik hier om een grotere versie van deze figuur te bekijken.

Verwerking
Verwerkingsbestanden worden gebruikt tijdens de PyDesigner-pijplijn en worden opgeslagen in de hoofduitvoermap. Voor elke voorverwerkingsstap worden tussenliggende DWI-bestanden opgeslagen in de uitvoermap "intermediate_nifti", zoals weergegeven in afbeelding 1. Naar deze bestanden moet worden verwezen bij het oplossen van problemen met verwerking of uitvoer om elke stap van de pijplijn afzonderlijk te evalueren.

figure-results-2
Figuur 2: Optimale en suboptimale tussenliggende DWI NifTI-bestanden. De afbeelding toont het tussenliggende NIfTI-bestand voor elke afbeeldingscorrectiestap van de PyDesigner-pijplijn. De bovenste rij is een voorbeeld van optimale uitvoer van tussenliggende bestanden met behulp van gegevens van een gezond volwassen brein, de middelste rij is een voorbeeld van optimale uitvoer van tussenliggende bestanden met behulp van gegevens van een pathologisch brein (meningeoom), en de onderste rij geeft suboptimale tussenliggende bestandsuitvoer weer met behulp van gegevens van een gezond volwassen brein met een gevoeligheidsartefact dat geen verband houdt met de hersenstructuur of gezondheid. Klik hier om een grotere versie van deze figuur te bekijken.

Statistieken
Deze map bevat alle parametrische kaarten die PyDesigner berekent (zie Figuur 1). Dit omvat parametrische kaarten voor DTI/DKI, vezelbalbeeldvorming (FBI)/vezelbal witte stof (FBWM) en integriteit van het wittestofkanaal (WMTI) (Tabel 1)16.

figure-results-3
Tabel 1: Verwacht bereik van waarden voor DTI/DKI- en FBI/FBWM-metrieken. De tabel bevat een lijst met robuuste DTI-, DKI-, FBI- en FBWM-statistieken die door PyDesigner zijn gegenereerd en hun verwachte waardebereiken. De vereiste reeksen en b-waarden (s/mm2) om elke metriek af te leiden, worden ook vermeld. De vermelde DTI-statistieken zijn FA, MD, AD en RD. De vermelde DKI-statistieken zijn MK, AK, RK en KFA. De vermelde FBI-statistiek is FAA. De vermelde FBWM-statistieken zijn AWF, DA, DE_AX, DE_RAD en FAE.

Gebruikers kunnen visuele en waardekwaliteitscontrole (QC) uitvoeren van de metrische gegevens gemiddelde diffusiviteit (MD), fractionele anisotropie (FA) en gemiddelde kurtosis (MK) om suboptimale resultaten te identificeren. Als deze metrische gegevens niet optimaal zijn volgens de hieronder beschreven normen, moeten gebruikers naar elk tussenliggend bestand kijken dat in afbeelding 2 wordt beschreven om te bepalen welke voorverwerkingsstap niet is geslaagd.

Visuele QC wordt gebruikt om suboptimale resultaten te identificeren (bijv. problemen met tensorfitting en artefacten). We raden aan om ImageJ te gebruiken voor visuele QC om ervoor te zorgen dat er geen manipulatie van de afbeelding wordt uitgevoerd via de standaardinstellingen van de software. De bovenste rij van Figuur 3 toont typische MD, FA en MK metrische kaarten met een biologisch plausibele drempel van respectievelijk 0-3 μm2/ms, 0-1 μm2/ms en 0-2 μm2/ms (Figuur 3 [Bovenste rij]). De MD-kaart moet de hoogste waarden in de ventrikels en hoge waarden in corticale grijze stof hebben (Figuur 3A [Bovenste rij]). De FA-kaart moet duidelijke witte stofbanen hebben die duidelijk zijn in de hersenen (Figuur 3B [Bovenste rij]). De MK-kaart moet hoge waarden hebben in WM en lagere waarden in de grijze stof en CSF (Figuur 3C [Bovenste rij]). Figuur 3D [Bovenste rij] is een voorbeeld van een metrische afbeelding met problemen met tensoraanpassing, wat resulteert in clusters van voxels met een nulwaarde. Als er problemen optreden, controleert u het log_command.json bestand om eventuele voorverwerkingsfouten te vinden. Bekijk de tussenliggende bestanden om de specifieke fout te bepalen. Voor hulp bij het oplossen van problemen dient u een aanvraag in op de PyDesigner GitHub-pagina.

Waardekwaliteitscontrole wordt gebruikt om te bepalen of de voxels van een bepaalde metrische kaart relatief uniform zijn tussen de onderwerpen voor elke dataset. Het verwachte waardebereik voor elke kaart en gegevensset is afhankelijk van de gegevens en de PyDesigner-parameters. In onze testdataset hadden we consistente pieken in de bereiken van 8000 tot 10.000, 2500 tot 4000 en 5000 tot 13.000 voor respectievelijk MD, FA en MK, met behulp van FSLeyes standaard histogrambinning. De onderste rij van figuur 3 geeft voorbeelden van histogramvariabiliteit. Tabel 1 bevat de verwachte x-aswaarden voor deze metriek. Hogere of lagere voxels zijn kenmerkend voor de dataset of duiden op een artefact of voorverwerkingsprobleem (Figuur 3D [onderste rij]).

figure-results-4
Figuur 3: Voorbeeld van metrische kaarten en histogrammen van PyDesigner met optimale en suboptimale resultaten. De bovenste rij toont voorbeelden van MD-, FA- en MK-kaarten met één onderwerp die worden gebruikt voor visuele QC. De onderste rij bevat histogrammen met meerdere onderwerpen die zijn gebruikt voor de waarde QC. (A-C) Typische voorbeelden van metrische kaarten en histogrammen die de visuele en waardekwaliteitscontrole doorstaan. Elke blauwe lijn in de histogrammen voor elk statistiektype vertegenwoordigt een afzonderlijke gegevensset. Houd er rekening mee dat elke gegevensset een vergelijkbare curve volgt en binnen een vergelijkbaar bereik valt. (D) Een voorbeeld van een metrische kaart die de visuele of waardekwaliteitscontrole niet doorstaat. Merk op hoe de rode lijn op het histogram een curve aangeeft die afwijkt van die van A-C. De nul voxels die op deze metrische kaart zijn omcirkeld, zijn te wijten aan problemen met de tensorfitting tijdens de voorbewerking (paneel D, bovenste rij). Dit histogram is een voorbeeld van over het algemeen hogere of lagere voxels in een dataset dan verwacht (Paneel D, onderste rij). Klik hier om een grotere versie van deze figuur te bekijken.

Kwaliteitscontrole
Nadat PyDesigner de gegevens heeft verwerkt, moet de map metrics_qc (zie Figuur 1) worden gebruikt om suboptimale datasets te identificeren. Voor elke dataset voert PyDesigner drie plots uit die worden gebruikt voor kwaliteitscontrole.

figure-results-5
Figuur 4: Door PyDesigner gegenereerde QC-histogrammen voor optimale en suboptimale datasets. SNR, intervolume hoofdbeweging en uitschieter histogrammen gegenereerd door PyDesigner. Beide rijen vertegenwoordigen gegevens van een gezond volwassen brein. De bovenste rij is een voorbeeld van histogrammen voor kwaliteitscontrole voor een optimale dataset. De onderste rij toont de uitvoer van kwaliteitscontrole van een suboptimale dataset met een vatbaarheidsatfact dat geen verband houdt met de hersenstructuur of gezondheid. Houd er rekening mee dat de tekstgrootte van de labels in de standaarduitvoer van PyDesigner kleiner is dan in deze afbeelding. We hebben de tekstgrootte in deze afbeelding vergroot voor de leesbaarheid. Klik hier om een grotere versie van deze figuur te bekijken.

De head_motion grafieken in Figuur 4 tonen de verplaatsing van de kop ten opzichte van het eerste deel en het vorige deel. Zoals te zien is in afbeelding 4 (paneel 1), is de verplaatsing van de kop doorgaans klein en past PyDesigner zich aan deze bewegingsartefacten in de standaard verwerkingspijplijn aan met behulp van het FSL-programma Eddy samen met TOPUP voor bewegings- en wervelstroomcorrectie9. Voor suboptimale datasets kan de head_motion grafiek leeg lijken, zoals weergegeven in Figuur 4 (paneel 4). Dit geeft aan dat de correctie van de wervelstroombeweging niet succesvol was, daarom kon de PyDesigner geen grafiek uitvoeren. De logbestanden voor wervelstroomcorrectie zijn te vinden in de eddy-submap in de map metrics_qc (zie afbeelding 1). De signaal-ruisverhouding (SNR) grafiek geeft 3 grafieken weer. Elke plot is voor een andere b-waarde en toont zowel de voorbewerkte als de ruwe gegevens. Voor een optimale dataset moet de SNR-piek van ruwe data ≥5 zijn (Figuur 4 [paneel 2]). Suboptimale datasets hebben een SNR-piek voor ruwe gegevens van ≤3 (Figuur 4 [paneel 5]). Idealiter zouden gebruikers moeten zien dat de SNR-piek voor alle b-waarden licht maar niet dramatisch toeneemt. De uitschieter plot is te vinden in de passende map binnen metrics_qc en toont het percentage uitschieters in de dataset (Figuur 4 [paneel 3 en 6]). Een goede dataset moet een laag percentage uitschieters hebben, meestal minder dan 5% (Figuur 4 [paneel 3]). Een suboptimale dataset heeft een groot percentage uitschieters, zoals weergegeven in Figuur 4 (paneel 6).

Voorbeeld van resultaten van datasets
Zodra PyDesigner klaar is met het verwerken van de voorbeeldgegevensset, moeten alle uitvoer in de map "PyDesigner_Outputs" worden opgenomen. Deze outputs kunnen worden vergeleken met die in de map "derivaten" die is verpakt met de voorbeelddataset die is gedownload van OpenNeuro (verwerkt op MacOS 12.4). Als de software correct draait, zal de bestandsstructuur van "PyDesigner_Outputs" en "afgeleiden" precies hetzelfde zijn. Evenzo moeten de SNR, hoofdbeweging en uitschieters in de submap "metrics_qc" overeenkomen met die in Figuur 5A. Metrische kaarten (te vinden in de submap "metrics") kunnen worden vergeleken via beeldvormingssoftware zoals FSLeyes, MRIcron, ImageJ, enz. Histogrammen van FA-, MD- en MK-waarden van voorbewerkte/metrieken zijn te zien in figuur 5B. Merk op dat alle metrische histogrammen die in figuur 5B worden weergegeven, zijn geschaald op basis van de voorgestelde metrische waardeschalen in tabel 1.

figure-results-6
Afbeelding 5: Voorbeeld van metrische gegevens- en metrische QC-histogrammen. (A) SNR-histogrammen die door PyDesigner zijn gegenereerd voor de voorbeeldgegevens die zijn gedownload van OpenNeuro. Merk op dat de tekstgrootte op de plots in deze afbeelding is vergroot voor de leesbaarheid. (B) Metrische kaarten met één onderwerp histogrammen van voxelwaarden voor FA, MD en MK voor dezelfde dataset, gevisualiseerd via FSLeyes v6.0. Klik hier om een grotere versie van deze figuur te bekijken.

figure-results-7
Figuur 6: DTI- en DKI-kaarten afgeleid van PyDesigner, DESIGNER, DKE en DIPY. Tensorfitting werd uitgevoerd met Kapp > 0-beperking in PyDesigner, DESIGNER5 en Diffusional Kurtosis Estimator (DKE)27, terwijl onbeperkte aanpassing werd gebruikt in Diffusion Imaging in Python (DIPY)28 vanwege softwarebeperkingen. De eenheden voor MD zijn vierkante micrometers per milliseconde (μm2/ms), terwijl de andere metrieken dimensieloos zijn. Uitval als gevolg van een generiek probleem van Gibbs-belcorrectie is te zien in MK-kaarten geproduceerd door DESIGNER, DKE en DIPY. Deze figuur is gereproduceerd met toestemming van Dhiman et al.29. Klik hier om een grotere versie van deze figuur te bekijken.

figure-results-8
Afbeelding 7: Vergelijking van FA, MD en MK in pijpleidingen. De verdeling van berekende waarden voor FA, MD en MK van PyDesigner, DESIGNER5, DKE27 en DIPY28 in CSF-uitgesloten hersenen is vergelijkbaar voor de meeste voxels. De berekening van metrische kaarten in verschillende methoden is vergelijkbaar. Deze figuur is gereproduceerd met toestemming van Dhiman et al.29. Klik hier om een grotere versie van deze figuur te bekijken.

Discussion

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

De primaire motivatie voor het ontwikkelen van PyDesigner was om de belangrijkste elementen van DESIGNER te implementeren en tegelijkertijd alle MATLAB-code te vervangen door Python, waardoor een grotere draagbaarheid en toegankelijkheid mogelijk werd. PyDesigner en DESIGNER Dv1 leveren bijna identieke outputsop 29. Desalniettemin zijn er een paar extra opties, standaardinstellingen en kleine bugfixes opgenomen in PyDesigner. De online PyDesigner-documentatie16 beschrijft deze in detail.

PyDesigner levert ook vergelijkbare resultaten op als veelgebruikte Diffusional Kurtosis Estimator (DKE)27 en Diffusion Imaging in Python (DIPY)28 DKI-analysetools29 (zie Figuur 6 en Figuur 7), maar de kaarten die zijn gegenereerd op basis van door DESIGNER voorbewerkte dMRI worden als nauwkeuriger beschouwd vanwege hun passende algoritme, zoals aangetoond door Ades-Aron et al.5. Zie Figuur 6 voor een vergelijking van de MD, FA en MK metrische kaarten van PyDesigner, DESIGNER5, DKE27 en DIPY28. Figuur 7 toont de vergelijking van MD-, FA- en MK-histogrammen van elke pijplijn. De combinatie van beperkte tensoraanpassing, detectie van uitschieters en correctie van de schijnbare kurtosis-coëfficiënt levert een robuustere en nauwkeurigere tensoraanpassing op, zoals te zien is in PyDesigner en DESIGNER5.

Een voordeel van PyDesigner ten opzichte van DESIGNER Dv1 is dat het beschikbaar is via de NeuroDock Docker-container30, wat de draagbaarheid aanzienlijk verbetert en de installatie vereenvoudigt. Deze container draait op alle belangrijke OS-platforms die compatibel zijn met Docker, waaronder Windows, Mac OS en verschillende Linux-distributies. Op basis van feedback van gebruikers zal PyDesigner v2.0 updates bevatten voor de PyDesigner Docker Container. De verbeteringen die zijn geïntroduceerd door de nieuwe versie van PyDesigner en de introductie van een multi-stage Dockerfile zullen alle bestaande problemen waarmee gebruikers worden geconfronteerd, oplossen. Als gebruikers problemen hebben met de installatie, raden we aan vragen in te dienen bij de PyDesigner-discussiepagina16. De containertechnologie van Docker maakt ook een eenvoudige implementatie in high-performance clusters (HPC's) mogelijk voor het snel verwerken van DWI's op Docker-compatibele lokale clusters.

PyDesigner bevat ook microstructurele modelleringsberekeningen die verder gaan dan DKI, waaronder WMTI3, FBI en FBWM. Voor WMTI is een standaard DKI-dataset voldoende en worden de bijbehorende microstructurele parameters standaard berekend. Er moet echter worden benadrukt dat de validiteit van WMTI beperkt is tot witte stofgebieden met een hoge FA (d.w.z. FA ≥ 0,4). Sommige WMTI-metrieken hebben een beperkte nauwkeurigheid vanwege de aanname van parallelle uitlijning van axonen in een bepaalde voxel31. FBI 32,33,34 is een afzonderlijke dMRI-methode die van toepassing is op de hele cerebrale witte stof, waarvoor een hoge b-waarde (d.w.z. b ≥ 4000 s/mm 2) en dMRI-gegevens vereist die zijn bemonsterd met een minimum van 64 diffusiecoderingsrichtingen (samen met gegevens voor b = 0). De belangrijkste outputs van FBI zijn de vezeloriëntatiedichtheidsfunctie (fODF) voor elke witte stofvoxel, die kan worden gebruikt voor tractografie van witte stof en dient als input voor FBWM, evenals de intra-axonale fractionele anisotropie (FAA). FBWM gebruikt de dMRI-gegevens van zowel DKI als FBI om dezelfde parameters te schatten als WMTI, maar met verbeterde nauwkeurigheid, en het kan worden toegepast op de witte stof, ongeacht de FA-waarde. Dus als deze aanvullende gegevens beschikbaar zijn, hebben FBWM-schattingen de voorkeur boven die van WMTI35. Net als bij de FBI is FBWM alleen gevalideerd in volwassen cerebrale witte stof.

Naast de rotatie-invarianten die door PyDesigner worden geleverd (RAS-oriëntatie), worden .fib-bestanden die specifiek zijn voor DSIstudio (LPS-oriëntatie) afzonderlijk geproduceerd voor DTI, DKI en FBI. De .fib-bestanden bevatten ODF-richtingsinformatie voor het genereren van tractografieprofielen voor elke methode. De resulterende tractografieprofielen kunnen worden gebruikt om connectiviteitsmatrices te genereren op onderwerp- en groepsniveau. De DKI- en FBI-.fib-bestanden bevatten multidirectionele informatie die informatie over kruisende vezels doorgeeft die niet beschikbaar is met DTI-tractografie. Bovendien zijn in elk .fib-bestand de verschillende rotatie-invarianten van elke methode opgenomen, die in verschillende combinaties kunnen worden gebruikt als criteria voor het zaaien, uitvoeren en stoppen van de tractografie. Meer informatie over DSIstudio is te vinden op hun website36.

Een ander opmerkelijk kenmerk van PyDesigner is de invoer van meerdere bestanden, waardoor het verschillende bestandsinvoer kan verwerken: NifTi (.nii), gecomprimeerde NifTi (.nii.gz), DICOM (.dcm) en MRtrix-bestandsindeling (.mif). PyDesigner kan automatisch acquisitie-informatie identificeren uit de metadata van de header, ongeacht het invoerformaat, en dienovereenkomstig correcties uitvoeren, waardoor een hands-off-benadering wordt ondersteund. Ongeacht de verschillen in protocollen, kan hetzelfde commando (zie hierboven) worden gebruikt om een breed scala aan DWI's te verwerken. Deze software bespaart dus tijd en moeite door handmatige voorverwerkingsstappen en -opdrachten te minimaliseren. In een onlangs uitgebrachte update (v1.0-RC10) is dit verbeterd door compatibiliteit te introduceren voor meerdere echo-tijd (multi-TE) datasets. Dit stelt PyDesigner in staat om stappen voor beeldvoorverwerking, die grotendeels onafhankelijk zijn van TE, uit te voeren op een multi-TE DWI om een afbeelding op te leveren met minimale ruis en artefacten. TE-afhankelijke tensorberekeningen worden vervolgens op elke TE afzonderlijk uitgevoerd om diffusie- of kurtosis-metrieken te produceren.

We merken op dat PyDesigner v1.0 geen eindpunt vormt in het ontwerp van pijplijnen voor het voorbewerken van afbeeldingen. De ontwikkeling en validatie van beeldverwerkingstools is een actief onderzoeksgebied. In het bijzonder werden tijdens de voorbereiding van dit manuscript nieuwe ontwikkelingen op het gebied van beeldruisonderdrukking en het verwijderen van Gibbs-rinkelen voorgesteld, wat resulteerde in de release van een herziene Designer-pijplijn, Designer Dv237, die verbeterde ruisonderdrukking en correctie van Gibbs-artefacten voor dMRI omvat die zijn verkregen met Partial Fourier-acquisities35, en is beschikbaar op de DESIGNER Github38. Evenzo is de organisatorische naleving van BIDS39 een belangrijk facet van elke MRI-analysepijplijn. Het BIDS-formaat maakt het mogelijk om gegevens efficiënter te delen en de pijplijn te implementeren door een specifieke setstructuur op te zetten voor alle MRI-gegevenstypen. Hoewel PyDesigner momenteel niet BIDS-compatibel is, zal een aankomende versie van PyDesigner BIDS-compatibele uitvoer bevatten. Bovendien is PyDesigner oorspronkelijk geschreven met Python versie 3.7. Op het moment van publicatie wordt Python 3.7 nu als verouderd beschouwd. De informatie in dit manuscript is echter onafhankelijk van de Python-versie. Dat wil zeggen, de hierin beschreven procedures die belangrijke voorverwerkingsfuncties zijn (bijv. ruisonderdrukking, Gibbs-belcorrectie, enz.) zullen dezelfde operationele en conceptuele workflow volgen, ongeacht wijzigingen in installatieprocedures. Belangrijk is dat, net als bij alle op Python gebaseerde software, toekomstige PyDesigner-versies zullen worden bijgewerkt naar een nieuwe versie van Python. We streven ernaar om dergelijke ontwikkelingen in de loop van de tijd verder te valideren en te integreren.

Voor de meest recente versie van PyDesigner, inclusief alle nieuwe documentatie die relevant is voor Python-versie-updates, worden lezers aangemoedigd om de website te raadplegen voordat ze met een nieuwe analyse beginnen en deel te nemen aan het discussieforum waar vragen over PyDesigner kunnen worden ingediend16. De Docker-implementatie voor portabiliteit heet NeuroDock30, dat PyDesigner en zijn afhankelijkheden bevat om verwerking op een breed scala aan platforms mogelijk te maken.

Acknowledgements

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

We zijn dankbaar voor de nuttige gesprekken met Olivia Horn, Daniel Lench en Graham Warner.

Het onderzoek dat in deze publicatie wordt gerapporteerd, werd gedeeltelijk ondersteund door National Institutes of Health-subsidies R01AG054159, R01AG057602, R01AG055132, R01DC014021, R01NS110347, R21DA050085, F31NS108623, P20GM109040, P50DC000422, T32GM008716 en T32DC014435. De inhoud valt uitsluitend onder de verantwoordelijkheid van de auteurs en vertegenwoordigt niet noodzakelijkerwijs de officiële standpunten van de National Institutes of Health. Aanvullende financiering werd verstrekt door de Litwin Foundation.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Python version 3.7 or abovePython Software Foundationhttps://www.python.org/
FMRIB Software Library (FSL) verison 6.0.2 or aboveUniversity of Oxford Centre for Integrative Neuroimaginghttps://fsl.fmrib.ox.ac.uk/fsl/fslwiki/
MRtrix3 version 3.0_RC3 or abovenumerous contributorshttps://www.mrtrix.org/
AnacondaAnacondahttps://anaconda.org/
ComputerAppleMac OS 10.14Built on Mac OS 10.14; tested on 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