资源描述
磁共振实验数据SPM8处理说明一、数据准备为方便后续的数据处理,如果数据分散处理后整合,建议所有处理数据路径保 持一致,要统一路径。处理前首先要采用数据转换软件将dicom数据转换成SPM 解析格式,转换时格式请选择NIfTI,可用SPM输入面板中的DiCOM Import模 块转换,也可以采用专门的转换软件,如MRIcovert。然后进行数据预处理,预 处理结束后到matlab安装目录中备份spm*.ps文件,其中包含了空间校正和标 准化的信息,然后进行建模分析。二、数据处理流程1: Slice TimingSpm8和以往版本一样,先安装matlab7.1以上版本,然后将spm8文件夹放 在matlab安装目录中,我们一般放在toolbox文件夹中,然后启动matlab用菜 单中设置路径命令增加spm8的路径并保存。之后我们运行命令:spm fmri,这 样将打开spm8的操作界面,我们称左上侧的窗口为按钮窗口 (button window),左下侧的窗口为输入窗 口 (input window),右侧大窗口为树形结构窗口或图形窗口 (Tree Building Window or the graphics window)。Slice Timimg用来校正1个volume中层与层之间获取(采集)时间的差异, 对事件相关设计的实验尤为重要。我们在按钮窗口中的预处理面板中点击“SliceTimimg”,将出现如下对话框:在spm8和spm5中,每一步处理都采用了直观的“树形结构”的面板,如果 一个分支项左面有“+”号,你可以双击显示子分支项,如果一个分支项右面有 “一X”号,你必须为之指定选项(否则不能运行该tree),分支项的选项在其 右侧面板指定,而帮助信息则在下面的面板中显示。如果我们处理数据没有特殊 需求,我们只关心带有“一X”项目并完成输入即可,其余均可采用默认设置。 另外注意在Tree Building Window的顶部菜单,新增了一个菜单项“ TASKS”, 在使用批处理分析时非常重要。对上图右侧选项我们做如下设置:Data,点击data并在下面的面板中点击“new session”,这样在data下会 出现“session”的分支项,选中该项并点击面板下方的“ select files”,然 后用spm文件选择器选择你要处理的数据,最后点击“down”。选择数据时可以 把静息态、数值任务和物理大小任务分为三个 session来选(data new sessionsession),也可以作为一个session来选,结果是一样的。Number of Slices,我们输入每祯图像的层数,如“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 2 4 6 8 10 12 14 16 18 20 22 24(在Matlab中可表示为1:2:25,2:2,25)各种扫描类型和输入的层顺序如 下: ascending 升序扫描(first slice=bottom): 1:1:nslices ; descending 降 序 扫 描 (first slice二top): nslices:-1:1 ; interleaved 间 隔 扫 描 (middle-top):for k = 1:nslices,round(nslices-k)/2 + (rem(nslices-k),2) * (nslices - 1)/2) + 1,end interleaved (bottom - up): 1:2:nslices 2:2:nslices, 如 1:2:25,2:2,25 ; interleaved (top - down): nslices:-2:1, nslices-1:-2:1Reference Slice,我们输入“31”。选择参考层,通常选择n slice/2,如 25层时选择13层作为参考层。Filename Prefix,是指新生成的图像前加何标记,一般采用默认设置。最后点击面板上方的向右的绿色三角即开始运行。运行完后将会生成一系列 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。2: Realignment即使我们对被试的头部做了很好的固定,在实验过程中,被试也会不由自主 的有一些轻微的头动,这在fMRI实验中尤为明显。这一步就是把一个实验序列 中的每一帧图像都和这个序列的第一桢图像按照一定的算法做对齐,以矫正头 动。做完这一步,能给出该序列中被试的头动情况,以作为是否放弃该数据的依 据,如果头动超过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 文件存于mat lab的work目录下。0100200300400500600700800900image我们在预处理面板校准选项中选择“Realign (Est & Res)”,出现如下对 话框,我们按下面设置进行:选中“ data”,选择“New Session”,然后选中data下出现的“Session” 选项。点击“Specify Files”,用spm文件选择器选择刚做完时间校准的图像 (a*.img)。其余选项采用默认设置,点击上方绿色的三角开始运行。3: Normalise在预处理面板标准化选项中选择“Normalise: Estimate & Write”,出现 如下对话框:我们做如下设置:选中“data” “new sbject”,在 data 下新出现的 “subject” 选项 中作如下设置,“source image”选择空间校准步骤中生成的 mean 文件,“image to write”选择所有刚进行完校准的文件“ra*.img”,“template image”我 们选择“EPI.nii”,其余采用默认设置,点绿三角运行。4: Smoothing在预处理面板标准化选项中选择“smooth”,出现如下对话框:我们在“ image to smooth ”选项中选择所有刚进行完标准化的文件 “wra*.img”然后点绿三角运行即可。这里FWHM我们采用默认设置“8 8 8”。5: Specify 1st level即以前版本的“fMRI model”,spm5和spm8种的分析选项有所变化,使用 Specify 1st level 做单个被试(single subject)分析;使用 Specify 2nd level 做组分析(group analysis) o我们选择“Specify 1st level ”,出现如下对话 框:我们选择Directory指定一个文件夹存放结果数据,其余做如下设置:“Units for design”选择“Scans”,“Interscan interval”输入 “2”, 选择“ Data and Design ”后选择“ New Subject/Session”,再选择新出现的 “Subject/Session”,选择“Scans”并用文件选择器选择相应任务的所有平滑 后的功能图像(swra*.img)然后点击“down”,选择Condition”后选择“New condition”,然后选中新出现的“Condition”,“name”选项输入任务条件的 名称,“onset”输入任务条件的启动向量,代表任务刺激启动的扫描数,选中 “Durations”输入任务组块的持续时长,如是事件相关设计请输入“0”。如还 有其他任务,要再次选中 “Condition” “New condition” “Condition” 定义其他任务条件。设置完毕后点击绿三角运行。这样将会在开始选择的目录中 生成文件spm.mat.下面要估计我们刚建立的模型,在模型设置面板中点击“estimate”,将打 开如下对话框:很简单,我们只须选择刚生成的“ spm.mat ”文件点击“down ”然后点击绿 三角运行即可。估计完成后,我们选择“results”,将打开如下对话框:上图设计矩阵表明一个扫描序列中我们有三个任务条件,均为事件相关设 计,选中“tcontrasts”,点击“define new contrast”,第一个任务contrast” 定义为“1”,第二个任务定义为“0 1”,第三个任务nn定义为“0 0 1”, 第一个任务减第三个任务定义为“10-1”,第二个任务减第三个任务定义为0 1-1”,第二个任务减第一个任务定义为“-1 1”,其余操作以及激活图显示和 以前版本都是一致的。值得我们注意的是,我们指定或输入一系列的参数来进行每一步的处理,完 成后我们可以通过Save按钮将每一步存为一个*.mat文件。以后我们可以通过 Load按钮重新加载并使用这些*.mat文件,我们适当修改后(例如改变所运行的 数据集)再选择Run按钮运行。另外我们可以使用TASKS菜单项指定一系列的操作(预处理和/或分析),在 TASKS-Batch菜单项下,你可以在一个大文件中指定数据处理所有步骤。批处理 交互界面非常灵巧。它知道根据指定的步骤将产生什么文件。例如,在 Tasks-Batch,菜单项下,选择 New Spatial。在你的SPM任务树(Jobs tree) 中选择(highlight) -Spatial,并从选项面板中选择New Realign选项指定 我们前述的realignment的详细步骤。现在,当我们向任务树中添加标准化步骤 时,我们将看见为标准化操作选择r*文件的选项,尽管事实上,我们还没有真的 生成r*文件。所以,批处理非常智能,可以预测我们的需要。如果我们已经生成 了几个批处理任务文件,我们可以使用TASKS-Util-Execute Batch Job s选项 来运行它们。该工具允许我们选择一系列的mat文件(不一定是batch jobs文件) 来运行。如果你怀念旧版本SPM操作界面,在TASKS菜单下,选择Sequential,这 样就不会出现树(tree),选项将会出现在SPM输入窗口。
展开阅读全文