我试图对fMRI数据建模,以便检查实验设计的功效。我一直在跟随几个教程,并有一个问题。 我首先需要通过将刺激输入时间序列与典型血液动力学响应函数(HRF)进行卷积来建模BOLD响应。我查了第一个教程说,一个可以作出HRF是任何幅度,只要在HRF的“形状”是正确的,使他们创造了以下HRF在MATLAB:在MATLAB中对hrf时间序列进行建模
hrf = [ 0 0 1 5 8 9.2 9 7 4 2 0 -1 -1 -0.8 -0.7 -0.5 -0.3 -0.1 0 ]
然后卷积的HRF与刺激只要使用“CONV”这样:
hrf_convolved_with_stim_time_series = conv(input,hrf);
这是非常简单的,但我希望我的模型,最终得到尽可能准确,所以我查了更高级教程,他们做了以下。首先他们创建了20个时间点的矢量,然后使用'gampdf'函数创建HRF。
t = 1:1:20; % MEASUREMENTS
h = gampdf(t,6) + -.5*gampdf(t,10); % HRF MODEL
h = h/max(h); % SCALE HRF TO HAVE MAX AMPLITUDE OF 1
这样做比较简单吗?我想我有3个具体问题。
- 在“gampdf”帮助页面是超短并且仅说,“6”和“10”中的每个函数调用所代表“A”,这是一个“形状”参数。这是什么意思?它没有提供其他信息。为什么第一个电话是6,第二个是10?
这个问题直接关系到上面的问题。该代码是针对TR = 1且刺激非常短(如1s)的情况编写的。在我的情况下,我的TR = 2,我的刺激很长(12s)。我试着去适应上面的代码做,使工作HRF我的情况如下:
t = 1:2:40; % 2s timestep with the 40 to try to equate total time to above h = gampdf(t,6) + -.5*gampdf(t,10); % HRF MODEL h = h/max(h); % SCALE HRF TO HAVE MAX AMPLITUDE OF 1
因为我不知道什么“gampdf”参数的含义(或行所做的,在所有的现实)我不知道这给了我什么,我正在寻找。我基本上得出20个值,其中1-14具有一些数值,但是15-20全是0.我假设在整个12s刺激期(前6个TR值如1-6值)中将会有响应适当的纠正可能是其余的价值,但我不确定。
最后一个问题。另一个代码并不会'规模化'HRF的幅度为1.最终会这样吗?
谢谢你的资源。我会看看! – chainhomelow