ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:97.38KB ,
资源ID:11015058      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11015058.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(spm8fMRI数据处理.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

spm8fMRI数据处理.docx

1、spm8fMRI数据处理spm8-fMRI数据处理SPM简介和安装SPM,即统计参数图,也是这个软件的最终输出,它是由英国伦敦大学的Friston教授等人在通用数学软件包Matlab基础上开发的软件系统,其统计功能非常强大,设计这个软件包的初衷是采用统计的方法来处理fMRI,PET和SPECT的数据。用SPM进行数据处理分析过程主要分为两大部分:预处理过程和统计分析过程。需要注意的是,静息态、任务态和DTI数据的预处理大致框架一致,但具体步骤不同,本教程主要讲任务态数据处理。数据预处理主要包括三个大框架:(1)Convert dicom files to hdr files and img i

2、mages;(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程序包

3、导入Matlab,复制整个spm8文件夹到MATLAB的安装路径:MATLABR2009atoolbox下。然后运行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)。

4、一、数据准备(先设置数据输入和输出目录,再转换数据格式)为方便后续的数据处理,如果数据分散处理后整合,建议所有处理数据路径保持一致,要统一路径。如原始DICOM图像放在raw data文件夹中,data文件夹存放转换后的功能像,data3D文件夹中存放转换后的结构像。处理前首先要采用数据转换软件将dicom数据转换成SPM解析格式,转换时格式请选择NIfTI,可用SPM输入面板中的DiCOM Import模块转换,也可以采用专门的转换软件,如MRIcovert。然后进行数据预处理,预处理结束后到matlab安装目录中备份spm*.ps文件,其中包含了空间校正和标准化的信息,然后进行建模分析。格

5、式转换后data文件夹(功能像)中会有多对(和TR的个数一样).img(图像数据)和.hdr(矩阵数据);data3D文件夹中只有一个.img和.hdr文件。二、数据预处理流程0、预处理的workflow1) DICOM to NIFTI(详见核磁数据格式转换)2) Delete Images3) Slice Timing4) Realign5) Normalize:Normalize by using EPI templates,即使用公共的EPI模版来进行空间标准化,这样的话就用不到T1结构像,也就不需要对T1像进行Coregister和Segment; Normalize by usin

6、g T1 image unified segmentation,即用T1像来进行空间标准化,这样的话需要用到T1结构像,所以需要在normalize前先对T1像进行Coregister和Segment,换句话说就是用coregistered and segmented T1像来进行空间标准化。另外,如果以后希望把功能激活图像叠加到结构像上,那么结构像也需要做一次空间标准化。Parameters files和功能像的normalize一样,也选择在segment中生成的空间标准化参数文件(批处理中选择SubjMNI)。Images to write选择在segment中场强校正后的结构像。这里的

7、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-Dimens

8、ions: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 2

9、0 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,如果

