AFNI Message Board

Dear AFNI users-

We are very pleased to announce that the new AFNI Message Board framework is up! Please join us at:

https://discuss.afni.nimh.nih.gov

Existing user accounts have been migrated, so returning users can login by requesting a password reset. New users can create accounts, as well, through a standard account creation process. Please note that these setup emails might initially go to spam folders (esp. for NIH users!), so please check those locations in the beginning.

The current Message Board discussion threads have been migrated to the new framework. The current Message Board will remain visible, but read-only, for a little while.

Sincerely, AFNI HQ

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