使用FreeSurfer進行腦區分割

範中豪發表於2020-07-30

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 拾遺

相關文章