2017-10-18 59 views
0

我试图对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个具体问题。

  1. 在“gampdf”帮助页面是超短并且仅说,“6”和“10”中的每个函数调用所代表“A”,这是一个“形状”参数。这是什么意思?它没有提供其他信息。为什么第一个电话是6,第二个是10?
  2. 这个问题直接关系到上面的问题。该代码是针对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.最终会这样吗?

回答

0

您选择的规范化HRF取决于BOLD信号来自何处。只选择任何HRF是不合适的。模型的最佳来源将来自点燃评论。我已经链接了一篇讨论merits of multiple HRF models的论文。方法部分提出了一些要点。

+0

谢谢你的资源。我会看看! – chainhomelow