Method Article

PyDesigner v1.0: Pythonowa implementacja potoku DESIGNER do obrazowania dyfuzyjnego rezonansu magnetycznego

DOI:

10.3791/66397

May 17th, 2024

In This Article

Summary

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

Tutaj prezentujemy PyDesigner, oparty na Pythonie potok przetwarzania dyfuzyjnego rezonansu magnetycznego (dMRI), który jest w stanie korygować typowe artefakty dMRI i wytwarzać obrazowanie tensora dyfuzji (DTI), obrazowanie kurtozy dyfuzyjnej (DKI), obrazowanie kulki światłowodowej (FBI), modelowanie mikrostruktury (integralność istoty białej [WMTI] i istota biała kuli światłowodowej [FBWM]) oraz wyniki traktografii.

Abstract

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

PyDesigner to pakiet oprogramowania oparty na oryginalnym parametrze Diffusion EStImation with Gibbs and NoisE Removal (DESIGNER) pipeline (Dv1) do wstępnego przetwarzania dMRI i estymacji tensorowej. To oprogramowanie jest udostępniane do badań niekomercyjnych i nie może być używane do opieki klinicznej. PyDesigner łączy narzędzia FSL i MRtrix3 do wykonywania odszumiania, korekcji dzwonienia Gibbsa, korekcji ruchu prądów wirowych, maskowania mózgu, wygładzania obrazu i korekcji odchyleń riciańskich w celu optymalizacji szacowania wielu miar dyfuzji. Może być używany na różnych platformach w systemach Windows, Mac i Linux, aby dokładnie uzyskać powszechnie używane metryki z zestawów danych DKI, DTI, WMTI, FBI i FBWM, a także traktograficznych plików ODF i .fib. Jest również niezależny od formatu pliku, akceptując dane wejściowe w postaci formatu .nii, .nii.gz, .mif i dicom. Przyjazne dla użytkownika i łatwe w instalacji, to oprogramowanie generuje również wskaźniki kontroli jakości ilustrujące wykresy stosunku sygnału do szumu, woksele odstające i ruchy głowy w celu oceny integralności danych. Ponadto ten potok przetwarzania dMRI obsługuje przetwarzanie wielu zestawów danych w czasie echa i umożliwia dostosowywanie potoku, umożliwiając użytkownikowi określenie, które procesy są wykorzystywane i które dane wyjściowe są generowane w celu zaspokojenia różnych potrzeb użytkownika.

Introduction

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

Dyfuzyjny rezonans magnetyczny (dMRI) jest szeroko stosowany do nieinwazyjnego badania właściwości mikrostrukturalnych mózgu. Chociaż zaproponowano wiele metod dMRI, dwie powszechnie stosowane to obrazowanie tensora dyfuzji (DTI) i obrazowanie kurtozy dyfuzyjnej (DKI). Techniki te są ściśle powiązane, przy czym DKI jest rozszerzeniem DTI, które obejmuje kwantyfikację dyfuzyjnej niegaussowskiej niegaussowości1. Oba zapewniają różnorodne miary dyfuzji skalarnej i umożliwiają budowę traktografii włókien istoty białej. Ważną zaletą DTI i DKI jest to, że mają solidne podstawy w fizyce dyfuzji, dzięki czemu ich ważność nie opiera się na szczegółowych założeniach dotyczących mikrostruktury tkanek2,3. Dzięki temu DTI i DKI mogą być stosowane w całym mózgu i ciele u uczestników w każdym wieku i o każdym statusie choroby.

Ponieważ surowe obrazy ważone dyfuzją (DWI) są degradowane przez wiele czynników, w tym szum sygnału, ruch, dzwonienie Gibbsa i zniekształcenia prądów wirowych, przed obliczeniem jakichkolwiek wielkości dyfuzji należy zastosować wstępne przetwarzanie4. Wstępne przetwarzanie DWI to aktywna dziedzina badań, która jest obecnie bardzo rozwinięta. Jednak połączenie niezbędnych etapów przetwarzania w jeden potok, który daje spójne wyniki, jest trudne, ponieważ kilka ustawień zdefiniowanych przez użytkownika musi zostać dostosowanych w zależności od szczegółów akwizycji dMRI, a kolejność, w jakiej wykonywane są etapy przetwarzania wstępnego, wpływa na wynik. Z tego powodu w 2016 r. zaproponowano potok parametru Diffusion EStImation with Gibbs and NoisE Removal (DESIGNER, GitHub: NYU-DiffusionMRI/DESIGNER) w celu optymalizacji, standaryzacji i usprawnienia przetwarzania wstępnego dla DWIs5. DESIGNER Dv1 opiera się na narzędziach programowych, które są wbudowane w FSL, MRtrix3, MATLAB i Python, aby stworzyć płynny i kompletny proces DWI - taki, który obejmuje korekcję obrazu poprzez wstępne przetwarzanie i estymację tensora dyfuzji/kurtozy5. Dzięki flagom kontrolnym do włączania i wyłączania kroków przetwarzania wstępnego, korekcje DWI mogą być wykonywane selektywnie. DESIGNER przetwarza wstępnie w określonej kolejności - (i) Analiza głównych składowych Marchenko-Pastur (MP-PCA) odszumianie6, (ii) Korekcja dzwonienia Gibbsa7, (iii) Korekcja zniekształceń obrazowania echoplanarnego (EPI)8, korekcja prądów wirowych9, korekcja ruchu10 i zastępowanie wartości odstających11, (iv) korekcja pola odchylenia B1, (v) generowanie masek mózgowych, (vi) wygładzanie, (vii) korekcja odchylenia szumu riciańskiego i (viii) normalizacja b0. Wstępne przetwarzanie w tej konkretnej kolejności poprawia zarówno dokładność, jak i efektywny stosunek sygnału do szumu (SNR)5. Warto zauważyć, że każdy krok PyDesignera jest opcjonalny i można go zastosować lub pominąć w zależności od preferencji użytkownika. Na przykład wygładzanie może nie być koniecznym krokiem przetwarzania wstępnego w przypadku niektórych zestawów danych. Chociaż pomaga to ograniczyć błędy filtrowania, może nie być potrzebne w przypadku zestawów danych o bardzo wysokiej jakości. W związku z tym użytkownicy mogą zdecydować się na zastosowanie tylko tych kroków, które są potrzebne dla ich danych.

