
spm8fMRI大数据处理.doc
17页word目录SPM简介和安装1一、数据准备〔先设置数据输入和输出目录,再转换数据格式〕2二、数据预处理流程20、预处理的workflow21、Slice Timing时间层校正32、Realignment 头动校正33、Coregister 配准54、Segment 分割65、Normalize 空间标准化66、Smooth 平滑8三、GLM模型和Specify 1st-level9四、实例:任务态数据预处理和一阶分析的批处理13SPM简介和安装SPM,即统计参数图,也是这个软件的最终输出,它是由英国伦敦大学的Friston教授等人在通用数学软件包Matlab根底上开发的软件系统,其统计功能非常强大,设计这个软件包的初衷是采用统计的方法来处理fMRI,PET和SPECT的数据用SPM进展数据处理分析过程主要分为两大局部:预处理过程和统计分析过程需要注意的是,静息态、任务态和DTI数据的预处理大致框架一致,但具体步骤不同,本教程主要讲任务态数据处理数据预处理主要包括三个大框架:〔1〕Convert di files to hdr files and img images;〔2〕 Temporal processing,即Slice Timing;〔3〕Spatial processing,包括 Realign、Normalize和Smooth。
具体步骤下面有讲统计分析过程包括:个体分析和组分析使用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)。
一、数据准备〔先设置数据输入和输出目录,再转换数据格式〕为方便后续的数据处理,如果数据分散处理后整合,建议所有处理数据路径保持一致,要统一路径如原始DI图像放在raw data文件夹中,data文件夹存放转换后的功能像,data3D文件夹中存放转换后的结构像处理前首先要采用数据转换软件将di数据转换成SPM解析格式,转换时格式请选择NIfTI,可用SPM输入面板中的Di Import模块转换,也可以采用专门的转换软件,如MRIcovert然后进展数据预处理,预处理完毕后到matlab安装目录中备份spm*.ps文件,其中包含了空间校正和标准化的信息,然后进展建模分析格式转换后data文件夹〔功能像〕中会有多对〔和TR的个数一样〕.img〔图像数据〕和.hdr〔矩阵数据〕;data3D文件夹中只有一个.img和.hdr文件二、数据预处理流程0、预处理的workflow1) DI to NIFTI〔详见核磁数据格式转换〕2) Delete Images3) Slice Timing4) Realign5) Normalize:①Normalize by using EPI templates,即使用公共的EPI模版来进展空间标准化,这样的话就用不到T1结构像,也就不需要对T1像进展Coregister和Segment; ②Normalize by using T1 image unified segmentation,即用T1像来进展空间标准化,这样的话需要用到T1结构像,所以需要在normalize前先对T1像进展Coregister和Segment,换句话说就是用coregistered and segmented T1像来进展空间标准化。
另外,如果以后希望把功能激活图像叠加到结构像上,那么结构像也需要做一次空间标准化Parameters files和功能像的normalize一样,也选择在segment中生成的空间标准化参数文件〔批处理中选择Subj→MNI〕Images to write选择在segment中场强校正后的结构像这里的voxel size要设置结构像的大小,也就是[1,1,1]6) Smooth7) Detrend8) Filte1、Slice Timing时间层校正Slice Timing用来校正1个volume中层与层之间获取(采集)时间的差异,对事件相关设计的实验尤为重要我们在按钮窗口中的预处理面板中点击“Slice Timing〞,将出现一个对话框,修改其中参数:Data:New:SessionSession:选择你要处理的数据,如文件夹data中的所有数据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])Reference Slice:我们输入“31〞选择参考层,通常选择nslice/2,如25层时选择13层作为参考层Filename Prefix:是指新生成的图像前加何标记,一般采用默认设置默认为a最后点击面板上方的向右的绿色三角即开始运行运行完后将会生成一系列a*.img文件,这就是时间校准后的数据注意:很多研究者容易将时间校准和空间校准顺序颠倒,一般的观点是如果图像获取是隔层〔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。
做完了Slice Timing,接下来就该进展头动校正了2、Realignment 头动校正即使我们对被试的头部做了很好的固定,在实验过程中,被试也会不由自主的有一些轻微的头动,这在fMRI实验中尤为明显这一步就是把一个实验序列中的每一帧图像都和这个序列的第一帧图像按照一定的算法做对齐,以矫正头动目的:如果在容许的头动围,可以使用一定的算法校正信号,使其靠近真实值,如果超过了这个规定的围,如此必须剔除这组数据[严教师观点] 我们在预处理面板校准选项中选择“Realign(Est&Res)〞,出现一个参数设置对话框过程:realign:estimate+resliceData:New:Session,然后选中data下出现的“Session〞选项点击“Specify Files〞,用spm文件选择器选择刚做完时间校准的全部图像〔a*.img〕Filename Prefix:默认为r其余选项采用默认设置,点击上方绿色的三角开始运行做完这一步,能给出该序列中被试的头动情况,以作为是否放弃该数据的依据,如果头动超过1个voxel〔功能图像扫描矩阵一般是64*64,如此体素的大小为〔FOV/64〕*〔FOV/64〕*〔层厚+层间距〕〕,如此要考虑放弃该时间点数据。
该程序利用最小二乘法(least squares approach)原理和含6个参数(刚体模型)的空间变换,对从一个被试获取的时间序列进展校正用户可指定某个volume作为随后volumes的参考可以是第1个volume,也可选择比拟有代表性的volume(更明智的选择),例如选择磁场相对稳定的第4个volume校正信息(头动信息)将在结果窗口(Graphics Window)显示每个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说明:①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表示π] ②运行完毕后将生成一对mean*〔.img和.hdr〕文件〔平均脑〕、一个rp_*.txt文件〔头动参数文件〕与假设干对r*〔.img和.hdr〕文件3、Coregister 配准对于单个被试的研究,往往是通过在高分辨率结构图像上叠加激活区来准确定位功能区,也就是coregistration目的:上述头动校正的求解参数仅对同一被试的同一种成像方法(或成像模态modality) 有效,对于同一被试的不同成像方法〔功能像/结构像〕所得图像,由于它们之间没有足够的可比性,不可以直接用头动校正的方法来求解参数,这时需要用图像配准的方法来做空间校正。
具体为将所有的图像同一个volume对齐,对功能像与结构像做一个信息的变换为什么选择Coregister里面的〔Estimate〕呢?因为我们相信对于被试,功能像与结构像是线性相关的平动与转动,而不是扭曲的由功能像向结构像去配,对于结构像中的hdr文件存有一个矩阵,而这个矩阵就包含了功能像的信息只需要将旋转的矩阵写入到hdr文件中,不需要生成新的文件,也就是对3D文件做一个刚体的变换,变换到功能像空间里过程:在spm8中选择Coregister〔Estimate〕:Referenc。












