History of AFNI updates  

|
October 20, 2021 04:24PM
Dear AFNI Experts,

I have some questions related with the order of the sub-briks saved when in the 3dDeconvolve we use SPMG1 and SPMG2 functions with parametric/amplitude modulation. More specifically, within my 3dDeconvolve I have a regressor (S=scenario) for which I apply one parametric modulator when the SPMG1 and SPMG2 functions is used. My questions are:

1. When the SPMG1 function is used, I have 2 betas as the output of this regressor: one when the parametric modulation is applied, and another one when the parametric modulation is not applied. I get the sub-briks under this names: S#0 and S#1. Which beta contain the effect of parametric modulation and which doesn't?

2. When the SPMG2 function is used, I have 4 betas as the output of this regressor: 2 betas are for the two parameters of the SPMG2 function (gamma variate and its derivatives) without parametric modulation and another 2 betas of the two parameters of the SPMG2 function with parametric modulation. I get the sub-briks under this names: S#0, S#1, S#2 and S#3. Which beta contain the effect of parametric modulation and which doesn't? Also, which beta is related with gamma variate and which beta is related with its derivatives?

3. When I extract a contrast from my regressor (S-I = scenario - instruction), which beta is considered for the glt (S-I) regressor:
- for SPMG2: the beta of the gamma variate or its derivatives and with or without parametric modulation?
- for SPMG1: the beta with or without parametric modulation (because here I don’t have two components of the SPMG function)?
I ask you this because when I apply the contrast I have only one beta for the new regressor (S-I), not 4, as it is when I look only at S as the regressor with SPMG2 function (or 2, as it is when I look only at S as the regressor with SPMG1 function).

Those are the conditions included in the model when SPMG2 function is used within the 3dDeconvolve command:
....
-stim_times 1 ${global_path}/timings/${i}.baseline.1D 'SPMG2(12)' \
-stim_label 1 B \
-stim_times 2 ${global_path}/timings/${i}.instructions.1D 'SPMG2(40)' \
-stim_label 2 I \
-stim_times_AM2 3 ${global_path}/timings/parametric_modulation/${i}_scenarios.parametric_modulation.1D 'SPMG2(90)' \
-stim_label 3 S \
-jobs 10 \
-num_glt 5 \
-gltsym 'SYM: B' \
-glt_label 1 B \
-gltsym 'SYM: I' \
-glt_label 2 I \
-gltsym 'SYM: S' \
-glt_label 3 S \
-gltsym 'SYM: S -I' \
-glt_label 4 S-I \
-gltsym 'SYM: S -B' \
-glt_label 5 S-B \

and those are all the sub-briks saved in the stats bucket:
-- At sub-brick #0 'Full_Fstat' datum type is float: 0 to 14.9029
statcode = fift; statpar = 8 561
-- At sub-brick #1 'B#0_Coef' datum type is float: -22.4646 to 11.5551
-- At sub-brick #2 'B#0_Tstat' datum type is float: -7.86908 to 5.31272
statcode = fitt; statpar = 561
-- At sub-brick #3 'B#1_Coef' datum type is float: -9.29495 to 16.3052
-- At sub-brick #4 'B#1_Tstat' datum type is float: -6.09724 to 4.14403
statcode = fitt; statpar = 561
-- At sub-brick #5 'B_Fstat' datum type is float: 0 to 33.3747
statcode = fift; statpar = 2 561
-- At sub-brick #6 'I#0_Coef' datum type is float: -16.0621 to 14.8091
-- At sub-brick #7 'I#0_Tstat' datum type is float: -8.56151 to 8.04546
statcode = fitt; statpar = 561
-- At sub-brick #8 'I#1_Coef' datum type is float: -8.46298 to 21.117
-- At sub-brick #9 'I#1_Tstat' datum type is float: -5.57765 to 6.05574
statcode = fitt; statpar = 561
-- At sub-brick #10 'I_Fstat' datum type is float: 0 to 36.6522
statcode = fift; statpar = 2 561
-- At sub-brick #11 'S#0_Coef' datum type is float: -12.3703 to 10.7999
-- At sub-brick #12 'S#0_Tstat' datum type is float: -7.27428 to 6.58525
statcode = fitt; statpar = 561
-- At sub-brick #13 'S#1_Coef' datum type is float: -8.05616 to 10.6207
-- At sub-brick #14 'S#1_Tstat' datum type is float: -6.4219 to 8.01995
statcode = fitt; statpar = 561
-- At sub-brick #15 'S#2_Coef' datum type is float: -4.91785 to 3.63253
-- At sub-brick #16 'S#2_Tstat' datum type is float: -6.23377 to 7.61315
statcode = fitt; statpar = 561
-- At sub-brick #17 'S#3_Coef' datum type is float: -4.04931 to 4.21428
-- At sub-brick #18 'S#3_Tstat' datum type is float: -4.64824 to 6.41967
statcode = fitt; statpar = 561
-- At sub-brick #19 'S_Fstat' datum type is float: 0 to 21.5786
statcode = fift; statpar = 4 561
-- At sub-brick #20 'B_GLT#0_Coef' datum type is float: -23.0071 to 16.4011
-- At sub-brick #21 'B_GLT#0_Tstat' datum type is float: -6.78155 to 5.67067
statcode = fitt; statpar = 561
-- At sub-brick #22 'B_GLT_Fstat' datum type is float: 0 to 45.9894
statcode = fift; statpar = 1 561
-- At sub-brick #23 'I_GLT#0_Coef' datum type is float: -16.0669 to 22.1951
-- At sub-brick #24 'I_GLT#0_Tstat' datum type is float: -6.0508 to 6.24297
statcode = fitt; statpar = 561
-- At sub-brick #25 'I_GLT_Fstat' datum type is float: 0 to 38.9746
statcode = fift; statpar = 1 561
-- At sub-brick #26 'S_GLT#0_Coef' datum type is float: -17.7516 to 17.9541
-- At sub-brick #27 'S_GLT#0_Tstat' datum type is float: -6.15808 to 7.99587
statcode = fitt; statpar = 561
-- At sub-brick #28 'S_GLT_Fstat' datum type is float: 0 to 63.934
statcode = fift; statpar = 1 561
-- At sub-brick #29 'S-I_GLT#0_Coef' datum type is float: -21.8565 to 15.2836
-- At sub-brick #30 'S-I_GLT#0_Tstat' datum type is float: -6.4461 to 7.70811
statcode = fitt; statpar = 561
-- At sub-brick #31 'S-I_GLT_Fstat' datum type is float: 0 to 59.4149
statcode = fift; statpar = 1 561
-- At sub-brick #32 'S-B_GLT#0_Coef' datum type is float: -17.2926 to 21.6195
-- At sub-brick #33 'S-B_GLT#0_Tstat' datum type is float: -5.40342 to 6.5544
statcode = fitt; statpar = 561
-- At sub-brick #34 'S-B_GLT_Fstat' datum type is float: 0 to 42.9601
statcode = fift; statpar = 1 561