Implementacja DESIGNER na różnych platformach jest wyzwaniem ze względu na różnice w systemach operacyjnych i ustawieniach środowiska. W szczególności fakt, że DESIGNER Dv1 jest napisany głównie w MATLAB, stwarza poważne problemy z przenośnością wynikające ze skomplikowanych wymagań konfiguracyjnych potrzebnych do umożliwienia interfejsu Python-MATLAB. Co więcej, różne kombinacje MATLAB, Pythona i wersji zależności zagrażają odtwarzalności tego potoku. Z tego powodu opracowaliśmy PyDesigner, który jest całkowicie oparty na Pythonie. Ten potok przetwarzania dMRI nie tylko pozwala na bezproblemowe przetwarzanie wstępne, ale także umożliwia włączenie potoku do kontenera Docker, co znacznie zwiększa przenośność i odtwarzalność. Dodatkowo, zastępując kod MATLAB, PyDesigner pozwala uniknąć wszelkich opłat licencyjnych i poprawia dostępność.

Ten potok przetwarzania dMRI rozszerza podejście głośnomówiące wprowadzone przez DESIGNER, dodaje kilka nowych funkcji i zawiera narzędzia z FSL i MRtrix3 do wykonywania wstępnego przetwarzania. Standardowe matematyczne biblioteki Pythona, takie jak Numpy12, SciPy13 i CVXPY14,15 zostały użyte do zastąpienia części MATLAB DESIGNER kodem Pythona. To oprogramowanie jest otwarcie dostarczane i dostępne na Github16. Celem tego artykułu nie jest walidacja ani porównanie naszego oprogramowania z podobnym oprogramowaniem, ale raczej zapewnienie użytkownikom przewodnika krok po kroku dotyczącego przetwarzania ich danych za pomocą PyDesigner, jeśli zdecydują się to zrobić.

Protocol

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

Wszystkie dane użyte do opracowania i przetestowania oprogramowania zostały zebrane zgodnie z zatwierdzonym przez instytucjonalną komisję rewizyjną protokołem badania.

UWAGA: PyDesigner został zbudowany na MacOS 10.14 i wymaga podsystemu Windows dla Linuksa (WSL) do działania w systemie Windows. Te same polecenia mogą być używane w systemach Linux/Mac.

1. Kompatybilność systemu operacyjnego

  1. W przypadku systemów Windows kliknij łącze, aby zainstalować WSL17, a następnie przejdź do kroku 2.6.
  2. W przypadku systemów opartych na Uniksie (takich jak Linux i Mac) przejdź do sekcji 2.
    UWAGA: Systemy oparte na Uniksie mogą natywnie instalować PyDesigner i jego zależności.

2. Zainstaluj FSL

UWAGA: Wszystkie testy PyDesigner zostały przeprowadzone z FSL w wersji 6.0.2 i zaleca się korzystanie z wersji 6.0.2 lub wyższej.

  1. Przejdź do strony FSL wiki18 i wybierz opcję Pobierz/Zainstaluj. W przypadku użytkowników systemu Windows przejdź do kroku 2.6.
  2. Wybierz pozycję Pobierz FSL pod nagłówkiem Instalowanie FSL. Następnie wybierz licencję na oprogramowanie instalacyjne FSL, przeczytaj umowę i wybierz opcję Zgadzam się.
  3. Wypełnij wymagane pola i wybierz opcję Zarejestruj.
  4. Wybierz link Pobierz FSL (pierwszy link na stronie). Następnie wybierz link do instrukcji instalacji (drugi link na stronie). Postępuj zgodnie z poniższymi instrukcjami, aby pobrać FSL dla każdego systemu operacyjnego.
    UWAGA: Instalacja FSL trwa około 10 minut.
  5. Aby sprawdzić, czy instalacja przebiegła pomyślnie, wprowadź następujące polecenie w nowym oknie terminala:
    $ flirt -version . Powinno to zwrócić numer wersji. Przejdź do kroku 3.
  6. W przypadku użytkowników systemu Windows postępuj zgodnie z instrukcją instalacji WSL dla FSL19.

3. Tworzenie środowiska Conda

  1. Zainstaluj pakiet conda, aby zarządzać środowiskami języka Python. Użytkownicy mogą wybrać Minicondę lub Anacondę.
    1. Pobierz Miniconda/Anaconda20. Użytkownicy komputerów Mac i Linux przechodzą do kroku 3.2.
    2. W przypadku systemu Windows skonfiguruj conda w WSL21.
      UWAGA: Poniższe instrukcje dotyczą Minicondy, ale te same polecenia działają w przypadku Anacondy. Chociaż conda nie obsługuje już języka Python 3.7, nadal można utworzyć środowisko conda za pomocą języka Python 3.7, co pozwala na implementację tego protokołu dokładnie zgodnie z opisem.
  2. Wprowadź następujące informacje do terminala, aby utworzyć środowisko conda: $ conda create -n mri python=3.7. Użyj tego środowiska conda dla wszystkich działań związanych z programem PyDesigner.
    1. Po wyświetleniu monitu za pomocą Kontynuować ([t]/n)? Wpisz y.
      UWAGA: -n flaga: Użyj tego, aby wskazać nazwę środowiska conda. W filmie wideo środowisko conda nosi nazwę mri.
      UWAGA: python=: Zalecana jest wersja 3.7, ponieważ PyDesigner został zbudowany i przetestowany na tej wersji.

4. Zainstaluj MRtrix3

  1. Aktywuj środowisko conda, wprowadzając następujące polecenie: $ conda activate mri
  2. Otwórz stronę pobierania MRtrix322 i postępuj zgodnie z instrukcjami pobierania dla odpowiedniego systemu operacyjnego. Kod instalacyjny poprosi o potwierdzenie pewnych zależności. Wpisz y, aby kontynuować proces pobierania.
    1. Wydrukuj dokumentację MRtrix3, aby potwierdzić instalację, wprowadzając następujące informacje do terminala: $ mrinfo -h

5. Zainstaluj PyDesigner

  1. Otwórz nowe okno terminala i aktywuj środowisko conda, wprowadzając następujące informacje do terminala: $ conda aktywuj mri
  2. Uruchom polecenie: $ install PyDesigner-DWI
  3. Aby sprawdzić, czy instalacja przebiegła pomyślnie, wydrukuj numer wersji, wprowadzając następujące informacje w terminalu: $ pydesigner -v
    1. Jeśli pojawi się błąd "nie znaleziono modułu", zapoznaj się z sekcją Rozwiązywanie problemów na końcu protokołu (sekcja 10)
      UWAGA: $ pydesigner -h wyświetli dokumentację pomocy, która wyjaśnia polecenia i składnię oprogramowania. PyDesigner można również pobrać przez Github. Zobacz instrukcję instalacji na stronie internetowej23.

