RT duration modelling in first level analysis

AFNI version info (afni -ver): Version ID = AFNI_20.2.16

I want to model my GLM analysis using ConstDurRTDur model as mentioned in:

I am attaching the code that I use to run the 3dDeconvolve.
Please give me insights if I am on the right track.
The task is a variant of stroop task, and I am modelling the congruent and incongruent trials in different reward conditions-a trial wise cue indicated design.

3dDeconvolve \
  -overwrite \
  -input $proj_path/data/individual/ECR"$subj"/func/ECR"$subj"_EP_TR_MNI_2mm_6fw_SI.nii.gz \
  -mask $temp_path/MNI152_T1_2mm_brain_GM_02182017.nii.gz \
  -concat '1D: 0 161 322 483 644 805 966 1127' \
  -polort A \
  -nobout \
  -jobs 4 \
  -noFDR \
  -num_stimts 11 \
  -local_times \
  -stim_times 1 $reg_path/NR_Cue_Onset_"$subj".txt 'CSPLINzero(0,12,7)' -stim_label 1 noRewCue \
  -stim_times 2 $reg_path/R_Cue_Onset_"$subj".txt 'CSPLINzero(0,12,7)' -stim_label 2 RewCue \
  -stim_times 3 $reg_path/NR_Congruent_Onset_"$subj".txt 'GAM(8.6,0.547,1)' -stim_label 3 noRewCong \
  -stim_times 4 $reg_path/NR_Incongruent_Onset_"$subj".txt 'GAM(8.6,0.547,1)' -stim_label 4 noRewIng \
  -stim_times 5 $reg_path/NR_Neutral_Onset_"$subj".txt 'GAM(8.6,0.547,1)' -stim_label 5 noRewNeu \
  -stim_times 6 $reg_path/R_Congruent_Onset_"$subj".txt 'GAM(8.6,0.547,1)' -stim_label 6 RewCong \
  -stim_times 7 $reg_path/R_Incongruent_Onset_"$subj".txt 'GAM(8.6,0.547,1)' -stim_label 7 RewIng \
  -stim_times 8 $reg_path/R_Neutral_Onset_"$subj".txt 'GAM(8.6,0.547,1)' -stim_label 8 RewNeu \
  -stim_times 9 $reg_path/ErrorCue_Onset_"$subj".txt 'CSPLINzero(0,12,7)' -stim_label 9 ErrorCue \
  -stim_times 10 $reg_path/ErrorTask_Onset_"$subj".txt 'GAM(8.6,0.547,1)' -stim_label 10 ErrorTask \
  -stim_times_AM1 11 $reg_path/RTDur_Subj"$subj".1D 'dmBLOCK(1)' -stim_label 11 RTDur \
  -ortvec $proj_path/data/individual/ECR"$subj"/func/ECR"$subj"_MotionPar.txt'[1..6]' 'MotionParam' \
  -ortvec $proj_path/data/individual/ECR"$subj"/func/ECR"$subj"_MotionPar_derv.1D'[1..6]' 'MotionParamDerv' \
  -censor $proj_path/data/individual/ECR"$subj"/func/ECR"$subj"_censor.1D \
  -cbucket ./"ECR"$subj"_TR_MNI_2mm_6fw_SI_censor_MR_betas_part2_RTDur.nii.gz" \
  -x1D ./"ECR"$subj"_TR_MNI_2mm_6fw_SI_censor_MR_part2_RTDur.x1D" \
  -x1D_uncensored ./"ECR"$subj"_TR_MNI_2mm_6fw_SI_censor_MR_uncensored_part2_RTDur.x1D" \
  -xsave \
  -xjpeg ./"ECR"$subj"_censor_MR_part2_RTDur.png" \
  -gltsym "SYM: 0.33*RewCue[1..3] -0.33*noRewCue[1..3]" -glt_label 1 RewardEffect_part2 \
  -gltsym "SYM: 0.33*RewCue[1..3] +0.33*noRewCue[1..3]" -glt_label 2 General_Cue_part2 \
  -gltsym "SYM: RewCong +RewIng +RewNeu +noRewCong +noRewIng +noRewNeu" -glt_label 3 General_task_part2 \
  -gltsym "SYM: 0.33*noRewCue[1..3]" -glt_label 4 noRewardCue_avg_part2 \
  -gltsym "SYM: 0.33*RewCue[1..3] " -glt_label 5 RewardCue_avg_part2 \
  -fitts ./"ECR"$subj"_TR_MNI_2mm_SI_censor_MR_fitts_part2_RTDur.nii.gz" \
  -errts ./"ECR"$subj"_TR_MNI_2mm_6fw_SI_censor_MR_errts_part2_RTDur.nii.gz" \
  -tout \
  -rout \
  -bucket ./"ECR"$subj"_TR_MNI_2mm_6fw_SI_censor_MR_part2_RTDur.nii.gz"```

Could you clarify the following?

  • Does the following line in your 3dDeconvolve script indicate that you intend to incorporate reaction time data?
    -stim_times_AM1 11 $reg_path/RTDur_Subj"$subj".1D 'dmBLOCK(1)' -stim_label 11 RTDur \  
    
  • What is the range of the RT data?
  • Are you interested in examining the RT effect, or are you including it solely as a covariate?

Gang Chen

Hey Gang

Yes, you are right- that is the line in code corresponding to incorporating RT data in the 3dDeconvolve script.

-The range of the RT data is in the range of 600 to 800 ms.
-I am interested in solely using it as a covariate.

Hope this clarifies my query better.
Thanks

When using the -stim_times_AM1 option, you are implicitly framing your contrasts under the assumption that all conditions (e.g., congruent, incongruent, neutral) have the same average duration. While RT is incorporated as a parametric modulator through a separate regressor using the option -stim_times_AM1, the main effects of interest still rely on regressors with fixed durations associated with -stim_times. This assumption is conceptually problematic because, in reality, different conditions (e.g., congruent, incongruent, neutral) likely have different average durations.

To me, a more reasonable approach might be:

  • Ignoring RT variation within each condition. While counterintuitive, this method is not necessarily flawed, given that the canonical HRF used for modeling is already suboptimal. Moreover, RT variations are often small relative to the temporal resolution of fMRI data (e.g., TR = 2s).
  • Explicitly modeling RT variation within each condition using -stim_times_AM2 instead of -stim_times_AM1. This approach allows RT to directly influence the estimated response within each condition rather than treating it as a common modulator for all conditions together.

It would be interesting to compare these two approaches to assess their impact on effect estimates and model fit.

Gang Chen

Thank you so much for the detailed heads up on this topic!

Sukalyan