FreeSurfer 是美國哈佛-麻省理工衛生科學與技術部和馬薩諸塞州總醫院共同開發的一款磁共振數據處理軟件包,是基於 Linux 平臺的全免費開源軟件。FreeSurfer 能完成對高分辨率的 MRI 圖像進行分割、配準及三維重建,其處理過程主要包含去頭骨、B1 誤差場校訂、體數據配準、灰白質分割、面數據配準等。FreeSurfer 能夠方便地處理大腦 MRI 圖像,並生成高精度的灰、白質分割面和灰質、腦脊液分割面,根據這兩個表面能夠計算任何位置的皮質厚度及其餘面數據特徵如皮質 外表面積、曲率、灰質體積等,這些參數能夠映射到經過白質膨脹算法獲得的大腦皮質表面上直觀顯示。另外,FreeSurfer 還具備特徵的組間差別分析及結果的可視化功能。html
在 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 網格序號一致。
python
FreeSurfer 在圖像處理過程當中依據 Destrieux 分區法對腦區進行標籤劃分。該分區方法將大腦皮質表面劃分爲 75 個腦區,其分區結構主要爲各腦回和腦溝,分區依據爲曲率的大小,其腦回區域只包括腦膜表面的部分,而隱藏在下面的部分則被劃分爲腦溝區域。其分區文件爲 label 文件夾下的 *h.aparc.a2009s.annot 文件,該文件夾下還有對應的部分 Broadmann 分區文件(*. label)。算法
過程當中可使用如下命令來調用recon-all函數來進行腦區分割。該命令使用的文件類型爲 mgz, nii, nii.gz
。噹噹前的文件格式爲其它格式時,可以使用命令mri_convert * *.nii
來進行格式轉換。shell
$> 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的強度統計ui
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表示曲率指數。
spa
最終的分割數據保存在bert/mri/aseg.mgz
中,好比使用命令mri_extract_label aseg.mgz 17 53 hippo_mask.mgz
能夠將海馬區的數據給提取出來,其中17,53分別爲左右海馬區。.net
提取的結果文件如:3d
參考文獻
醫學圖像處理:Ubuntu16.04安裝freesurfer教程
Working with FreeSurfer Regions-of-Interest (ROIs):與感興趣的區域(ROI)的工做規律.
FreeSurfer-Introduction
基於FreeSurfer面數據的網格點腦分區定位及其可視化
FreeSurfer 拾遺
rest