使用CAT进行MRI脑图像分析
MED620122 生物医学工程进展
数据
在所提供的6个T1 MRI数据(男性和女性各3位)上进行分析。根据SPM或CAT所提供的学习资料,边学习边分析这6个数据。
要求:
- 去除颅骨后对脑容量分析,如平均脑容量,男性与女性脑容量比较;
- 分割大脑灰质、白质和脑脊液,并进行比较分析;
- 分割出大脑左右尾状核,并比较分析。
- 改善图像的对比度,将6个图像的亮度变换到同一空间,并进行变换前后对比显示。
1 配置环境
系统环境: windows 10
软件配置:
- MATLAB R2018b
- SPM12 (https://www.fil.ion.ucl.ac.uk/spm/software/)
- CAT(http://dbm.neuro.uni-jena.de/cat/index.html#DOWNLOAD)
- MRIcron (https://www.mccauslandcenter.sc.edu/crnl/)(仅用于可视化)
- xjview (http://www.alivelearn.net/xjview/)(仅用于可视化)
- MIPAV (https://mipav.cit.nih.gov/documentation.php#userguide)
2 操作流程
2.1 安装与配置
首先至matlab官网下载安装matlab2018b,安装默认套件即可。
然后按照spm的说明,安装spm12(https://www.fil.ion.ucl.ac.uk/spm/software/)。
CAT和xjview都是基于spm的,所以spm需要先安装好。然后再下载安装CAT,直接把下载的文件拷贝进spm12/toolbox
目录即可。本次作业基本上使用CAT进行分析,所以可以参考学习CAT的manul(http://www.neuro.uni-jena.de/cat12/CAT12-Manual.pdf)。
MRIcron是直接下载好就能用的。xjview比较有意思,你填了邮箱以后,会由他的开发人员给你发下载地址和安装教程,而使用说明是每日发一封邮件的形式逐天发给你。MIPAV也是直接下载就OK的
2.2 CAT分析流程
2.2.1 打开CAT
首先在matlab命令窗口依次输入如下命令打开cat
addpath('D:/matlab_toolbox/spm12')
spm fmri
cat12
2.2.2 数据预处理(分割数据)
CAT12 → Preprocessing → Segment Data,依次选中6个病人的MRI文件,
Split job into separate processes可以设置多线程,由于该笔记本为4核,所以设置为4
颅骨去除,模板的选择,配准的方案均选择默认。
写入文件的参数建议尽量选择yes,防止后续处理中需要用到。
如果按照上述的,尽量输出选项为yes的话,共计会生成4个文件夹:
- label文件夹里mat矩阵存了cobra、hammers、lpba40、neuromorphometrics四个图谱的label。(mat矩阵中hammers图谱中有类似于“尾状核”(Caudate nucleus)的名称lCauNuc以及rCauNuc,对应的data里面的对应索引处,是“尾状核”的体积(分别是其中灰质、白质、脑脊液的体积,单位是立方厘米,和fsl分割出来的大小略又差异))
- mri文件夹里主要是Partial Volume的label(p0开头)、灰质(p1开头)、白质(p2开头);归一化后的灰质(wmp1开头)、归一化后的白质(wmp2开头);配准后的灰质(rp1开头),配准后的白质(rp2开头);Jacobian determinant(wj开头),Bias, noise and intensity corrected T1 image(wm开头);wm表示:modulated (m) normalized (w),p表示:partial volume (PV) segmentation。
- report文件夹里面主要是txt的运行日志;pdf和png版本的整体报告,附录中展示了其中一个报告的例子;mat矩阵里面存了运行的参数,
- surf文件夹里主要是surf的数据,Surface Tools的功能会用到
2.2.3 数据可视化
本次实验的9张图像可以通过进行可视化,结果可以参见附录,具体操作过程如下:
CAT12 → Check data quality → Display one slice for all images
2.2.4 估计颅内总容积(TIV)
主要是进行脑容量,灰质、白质和脑脊液的测量
CAT12 → Statistical Analysis → Estimate TIV
Save values 选择全都要保存
最终会得到如下的表格
Name | TIV | GM | WM | CSF | WMH |
---|---|---|---|---|---|
CC0003_63_F | 1145.14 | 488.14 | 386.42 | 268.51 | 2.07 |
CC0004_67_M | 1685.98 | 638.31 | 629.60 | 414.24 | 3.81 |
CC0005_62_M | 1457.42 | 606.25 | 514.36 | 335.73 | 1.07 |
CC0006_63_F | 1457.24 | 604.55 | 510.20 | 341.38 | 1.10 |
CC0007_62_M | 1704.09 | 639.64 | 663.79 | 398.57 | 2.08 |
CC0008_60_F | 1251.59 | 537.33 | 461.99 | 251.54 | 0.73 |
单位都是立方厘米
可以明显看出有下面的关系
TIV+GM+WM+CSF+WMH
含义:
- TIV:颅内总容积total intracranial volume
- GM:灰质
- WM:白质
- CSF:脑脊液 cerebrospinal fluid
- WMH:白质高信号区 white matter hyperintensities
同时,可以从表中看出,男性的平均脑容量、大脑灰质、白质和脑脊液都明显大于女性(男女的年龄是近似,初步推断差异具有统计显著性的)。
2.2.5 建立统计模型 Building the Statistical Model
这里科普一下manul中的factor和covariates的含义
- 因变量(factor):分类变量,或聚类后的连续变量
- 协变量(covariates):一般指连续变量
此处我选择的是Two-sample t-test
CAT12 → Statistical Analysis → Basic Models
双样本t检验,检验灰质的差异性(wmp1*),操作参数如图:
灰质检验结果如下,可以从箱线图看出来有明显差异。
同样的,对白质检验(wmp2*)结果如下,也可以从箱线图看出来有明显差异。
PS:此处选择mwp1,mwp2,wm文件和rp1,rp2文件都可以,选择p0,p1,p2文件会报错。
2.2.6 xjview可视化
此处不能选择最原始的nii
文件,也不能选p0,p1,p2
开头的文件,会出warning
说图像来源不同
此处选择的是wm
开头的文件,即Bias, noise and intensity corrected T1 image
操作及结果的要点:
- 点击第一排倒数第二个
File
按钮打开文件 - 选择aal图谱,并在左下方选择“尾状核”
- 界面中部的
// Right Cerebrum // Sub-lobar // Caudate // Gray Matter // Caudate Head // undefined
表示当前的解剖学位置
具体操作流程和结果如下:
2.2.7 MIPAV可视化
主要参考的教程在:https://mipav.cit.nih.gov/pubwiki/index.php/MIPAV_Help
其实就是可视化一下,变换图像空间即可。
操作方法就是“File” -> “Open image(A) from disk” 打开文件,然后在“Image”选项里面,选择“Histogram - LUT”,拖动灰度直方图就OK了
2.2.8 MRIcron可视化与编辑
我理解的MRIcron就是一个可以方便进行图像标注,图像可视化,图像编辑操作的软件。
这里面有一个很重要的功能,在脑部影像图像处理中经常需要用到,就是选取脑部大致区域ROI。
就是去除颅骨的时候,有些软件是根据大脑的质心进行膨胀,然后拿到颅内部分,而我们平时拿到的数据经常会有颈部等区域,这些软件鲁棒性不好的话,“去除颅骨操作”会被这些区域影响,从而影响最终去除颅骨的效果。因此老师上课的时候,Draw->Advanced->Crop edges,先行把颈部去掉,防止影响后续去除颅骨的操作