10、图像各层是连续(sequential)获取的,如1、2、3、4、5、6、7、8、9、10,则要先进行realign再做slice timing。做完了Slice Timing,接下来就该进行头动校正了。2、Realignment 头动校正即使我们对被试的头部做了很好的固定,在实验过程中,被试也会不由自主的有一些轻微的头动,这在fMRI实验中尤为明显。这一步就是把一个实验序列中的每一帧图像都和这个序列的第一帧图像按照一定的算法做对齐,以矫正头动。 目的:如果在容许的头动范围内,可以使用一定的算法校正信号,使其靠近真实值,如果超过了这个规定的范围,则必须剔除这组数据。 头动范围(Check Rea

11、lign):平动2.0mm and 旋转2.0degree严老师观点 我们在预处理面板校准选项中选择“Realign(Est&Res)”,出现一个参数设置对话框。过程:realign:estimate+resliceData:New:Session,然后选中data下出现的“Session”选项。点击“Specify Files”,用spm文件选择器选择刚做完时间校准的全部图像(a*.img)。Filename Prefix:默认为r其余选项采用默认设置,点击上方绿色的三角开始运行。做完这一步,能给出该序列中被试的头动情况,以作为是否放弃该数据的依据,如果头动超过1个voxel(功能图像扫描矩

12、阵一般是64*64,则体素的大小为(FOV/64)*(FOV/64)*(层厚+层间距),则要考虑放弃该时间点数据。该程序利用最小二乘法(least squares approach)原理和含6个参数(刚体模型)的空间变换,对从一个被试获取的时间序列进行校正。用户可指定某个volume作为随后volumes的参考。可以是第1个volume,也可选择比较有代表性的volume(更明智的选择),例如选择磁场相对稳定的第4个volume。校正信息(头动信息)将在结果窗口(Graphics Window)显示。每个Session的校正信息将存储为rp*.txt,其中*为Session数据集名称。另外,头

13、动校正信息将以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格式:F

14、ile-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 配准对

15、于单个被试的研究,往往是通过在高分辨率结构图像上叠加激活区来精确定位功能区,也就是coregistration。目的:上述头动校正的求解参数仅对同一被试的同一种成像方法(或成像模态modality) 有效,对于同一被试的不同成像方法(功能像/结构像)所得图像,由于它们之间没有足够的可比性,不可以直接用头动校正的方法来求解参数,这时需要用图像配准的方法来做空间校正。具体为将所有的图像同一个volume对齐,对功能像与结构像做一个信息的变换。为什么选择Coregister里面的(Estimate)呢?因为我们相信对于被试,功能像与结构像是线性相关的平动与转动,而不是扭曲的。由功能像向结构像去配,对

16、于结构像中的hdr文件存有一个矩阵,而这个矩阵就包含了功能像的信息。只需要将旋转的矩阵写入到hdr文件中,不需要生成新的文件,也就是对3D文件做一个刚体的变换,变换到功能像空间里。过程: 在spm8中选择Coregister(Estimate):Reference Image-选择头动校正后生成的mean*.img文件Source Image-选择3D文件,即data3D文件夹中的.img文件其余选项采用默认设置,点击上方绿色的三角开始运行。说明:Source image与Reference image的关系,可以认为是将结构像向以mean开头的功能像里估计,估计结束后就可以将旋转矩阵写入到精

17、度更高的3D文件当中,最后做出的图像的分辨率就会很高。(结构像比功能像清晰很多)4、Segment 分割目的:要将被试的结构像配到功能像里,就需要将结构像进行分割。一般分割为灰质、白质和脑脊液三部分。过程: 在spm8中选择Segment Data-选择配准后的3D图像,即data3D文件夹中的.img文件 .Clean up any partitions-Light clean Affine Regularisation-选择欧洲人或东亚人大脑模板 如:ICBMspace template-European brains其余选项采用默认设置,点击上方绿色的三角开始运行。5、Normalize

18、 空间标准化对于多个被试的研究,由于不同人的脑的尺寸、形态各不相同,一般认为需要一个模板,把所有被试的功能统计图叠加到标准模板上,这叫做normalize目的:将不同容积及形状的被试的大脑放到一个标准空间里,用一个公用的坐标系去描述具体的一个位置,例如有十个被试,他们脑袋的形状和大小都不一样,如果你让他们进行了一个激活了某个脑区的情绪实验,然后你想把该脑区计算出来并进行呈现,那么你就需要一个标准的脑模版来衡量这十个被试的大脑空间位置以实现准确的空间定位。方法:. Normalize by using EPI templates; . Normalize by using T1 image un

19、ified segmentation。注意:只有使用方法时才需要对结构像进行coregister和segment,方法用不到T1像,所以不需要对T1像进行预处理。先说第种方法的操作:在预处理面板标准化选项中选择“Normalise:Estimate&Write”,出现一个对话框,我们做如下设置:选中“data”“new sbject”,在data下新出现的“subject”选项中作如下设置,“source image”选择realignment 生成的“mean*.img”文件,“image to write”选择realignment 生成的“.img”文件,“template image”

20、我们选择“EPI.nii”,其余采用默认设置,点绿三角运行。或用第种方法的操作: 用3D像文件做分割,用分割的信息去做空间标准化,分割要做三个小步骤,被试既有结构像,又有功能像,我们要用结构像分割所得到的信息来做功能像的空间标准化。首先,要保证功能像与结构像在同一个位置。所以,需要做一次coregister,即配准。先把被试的结构像变换到被试的功能像空间里,然后将变换到功能像里的结构像分割所得到的相应信息运用到功能像里。 结构像在功能像空间里被分割后,会得到一个矩阵。这个矩阵就会告诉我们如何从被试的功能空间去往标准空间。也就是MNI空间。我们可以根据这些信息应用到功能像里,写进去以后就会自动配

21、准到标准空间里去。Normalise: Write Data/new subject /Parameter File-参数文件,选择3D文件夹下segment后的文件,有2个文件,分别是seg_sn.mat和seg_inv_sn.mat,前者表示由功能像到标准化空间去配,而后者正相反,所以选择前者。 Image to Write-要写入的文件,选择3D文件下的ms*.img文件 Bounding box-默认的偏小,可以改为-90 -126 -72 90 90 108 (相当于把整个大脑装在这个“盒子”里) Voxel sizes改为3 3 3(不能为1 1 1) 其余参数默认即可。如果以后希

22、望把功能激活图像叠加到结构图像上,那么结构图像也需要做一下空间标准化。再次Normalise,做完头动校正后,以平均脑文件做一次标准化。 Normalise: Write Data: new subject Parameter File-参数文件,选择3D文件夹下segment后的seg_sn.mat文件 Image to Write-要写入的文件,选择头动校正后以r开头的.img文件 Bounding box-默认的偏小,可以改为-90 -126 -72 90 90 108 Voxel sizes改为3 3 3 Filename Prefix:默认为w 其余参数默认即可。点击上方绿色的三角开

23、始运行。说明:运行完毕会生成若干对waf*打头的img/hdr文件,同时还会生成一个mean*_sn.mat文件(存放变换参数)。6、Smooth 平滑目的:将功能像文件平滑过程: (1)在spm总的按钮窗口中,选择Smooth按钮, 会弹出批处理对话框。 (2)在这一步有两个参数必须要进行设置:images to write,选择在上一步生成的所有空间标准化之后的以w开头的功能像文件;平滑的“全宽半高FWHM”,将默认的“8,8,8”,改成“6,6,6”。这里的6,是我们所采用数据的体素大小的两倍。其余默认。点击上方绿色的三角开始运行。说明:高斯平滑后会生成若干对swaf*打头的img/hd

24、r文件。数据预处理过程到此完成。注意!最容易出问题的地方在于:1)没有在每一步之后检查生成的图像是否有问题(主要为头动参数和空间标准化图像);2)没有按照自己数据适合的方式进行预处理。对于图像检查,可以参考http:/imaging.mrc-cbu.cam.ac.uk/imaging/DataDiagnostics;3)对于预处理方式选择:a. 如果是Block设计,不需要做slice timing。如果是事件相关设计,则需要做;b. 在事件相关设计中,如果BOLD功能图像的扫描方式是间隔采样,先做slice timing,后做realignment;如是顺序采样,则先做realignment

