what value are you giving to spm_hrf() as its argument? RT is taken by
spm_hrf() as an argument, and is not altered in the code before you get
to the line in question. thus, the only way that RT could be equal to
TR/fMRI_T is if you passed it that value as an argument.
you would generally use spm_hrf(RT) and that should pass back 32
seconds worth of HRF (i.e., the number of points will depend upon the TR).
cheers
rp
IAIN T JOHNSTONE wrote:
>I have a question concerning the function used to compute a HRF in
>spm_hrf.m. In the code:
>
>dt = RT/fMRI_T;
>u = [0:(p(7)/dt)] - p(6)/dt;
>hrf = spm_Gpdf(u,p(1)/p(3),dt/p(3)) - spm_Gpdf(u,p(2)/p(4),dt/p(4))/p
>(5);
>hrf = hrf([0:(p(7)/RT)]*fMRI_T + 1);
>hrf = hrf'/sum(hrf);
>
>What is the meaning of dt? At first I thought it was the time interval
>used in calculating the HRF, given by dividing the scan TR (RT in the
>code above - in my case 3 seconds) by the number of bins/scan variable
>(fMRI_T in the code above - which is by default on our installation
>equal to 16). However, I noticed that the value of RT in the above
>code, when I print it out, is already equal to my TR/number of bins,
>and therefore dt above comes out as my TR/(number of bins)^2.
>
>Why is that?
>Also, when I print out the calculated HRF, I get 94 values when number
>of bins/scan =16, but 342 values when number of bins/scan = 32.
>
>Any advice greatly appreciated.
>
>Tom
>
>
>Tom Johnstone, Ph.D.
>Keck Laboratory for Functional Neuroimaging and Behavior
>Waisman Center
>University of Wisconsin-Madison
>Tel. +1 608 262 9230 Fax. +1 608 265 8737
>[log in to unmask]
>
>
--
Russell A. Poldrack, Ph.D.
Assistant Professor of Psychology, UCLA
Franz Hall, Box 951563
Los Angeles, CA 90095-1563
email: [log in to unmask]
phone: 310.794.1224
fax: 310.206.5895
web: http://www.poldracklab.org/
|