For the SPMG1 function the same conditions were included and the sub-briks saved in the stats bucket are similar to those for the SPMG2, except that for the SPMG1, having only one parameter not 2 parameters, only 2 betas are generated/saved for the S regressor (not 4 betas as it is shown above, with the SPMG2 function).

I tried to verify the index list for regressors using something 1d_tool.py as you suggest here, but this is just showing the list of the index, as below, is not giving information related to how the sub-briks and regressors are sorted out:
index 0, group -1 , label Run#1Pol#0
index 1, group -1 , label Run#1Pol#1
index 2, group -1 , label Run#1Pol#2
index 3, group -1 , label Run#1Pol#3
index 4, group -1 , label Run#1Pol#4
index 5, group -1 , label Run#2Pol#0
index 6, group -1 , label Run#2Pol#1
index 7, group -1 , label Run#2Pol#2
index 8, group -1 , label Run#2Pol#3
index 9, group -1 , label Run#2Pol#4
index 10, group -1 , label Run#3Pol#0
index 11, group -1 , label Run#3Pol#1
index 12, group -1 , label Run#3Pol#2
index 13, group -1 , label Run#3Pol#3
index 14, group -1 , label Run#3Pol#4
index 15, group -1 , label Run#4Pol#0
index 16, group -1 , label Run#4Pol#1
index 17, group -1 , label Run#4Pol#2
index 18, group -1 , label Run#4Pol#3
index 19, group -1 , label Run#4Pol#4
index 20, group -1 , label Run#5Pol#0
index 21, group -1 , label Run#5Pol#1
index 22, group -1 , label Run#5Pol#2
index 23, group -1 , label Run#5Pol#3
index 24, group -1 , label Run#5Pol#4
index 25, group 1 , label B#0
index 26, group 2 , label I#0
index 27, group 3 , label S#0
index 28, group 3 , label S#1
index 29, group 0 , label sub-01_6_motion_runs-concatenated.demean[0]#0
index 30, group 0 , label sub-01_6_motion_runs-concatenated.demean[1]#0
index 31, group 0 , label sub-01_6_motion_runs-concatenated.demean[2]#0
index 32, group 0 , label sub-01_6_motion_runs-concatenated.demean[3]#0
index 33, group 0 , label sub-01_6_motion_runs-concatenated.demean[4]#0
index 34, group 0 , label sub-01_6_motion_runs-concatenated.demean[5]#0

Thank you in advance for your help!
Subject Author Posted

Order of the sub-briks saved from SPMG1/2 functions with parametric/amplitude modulation.

ruben.nechifor October 20, 2021 04:24PM

Re: Order of the sub-briks saved from SPMG1/2 functions with parametric/amplitude modulation.

gang October 21, 2021 11:09AM

Re: Order of the sub-briks saved from SPMG1/2 functions with parametric/amplitude modulation.

ruben.nechifor October 27, 2021 07:31AM

Re: Order of the sub-briks saved from SPMG1/2 functions with parametric/amplitude modulation.

gang October 28, 2021 04:10PM

Re: Order of the sub-briks saved from SPMG1/2 functions with parametric/amplitude modulation.

ruben.nechifor October 29, 2021 10:01AM

Re: Order of the sub-briks saved from SPMG1/2 functions with parametric/amplitude modulation.

gang October 30, 2021 06:19PM

Re: Order of the sub-briks saved from SPMG1/2 functions with parametric/amplitude modulation.

ruben.nechifor October 31, 2021 03:13PM

Re: Order of the sub-briks saved from SPMG1/2 functions with parametric/amplitude modulation.

gang November 01, 2021 11:16AM

Re: Order of the sub-briks saved from SPMG1/2 functions with parametric/amplitude modulation.

ruben.nechifor November 01, 2021 12:59PM

Re: Order of the sub-briks saved from SPMG1/2 functions with parametric/amplitude modulation.

gang November 01, 2021 01:25PM

Re: Order of the sub-briks saved from SPMG1/2 functions with parametric/amplitude modulation.

ruben.nechifor November 02, 2021 06:11AM

Re: Order of the sub-briks saved from SPMG1/2 functions with parametric/amplitude modulation.

gang November 03, 2021 10:36PM