spm8 fMRI数据处理(较全面)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Reference Slice:我们输入“31”。选择参考层,通常选择nslice/2,如25层时选择13层作为参考层。
Filename Prefix:是指新生成的图像前加何标记,一般采用默认设置。默认为a
最后点击面板上方的向右的绿色三角即开始运行。运行完后将会生成一系列a*.img文件,这就是时间校准后的数据。
格式转换后data文件夹(功能像)中会有多对(和TR的个数一样).img(图像数据)和.hdr(矩阵数据);data3D文件夹中只有一个.img和.hdr文件。
二、数据
0源自文库
1)DICOM to NIFTI(详见核磁数据格式转换)
2)Delete Images
3)Slice Timing
4)Realign
头动范围(Check Realign):平动≤2.0mm and旋转≤2.0degree[严老师观点]
我们在预处理面板校准选项中选择“Realign(Est&Res)”,出现一个参数设置对话框。
过程:
realign:estimate+reslice
Data:New:Session,然后选中data下出现的“Session”选项。点击“Specify Files”,用spm文件选择器选择刚做完时间校准的全部图像(a*.img)。
说明:①matlab中如何查看头动范围
打开rp_af*.txt文件,前3列为平动数据、后3列为旋转数据;
在matlab中输入命令:b=load(‘rp_af*.txt’); %----[载入头动数据文件]
c=max(abs(b)); %---[取b值的绝对值的最大值,表示找出每列的最大值]
c(4:6)=c(4:6)*180/pi %---[4-6列为转动,将以弧度为单位的数值转化为以角度为单位的值,pi表示π]
统计分析过程包括:个体分析和组分析。使用Specify 1st level 做单个被试(single subject)分析;使用 Specify 2nd level做组分析(group analysis)。
先写一下SPM8的安装:有必要说一下SPM实际不是一个独立的软件,它相当于一个用Matlab程序编写的工具箱,必须依赖Matlab的环境完成其功能。言归正传,首先将下载好的SPM8程序包导入Matlab,复制整个spm8文件夹到MATLAB的安装路径:MATLAB\R2009a\toolbox\下。然后运行Matlab,在其主窗口选择File->set path->Add with Subfolders->spm8->save->close。设置完成后在Matlab中执行命令>>spm fmri。这样出现了spm8的操作界面(如下图),这也表示spm8安装成功!我们称左上侧的窗口为按钮窗口(button window),左下侧的窗口为输入窗口(input window),右侧大窗口为树形结构窗口或图形窗口(Tree Building Window or the graphics window)。
注意:很多研究者容易将时间校准和空间校准顺序颠倒,一般的观点是如果图像获取是隔层(interleaved)进行的,如1、3、5、7、9、2、4、6、8、10,则要先进行slice timing再进行realign,如果图像各层是连续(sequential)获取的,如1、2、3、4、5、6、7、8、9、10,则要先进行realign再做slice timing。
②运行结束后将生成一对mean*(.img和.hdr)文件(平均脑)、一个rp_*.txt文件(头动参数文件)及若干对r*(.img和.hdr)文件。
3
目的:上述头动校正的求解参数仅对同一被试的同一种成像方法(或成像模态modality)有效,对于同一被试的不同成像方法(功能像/结构像)所得图像,由于它们之间没有足够的可比性,不可以直接用头动校正的方法来求解参数,这时需要用图像配准的方法来做空间校正。具体为将所有的图像同一个volume对齐,对功能像与结构像做一个信息的变换。为什么选择Coregister里面的(Estimate)呢?因为我们相信对于被试,功能像与结构像是线性相关的平动与转动,而不是扭曲的。由功能像向结构像去配,对于结构像中的hdr文件存有一个矩阵,而这个矩阵就包含了功能像的信息。只需要将旋转的矩阵写入到hdr文件中,不需要生成新的文件,也就是对3D文件做一个刚体的变换,变换到功能像空间里。
Number of Slices:我们输入每祯图像的层数,如“32”(可以在spm8->Display->data:.img->done->Dimensions:64*64*32中查看)
TR:我们输入重复时间,一般为2秒,我们输入“2”
TA:是每祯图像获取第一层开始到获取最后一层图像的时间间隔,TR-TR/nslice,可直接输入公式,如我们输入“2-2/32”
Slice order:我们输入“1:2:31 2:2:32”(图像是隔层扫描所得到的)。指定层获取顺序的层次序参数是一个含N个数的向量,这里N是每个volume所含的层数。每一个数表示该层在图像(volume)中的位置。向量内的数字排列顺序是这些层的获取时间顺序。如行向量[1 3 5 7 9 11 13 15 17 19 21 23 25 24 6 8 10 12 14 16 18 20 22 24](在Matlab中可表示为[1:2:25,2:2:25])
5)Normalize:①Normalize by using EPI templates,即使用公共的EPI模版来进行空间标准化,这样的话就用不到T1结构像,也就不需要对T1像进行Coregister和Segment;
②Normalize by using T1 image unified segmentation,即用T1像来进行空间标准化,这样的话需要用到T1结构像,所以需要在normalize前先对T1像进行Coregister和Segment,换句话说就是用coregisteredand segmented T1像来进行空间标准化。另外,如果以后希望把功能激活图像叠加到结构像上,那么结构像也需要做一次空间标准化。Parameters files和功能像的normalize一样,也选择在segment中生成的空间标准化参数文件(批处理中选择Subj→MNI)。Images to write选择在segment中场强校正后的结构像。这里的voxel size要设置结构像的大小,也就是[1,1,1]。
SPM
SPM,即统计参数图,也是这个软件的最终输出,它是由英国伦敦大学的Friston教授等人在通用数学软件包Matlab基础上开发的软件系统,其统计功能非常强大,设计这个软件包的初衷是采用统计的方法来处理fMRI,PET和SPECT的数据。用SPM进行数据处理分析过程主要分为两大部分:预处理过程和统计分析过程。需要注意的是,静息态、任务态和DTI数据的预处理大致框架一致,但具体步骤不同,本教程主要讲任务态数据处理。
其余选项采用默认设置,点击上方绿色的三角开始运行。
5
目的:将不同容积及形状的被试的大脑放到一个标准空间里,用一个公用的坐标系去描述具体的一个位置,例如有十个被试,他们脑袋的形状和大小都不一样,如果你让他们进行了一个激活了某个脑区的情绪实验,然后你想把该脑区计算出来并进行呈现,那么你就需要一个标准的脑模版来衡量这十个被试的大脑空间位置以实现准确的空间定位。
过程:
在spm8中选择Coregister(Estimate):
Reference Image---[选择头动校正后生成的mean*.img文件]
Source Image---[选择3D文件,即data3D文件夹中的.img文件]
其余选项采用默认设置,点击上方绿色的三角开始运行。
说明:Source image与Reference image的关系,可以认为是将结构像向以mean开头的功能像里估计,估计结束后就可以将旋转矩阵写入到精度更高的3D文件当中,最后做出的图像的分辨率就会很高。(结构像比功能像清晰很多)
做完了Slice Timing,接下来就该进行头动校正了。
2
即使我们对被试的头部做了很好的固定,在实验过程中,被试也会不由自主的有一些轻微的头动,这在fMRI实验中尤为明显。这一步就是把一个实验序列中的每一帧图像都和这个序列的第一帧图像按照一定的算法做对齐,以矫正头动。
目的:如果在容许的头动范围内,可以使用一定的算法校正信号,使其靠近真实值,如果超过了这个规定的范围,则必须剔除这组数据。
数据预处理主要包括三个大框架:(1)Convert dicom files to hdr files and img images;(2)Temporal processing,即Slice Timing;(3)Spatial processing,包括Realign、Normalize和Smooth。具体步骤下面有讲。
一、数据准备
为方便后续的数据处理,如果数据分散处理后整合,建议所有处理数据路径保持一致,要统一路径。如原始DICOM图像放在rawdata文件夹中,data文件夹存放转换后的功能像,data3D文件夹中存放转换后的结构像。
处理前首先要采用数据转换软件将dicom数据转换成SPM解析格式,转换时格式请选择NIfTI,可用SPM输入面板中的DiCOMImport模块转换,也可以采用专门的转换软件,如MRIcovert。然后进行数据预处理,预处理结束后到matlab安装目录中备份spm*.ps文件,其中包含了空间校正和标准化的信息,然后进行建模分析。
6)Smooth
7)Detrend
8)Filte
1
SliceTiming用来校正1个volume中层与层之间获取(采集)时间的差异,对事件相关设计的实验尤为重要。我们在按钮窗口中的预处理面板中点击“SliceTiming”,将出现一个对话框,修改其中参数:
Data:New:Session
Session:选择你要处理的数据,如文件夹data中的所有数据
4
目的:要将被试的结构像配到功能像里,就需要将结构像进行分割。一般分割为灰质、白质和脑脊液三部分。
过程:
在spm8中选择Segment
Data---[选择配准后的3D图像,即data3D文件夹中的.img文件]
.Clean up any partitions----Light clean
Affine Regularisation---[选择欧洲人或东亚人大脑模板]如:ICBMspace template-European brains
Filename Prefix:默认为r
其余选项采用默认设置,点击上方绿色的三角开始运行。
做完这一步,能给出该序列中被试的头动情况,以作为是否放弃该数据的依据,如果头动超过1个voxel(功能图像扫描矩阵一般是64*64,则体素的大小为(FOV/64)*(FOV/64)*(层厚+层间距)),则要考虑放弃该时间点数据。该程序利用最小二乘法(leastsquaresapproach)原理和含6个参数(刚体模型)的空间变换,对从一个被试获取的时间序列进行校正。用户可指定某个volume作为随后volumes的参考。可以是第1个volume,也可选择比较有代表性的volume(更明智的选择),例如选择磁场相对稳定的第4个volume。校正信息(头动信息)将在结果窗口(GraphicsWindow)显示。每个Session的校正信息将存储为rp*.txt,其中*为Session数据集名称。另外,头动校正信息将以plot图形显示。如下图:translation图表示被试头部在X,Y,Z三个方向的平移,分别用蓝,绿,红三种颜色表示。rotation图表示被试头部在实验过程当中绕X(L-R),Y(A-P),Z(S-I)三条轴的转动角度。横坐标代表这个序列所采集的所有图像,纵坐标表示的是偏移量和偏转角度,分别以毫米和度为单位。采用SPM8,头动信息和空间标准化的图形文件将以spm_“data”.ps的形式保存于matlab的工作目录下,如我们是2009年4月30日处理的数据,则将以spm_2009Apr30.ps文件存于matlab的work目录下。当然也可以将生成的图像保存成.jpg格式:File->Save As->.jpg
Filename Prefix:是指新生成的图像前加何标记,一般采用默认设置。默认为a
最后点击面板上方的向右的绿色三角即开始运行。运行完后将会生成一系列a*.img文件,这就是时间校准后的数据。
格式转换后data文件夹(功能像)中会有多对(和TR的个数一样).img(图像数据)和.hdr(矩阵数据);data3D文件夹中只有一个.img和.hdr文件。
二、数据
0源自文库
1)DICOM to NIFTI(详见核磁数据格式转换)
2)Delete Images
3)Slice Timing
4)Realign
头动范围(Check Realign):平动≤2.0mm and旋转≤2.0degree[严老师观点]
我们在预处理面板校准选项中选择“Realign(Est&Res)”,出现一个参数设置对话框。
过程:
realign:estimate+reslice
Data:New:Session,然后选中data下出现的“Session”选项。点击“Specify Files”,用spm文件选择器选择刚做完时间校准的全部图像(a*.img)。
说明:①matlab中如何查看头动范围
打开rp_af*.txt文件,前3列为平动数据、后3列为旋转数据;
在matlab中输入命令:b=load(‘rp_af*.txt’); %----[载入头动数据文件]
c=max(abs(b)); %---[取b值的绝对值的最大值,表示找出每列的最大值]
c(4:6)=c(4:6)*180/pi %---[4-6列为转动,将以弧度为单位的数值转化为以角度为单位的值,pi表示π]
统计分析过程包括:个体分析和组分析。使用Specify 1st level 做单个被试(single subject)分析;使用 Specify 2nd level做组分析(group analysis)。
先写一下SPM8的安装:有必要说一下SPM实际不是一个独立的软件,它相当于一个用Matlab程序编写的工具箱,必须依赖Matlab的环境完成其功能。言归正传,首先将下载好的SPM8程序包导入Matlab,复制整个spm8文件夹到MATLAB的安装路径:MATLAB\R2009a\toolbox\下。然后运行Matlab,在其主窗口选择File->set path->Add with Subfolders->spm8->save->close。设置完成后在Matlab中执行命令>>spm fmri。这样出现了spm8的操作界面(如下图),这也表示spm8安装成功!我们称左上侧的窗口为按钮窗口(button window),左下侧的窗口为输入窗口(input window),右侧大窗口为树形结构窗口或图形窗口(Tree Building Window or the graphics window)。
注意:很多研究者容易将时间校准和空间校准顺序颠倒,一般的观点是如果图像获取是隔层(interleaved)进行的,如1、3、5、7、9、2、4、6、8、10,则要先进行slice timing再进行realign,如果图像各层是连续(sequential)获取的,如1、2、3、4、5、6、7、8、9、10,则要先进行realign再做slice timing。
②运行结束后将生成一对mean*(.img和.hdr)文件(平均脑)、一个rp_*.txt文件(头动参数文件)及若干对r*(.img和.hdr)文件。
3
目的:上述头动校正的求解参数仅对同一被试的同一种成像方法(或成像模态modality)有效,对于同一被试的不同成像方法(功能像/结构像)所得图像,由于它们之间没有足够的可比性,不可以直接用头动校正的方法来求解参数,这时需要用图像配准的方法来做空间校正。具体为将所有的图像同一个volume对齐,对功能像与结构像做一个信息的变换。为什么选择Coregister里面的(Estimate)呢?因为我们相信对于被试,功能像与结构像是线性相关的平动与转动,而不是扭曲的。由功能像向结构像去配,对于结构像中的hdr文件存有一个矩阵,而这个矩阵就包含了功能像的信息。只需要将旋转的矩阵写入到hdr文件中,不需要生成新的文件,也就是对3D文件做一个刚体的变换,变换到功能像空间里。
Number of Slices:我们输入每祯图像的层数,如“32”(可以在spm8->Display->data:.img->done->Dimensions:64*64*32中查看)
TR:我们输入重复时间,一般为2秒,我们输入“2”
TA:是每祯图像获取第一层开始到获取最后一层图像的时间间隔,TR-TR/nslice,可直接输入公式,如我们输入“2-2/32”
Slice order:我们输入“1:2:31 2:2:32”(图像是隔层扫描所得到的)。指定层获取顺序的层次序参数是一个含N个数的向量,这里N是每个volume所含的层数。每一个数表示该层在图像(volume)中的位置。向量内的数字排列顺序是这些层的获取时间顺序。如行向量[1 3 5 7 9 11 13 15 17 19 21 23 25 24 6 8 10 12 14 16 18 20 22 24](在Matlab中可表示为[1:2:25,2:2:25])
5)Normalize:①Normalize by using EPI templates,即使用公共的EPI模版来进行空间标准化,这样的话就用不到T1结构像,也就不需要对T1像进行Coregister和Segment;
②Normalize by using T1 image unified segmentation,即用T1像来进行空间标准化,这样的话需要用到T1结构像,所以需要在normalize前先对T1像进行Coregister和Segment,换句话说就是用coregisteredand segmented T1像来进行空间标准化。另外,如果以后希望把功能激活图像叠加到结构像上,那么结构像也需要做一次空间标准化。Parameters files和功能像的normalize一样,也选择在segment中生成的空间标准化参数文件(批处理中选择Subj→MNI)。Images to write选择在segment中场强校正后的结构像。这里的voxel size要设置结构像的大小,也就是[1,1,1]。
SPM
SPM,即统计参数图,也是这个软件的最终输出,它是由英国伦敦大学的Friston教授等人在通用数学软件包Matlab基础上开发的软件系统,其统计功能非常强大,设计这个软件包的初衷是采用统计的方法来处理fMRI,PET和SPECT的数据。用SPM进行数据处理分析过程主要分为两大部分:预处理过程和统计分析过程。需要注意的是,静息态、任务态和DTI数据的预处理大致框架一致,但具体步骤不同,本教程主要讲任务态数据处理。
其余选项采用默认设置,点击上方绿色的三角开始运行。
5
目的:将不同容积及形状的被试的大脑放到一个标准空间里,用一个公用的坐标系去描述具体的一个位置,例如有十个被试,他们脑袋的形状和大小都不一样,如果你让他们进行了一个激活了某个脑区的情绪实验,然后你想把该脑区计算出来并进行呈现,那么你就需要一个标准的脑模版来衡量这十个被试的大脑空间位置以实现准确的空间定位。
过程:
在spm8中选择Coregister(Estimate):
Reference Image---[选择头动校正后生成的mean*.img文件]
Source Image---[选择3D文件,即data3D文件夹中的.img文件]
其余选项采用默认设置,点击上方绿色的三角开始运行。
说明:Source image与Reference image的关系,可以认为是将结构像向以mean开头的功能像里估计,估计结束后就可以将旋转矩阵写入到精度更高的3D文件当中,最后做出的图像的分辨率就会很高。(结构像比功能像清晰很多)
做完了Slice Timing,接下来就该进行头动校正了。
2
即使我们对被试的头部做了很好的固定,在实验过程中,被试也会不由自主的有一些轻微的头动,这在fMRI实验中尤为明显。这一步就是把一个实验序列中的每一帧图像都和这个序列的第一帧图像按照一定的算法做对齐,以矫正头动。
目的:如果在容许的头动范围内,可以使用一定的算法校正信号,使其靠近真实值,如果超过了这个规定的范围,则必须剔除这组数据。
数据预处理主要包括三个大框架:(1)Convert dicom files to hdr files and img images;(2)Temporal processing,即Slice Timing;(3)Spatial processing,包括Realign、Normalize和Smooth。具体步骤下面有讲。
一、数据准备
为方便后续的数据处理,如果数据分散处理后整合,建议所有处理数据路径保持一致,要统一路径。如原始DICOM图像放在rawdata文件夹中,data文件夹存放转换后的功能像,data3D文件夹中存放转换后的结构像。
处理前首先要采用数据转换软件将dicom数据转换成SPM解析格式,转换时格式请选择NIfTI,可用SPM输入面板中的DiCOMImport模块转换,也可以采用专门的转换软件,如MRIcovert。然后进行数据预处理,预处理结束后到matlab安装目录中备份spm*.ps文件,其中包含了空间校正和标准化的信息,然后进行建模分析。
6)Smooth
7)Detrend
8)Filte
1
SliceTiming用来校正1个volume中层与层之间获取(采集)时间的差异,对事件相关设计的实验尤为重要。我们在按钮窗口中的预处理面板中点击“SliceTiming”,将出现一个对话框,修改其中参数:
Data:New:Session
Session:选择你要处理的数据,如文件夹data中的所有数据
4
目的:要将被试的结构像配到功能像里,就需要将结构像进行分割。一般分割为灰质、白质和脑脊液三部分。
过程:
在spm8中选择Segment
Data---[选择配准后的3D图像,即data3D文件夹中的.img文件]
.Clean up any partitions----Light clean
Affine Regularisation---[选择欧洲人或东亚人大脑模板]如:ICBMspace template-European brains
Filename Prefix:默认为r
其余选项采用默认设置,点击上方绿色的三角开始运行。
做完这一步,能给出该序列中被试的头动情况,以作为是否放弃该数据的依据,如果头动超过1个voxel(功能图像扫描矩阵一般是64*64,则体素的大小为(FOV/64)*(FOV/64)*(层厚+层间距)),则要考虑放弃该时间点数据。该程序利用最小二乘法(leastsquaresapproach)原理和含6个参数(刚体模型)的空间变换,对从一个被试获取的时间序列进行校正。用户可指定某个volume作为随后volumes的参考。可以是第1个volume,也可选择比较有代表性的volume(更明智的选择),例如选择磁场相对稳定的第4个volume。校正信息(头动信息)将在结果窗口(GraphicsWindow)显示。每个Session的校正信息将存储为rp*.txt,其中*为Session数据集名称。另外,头动校正信息将以plot图形显示。如下图:translation图表示被试头部在X,Y,Z三个方向的平移,分别用蓝,绿,红三种颜色表示。rotation图表示被试头部在实验过程当中绕X(L-R),Y(A-P),Z(S-I)三条轴的转动角度。横坐标代表这个序列所采集的所有图像,纵坐标表示的是偏移量和偏转角度,分别以毫米和度为单位。采用SPM8,头动信息和空间标准化的图形文件将以spm_“data”.ps的形式保存于matlab的工作目录下,如我们是2009年4月30日处理的数据,则将以spm_2009Apr30.ps文件存于matlab的work目录下。当然也可以将生成的图像保存成.jpg格式:File->Save As->.jpg