6. Przygotowanie danych

UWAGA: PyDesigner współpracuje z wieloma typami plików, takimi jak .nii, .nii.gz, .mif i DICOM. Na filmie DICOM są sortowane i konwertowane na NIfTI przed użyciem tego potoku przetwarzania dMRI. Pliki NIfTI są łatwiejsze w obsłudze, ponieważ są pozbawione elementów pozwalających na identyfikację, a na sekwencję przypada jeden plik.

  1. Aby posortować identyfikatory DICOM, użyj narzędzia DicomSort24.
    UWAGA: Dozwolone jest każde inne dostępne narzędzie do sortowania DICOM, które wykonuje to samo zadanie.
  2. Po posortowaniu DICOM-ów przekonwertuj je na pliki NIfTI za pomocą dcm2niix25.
    1. Zainstaluj dcm2niix, wpisując następujące polecenie w terminalu:
      $ sudo apt installdcm2niix
    2. Po pobraniu wpisz następujące polecenie w terminalu, aby zweryfikować instalację, drukując dokumentację dla dcm2nii: $ dcm2niix -h
  3. Aby uruchomić dcm2niix, wprowadź następujące polecenie do terminala:
    $ dcm2niix -f %s_%p_%d -o pathtosavefolder/ pathtorawdicoms/
    UWAGA: -f: Aby określić strukturę nazwy pliku dla pliku wyjściowego, postępuj zgodnie z tym znacznikiem z dowolną żądaną strukturą nazw plików. W filmie użyto: -f %s_%p_%d . %s, %p i %d są notacjami odpowiednio dla serii, numeru protokołu i opisu. Będzie działać dowolna struktura plików. Oczekiwane dane wyjściowe z dcm2niix to pliki .bval, .bvec, .json i .nii. Jeśli dane TOPUP zostały pobrane, będą to pliki TOPUP .json i .nii.

7. Podstawowe użycie PyDesignera

UWAGA: PyDesigner może zająć do 1,5 godziny na pojedynczy zestaw danych, w zależności od parametrów przetwarzania i możliwości komputera.

  1. Aby uruchomić standardowe przetwarzanie, użyj flagi -s lub -standard. To polecenie uruchomi zalecany potok przetwarzania wstępnego w następującej kolejności: Denoising6, korekcja pierścienia Gibbsa7, korekcja zniekształceń EPI8, korekcja ruchu prądów wirowych9, tworzenie masek mózgu i płynu mózgowo-rdzeniowego (CSF), wygładzanie, korekcja odchyleń ricowskich, wykrywanie wartości odstających11, estymacja tensorowa i tworzenie map parametrycznych.
  2. Aby uruchomić podstawowe polecenie PyDesigner, najpierw aktywuj środowisko conda, wprowadzając następujące polecenie w terminalu: $ conda aktywuj mri
  3. Wydrukuj dokumentację pomocy dla oprogramowania, wprowadzając następujące polecenie: $ pydesigner -h. W tej dokumentacji wyjaśniono wszystkie możliwe polecenia i składnię programu PyDesigner.
  4. Użyj poniższego przykładu, aby ustrukturyzować polecenie.
    $ pydesigner -s --verbose --rpe_pairs 1 -o ./output_folder/ ./input_folder/input1.nii ./input_folder/input2.nii
  5. Zwróć uwagę na następujące ważne flagi:
    1. --verbose: Użyj tego, aby wyświetlić konsolę PyDesigner podczas przetwarzania danych (nie jest to wymagane).
    2. --rpe pairs #: Użyj tego, aby umożliwić użytkownikom z sekwencją TOPUP przyspieszenie procesu korekcji zniekształceń EPI8 za pomocą TOPUP. # odnosi się do liczby woluminów B0 z sekwencji TOPUP, które zostaną użyte. Użycie #=1 zapobiega przeszacowaniu pola zniekształceń i skraca czas potrzebny na utworzenie tego pola. Użytkownicy rutynowo używali #=1 z wiarygodnymi wynikami. W przypadku korzystania z #=1 PyDesigner domyślnie zajmie pierwszy wolumin.

8. Zaawansowane użycie PyDesigner: Dostosowanie oprogramowania do indywidualnych potrzeb użytkowników

UWAGA: Podczas dostosowywania PyDesigner, pomiń -s flaga; ta flaga to polecenie do automatycznego przetwarzania wstępnego.

  1. Aktywuj środowisko conda, wprowadzając następujące polecenie do terminala: $ conda aktywuj mri
  2. Skonsultuj się z witryną internetową oprogramowania23, aby uzyskać listę flag; każda flaga pozwala użytkownikowi uruchomić każdą część PyDesigner indywidualnie.
  3. Uporządkuj polecenie. Zacznij od flag dla każdej sekwencji, którą użytkownik chciałby wykonać. Następnie skieruj program PyDesigner do plików wejściowych i wyjściowych. Na przykład:
    $ pydesigner flag1 flag2 flag3 -o ./output_folder/ ./input_folder/input1.nii
  4. Przykład 1: Uruchamianie samego dopasowania tensora (bez dodatkowego przetwarzania wstępnego).
    1. Aktywuj środowisko conda, wprowadzając następujące polecenie w terminalu: $ conda activate mri
    2. Listę flag można znaleźć na stronie internetowej PyDesigner 23. W tym przykładzie użyto -m.
    3. -m: Dodaj tę flagę, aby ograniczyć dopasowanie tensorów tylko do wokseli w mózgu. Przyspiesza to dopasowanie tensora + wykrywanie wartości odstających.
    4. Użyj poniższego przykładu, aby ustrukturyzować polecenie:
      $ pydesigner -m -o ./output_folder/ ./input_folder/input1.nii
      UWAGA: Dane wejściowe dla dopasowania tensora to wstępnie przetworzony plik .nii.
  5. Przykład 2: Uruchom samo odszumianie (bez dodatkowego przetwarzania wstępnego).
    1. Aktywuj środowisko conda, wprowadzając następujące informacje do terminala: $ conda activate mri
    2. Listę flag można znaleźć na stronie internetowej PyDesigner 23. W tym przykładzie użyto -n.
    3. -n: Dodaj tę flagę, aby zakończyć krok odszumiania. Wprowadź wcześniej wstępnie przetworzony plik DWI o nazwie DWI_preproccessed.nii, który znajduje się w folderze wyjściowym każdego tematu.
    4. Użyj poniższego przykładu, aby ustrukturyzować polecenie:
      $ pydesigner -n -o ./output_folder/ ./input_folder/input1.nii

