假设一个run包含200个时间点,那么该1D文件内容为: 0 200
5.6.a 单个被试通用线性模型分析及结果显示 (1) 用waver生成1D 文件
在进行线性分析前,我们需要生成1个或多个刺激1D文件,该文本文件包含了我们假想的每1类型实验刺激(事件)的假设激活曲线。每个1D文件包含数字,对应于在每个可测量的时间点因给定的实验情况fMRI信号改变的设想值(如每1行代表1个时间点,每1个文件代表1个实验情况)。最简单的例子是为on-off block设计实验设计的boxcar 1D文件。这里与on-阶段对应的每个时间点为1,而在off-阶段的时间点为0。1个更合适的模型可以通过将简单的boxcar刺激函数与假想的血流动力学反应函数进行卷积计算,程序Waver可以完成。
对于每个体素,我们都有一个BOLD信号时间序列,并且我们希望根据实验处理(事件)来解释这一BOLD信号时间序列。
功能脑成像中所有体素都伴随着时间变化。每个体素随着时间呈现一定的模式(强度变化),与特定体素特定时间的血氧水平一致。这些模式可以用来跟与任务有关的预测的血流动力学反应比较。Afni 1-D files是包含预测血流动力学反应的文件,用来和真实的血流动力学反应(实验获得的体素的时间序列)进行相关分析。然后用它们之间的相关性鉴定出在任务(或事件)中被激活的位置/体素。
Waver是用来生成这些1-D files的程序。基本上,如果你有80个TRs(举例),你想生成一个含有一列80个数字文件。Waver通常在输出文件末生成额外的TRs。所以你需要检查和编辑生成的文件(如vi, emacs等文本编辑器)以确信每个TR只有一个值。
用法: waver [options] > output_filename
创建ideal waveform时间序列文件。通常输出至标准输出(stdout),可使用重定向符(>)输出至文件。 Options: (# 表示数字; [xx] 指默认值)
-WAV = 将波形设成 Cox special [default] (cf. AFNI FAQ list for formulas) -GAM = 将波形设成 t^b * exp(-t/c) (cf. Mark Cohen) -EXPR \ = 将波形设置成指定的表达式,其必须依赖于变量 't' e.g.: -EXPR \下面这些选项为-WAV 波形设置参数:
-delaytime # = 将延迟时间设置成 # 秒 [2] -risetime # = 将上升时间设置成 # 秒 [4] -falltime # = 将下降时间设置成 # 秒 [6]
-undershoot # = 将下冲设置为 # times the peak [0.2] (必须是非负数) -restoretime # = 将恢复时间设置为下冲后 # 秒 [2] 下面这些选项为 –GAM 波形设置参数:
-gamb # = 设置参数 'b' 为 # [8.6] -gamc # = 设置参数 'c' 为 # [0.547]
这些选项为所有波形设置参数
-peak # = 设置峰值(peak value)为 # [100] -dt # = 设置输出和输入的时间步长 [0.1]
默认是输出由上述参数定义的波形。但如果通常下面其中一个选项指定输入文件,则由该文件定义的时间序列将和上述参数定义的ideal waveform进行卷积计算。
-xyout = 以2列输出数据, 第1列是时间,第2列是波形。如果不使用-xyout选项, waver 产生1列,波形。2列输出在绘图时很有用。
-input infile = 从 *.1D 格式化的 'infile' 文件中读取时间序列; 并与波形卷积生成输出。 注: 你可以使用下标向量(sub-vector selector)选择infiles文件中特定的列,如-input 'fred.1D[3]' -inline DATA = 从命令行 DATA中读取时间序列; 与波形卷积生成输出。DATA 以数字count @value的形式,如-inline 20@0.0 5@1.0 30@0.0 1.0 20@0.0 2.0,表示时间序列由: 20个0, 然后5个1, 然后30个0, 然后1个1, 然后20个0,最后1个2组成。
-tstim DATA = 从命令行DATA中读取离散的刺激时间,并以这些时间点的冲激函数(delta- functions)与波形进行卷积。在这种输入格式中,时间并不需要间隔‘-dt‘。如: -dt 2.0 -tstim 5.6 9.3 13.7 16.4 指定TR为2秒,并刺激4次(5.6 s, 等)并不与TR 的整数倍对应。DATA值不能为负。如果DATA存储在文件中,你可以将其读 命令行,如:-tstim `cat filename` ,这里使用后向单引号(`)操作符。 如果你有‘xmgr‘ 绘形程序,你可以以下列方式预览输出结果:
>waver -dt 0.25 -xyout -inline 16@1 40@0 16@1 40@0 | xmgr -source stdin 使用 AFNI 包程序 1dplot, 可以同样实现: >waver -GAM -tstim 0 7.7 | 1dplot -stdin 如果需要设计方波, 可使用 'sqwave' 程序。
编辑有时需要涉及不考虑特定的时间点,可以在相应的位置插入数字99999。
假设实验有3种情况(conditions): rest, control and hum。想像你有100个TRs,每个情况有一定数目的TRs。假设TRs 1-10发生在rest condition, 11-20发生在control condition, 21-30发生在hum condition,并且该模式重复2次,最后接一个rest condition.下面是用Waver程序生成该实验的ideal waveform:
>waver -WAV -delaytime 0.0 -risetime 2.0 -dt 1.0 -inline 10@0 10@1 10@1 10@0 10@1 10@1 10@0 10@1 10@1 10@0 > ContHum_Rest.1D
>waver -WAV -delaytime 0.0 -risetime 2.0 -dt 1.0 -inline 10@0 10@99999 10@1 10@0 10@99999 10@1 10@0 10@9999 10@1 10@0 > Hum_Rest.1D
waver -GAM -gamb 8.6 -gamc 0.547 -peak 100 -dt 3 -input visBox.1D > visGamm.1D 你可以用1dplot查看所生成的1D文件。 1dplot visBox.1D 1dplot visGamm.1D 结果如右图所示。
注: 通过卷积生成的1D文件通常比boxcar文件多含几个时间点,这是因为卷积过程导致。可用vi或emacs等文本编辑程序修改(Open office功能更强大)。 ?FIM?对于生成的1D文件,也可以通过Graph
ick 选择该1D文件来查看。?Ideal
一个更复杂的例子在事件相关实验设计(event-related design)中可能含有两类刺激(如2种conditions)。我们应该首先创建两个1D文件,每个文件与对应刺激相应的时间点为1。每个1D文件然后再和设想的HRF进行卷积创建相应的功能激活1D文件。
在建立1D刺激文件时有许多变化。你可以与任何不同的假想HRF进行卷积,包括从被试先前的任务中测量的真实的HRF(如简单的运动或视觉任务)。你也可以为每个实验状态创建不止1个刺激1D文件,这样你可以将不同的HRF加权组合与数据进行拟合。这种类型的回归模型与事件相关分析更有关。 (2) t-检验和相关分析
□ 3D数据集的t-检验(Student‘s t-test)s
Usage 1: 3dttest [options] -set1 datasets ... -set2 datasets ... 比较2个数据集的均值(voxel-by-voxel)
Usage 2: 3dttest [options] -base1 bval -set2 datasets ... 比较数据集的均值与常量
输出:创建1个数据据,为voxel-by-voxel计算所得的set2的均值减去set1的均值(或常量bval)的差异。输出数据集类型为intensity+Ttset('fitt')型。每个体素的t-统计量可作为AFNI中(OverLay)的阈值。 t-testing选项:
-set1 datasets ... = 指定数据集集合作为set1。对set1的均值和set2的均值进行2-sample t-test。 注:-set1 和 -base1互相排斥
-base1 bval = 'bval' 是一常量数值,将对set2和bval进行1-sample t-test.
-set2 datasets ... = 指定数据集集合作为set2。每个set1(if used)和set2必须至少有2个datasets -paired = 指定使用配对t-检验(aired-sample t-test)来比较set1和set2。如果使用该选项,
set1和set2必须具有相同的基数。
注:如果set1和set2数据集功能值具有配对关系,可使用配对t-检验。如果 它们之间没有配对关系,统计力(statistical power)将比非配对t-test降低。
-unpooled = 指定单独对set1和set2进行方差估计(not pooled together)。只有在未使用 -paired选项时有意义。
注:如果使用该选项,每个体素的自由度将是一个变量,而不是一个常数
-dof_prefix ddd = 如果同时使用'-unpooled' 选项,将创建包含每个体素自由度(DOF)的前缀为 'ddd'的数据集。可以使用-dof_prefix数据集将t-value转变成z-score。 命令行如下:
3dcalc -a 'pname+orig[1]' -b ddd+orig -datum float -prefix ddd_zz -expr 'fitt_t2z(a,b)' 3drefit -substatpar 0 fizt ddd_zz+orig
目前,AFNI可以直接处理其DOF参数在各体素间变化的数据集。转变至 z-score(with no parameters)是克服(get around)这种困难的一个途径。
-workmem mega = 'mega' 指定多少MB的RAM用来统计运算。默认为12,如果设置大点可回 快程序运行速度。(见下面的注意事项)
输入编辑选项(input editing options)同3dmerge程序。
输出选项也同于大多数程序。包括-session dirname, -prefix pname, -datum type三个选项。 注意事项:
** 为了节省内存占用资源,3dttest将对其输入数据集进行多次变化(passes)。为提高效率,可先用3dmerge程序生成临时的数据集,再用3dttest对这些临时数据集进行计算;尤其使用'blurring'选项时。另外,对数据集进行editing 时需要读入内存,所以将会增加内存的占用。可以通过-workmem选项增加指定内存。 ** 输入数据集通过它们的.HEAD文件指定,但BRIK文件也必须存在。
** 该程序不能处理时间依赖(time-dependent)或复杂数据类型的数据。默认情况下(使用-datum option),如果第1个输入数据集为byte-或short-型,输出数据集的功能值为short型,否则为float型。 □ 相关分析
在该阶段你将应用AFNI检测哪个区域的激活与生成的1D文件定义的血流动力学反应波形相关。
选择Switch Anatomy(UnderLay),下拉窗口会出现,选择合适的数据集(预处理后的EPI数据集)。单击后选择,再点击主界面Image按钮,会出现层面图像。
点击\按钮将会显示相应体素的信号强度的时间序列曲线 (下图,黄色框中的体线是你当前指向的焦点)