Time series evaluating with 3dDeconvolve & glt option

I’m a beginner in AFNI and trying to evaluate, with 3dDeconvolve “-nodata” mode, the time series generated by RFSgen. According to the “afni_howto” tutorial, under the circumstance of 3 experimental conditions (A, B, and C), 3 GLT’s are needed (contrasts of AB, AC, and BC).

Now my problem is that I have 6 conditions (say, A to F). Then how should I do the GLT’s? Contrasts between each pair (AB, AC, …, EF), each triplet (ABC, ABD, …, DEF), or between each combination with 4 or more conditions? Or all above?

Or, is it so that I don’t need the glt option actually? If so, by what do I compare the qualities of different time series?

I know this question may be simple but it’s really annoying me and I would appreciate any help. Thanks!

PS. Here is my code without adding the glt option (only showing the 3dDeconvolve part; 10 repetitions for each condition):

3dDeconvolve				\
	-nodata 150 2.0			\
	-nfirst 3	-nlast 149		\
	-polort A				        \
	-num_stimts 6			\
	-stim_file 1 "RSF.0001.1D[0]"	-stim_label 1 S1		\
	-stim_file 2 "RSF.0001.1D[1]"	-stim_label 2 S2		\
	-stim_file 3 "RSF.0001.1D[2]"	-stim_label 3 S3		\
	-stim_file 4 "RSF.0001.1D[3]"	-stim_label 4 S4		\
	-stim_file 5 "RSF.0001.1D[4]"	-stim_label 5 S5		\
	-stim_file 6 "RSF.0001.1D[5]"	-stim_label 6 S6		\
	> 3dD.nodata.0001

and here’s the screen output:

++ using NT=150 time points for -nodata
++ Imaging duration=300.0 s; Automatic polort=3
++ Number of time points: 150 (before censor) ; 147 (after)

  • Number of parameters: 10 [4 baseline ; 6 signal]
    ++ ----- Signal+Baseline matrix condition [X] (147x10): 1.46989 ++ VERY GOOD ++
    ++ ----- Signal-only matrix condition [X] (147x6): 1 ++ VERY GOOD ++
    ++ ----- Baseline-only matrix condition [X] (147x4): 1.08516 ++ VERY GOOD ++
    ++ ----- polort-only matrix condition [X] (147x4): 1.08516 ++ VERY GOOD ++
    ++ +++++ Matrix inverse average error = 2.36283e-16 ++ VERY GOOD ++
    ++ Matrix setup time = 0.00 s

and the file:

Stimulus: S1
h[ 0] norm. std. dev. = 0.3394

Stimulus: S2
h[ 0] norm. std. dev. = 0.3451

Stimulus: S3
h[ 0] norm. std. dev. = 0.3531

Stimulus: S4
h[ 0] norm. std. dev. = 0.3509

Stimulus: S5
h[ 0] norm. std. dev. = 0.3423

Stimulus: S6
h[ 0] norm. std. dev. = 0.3410

Hi Stephen,

Consider also the more modern @stim_analyze script
that uses make_random_timing.py rather than RSFgen.

Regarding your question though, what GLTs to focus
on, or whether to look at the GLTs at all, is up to
you. As a more general method, I would be inclined
to just look at the individual “norm. std.” values,
instead, as is the default in @stim_analyze.

  • rick