25、后做slice timing;c. 当扫描参数为长TR (TR 3sec) 时,不推荐做slice timing;d. 头动过大的剔除原则:按照在一个run内不超过一个voxel size的标准。这是一个普遍承认的标准。当然具体研究有具体的标准,需要具体对待;e. 平滑参数一般选择为23倍的voxel size。三、GLM模型和Specify 1st-level如前所述,用SPM进行数据处理分析过程主要分为两大部分:预处理过程和统计分析过程。预处理过程已经在前两篇里完成啦,接下来是统计分析过程。参数估计:在spm8中选择Specify 1st-level,即以前版本的“fMRI model”。

26、spm5 和spm8使用Specify 1st level 做单个被试(single subject)分析;使用Specify 2nd level做组分析(group analysis)。这里只有Specify 1st level。在真正的统计分析之前,必须先对SPM的统计分析基础GLM模型有一定的了解。广义线性模型(generalized linear model, GLM)是简单最小二乘回归(OLS)的扩展,在OLS的假设中,响应变量是连续数值数据且服从正态分布,而且响应变量期望值与预测变量之间的关系是线性关系。而广义线性模型则放宽其假设,首先响应变量可以是正整数或分类数据,其分布为某指数

27、分布族。其次响应变量期望值的函数(连接函数)与预测变量之间的关系为线性关系。因此在进行GLM建模时,需要指定分布类型和连接函数。理论上,经过预处理的数据可以直接进行统汁分折,但是这样做会有很大的局限胜。我们需要考虑到实际信号(探测到的神经生理响应)包含有多方面的因素。如果我们可以把它分成感兴趣的部分、不感必趣的部分以及误差项,这样以来,一方面可以用于复杂问题的研究,另一方面使有用信息更加突出。为了达到这个目的,SPM采用一般线性模型(GLM)对采集到的信号进行统计分析。通俗的说,GLM基于这样一种假设:每个像素上的实验数据(用Y来表示,同一任务的时间序列或不同任务序列的),是一些未知参数(用x

28、表示)的线性组合(用表示)。这些未知参数与任务或时间有关、但与具体脑区(像素)无关的已知参数它组成的矩阵通常又称为设计矩阵。数学表达式为:Y=*X + ,其中表示误差。在经过GLM描述之后,分析的对象就发生了转变。原本是对Y的统计分析,现在转向了拟合得到的。SPM得到的脑功能激图实际上就是根据对参数的统计推断而得到的。那么,对参数的统计推断究竟是怎么一回事?首先,是检查设计矩阵的正确性; 其次,使用最小二乘法法拟合出参数使得误差和最小; 再次,对系数做t检验或者F检验; 最后,根据t检验或者F检验统计量和阈值,对系数做统计推断。 根据t或F值以及相应的阈值,可以得到该阈值对应置信度的脑功能激活