9. Przyszłe aktualizacje PyDesignera

UWAGA: Aktualizacje można znaleźć na stronie internetowej23.

  1. Aby zaktualizować program PyDesigner, wprowadź następujące informacje w nowym oknie terminala:
    $ install --upgrade PyDesigner-DWI
    UWAGA: Jeśli PyDesigner został zainstalowany za pośrednictwem Github16, musi być również zaktualizowany za pomocą git.

10. Rozwiązywanie problemów z instalacją

  1. Podczas pobierania PyDesigner pojawi się kod błędu "nie znaleziono modułu", jeśli brakuje modułu języka Python.
    1. Napraw brakujący moduł, wprowadzając do terminala następujące polecenie:
      $ install nameofmodule
    2. Następnie powtórz pierwsze polecenie instalacji, wprowadzając następujące polecenie do terminala: $ install PyDesigner-DWI
    3. PyDesigner powinien być teraz w pełni zainstalowany. Wróć do kroku 5.3. Jeśli wystąpi ten sam błąd, powtarzaj ten proces, aż zostaną zainstalowane wszystkie brakujące moduły języka Python.

11. Rozwiązywanie problemów z błędami wyjściowymi

  1. Jeśli wystąpią jakiekolwiek problemy, przejrzyj plik log_command.json, aby zidentyfikować wszelkie błędy przetwarzania wstępnego. Przejrzyj pliki pośrednie, aby określić konkretny błąd.
  2. Aby uzyskać pomoc w rozwiązywaniu problemów, prześlij żądanie na stronie16 usługi GitHub.

12. Uruchamianie PyDesigner z przykładowym zestawem danych

  1. Pobierz przykładowy zestaw danych z OpenNeuro tutaj26.
    UWAGA: Ten przykładowy zestaw danych zawiera zarówno dane nieprzetworzone, jak i wstępnie przetworzone. Nieprzetworzone dane są przeznaczone jako dane wejściowe dla przykładowego przetwarzania programu PyDesigner. Wstępnie przetworzone dane składają się z danych wyjściowych wygenerowanych po przetworzeniu danych pierwotnych przy użyciu potoku przetwarzania dMRI w systemie iMac OS 12.4. Użytkownicy mogą pobrać nieprzetworzone dane, przetworzyć te dane przy użyciu narzędzia PyDesigner i porównać ich dane wyjściowe z podanymi przykładowymi danymi wyjściowymi, aby upewnić się, że program PyDesigner działa poprawnie. Nieprzetworzone dane znajdują się w folderze głównym (/PyDesigner Example Dataset/sub-01), a wstępnie przetworzone dane są zawarte w folderze derivatives (/PyDesigner Example Dataset/derivatives/sub-01). O ile nie określono inaczej, zestaw danych OpenNeuro zostanie pobrany do domyślnego folderu użytkownika.
  2. Otwórz nowy terminal na komputerze Mac/Linux lub WSL na Windows.
    UWAGA: Aby uruchomić standardowy potok przetwarzania PyDesigner, postępuj zgodnie z poniższą przykładową strukturą poleceń. Wprowadź następujące polecenia poniżej do terminala/WSL. W tym przykładzie gdzie " ./user_download_folder/" wskazuje ścieżkę do przykładowego folderu danych. Ta ścieżka będzie specyficzna dla miejsca, w którym przykładowe dane są przechowywane na komputerze poszczególnych użytkowników.
  3. Aby utworzyć nowy folder dla danych wyjściowych, wprowadź do terminala następujące polecenie:
    $ mkdir ./user_download_folder/ ds004945-download /PyDesigner_Outputs
  4. Aby aktywować środowisko conda, wprowadź następujące informacje w terminalu:
    $ conda aktywuj MRI
  5. Aby uruchomić program PyDesigner w przykładowym zestawie danych, wprowadź następujące informacje w terminalu:
    $ pydesigner - o ./user_download_folder/ds004945-download/PyDesigner_Outputs -s ./user_download_folder/ds004945-download/sub-01/dwi/sub-01_dwi.nii
    UWAGA: W tym przykładzie ciąg ./user_download_folder/ wskazuje ścieżkę do przykładowego folderu danych. Ta ścieżka będzie specyficzna dla komputera każdego użytkownika. Polecenia w krokach od 12.3 do 12.5 są zgodne ze strukturą kroku 8.3. To polecenie wykorzystuje flagę -s, standardową flagę przetwarzania PyDesigner, która uruchamia następujące kroki przetwarzania w następującej kolejności: denoising6, Gibbs ringing correction7, undistortion8,9, maskowanie mózgu, wygładzanie i korekcja uprzedzeń rician.
  6. Jeśli oprogramowanie jest zainstalowane poprawnie, wszystkie dane wyjściowe zostaną wypełnione w nowo utworzonym folderze PyDesigner_Outputs. Porównaj pliki przetwarzania wstępnego utworzone przez PyDesigner z przykładowym wstępnie przetworzonym folderem zestawu danych znajdującym się w folderze "pochodne" pobranym z OpenNeuro.
    1. Zapoznaj się z sekcją reprezentatywnych wyników, aby porównać ich mapy metryk z tymi w wynikach przykładowego zestawu danych.

Results

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

Oprogramowanie PyDesigner stosuje wiele kroków korekcji obrazu do surowych danych dyfuzyjnych i generuje dane wyjściowe używane do poprawy dokładności plików surowych podczas przeprowadzania analizy. Każdy krok dostępny w potoku został wcześniej zweryfikowany przez recenzowane publikacje5,6,7,8,9,10,11, jak omówiono we wprowadzeniu. Wyniki oprogramowania mogą być wykorzystywane w analizach, takich jak profile traktograficzne, macierze połączeń, analizy wokselowe, analizy ROI, analizy fODF, TBSS i analizy oparte na fixelach.

