糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > fMRI学习笔记:预处理及数据分析(使用spm12)

fMRI学习笔记:预处理及数据分析(使用spm12)

时间:2024-06-30 03:30:25

相关推荐

fMRI学习笔记:预处理及数据分析(使用spm12)

建议参考:

SPM12 核磁数据预处理 傻瓜攻略_Iris_bysshqx17的博客-CSDN博客_spm12

一、预处理 preprocessing

处理逻辑:创建文件夹 -> 数据格式转换 -> 数据预处理

这里是做一个batch,这样每次只改动前面几个没有dependancy的地方就可以。暂时没有想到更好的办法能一劳永逸:(,毕竟我暂时还不会写matlab脚本。

操作:在matlab输入spm fmri打开spm,点击最下方Batch按钮。

具体参数:

1. 创建文件夹 - 定义某一个subject的文件夹

操作:BasicIO --> File/Dir Operations --> Dir Operations --> Named Directory Selector

2. 创建文件夹 - 在该文件夹下创建BOLD和t1文件夹

操作:BasicIO --> File/Dir Operations --> Dir Operations --> Make Directory

(1)BOLD文件夹,存放所有由BOLD转化格式生成的nii文件

(2)t1,存放所有由T1转化格式生成的nii文件

3. 数据格式转换 -命名原文件bold和t1,这一步可以不做,直接在后面的预处理过程中直接选中这些文件也可以

(1)BOLD

操作:BasicIO --> File/Dir Operations --> File Operations --> Named File Selector

图中案例原本有87个文件,删除正式实验之前的部分,这里删除6个,剩81个文件(*.IMA)

* 判断删几个:12s注视点,TR = 2,删除12/2 = 6个

(2)t1(*.IMA)

4. 数据格式转换 - DICOM文件转换为nii文件

原理:SPM可处理的数据格式为NifTi,因此要将数据格式转换为*.nii格式文件

操作:SPM --> util --> Import --> DICOM Import

bold文件转换为nii文件后放在BOLD文件夹中;t1文件转换为nii文件后放在t1文件夹中

(1)BOLD

(2)T1

5. 数据预处理 - 时间层矫正 slice timing

原理:Slice Timing通过插值算法,校正一个volume中slices之间扫描时间的差异

操作:SPM --> Temporal --> Slice Timing

输入:

双击Data --> 单击Session --> Dependancy --> 第一个DICOM Import(转换后的BOLD文件);

Number of Slices:一次全脑扫描fMRI图像的层数;

TR(Time of Repetition):一次全脑扫描的时间;

TA:一次全脑扫描中,最后一层与第一层的时间间隔;

Slice order:扫描顺序,这里是1:2:33 2:2:32;

Reference slice:时间层校正的参考层,也就是TR/2对应的层数

输出:矫正后文件(a开头)

6. 数据预处理 - 头动矫正 realign: estimate and reslice

原理:统计分析需要假设每个体素在各个时间点都对应大脑的同一个位置。头动校正是去除头动的干扰。

操作:SPM --> Spatial --> Realign --> Realign: Estimate and Reslice

输入:双击Data --> 右键单击Session --> Dependancy --> DEP Slice Timing时间层矫正后的文件(或者文件夹中a开头的文件)

输出:矫正后文件(r开头文件)、平均脑文件(mean开头文件)、头动参数文件(rp_*.txt,包含6个参数,平移参数单位为mm,旋转参数单位为°)

7. 数据预处理 - 配准 coregister

原理:把高分辨率、高灰质/白质对比度的T1像配准到BOLD空间,结构像与功能像配准

操作:SPM --> Spatial --> Coregister --> Coregister: Estimate

输入:Reference Image --> 上一步生成的平均脑文件(meanimage);Source Image --> 转换后t1文件(第二个DICOM Import文件)

输出:得到一个新的t1像,覆盖了原来的t1像

8. 数据预处理 - 分割 segment

原理:分割灰质,白质和脑脊液

操作:SPM --> Spatial --> Segment

输入:

单击Volumes --> Dependancy --> 配准后的t1文件(如图);

Save Bias Corrected默认nothing,更改为Save Bias Corrected(磁场不均匀矫正);

Deformation Fields默认None,更改为Forward(非线性变换产生的变形场,从个体空间到MNI空间的转换Subj>MNI)

输出:y_*.nii文件(变形场图像)、ms*.nii文件(磁场不均匀性校正的结构像)、c*.nii(5个)

9. 数据预处理 - 标准化 normalise: write

原理:将个体的BOLD图像转化到标准空间

操作:SPM --> Spatial --> Normalise --> Normalise: Write

输入:如图

输出:从个体空间转化到MNI标准空间的BOLD图像(w*.nii)

10. 数据预处理 - 平滑 smooth

原理:消除不同被试脑结构细微差别而进行的空间平滑,提高数据的信噪比

操作:SPM --> Spatial --> Smooth

输入:

Images to smooth:标准化后的BOLD文件(如图);

FWHM(full-width at half maximum):将fMRI数据与一个三维高斯函数进行卷积积分,形成一个滤波器,滤波器的平滑范围可用高斯(Gaussian kernel)的半宽高,即FWHM来表示,一般设置为TR的2-3倍,此处设置为[6 6 6]。

输出:平滑处理后的BOLD文件(s6*.nii)

11. 结束

现在你的某一个subject文件夹中应当包含两个原文件夹,两个创建文件夹,其中包含我们刚刚操作过的所有文件。对所有subject进行同样的处理,然后就可以进行数据分析啦。

二、数据分析 analyzing

1. 个体水平分析 first level analysis

对预处理中平滑后的数据进行个体水平上的分析,是分别基于每个被试的fMRI时间序列进行分析

主要步骤:fMRI model specification -> Model estimation -> Contrast Manager

(1)定义存放路径

我在被试文件夹下新建了一个文件夹,叫做FirstLevel,来存放个体分析的数据

(2)fMRI model specification

Directory: 存放路径

时间参数设置:

Units for design: Scans / Seconds,是以秒为单位还是扫描为单位

Interscan interval: 相当于TR,一个扫描持续的时间

Microtime resolution:根据slice timing来设置,一个扫描内有多少层

Microtime onset: 一个扫描内的时间参考点(第几层,一般是一个扫描内的中间那一层的顺序值,比如一个扫描内有33层,onset就是第17层,这里设置17)

实验设计参数设置:

Scans:预处理平滑后的文件(w开头文件)

一个Condition内:

Name:名称

Onsets:出现的时间点(和之前设置的单位对应)

Duration:持续时间

(3)Model estimation

dependency:上一步生成的SPM.mat文件

(4)Contrast Manager

定义想要对比的条件

2. 组水平分析 second level analysis

如果觉得《fMRI学习笔记:预处理及数据分析(使用spm12)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。