FreeSurfer漢化教程

介紹FsFAST的預處理

根據官網的英文進行翻譯,並在使用過程中所犯的錯誤進行解決的過程

介紹Tutorial Data 下載以及安裝

安裝

安裝Tutorial Datasets 從教程數據,創建文件tutorial_data在自己的工作路徑中。

curl https://surfer.nmr.mgh.harvard.edu/pub/data/tutorial_data.tar.gz -o tutorial_data.tar.gz
tar -xzvf tutorial_data.tar.gz
rm tutorial_data.tar.gz

配置

爲了能夠運行tutuorials用於需要設置環境變量TUTORIAL_DATA設置爲 tutorial_data的根目錄,文件夾中必須包含提取出來的數據(目錄有’buckner_data’,‘long-tutorial’,'fsfast-functional’等),由於教程中頻繁使用環境變量TUTORIAL_DATA,需要對他進行適當的設置才能正常運行

export TUTORIAL_DATA=/path/to/your/tutorial/dir
ls $TUTORIAL_DATA

buckner_data                    fsfast-functional
diffusion_recons                fsfast-tutorial.subjects
diffusion_tutorial              long-tutorial

如果出現類似上面的輸出,則可以進行教程的學習了

FSFAST 預處理介紹

一旦數據存放在適當的目錄結構和命名約定中,可以對數據執行預處理步驟,預處理包括:
a) Template Creation
b) Brain Mask Creation
c) Registration with FreeSurfer Anatomical
d) Motion Correction
e) Slice Timing Correction
f) Spatial Normalization
g) Masking
h) Spatial Smoothing
在FSFAST中,假設每個數據集將在三個歸一化空間中進行分析:

  1. Left cortical Hemisphere 左半球大腦皮層
  2. Right cortical Hemisphere 右半球大腦皮層
  3. Subcortical Structures 皮層下結構(Volumed-based)
    判斷多大的平滑和是否需要進行Slice Timing Correction。在這個分析中使用FWHM=5mm對數據進行平滑處理,然後需要進行Slice Timing Correction。 Slice Timing對於特殊的數據集是升序的(“Ascending”),即first slice是最先得到的,second slice是第二個得到的。
    執行一下命令,對數據執行預處理部分,首先切換到目標目錄中.
export SUBJECTS_DIR=$TUTORIAL_DATA/fsfast-tutorial.subjects
cd $TUTORIAL_DATA/fsfast-functional

然後執行preproc-sess具體命令如下

preproc-sess -s sess01 -fsd bold -stc up -surface fsaverage lhrh -mni305 -fwhm 5 -per-run

這條命令有幾個參數:

  • -s sess01:進行預處理的session是哪個
  • -fsd bold:表示functional subdirectory(FSD)
  • -stc up:執行slice-timing correction的順序是 ascending(‘up’)
  • -surface fsaverage lhrh:數據應該被採樣到 "fsaverage"受試者的左右半球
  • -mni305:將數據採樣到 mni305 volume(2 mm 各向同性體素大小)
  • -fwhm 5:在重採樣之後使用 5mm FWHM進行平滑處理
  • -per-run:分別配準每個run

上面的了命令做的步驟比較多,如果是包含多個被試時,將花費比較長的時間執行。
產看其中一個運行目錄的內容

ls $TUTORIAL_DATA/fsfast-functional/sess01/bold/001

你將看到呈現出很多的文件,但是有三個比較重要的文件:

  • fmcpr.up.sm5.fsaverage.lh.nii.gz -左半球的 fsaverage
  • fmcpr.up.sm5.fsaverage.rh.nii.gz -右半球的 fsaverage
  • fmcpr.sm5.mni305.2mm.nii.gz - volume的fsaverage - 用於皮層下分析

這些是時間序列的數據,並且他們的名稱表明他們執行的過程

  • fmcpr - 每個run的頭動校正
  • up - 使用升序的時間層校正(slice-timing correction)
  • sm5 - 使用 5mm FWHM進行平滑處理。
  • fsaverage.lh - 左側半球的表面進行採樣
  • fsaverage.rh - 右側半球的表面進行採樣
  • mni305.2mm - 在2mm各向同性的 fsaverage (MNI305)volume中採樣
    在這裏插入圖片描述
    想要了解更多,看Preprocessing Details