Strona internetowa oprogramowania23 wyświetla listę wszystkich plików wyjściowych wygenerowanych podczas procesu wstępnego przetwarzania. Po uruchomieniu każdego monitu konsola wyświetli opis wszystkich zakończonych procesów. Istnieją 3 typy plików wyjściowych: pliki przetwarzania, metryki i kontrola jakości. Struktura katalogu wyjściowego jest pokazana w Rysunek 1. Pliki te są dostępne w przypadku korzystania ze standardowego przetwarzania wstępnego (patrz sekcja 7 protokołu). Jeśli użytkownik wymaga bardziej zaawansowanego użytkowania (patrz sekcja 8 protokołu), dostępne pliki wyjściowe będą zależeć od tego, które procesy zostały zakończone.

figure-results-1
Rysunek 1: Wizualna reprezentacja potoku PyDesigner. Przetwarzanie wstępne rozpoczyna się od dostarczenia wejściowego DWI 4D do PyDesigner (u góry po lewej), który następnie jest poddawany odszumianiu MP-PCA, aby uzyskać odszumiony DWI 4D i mapę szumów 3D. Odszumiony 4D DWI jest następnie poddawany korekcji dzwonienia Gibbsa, korekcji odchylenia Riciana, TOPUP, korekcji prądów wirowych i korekcji wartości odstających. Maska mózgu jest następnie obliczana dla kolejnych kroków, wykrywania wartości odstających i dopasowania tensora w celu przyspieszenia obliczeń, wykonując je tylko w masce mózgu. Dane wyjściowe można znaleźć w podkatalogach w głównym folderze przetwarzania tematów - intermediate_nifti, metryki i metrics_qc. Należy pamiętać, że zrzuty ekranu danych wyjściowych PyDesigner nie mają być wyczerpującą listą wszystkich możliwych danych wyjściowych, ale raczej stanowią schematyczny przykład wizualny tego, czego użytkownicy mogą się spodziewać. Dane wyjściowe, zarówno końcowe dane wyjściowe, jak i pliki pośrednie, będą się różnić w zależności od zastosowanych danych wejściowych użytkownika i flag przetwarzania. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.

Przetwarzanie
Pliki przetwarzania są używane podczas potoku PyDesigner i są przechowywane w głównym katalogu wyjściowym. Dla każdego kroku przetwarzania wstępnego pośrednie pliki DWI są zapisywane w folderze wyjściowym "intermediate_nifti", jak pokazano w Rysunek 1. Do tych plików należy się odwoływać podczas rozwiązywania wszelkich problemów z przetwarzaniem lub danymi wyjściowymi, aby ocenić każdy krok potoku oddzielnie.

figure-results-2
Rysunek 2: Optymalne i nieoptymalne pośrednie pliki DWI NifTI. Na rysunku przedstawiono pośredni plik NIfTI dla każdego kroku korekcji obrazu potoku PyDesigner. Górny wiersz jest przykładem optymalnych pośrednich danych wyjściowych pliku wykorzystującego dane ze zdrowego dorosłego mózgu, środkowy wiersz jest przykładem optymalnych pośrednich danych wyjściowych pliku wykorzystującego dane z patologicznego mózgu (oponiaka), a dolny wiersz wyświetla nieoptymalne wyjścia pliku pośredniego przy użyciu danych ze zdrowego dorosłego mózgu z artefaktem podatności niezwiązanym ze strukturą mózgu lub zdrowiem. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.

Metryki
Ten folder zawiera wszystkie mapy parametryczne obliczane przez PyDesigner (zobacz Rysunek 1). Obejmuje to mapy parametryczne dla DTI/DKI, obrazowania kulki światłowodowej (FBI)/ istoty białej kulki światłowodowej (FBWM) oraz metryki integralności drogi istoty białej (WMTI) (Tabela 1)16.

figure-results-3
Tabela 1: Oczekiwany zakres wartości dla metryk DTI/DKI i FBI/FBWM. Tabela zawiera listę solidnych metryk DTI, DKI, FBI i FBWM generowanych przez PyDesigner oraz ich oczekiwane zakresy wartości. Wymienione są również wymagane sekwencje i wartości b (s/mm2) do wyprowadzenia każdej metryki. Wymienione metryki DTI to FA, MD, AD i RD. Wymienione metryki DKI to MK, AK, RK i KFA. Podana metryka FBI to FAA. Wymienione metryki FBWM to AWF, DA, DE_AX, DE_RAD i FAE.

Użytkownicy mogą przeprowadzać wizualną i wartościową kontrolę jakości (QC) wskaźników średniej dyfuzyjności (MD), anizotropii frakcyjnej (FA) i średniej kurtozy (MK), aby zidentyfikować nieoptymalne wyniki. Jeśli te metryki nie są optymalne w porównaniu ze standardami opisanymi poniżej, użytkownicy powinni przyjrzeć się każdemu plikowi pośredniemu opisanemu w Rysunek 2, aby określić, który krok przetwarzania wstępnego nie powiódł się.

Visual QC służy do identyfikowania nieoptymalnych wyników (np. problemów z dopasowaniem tensorów i artefaktów). Zalecamy używanie ImageJ do wizualnej kontroli jakości, aby upewnić się, że obraz nie jest manipulowany za pomocą domyślnych ustawień oprogramowania. Górny wiersz Rysunek 3 pokazuje typowe mapy metryczne MD, FA i MK przy użyciu biologicznie prawdopodobnego progu odpowiednio 0-3 μm2/ms, 0-1 μm2/ms i 0-2 μm2/ms (Rysunek 3 [Górny rząd]). Mapa MD powinna mieć najwyższe wartości w komorach i wysokie wartości w korowej istocie szarej (Rysunek 3A [Górny wiersz]). Mapa FA powinna mieć widoczne pasma istoty białej, które są wyraźne w całym mózgu (Rysunek 3B [Górny rząd]). Mapa MK powinna mieć wysokie wartości w WM i niższe wartości w istocie szarej i CSF (Rysunek 3C [Górny wiersz]). Rysunek 3D [Górny wiersz] to przykład mapy metrycznej z problemami z dopasowaniem tensorów, co skutkuje klastrami wokseli o zerowej wartości. Jeśli wystąpią jakiekolwiek problemy, przejrzyj plik log_command.json, aby znaleźć błędy przetwarzania wstępnego. Przejrzyj pliki pośrednie, aby określić konkretny błąd. Aby uzyskać pomoc w rozwiązywaniu problemów, prześlij żądanie na stronie PyDesigner GitHub.

