使用FreeSurfer進行腦區分割
FreeSurfer 是美國哈佛-麻省理工衛生科學與技術部和馬薩諸塞州總醫院共同開發的一款磁共振數據處理軟體包,是基於 Linux 平台的全免費開源軟體。FreeSurfer 能完成對高解析度的 MRI 影像進行分割、配准及三維重建,其處理過程主要包含去頭骨、B1 偏差場校正、體數據配准、灰白質分割、面數據配准等。FreeSurfer 可以方便地處理大腦 MRI 影像,並生成高精度的灰、白質分割面和灰質、腦脊液分割面,根據這兩個表面可以計算任何位置的皮質厚度及其他面數據特徵如皮質 外表面積、曲率、灰質體積等,這些參數可以映射到通過白質膨脹演算法得到的大腦皮質表面上直觀顯示。另外,FreeSurfer 還具有特徵的組間差異分析及結果的可視化功能。
在 FreeSurfer 軟體中,運行「recon -all」命令後,會在 surf 文件夾下生成 . white、. sphere、. inflated 等網格點文件。每一個文件裡面都存儲了大腦皮質表面網格點的三維坐標及相鄰頂點構成的三角面片資訊,需要注意的是 FreeSurfer 採用的是 RAS 坐標系,其意義為 R:right,X 軸正方向;A:anterior,Y 軸正方向;S:superior,Z 軸正方向。
FreeSurfer 也會在 surf 文件夾下生成基於曲面的形態特徵數據,不同的特徵採用不同的文件後綴名,如皮質厚度( . thickness )、雅可比度量(. jacobian. white)、腦溝( . sulc )、曲率(. curv)、外表面積(. area)、體積(. volume)等面數據文件,其坐標索引號與 Mesh 網格序號一致。
FreeSurfer 在影像處理過程中依據 Destrieux 分區法對腦區進行標籤劃分。該分區方法將大腦皮質表面劃分為 75 個腦區,其分區結構主要為各腦回和腦溝,分區依據為曲率的大小,其腦回區域只包括腦膜表面的部分,而隱藏在下面的部分則被劃分為腦溝區域。其分區文件為 label 文件夾下的 *h.aparc.a2009s.annot 文件,該文件夾下還有對應的部分 Broadmann 分區文件(*. label)。
過程中可以使用以下命令來調用recon-all函數來進行腦區分割。該命令使用的文件類型為 mgz, nii, nii.gz
。噹噹前的文件格式為其它格式時,可使用命令mri_convert * *.nii
來進行格式轉換。
$> export SUBJECTS_DIR=<path to subject directory> # SUBJECTS_DIR變數為存儲數據的目錄
$> recon-all -i sample-001.nii.gz -s bert -all (creates a folder called bert in SUBJECTS_DIR)
該操作是十分耗時的,進行一例nii
數據的腦區分割需要8小時左右,具體時間視配置有所改變。在完成分割之後,即可通過可視化軟體如FreeView來進行結果查看。這裡,我們的目標是使用python來獲取各個腦區的Mask,首先,看一下各個腦區對應的索引,該數據保存在$FREESURFER_HOME/FreeSurferColorLUT.txt
:
以下,我們假設保存的文件路徑為bert
。則,皮層下體積統計資訊保存在bert/stats/aseg.stats
中。統計資訊包括 Index(在統計資訊中的序號),SegId(對應的腦區索引),NVoxels(分割的體素數量),StrutName(在LUT中的名字),Mean/StdDev/Min/Max/Range: ROI的強度統計
FreeSurfer使用了多種皮質層分割方法。使用Desikan/Killiany Atlas可分為35個腦區,數據保存在bert/label/*h.aparc.annot
中。使用Destrieux Atlas時,可分割出58個腦區,保存在bert/label/*h.aparc.a2009s.annot
文件中。兩中方法分割的統計資訊保存在bert/stats
中如:*h.aparc.stats
和*h.aparc.a2009s.stats
。MRI數據分別保存為bert/mri/aparc.DKTatlas+aseg.mgz
以及bert/mri/aparc.a2009s+aseg.mgz
,除此之外還有一個bert/mri/aparc+aseg.mgz
。
統計資訊表現為下圖,StructName表示結構名,NumVert表示結構中包含的頂點數,SurfArea表示表面積,GrayVol表示灰質體積,ThickAvg/ThickStd表示結構厚度的均值與標準差,MeanCurv表示平均曲率,GausCurv表示平均高斯曲率,FoldInd表示摺疊指數,CurvInd表示曲率指數。
最終的分割數據保存在bert/mri/aseg.mgz
中,比如使用命令mri_extract_label aseg.mgz 17 53 hippo_mask.mgz
可以將海馬區的數據給提取出來,其中17,53分別為左右海馬區。
提取的結果文件如:
參考文獻
醫學影像處理:Ubuntu16.04安裝freesurfer教程
Working with FreeSurfer Regions-of-Interest (ROIs):與感興趣的區域(ROI)的工作規律.
FreeSurfer-Introduction
基於FreeSurfer面數據的網格點腦分區定位及其可視化
FreeSurfer 拾遺