0

我正在尝试对 fMRI 数据进行建模,以便检查实验设计的有效性。我一直在关注几个教程并且有一个问题。我首先需要通过将刺激输入时间序列与典型血流动力学响应函数 (HRF) 进行卷积来模拟 BOLD 响应。我检查的第一个教程说,只要 HRF 的“形状”正确,就可以制作任意幅度的 HRF,因此他们在 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 ]

然后仅使用“conv”将 HRF 与刺激进行卷积,因此:

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 并且我的刺激很长(12 秒)。我尝试通过执行以下操作来调整上述代码以针对我的情况制作一个有效的 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。我假设在整个 12 秒刺激期间会有响应(前 6 个 TR,所以值为 1-6)适当的纠正可能是其余的值,但我不确定。

最后一个问题。另一个代码不会“缩放”HRF 以使其幅度为 1。这最终会很重要吗?

4

1 回答 1

1

您选择的规范 HRF 取决于 BOLD 信号来自大脑的哪个位置。只选择任何 HRF 都是不合适的。你最好的模型来源将来自一个点燃的评论。我已经链接了一篇讨论多个 HRF 模型优点的论文。方法部分提出了一些要点。

于 2017-10-18T04:30:54.663 回答