Dear Hongbo,
My fMRI
experiment has 3 conditions: in two of them different visual patterns
were presented to the participants and explicit categorization was
required; in the 3rd, control, condition, only a fixation cross was
presented and no task was required. According to my knowledge, I expected
to see stronger activation of V1 in the two experimental conditions as
compared with the control condition. However, after I compute GLM model
using canonical HRF as basis function, I find the opposite result: V1 was
highly activated by the control condition while remaining
"silent" in the two experimental conditions.
Then I extract the raw data from V1 of all
participants and made an event-related average. I found a decrease of
signal (peaking around the 4th second after event onset) in the control
condition as compared with the experimental conditions. Then, from the
14th second after onset, the signal of the control condition exhibited a
sharp incease while that of the experimental conditions exhibited a sharp
decrease.
Consequently, I used another set of basis functions in
GLM model computation. This time I tried two gamma functions. The results
thus yielded was quite different from that using HRF: V1 was more
activated by the experiemental conditions as compared with the control
condition.
So what is the difference between HRF and
two-gamma functions? If their shapes are similar (HRF is constructed by
the linear combination of two gamma functions, if I understand it
correctly), the mathematical procedure to fit them with the real signal
must be different. I guess the shape of the 2-gamma functions is more
flexible in that the parameters describing how the two gamma functions
combined (peak value, relative distance, etc.) can be modulated during
the computation process to best fit the signal.
Yes, that is exactly right. If you used the canonical HRF (without
derivatives) you are fixing the
shape of the estimated HRF and you only need to optimize one parameter
for each condition.
If you use a basis set with two gamma functions, then you have a more
flexible model (that
requires two parameters per condition).
I should say that it is unusual to have a hemodynamic response that peaks
after 14 seconds.
This suggests that your design may not be efficient to detect all the
differences among the three
conditions. If you have not done so already, I would suggest just
modeling the two active conditions
(and not the control condition). This will give a simpler model and more
efficient estimates of the
differences (activations).
Finally, if I want to use
2-gamma functions as basis functions, what are the scripts to specify the
timewindow length and order?
All the computations are preformed by the script below.
I hope this helps - Karl
function [xBF] =
spm_get_bf(xBF)
% fills in basis function
structure
% FORMAT [xBF] = spm_get_bf(xBF);
%
% xBF.dt - time bin length {seconds}
% xBF.name - description of basis functions
specified
% xBF.length - window length (seconds)
% xBF.order - order
% xBF.bf - Matrix of basis functions
%
% xBF.name 'hrf'
% 'hrf (with time derivative)'
% 'hrf (with time and dispersion
derivatives)'
% 'Fourier set'
% 'Fourier set (Hanning)'
% 'Gamma functions'
% 'Finite Impulse Response'};
%
% (any other specification will default to hrf)
%__________________________________________________________________________
%
% spm_get_bf prompts for basis functions to model event or
epoch-related
% responses. The basis functions returned are unitary and
orthonormal
% when defined as a function of peri-stimulus time in time-bins.
% It is at this point that the distinction between event and
epoch-related
% responses enters.
%__________________________________________________________________________
% Copyright (C) 2008 Wellcome Trust Centre for Neuroimaging