Kontrola jakości wartości jest używana do określenia, czy woksele danej mapy metrycznej są względnie jednolite między obiektami dla każdego zestawu danych. Oczekiwany zakres wartości dla każdej mapy i zestawu danych jest zależny od parametrów danych i PyDesigner. W naszym testowym zestawie danych mieliśmy spójne szczyty w zakresach od 8000 do 10 000, od 2500 do 4000 i od 5000 do 13 000 odpowiednio dla MD, FA i MK, przy użyciu domyślnego grupowania histogramu FSLeyes. Dolny wiersz Rysunek 3 przedstawia przykłady zmienności histogramu. Tabela 1 zawiera oczekiwane wartości na osi x dla tych wskaźników. Wyższe lub niższe woksele są charakterystyczne dla zestawu danych lub wskazują na artefakt lub problem z przetwarzaniem wstępnym (Rysunek 3D [dolny wiersz]).

figure-results-4
Rysunek 3: Przykładowe mapy metryk i histogramy z PyDesigner z optymalnymi i nieoptymalnymi wynikami. W górnym wierszu przedstawiono przykłady jednoobiektowych map MD, FA i MK używanych do wizualnej kontroli jakości. W dolnym wierszu przedstawiono histogramy wieloobiektowe używane dla wartości QC. (A-C) Typowe przykłady map metryk i histogramów, które przechodzą wizualną i wartościową kontrolę jakości. Każda niebieska linia na histogramach dla każdego typu metryki reprezentuje indywidualny zestaw danych. Należy pamiętać, że każdy zestaw danych ma podobną krzywą i mieści się w podobnym zakresie. (D) Przykład mapy metrycznej, która nie przechodzi wizualnej lub wartościowej kontroli jakości. Zwróć uwagę, że czerwona linia na histogramie pokazuje krzywą, która różni się od krzywej A-C. Zerowe woksele zakreślone na tej mapie metrycznej są spowodowane problemami z dopasowaniem tensora podczas przetwarzania wstępnego (panel D, górny wiersz). Ten histogram jest przykładem ogólnie wyższych lub niższych wokseli w zestawie danych niż oczekiwano (Panel D, dolny wiersz). Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.

Kontrola jakości
Gdy PyDesigner przetworzy dane, folder metrics_qc (patrz Rysunek 1) powinien zostać użyty do zidentyfikowania nieoptymalnych zestawów danych. Dla każdego zestawu danych program PyDesigner generuje trzy wykresy używane do kontroli jakości.

figure-results-5
Rysunek 4: Histogramy QC generowane przez PyDesigner dla optymalnych i nieoptymalnych zestawów danych. SNR, międzywoluminowy ruch głowy i histogramy odstające generowane przez PyDesigner. Oba wiersze reprezentują dane ze zdrowego dorosłego mózgu. Górny wiersz jest przykładem histogramów kontroli jakości dla optymalnego zestawu danych. Dolny wiersz pokazuje wyniki kontroli jakości nieoptymalnego zestawu danych z artefaktem podatności niezwiązanym ze strukturą mózgu lub zdrowiem. Należy pamiętać, że rozmiar tekstu etykiet w domyślnych danych wyjściowych z programu PyDesigner jest mniejszy niż będą wyświetlane na tym rysunku. Zwiększyliśmy rozmiar tekstu na tym rysunku, aby był bardziej czytelny. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.

Wykresy head_motion w Rysunek 4 pokazuje przemieszczenie głowy względem pierwszego tomu i poprzedniego tomu. Jak widać na Rysunek 4 (panel 1), przemieszczenie głowicy jest zazwyczaj niewielkie, a PyDesigner dostosowuje się do tych artefaktów ruchu w standardowym potoku przetwarzania za pomocą programu FSL Eddy wraz z TOPUP dla ruchu i korekcji ruchu prądów wirowych9. W przypadku nieoptymalnych zestawów danych wykres head_motion może wydawać się pusty, jak pokazano na rysunku Rysunek 4 (panel 4). Oznacza to, że korekcja ruchu prądów wirowych nie powiodła się, dlatego PyDesigner nie był w stanie wyświetlić wykresu. Pliki dziennika korekcji prądów wirowych można znaleźć w podfolderze Eddy w folderze metrics_qc (patrz Rysunek 1). Wykres stosunku sygnału do szumu (SNR) przedstawia 3 wykresy. Każdy wykres dotyczy innej wartości b i pokazuje zarówno dane wstępnie przetworzone, jak i surowe. Aby uzyskać optymalny zestaw danych, szczyt SNR danych surowych powinien wynosić ≥5 (Rysunek 4 [panel 2]). Nieoptymalne zestawy danych będą miały szczyt SNR danych surowych na poziomie ≤3 (Rysunek 4 [panel 5]). Idealnie byłoby, gdyby użytkownicy zauważyli, że szczyt SNR dla wszystkich wartości b nieznacznie wzrasta, ale nie dramatycznie. Wykres wartości odstających znajduje się w folderze dopasowania w metrics_qc i pokazuje procent wartości odstających w zestawie danych (Rysunek 4 [panel 3 i 6]). Dobry zestaw danych powinien mieć niski odsetek wartości odstających, zwykle mniejszy niż 5% (Rysunek 4 [panel 3]). Nieoptymalny zestaw danych będzie zawierał duży odsetek wartości odstających, jak pokazano na rysunku Rysunek 4 (panel 6).

Przykładowe wyniki zestawu danych
Gdy PyDesigner zakończy przetwarzanie przykładowego zestawu danych, wszystkie dane wyjściowe powinny znajdować się w folderze "PyDesigner_Outputs". Te dane wyjściowe można porównać z tymi, które znajdują się w folderze "derivatives" spakowanym z przykładowym zestawem danych pobranym z OpenNeuro (przetworzonym w systemie MacOS 12.4). Jeśli oprogramowanie działa poprawnie, struktura plików "PyDesigner_Outputs" i "pochodnych" będzie dokładnie taka sama. Podobnie, wykresy SNR, ruchu głowy i wartości odstających znajdujące się w podfolderze "metrics_qc" powinny być zgodne z tymi w Rysunek 5A. Mapy metryczne (znajdujące się w podfolderze "metryki") można porównywać za pomocą oprogramowania do obrazowania, takiego jak FSLeyes, MRIcron, ImageJ itp. Histogramy wartości FA, MD i MK ze wstępnie przetworzonych/metryk można zobaczyć w Rysunek 5B. Zwróć uwagę, że wszystkie histogramy metryk pokazane w Rysunek 5B są skalowane na podstawie sugerowanych skal wartości metryk w Tabeli 1.