29、图。由于它是对模型的参数做统计分析而得到的,所以被称为统计参数图。与阈值对应的t或F值记为SPMt,SPMF。SPM还提供了与t或F值及它们相应的自由度所对应置信度的0,1正态分布的参数值z,这样也得到关于z图像,记为SPMz。此外,根据这些激活图,SPM还可以输出脑血流等生理信号的响应曲线以及不同状态的响应特性等。一、Model specification建立模型我们选择“Specify 1st level”,出现一个fMRI Model specification对话框,设置参数如下:需要设置的参数具体方法Directory建议建立results文件夹来单独存放一阶分析的结果SPM.mat

30、。Timing parametersUnits for design:下面的onset time是以秒为单位还是以TR的倍数为单位。即如选 scans,其后 durations 的时间按 TR 的倍数计算;如选 seconds,则以秒为单位计算。Interscan interval(扫描间隔时间):TR是多少秒?Microtime resolution - 通常默认为 16 ,除非 TR 很长 与陈昌明师兄所说不一致?Microtime onset - 在 ER 设计中, slice timing 时, reference slice 的扫描次序,例如 reference slice 为第 2

31、5 层,是第 13 个扫描的,这里就填 13 与SPM manual的提示不一致Data & Design存在很多子选项需要设置,务必细心!有几个run就Session几次,就会生成几个Subject/Session子菜单。【Scans】:该run预处理后的以sw开头的文件;【Condition】:有几种条件(这里的条件指的是呈现的刺激图片或声音)就定义几个。然后输入条件的名字和相应的onset time。Onsets代表任务刺激启动的扫描数(如1:14:70 ,代表任务从第 1个TR 开始,每14个TR 为一个周期,共70个TR)。在Onsets中输入数组T:2T:M,这里输入的数组实质是每个cycle中task状态的起始volume的序号(注意编号从0开始)。T:2T:M在Matlab中就是一个数组,是T,3T,5T,。注意:可以建立Multi-condition files以避免输入每个run参数的苦恼。【Durations】:ER 设计填 0、block 设计填刺激任务的持续时间 ,注意前面 Units for design 的选择!Duration为block的长度,如果是事件相关设计,duration就输入0。Multi regressors输入

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1