Hello Rutger:
The "-glt" option specifies a linear combination of the estimated parameters,
NOT a linear combination of the sub-bricks. Therefore, it is necessary to know
the exact format of the parameter vector when using the "-glt" option.
If you use the "-concat" option (and you should for concatenated datasets),
3dDeconvolve will fit a separate baseline (constant b0 and drift b1) for each
of the runs. If you set maxlag = 0 for each of the 4 conditions, then the
parameter vector will be:
Beta' = [ b10 b11 b20 b21 a b c d ]
Hence, to test the null hypothesis: B = D, use the following GLT matrix:
0 0 0 0 0 -1 0 1
If maxlag > 0, multiple coefficients are calculated for each of the conditions.
The corresponding extension for the GLT matrix is straightforward. Please see
the documentation in file 3dDeconvolve.ps for more details.
I'm not sure from your message, but it sounds like you are interested in the
interaction between session and condition. If you code the 4 conditions
separately for the 2 sessions, the parameter vector might be:
Beta' = [ b10 b11 b20 b21 a1 b1 c1 d1 a2 b2 c2 d2 ]
The test for B = D would then look like:
0 0 0 0 0 -1 0 1 0 -1 0 1
whereas the test for interaction would be:
0 0 0 0 0 -1 0 1 0 1 0 -1
Perusal of Section 1.4.5 of 3dDeconvolve.ps might be helpful.
As mentioned above, a separate baseline is fitted to each run. Therefore,
the coefficients for the different conditions are calculated relative to
their local baseline.
However, you could also convert everything to % change relative to baseline.
That is, you could convert the individual run time series to % change relative
to the baseline for the individual run, prior to concatenation. This point
is somewhat controversial.
Whatever approach you use, I strongly recommend using the Deconvolution plugin
to plot the fit on top of the fMRI time series data. It is very easy to make
mistakes. And a good fit to the data is no guarantee, of course. However,
it is reassuring to visually verify that the program is doing what you think
it is doing.
Additional hints: With 3dDeconvolve, it is easy to create an output bucket
dataset containing an excessively large number of sub-bricks. This may be
inconvenient, particularly if you are not interested in all of this output.
There are various options to restrict the number of sub-bricks. First, you
may wish to substitute "-fout" for "-tout", particularly if you set maxlag
greater than 0. Also, you may wish to use "-nobout" to suppress the baseline
coefficient output (of course, the program still calculates the baseline).
And, if you are only interested in the "-glt" results, you might use "-nocout"
to suppress the individual coefficient output.
As always, please see the documentation in 3dDeconvolve.ps for more details.
Doug Ward