figure-results-6
Rysunek 5: Przykładowe histogramy danych i metryki QC. (A) SNR, międzyobjętościowe ruchy głowy i histogramy odstające wygenerowane przez PyDesigner dla przykładowych danych pobranych z OpenNeuro. Należy pamiętać, że rozmiar tekstu na wykresach na tym rysunku został zwiększony w celu zwiększenia czytelności. (B) Metryka pojedynczego podmiotu mapuje histogramy liczby wartości wokseli dla FA, MD i MK dla tego samego zestawu danych, wizualizowane za pomocą FSLeyes v6.0. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.

figure-results-7
Rysunek 6: Mapy DTI i DKI pochodzące z PyDesigner, DESIGNER, DKE i DIPY. Dopasowanie tensorowe zostało wykonane z ograniczeniem Kapp > 0 w PyDesigner, DESIGNER5 i Diffusional Kurtosis Estimator (DKE)27, podczas gdy nieograniczone dopasowanie zostało użyte w Diffusion Imaging in Python (DIPY)28 ze względu na ograniczenia oprogramowania. Jednostkami MD są mikrometry do kwadratu na milisekundę (μm2/ms), podczas gdy inne metryki są bezwymiarowe. Przerwy spowodowane ogólnym problemem z korekcją dzwonienia Gibbsa można zobaczyć na mapach MK wyprodukowanych przez DESIGNER, DKE i DIPY. Ten rysunek został powielony za zgodą Dhiman et al.29. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.

figure-results-8
Rysunek 7: Porównanie FA, MD i MK w różnych rurociągach. Rozkład obliczonych wartości dla FA, MD i MK z PyDesigner, DESIGNER5, DKE27 i DIPY28 w mózgach wykluczonych z CSF jest podobny w większości wokseli. Obliczanie mapy metrycznej w różnych metodach jest porównywalne. Ten rysunek został powielony za zgodą Dhiman et al.29. Kliknij tutaj, aby zobaczyć większą wersję tego rysunku.

Discussion

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

Główną motywacją do stworzenia PyDesignera było zaimplementowanie kluczowych elementów DESIGNERa przy jednoczesnym zastąpieniu całego kodu MATLAB Pythonem, co pozwoliłoby na większą przenośność i dostępność. PyDesigner i DESIGNER Dv1 dają prawie identyczne dane wyjściowe29. Niemniej jednak w PyDesigner znajduje się kilka dodatkowych opcji, ustawień domyślnych i drobnych poprawek błędów. Dokumentacja online PyDesigner16 opisuje je szczegółowo.

PyDesigner daje również podobne wyniki do powszechnie stosowanych narzędzi do analizy DKI Diffusional Kurtoza (DKE)27 i Diffusion Imaging in Python (DIPY)28 DKI29 (patrz Rysunek 6 i Rysunek 7), ale mapy wygenerowane na podstawie wstępnie przetworzonego przez DESIGNER dMRI są uważane za dokładniejsze ze względu na ich algorytm dopasowania, jak wykazano przez Ades-Aron i wsp.5. Rysunek 6 przedstawia porównanie map metrycznych MD, FA i MK z PyDesigner, DESIGNER5, DKE27 i DIPY28. Rysunek 7 przedstawia porównanie histogramów MD, FA i MK z każdego rurociągu. Połączenie dopasowania ograniczonego tensora, wykrywania wartości odstających i korekcji pozornego współczynnika kurtozy daje bardziej niezawodne i dokładne dopasowanie tensora, jak widać w PyDesigner i DESIGNER5.

Przewagą PyDesigner nad DESIGNER Dv1 jest to, że jest on dostępny za pośrednictwem kontenera NeuroDockDocker 30, co znacznie zwiększa przenośność i upraszcza instalację. Ten kontener działa na wszystkich głównych platformach systemu operacyjnego zgodnych z platformą Docker, w tym Windows, Mac OS i różnych dystrybucjach Linuksa. Opierając się na opiniach użytkowników, PyDesigner v2.0 będzie zawierać aktualizacje kontenera PyDesigner Docker. Ulepszenia wprowadzone przez nową wersję PyDesigner oraz wprowadzenie wieloetapowego pliku Dockerfile rozwiążą wszystkie istniejące problemy, z którymi borykają się użytkownicy. Jeśli użytkownicy mają problemy z instalacją, zalecamy przesyłanie pytań na stronę dyskusji PyDesigner16. Technologia kontenerów platformy Docker umożliwia również proste wdrażanie w klastrach o wysokiej wydajności (HPC) w celu szybkiego przetwarzania wsadowego DWI w klastrach lokalnych zgodnych z platformą Docker.

PyDesigner zawiera również obliczenia modelowania mikrostrukturalnego, które wykraczają poza DKI, w tym WMTI3, FBI i FBWM. W przypadku WMTI odpowiedni jest standardowy zestaw danych DKI, a powiązane parametry mikrostrukturalne są obliczane domyślnie. Należy jednak podkreślić, że ważność WMTI jest ograniczona do obszarów istoty białej o wysokim FA (tj. FA ≥ 0,4). Niektóre metryki WMTI mają ograniczoną dokładność ze względu na założenie równoległego wyrównania aksonów w dowolnym wokselu31. FBI 32,33,34 to odrębna metoda dMRI mająca zastosowanie w całej istocie białej mózgu, która wymaga wysokiej wartości b (tj. b ≥ 4000 s/mm 2) i danych dMRI próbkowanych z co najmniej 64 kierunkami kodowania dyfuzji (wraz z danymi dla b = 0). Głównymi wynikami FBI są funkcja gęstości orientacji włókien (fODF) dla każdego woksela istoty białej, która może być używana do traktografii istoty białej i służy jako dane wejściowe dla FBWM, a także wewnątrzaksonalna anizotropia frakcyjna (FAA). FBWM wykorzystuje dane dMRI zarówno z DKI, jak i FBI do oszacowania tych samych parametrów co WMTI, ale z większą dokładnością i może być stosowany w całej istocie białej niezależnie od wartości FA. W związku z tym, jeśli te dodatkowe dane są dostępne, wówczas szacunki FBWM są preferowane w stosunku do tych z WMTI35. Podobnie jak w przypadku FBI, FBWM został zatwierdzony tylko w istocie białej mózgu u dorosłych.

