spm8fMRI数据处理Word文件下载.docx
《spm8fMRI数据处理Word文件下载.docx》由会员分享,可在线阅读,更多相关《spm8fMRI数据处理Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
使用Specify2ndlevel做组分析(groupanalysis)。
先写一下SPM8的安装:
有必要说一下SPM实际不就是一个独立的软件,它相当于一个用Matlab程序编写的工具箱,必须依赖Matlab的环境完成其功能。
言归正传,首先将下载好的SPM8程序包导入Matlab,复制整个spm8文件夹到MATLAB的安装路径:
MATLAB\R2009a\toolbox\下。
然后运行Matlab,在其主窗口选择File->
setpath->
AddwithSubfolders->
spm8->
save->
close。
设置完成后在Matlab中执行命令>
>
spmfmri。
这样出现了spm8的操作界面(如下图),这也表示spm8安装成功!
我们称左上侧的窗口为按钮窗口(buttonwindow),左下侧的窗口为输入窗口(inputwindow),右侧大窗口为树形结构窗口或图形窗口(TreeBuildingWindoworthegraphicswindow)。
一、数据准备(先设置数据输入与输出目录,再转换数据格式)
为方便后续的数据处理,如果数据分散处理后整合,建议所有处理数据路径保持一致,要统一路径。
如原始DICOM图像放在rawdata文件夹中,data文件夹存放转换后的功能像,data3D文件夹中存放转换后的结构像。
处理前首先要采用数据转换软件将dicom数据转换成SPM解析格式,转换时格式请选择NIfTI,可用SPM输入面板中的DiCOMImport模块转换,也可以采用专门的转换软件,如MRIcovert。
然后进行数据预处理,预处理结束后到matlab安装目录中备份spm*、ps文件,其中包含了空间校正与标准化的信息,然后进行建模分析。
格式转换后data文件夹(功能像)中会有多对(与TR的个数一样)、img(图像数据)与、hdr(矩阵数据);
data3D文件夹中只有一个、img与、hdr文件。
二、数据预处理流程
0、预处理的workflow
1)DICOMtoNIFTI(详见核磁数据格式转换)
2)DeleteImages
3)SliceTiming
4)Realign
5)Normalize:
①NormalizebyusingEPItemplates,即使用公共的EPI模版来进行空间标准化,这样的话就用不到T1结构像,也就不需要对T1像进行Coregister与Segment;
②NormalizebyusingT1imageunifiedsegmentation,即用T1像来进行空间标准化,这样的话需要用到T1结构像,所以需要在normalize前先对T1像进行Coregister与Segment,换句话说就就是用coregisteredandsegmentedT1像来进行空间标准化。
另外,如果以后希望把功能激活图像叠加到结构像上,那么结构像也需要做一次空间标准化。
Parametersfiles与功能像的normalize一样,也选择在segment中生成的空间标准化参数文件(批处理中选择Subj→MNI)。
Imagestowrite选择在segment中场强校正后的结构像。
这里的voxelsize要设置结构像的大小,也就就是[1,1,1]。
6)Smooth
7)Detrend
8)Filte
1、SliceTiming时间层校正
SliceTiming用来校正1个volume中层与层之间获取(采集)时间的差异,对事件相关设计的实验尤为重要。
我们在按钮窗口中的预处理面板中点击“SliceTiming”,将出现一个对话框,修改其中参数:
Data:
New:
Session
Session:
选择您要处理的数据,如文件夹data中的所有数据
NumberofSlices:
我们输入每祯图像的层数,如“32”(可以在spm8->
Display->
data:
、img->
done->
Dimensions:
64*64*32中查瞧)
TR:
我们输入重复时间,一般为2秒,我们输入“2”
TA:
就是每祯图像获取第一层开始到获取最后一层图像的时间间隔,TR-TR/nslice,可直接输入公式,如我们输入“2-2/32”
Sliceorder:
我们输入“1:
2:
312:
32”(图像就是隔层扫描所得到的)。
指定层获取顺序的层次序参数就是一个含N个数的向量,这里N就是每个volume所含的层数。
每一个数表示该层在图像(volume)中的位置。
向量内的数字排列顺序就是这些层的获取时间顺序。
如行向量[13579111315171921232524681012141618202224](在Matlab中可表示为[1:
25,2:
25])
ReferenceSlice:
我们输入“31”。
选择参考层,通常选择nslice/2,如25层时选择13层作为参考层。
Prefix:
就是指新生成的图像前加何标记,一般采用默认设置。
默认为a
最后点击面板上方的向右的绿色三角即开始运行。
运行完后将会生成一系列a*、img文件,这就就是时间校准后的数据。
注意:
很多研究者容易将时间校准与空间校准顺序颠倒,一般的观点就是如果图像获取就是隔层(interleaved)进行的,如1、3、5、7、9、2、4、6、8、10,则要先进行slicetiming再进行realign,如果图像各层就是连续(sequential)获取的,如1、2、3、4、5、6、7、8、9、10,则要先进行realign再做slicetiming。
做完了SliceTiming,接下来就该进行头动校正了。
2、Realignment头动校正
即使我们对被试的头部做了很好的固定,在实验过程中,被试也会不由自主的有一些轻微的头动,这在fMRI实验中尤为明显。
这一步就就是把一个实验序列中的每一帧图像都与这个序列的第一帧图像按照一定的算法做对齐,以矫正头动。
目的:
如果在容许的头动范围内,可以使用一定的算法校正信号,使其靠近真实值,如果超过了这个规定的范围,则必须剔除这组数据。
头动范围(CheckRealign):
平动≤2、0mmand旋转≤2、0degree[严老师观点]
我们在预处理面板校准选项中选择“Realign(Est&
Res)”,出现一个参数设置对话框。
过程:
realign:
estimate+reslice
Session,然后选中data下出现的“Session”选项。
点击“SpecifyFiles”,用spm文件选择器选择刚做完时间校准的全部图像(a*、img)。
默认为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->
SaveAs->
、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):
ReferenceImage---[选择头动校正后生成的mean*、img文件]
SourceImage---[选择3D文件,即data3D文件夹中的、img文件]
Sourceimage与Referenceimage的关系,可以认为就是将结构像向以mean开头的功能像里估计,估计结束后就可以将旋转矩阵写入到精度更高的3D文件当中,最后做出