Quality Assurance 質量保證

Functional-Anatomical Cross-modal Registration

功能-結構交叉模態配準
通過以下命令獲得配準質量的總結

tkregister-sess -s sess01 -s sess02 -s sess03 -fsd bold -per-run -bbr-sum

輸出爲每一個session的每一個run的值

sess01     001 0.5740
sess01     002 0.5776
sess01     003 0.5813
sess01     004 0.5740
sess02     001 0.5159
sess03     001 0.6021
  • 第一列表示Session的ID
  • 第二列表示每個Session中的每次Run
  • 第三列表示quality assurance (QA)值。他是從0到1的值,0表示完美,1表示糟糕。

實際值取決於您如何獲取數據。一般來說,任何超過0.8的值都表示可能出了問題,比如:

  • 功能和結構像的個體不匹配
  • 功能像的左右顛倒
  • 初始化失敗(部分FOV(Field-of-View)時有發生)

使用以下命令查看registrations的圖像

tkregister-sess -s sess02 -fsd bold -per-run

在這裏插入圖片描述
在這裏插入圖片描述

  • 這將在Freeview中每次Run中顯示registration。
  • 現在只需要看一下配準的結果並確定他看起來結果不錯
  • 退出Freeview

如果你想知道更多的關於registration使用tkregister和Freeview,看多模態教程

Preprocessing Details

您不需要執行下面的步驟來理解本教程的剩餘部分。這部分可以使你深入理解FS-FAST預處理的內部工作原理.
回到其中一個運行的目錄,看看preprocess產生了什麼

cd $TUTORIAL_DATA/fsfast-functional/sess01/bold/001
ls

在進行預處理之前,目錄中只有 f.nii.gz, workmem.par和wmfir.par。現在裏面有許多文件,每個文件都表示不同的預處理階段,現在輸入:

ls -ltr

這個命令將最早創建的文件放在最上面,最晚創建的文件放在最下面

Template

這個階段創建 template.nii.gz 。這是原始功能數據的中間的時間點(f.nii.gz)。這是一個參考用於頭動校準和配準到運行的結構圖像。也被用作創建大腦的mask。

使用 mri_info驗證Template與原始數據具有相同的維數和分辨率:

mri_info template.nii.gz
mri_info f.nii.gz

注意:本條命令的意思是通過mri_info之後對模板文件(template.nii.gz)與原始數據文件(f.nii.gz)進行比較,以下分別是template與f的緯度和分辨率的信息
template.nii.gz

f.nii.gz

Masking

運行期間產生的Mask存放於masks目錄之下。運行ls -ltr masks(注意: ls -ltr masks 表明羅列出masks文件夾中的文件按照創建時間進行排列)您能夠發現一個名稱爲brain.nii.gz的文件。他是通過使用FSL BET程序產生的二進制mask,還有一個由三個體素嵌入的mask名稱爲brain.e3.nii.gz的文件。這個eroded mask只能通過從腦組織中計算得到(減少邊緣效應)。這些文件和template文件有着相同的維度。查看masks命令:

freeview -v template.nii.gz masks/brain.nii.gz:colormap=heat:opacity=0.75 -viewport cornonal

brain.nii.gz

freeview -v template.nii.gz mask/.brain.e3.nii.gz:colormap=heat:opacity=0.75 -viewport coronal

brain.e3.nii.gz
您可以通過移動不透明的滑塊或者輸入一個新的值來調整mask的不透明度。現在,mask的不透明度設置的是0.75(這是通過在freeview的命令行中設置 opacity=0.75),這樣您就能看到哪裏與template的volume重疊。brain.nii.gz是用於約束體素的操作步驟。利用eroded mask計算強度歸一化和全局平均時間過程的平均功能值。其他的masks之後會講到。

Intensity Normalization and Global Mean Time Course.

默認情況下,FS-FAST將按比例改變所有voxel的強度和時間點,以確保他們在不同的run,session,subject有相同的值。通過除以大腦中所有voxel和時間點的平均值,然後乘100,確保不同run, session, subject有相同的值。這些數據存儲在globl.meanval.dat。 您可以看到這是一個簡單的text文件,將值存儲起來稍後再用。每個時間點的平均值也能構成waveform(text文件是 global.waveform.dat)。這個可以作爲一個nuisance迴歸

  • runs 1,2,3,4的整體意義是什麼?