Oprócz niezmienników rotacyjnych dostarczanych przez PyDesigner (orientacja RAS), pliki .fib specyficzne dla DSIstudio (orientacja LPS) są tworzone oddzielnie dla DTI, DKI i FBI. Pliki .fib zawierają informacje kierunkowe ODF do generowania profili traktograficznych dla każdej metody. Uzyskane profile traktograficzne można wykorzystać do generowania macierzy połączeń na poziomie przedmiotu i grupy. Pliki DKI i FBI .fib zawierają wielokierunkowe informacje przekazujące informacje o przenikających się włóknach, które nie są dostępne w traktografii DTI. Co więcej, w każdym pliku .fib uwzględniono różne niezmienniki rotacyjne każdej metody, które mogą być używane w różnych kombinacjach jako kryteria wysiewu, wykonywania i zatrzymywania traktografii. Więcej szczegółów na temat DSIstudio można znaleźć na ich stronie internetowej36.

Inną godną uwagi cechą PyDesigner jest wprowadzanie wielu plików, co pozwala na obsługę różnych danych wejściowych plików - NifTi (.nii), skompresowanego NifTi (.nii.gz), DICOM (.dcm) i formatu pliku MRtrix (.mif). PyDesigner może automatycznie identyfikować informacje o pozyskiwaniu z metadanych nagłówka niezależnie od formatu wejściowego i odpowiednio wprowadzać poprawki, wspierając w ten sposób podejście bezobsługowe. Niezależnie od różnic w protokołach, to samo polecenie (patrz wyżej) może być używane do przetwarzania szerokiej gamy DWI. W ten sposób oprogramowanie to oszczędza czas i wysiłek, minimalizując ręczne etapy i polecenia przetwarzania wstępnego. W niedawno wydanej aktualizacji (v1.0-RC10) zostało to ulepszone przez wprowadzenie zgodności z wieloma zestawami danych czasu echa (multi-TE). Dzięki temu PyDesigner może uruchamiać kroki wstępnego przetwarzania obrazu, które są w dużej mierze niezależne od TE, na wielu DWI TE, aby uzyskać obraz z minimalnym szumem i artefaktami. Obliczenia tensora zależnego od TE są następnie wykonywane osobno dla każdego TE w celu uzyskania metryk dyfuzji lub kurtozy.

Należy zauważyć, że PyDesigner v1.0 nie reprezentuje punktu końcowego w projekcie potoków wstępnego przetwarzania obrazów. Rozwój i walidacja narzędzi do przetwarzania obrazu jest aktywnym obszarem badań. W szczególności, podczas przygotowywania tego manuskryptu, zaproponowano nowe rozwiązania w zakresie odszumiania obrazu i usuwania pierścieni Gibbsa, co zaowocowało wydaniem poprawionego potoku Designer, Designer Dv237, który zawiera ulepszone odszumianie i korektę artefaktów Gibbsa dla dMRI uzyskanych z częściowymi akwizycjami Fouriera35 i jest dostępny na Github38 DESIGNER. Podobnie, zgodność organizacyjna BIDS39 jest ważnym aspektem każdego procesu analizy MRI. Format BIDS pozwala na bardziej efektywne udostępnianie danych i implementację potoków poprzez ustanowienie specyficznej struktury zestawu dla wszystkich typów danych MRI. Mimo że program PyDesigner nie jest obecnie zgodny z usługą BIDS, nadchodząca wersja programu PyDesigner będzie zawierać dane wyjściowe zgodne z usługą BIDS. Ponadto PyDesigner został pierwotnie napisany przy użyciu Pythona w wersji 3.7. W momencie tej publikacji Python 3.7 jest obecnie uważany za przestarzały. Jednak informacje zawarte w tym manuskrypcie są niezależne od wersji Pythona. Oznacza to, że opisane tutaj procedury, które są ważnymi funkcjami przetwarzania wstępnego (np. odszumianie, korekcja dzwonka Gibbsa itp.), będą przebiegać zgodnie z tym samym operacyjnym i koncepcyjnym przepływem pracy, niezależnie od zmian w procedurach instalacyjnych. Co ważne, podobnie jak w przypadku każdego oprogramowania opartego na Pythonie, przyszłe wersje PyDesigner zostaną zaktualizowane do nowej wersji Pythona. Staramy się z czasem weryfikować i integrować takie rozwiązania.

Aby uzyskać najnowszą wersję PyDesigner, w tym wszelką nową dokumentację związaną z aktualizacjami wersji Pythona, czytelnicy są zachęcani do zapoznania się ze stroną internetową przed rozpoczęciem nowej analizy i zaangażowania się na forum dyskusyjnym, na którym można zadawać pytania dotyczące PyDesigner16. Implementacja Dockera dla przenośności nazywa się NeuroDock30 i zawiera PyDesigner i jego zależności, aby umożliwić przetwarzanie na wielu różnych platformach.

Acknowledgements

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

Jesteśmy wdzięczni za pomocne rozmowy z Olivią Horn, Danielem Lenchem i Grahamem Warnerem.

Badania opisane w tej publikacji były częściowo wspierane przez granty National Institutes of Health R01AG054159, R01AG057602, R01AG055132, R01DC014021, R01NS110347, R21DA050085, F31NS108623, P20GM109040, P50DC000422, T32GM008716 i T32DC014435. Wyłączną odpowiedzialność za treść ponoszą autorzy i nie muszą one reprezentować oficjalnych poglądów National Institutes of Health. Dodatkowe dofinansowanie zapewniła Fundacja Litwin.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Python w wersji 3.7 lub nowszejPython Software Foundationhttps://www.python.org/
FMRIB Software Library (FSL) w wersji 6.0.2 lub nowszejNeuroobrazowania Integracyjnego Uniwersytetu Oksfordzkiegohttps://fsl.fmrib.ox.ac.uk/fsl/fslwiki/
MRtrix3 w wersji 3.0_RC3 lub nowszejwielu współpracownikówhttps://www.mrtrix.org/
AnacondaAnacondahttps://anaconda.org/
ComputerAppleMac OS 10.14Zbudowany na Mac OS 10.14; testowany na Mac OS 12.4, Mac OS 13, Windows 11 przez WSL
Centrum

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