3dSynthesize -cbucket fred+orig -matrix fred.x1D -select baseline -prefix fred_baselineFor example, you could subtract fred+baseline+orig from the FMRI data time series, using 3dcalc, to get a signal+noise dataset with no baseline. This combination of programs would be one way to detrend a multi-run dataset in a logically consistent fashion.
3dSynthesize -cbucket fred+orig -matrix fred.x1D -select baseline Face prefix fred_FaceBaseline plus House stimulus sub-model (but not the Face stimulus):
3dSynthesize -cbucket fred+orig -matrix fred.x1D -select baseline House prefix fred_House
Conceptual Introduction:
When carrying out an FMRI experiment, the stimuli/tasks are grouped into classes.
Within each class, the FMRI-measurable brain activity is presumed to be the
same for each repetition of the task. This crude approximation is
necessary since FMRI datasets are themselves crude, with low temporal
resolution and a low contrast-to-noise ratio (i.e., the BOLD signal
change is not very big). Therefore multiple measurements
of the "same" response are needed to build up decent statistics.
In many experiments, with each individual stimulus/task a separate measurement of subject behavior is taken; for example, reaction time, galvanic skin response, emotional valence, pain level perception, et cetera. It is sometimes desirable to incorporate this Amplitude Modulation (AM) information into the FMRI data analysis.
Two potential motives for using AM in the FMRI data analysis can be distinguished. The first goal is simply to consider the AM as a nuisance variable that may affect the FMRI activation amplitude in some way, and one wishes to reduce this impact on the results as much as possible. The second goal is to estimate and map quantitatively the effect of the AM on the FMRI activation amplitude.
Binary AM:
If the AM were binary in nature ("on" and "off"), one method of carrying out
the analysis would be to split the tasks into two classes, and analyze these
stimulus classes separately (i.e., with two
3dDeconvolve ... \ -stim_times 1 regressor_on.1D 'BLOCK(1,1)' -stim_label 1 'On' \ -stim_times 2 regressor_off.1D 'BLOCK(1,1)' -stim_label 2 'Off' \ -gltsym 'SYM: On \ Off' -glt_label 1 'On+Off' \ -gltsym 'SYM: On -Off' -glt_label 2 'On-Off' ...(A realistic 3dDeconvolve command line would, of course, have more options to specify the input and output filenames, etc.) The above example assumes that each case ("on" and "off") is being analyzed with simple (fixed-shape) regression — short 1-second blocks of activity.
Nothing more will be said here about binary AM, since it is just a standard application of 3dDeconvolve; the only (small) difference is that the stimulus class to which each individual stimulus is assigned is determined during the FMRI data acquisition itself, rather than determined by the investigator before the imaging session.
Continuous AM:
More complex is the case where the AM measurement values fall onto a
continuous (or finely graded discrete) scale. One form of analysis is
then to construct two regressors: the first being the standard
constant-amplitude-for-all-events-in-the-same-class time series, and the
second having
the amplitude for each event modulated by that event's AM value
(or some function of the AM value). To make these two regressors
be orthogonal, it is best to make the modulation be proportional to
the difference between each event's AM value and the mean AM value for that
stimulus class.
The new -stim_times_AM2 option is designed to make this type of analysis easy. The 'AM' in the option suffix indicates that amplitude modulation for each time is expected in the input timing file. The '2' indicates that 2 regressors will be generated from 1 stimulus timing file.
The stimulus timing file for -stim_times_AM2 has a slightly
different format than the stimulus timing file for the standard
10*5 30*3 50*2 70*7 90*-3indicates that the stimuli at times 10, 30, 50, 70, and 90 have amplitudes of 5, 3, 2, 7, and -3 (respectively). Note that if a stimulus time is given without an amplitude, the amplitude will be taken to be zero and 3dDeconvolve will print a warning message. (N.B.: the '*' separator can also be the 'x' character, if that is more convenient.)
The program 1dMarry can be used to "glue" two .1D formatted files together to produce
a file appropriate for
The same response models available with the standard
It can be useful and enlightening to plot the columns of the regression
matrix that correspond
to the equal-weight and variable-weight model time series generated by
It is possible to use the option
Deconvolution with Amplitude Modulation:
It is also legal to use a deconvolution model (e.g., 'TENT()')
with
Why Use 2 Regressors?:
One user asked the following question:
"Can't I just use the AM weighted-regressor in the model by itself?
Why do you have to include the standard (mean amplitude) regressor in the full model
to investigate the effect of event amplitude values?" In other words,
why not use
The reasoning behind separating the regressor columns into 2 classes (mean activation and AM-varying activation) is
Suppose that you have 6 events, to be simple, and that the amplitudes for these events are {1, 2, 1, 2, 1, 2}, with mean=1.5. Now suppose you have a voxel that IS active with the task, but whose activity is not dependent on the amplitude at all. Say its activation level with each task is 6, so the "activity vector" (i.e., the BOLD response amplitude for each event) is {6, 6, 6, 6, 6, 6}. This vector is highly correlated with the AM vector {1, 2, 1, 2, 1, 2} (cc=0.9486), so you will get a positive activation result at this voxel when using a single regressor. You can't tell from the regression if this voxel is sensitive to the amplitude modulation or not.
But if you use 2 regressors, they would be proportional to {1, 1, 1, 1, 1, 1} and {-0.5, +0.5, -0.5, +0.5, -0.5, +0.5} (the differences of each event amplitude from the mean of 1.5). The first regression vector is perfectly correlated with the "activity vector" {6, 6, 6, 6, 6, 6} and the second regression vector is not correlated with the activity at all. So you would get an activation result saying "this voxel was activated by the task, but doesn't care about the amplitude". You cannot make such a dissection without using 2 regressors.
Even if you don't care at all about such non-AM-dependent voxels, you must
still include them if you think this may be a significant effect in the data.
You have to model the data as it presents itself. In a sense, the
constant-activation model is like the baseline model
(e.g.,
What about Losing Degrees of Freedom?:
If you are concerned about losing degrees of freedom, since you will be
adding regressors but not data, then I would run the analysis twice.
Once with the mean regressors only, and then one with
the mean and the variable regressors. Then decide if the maps from the
mean regressors in the two
cases differ markedly. My guess is that they will not,
if you have a decent number of events in each case (30+).
If they do not differ too much, then you are safe to use the double
regressor (AM2) analysis.
If they do differ a lot (e.g., you lose a lot of mean regressor
activation when you set the F-statistic p-values the same),
then you probably can't use the double regressor analysis.
But it is easy enough to try.
You can open two AFNI controllers, and view the single and double regressor analyses side-by-side. You can set the threshold sliders to be locked together in p-value (using Edit Environment on variable AFNI_THRESH_LOCK). This should help you decide very quickly if the two results look the same or not — same, that is, from the viewpoint of interpreting the results. The maps will of course not be identical, since they will have been calculated with different models.
Caveats and Issues:
One problem with the above idea is that one may not wish to assume that the
FMRI signal is any particular function of the event amplitude values.
I don't know at this time how to deal with this issue in the context
of linear regression.
For example, the "linear in event amplitude" model could be extended to allow
for a quadratic term (