Functional-Anatomical Cross-modal Registration

將之後的六個文件(init.register.dof6.dat, register.dof6.lta, register.dof6.dat.sum, register.dof6.dat.param, register.dof6.dat.mincost, register.dof6.dat.log)進行配準從功能像到相同被試FreeSurfer的結構像之上。這裏只有兩個文件是真正重要的:register.dof6.ltaheregister.dof6.dat.mincost

  • register.dof6.lta - 包含配準矩陣的text文件
  • register.dof6.mincost - is a text file that contains a measure of the quality of the registration

Motion Correction

motion correction階段產生了這些文件: fmcpr.aff12.1D, fmcpr.nii.gz, mcprextreg, mcdat2extreg.log, fmmcpr.nii.gz.mclog, fmcpr.mcdat。其中只有三個比較最重要的文件:

  • fmcpr.nii.gz – 這是motion correction的功能數據。他和原始的功能數據有着相同的維度和大小。
  • fmcpr.mcdat – 每個時間點的全部頭動數據的text文件
  • mcprextreg – 文本文件的運動校正參數組成一個正交矩陣,可以作爲 nuisance迴歸
  • 通過命令 mri_info 確認 fmcpr.nii.gz 和f.nii.gz有相同的維度

Slice-Timing Correction

Slice-Timing Correction對在2s內獲得30張slice進行時間層校正。通過在時間點之間進行插入來使每個Slice與TR中間層的時間進行對齊來進行Slice-Timing Correction。通過 fmcpr.up.nii.gz進行生成.

  • 使用命令mri_info確認 fmcpr.nii.gz與f.nii.gz有着相同的維度

Resampling to Common Spaces and Spatial Smoothing

功能數據保留在native functional space。現在將其採樣到公共空間。公共空間是一個geometry,即所有被試要進行體素與體素之間的配準。在FS-FAST有這樣的三個空間:

  • fsaverage的左半球(fmcpr.up.sm5.fsaverage.lh.nii.gz)
  • fsaverage的右半球(fmcpr.up.sm5.fsaverage.rh.nii.gz)
  • fsaverage的volume(MNI305 space) - 用於皮層下分析(fmcpr.sm5.mni305.2mm.nii.gz)

每一個都是將整個4D功能數據集重採樣到公共空間中。進行重採樣之後要進行空間平滑處理,基於2D表面的平滑處理用於表面,3D的用於Volume。查看MNI305空間volume的維度:

mri_info --dim fmcpr.up.sm5.mni305.2mm.nii.gz # 查看數據的維度和slice數量
mri_info --res fmcpr.up.sm5.mni305.2mm.nii.gz # 查看數據的分辨率

數據維度
76 列76行 93slice的數量 142時間點的數量
查看數據分辨率
2.000 2.000 2.000表示voxel的三個座標軸上的大小 2000.000=TR。

這個空間的轉換是基於 FreeSurfer重建過程中創建的12 DOF talairach.xfm。產看左側大腦半球的Volume

mri_info --dim fmcpr.up.sm5.fsaverage.lh.nii.gz
mri_info --res fmcpr.up.sm5.fsaverage.lh.nii.gz
1.00 1.00 1.00 2000.000

前三個沒有什麼意義,因爲在surface中沒有行,列以及slice。最後一個2000.000表示2s。這個空間的轉換時基於FreeSurfer重建過程中產生的基於表面的被試之間的配準。

First Level分析

First Level (Time Series) Analysis

這個教程描述通過 configuring 分析(設計矩陣)和對照如何分析時間序列數據。有兩個不同的階段:

  1. Configuring analyses and contrasts
  2. 通過擬合時間序列到模型上以及計算contrast的p值分析數據。

在Project的母目錄下進行教程

export SUBJECTS_DIR=$TUTORIAL_DATA/fsfast-tutorial.subjects
cd $TUTORIAL_DATA/fsfast-functional

Configure an Analysis

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章