-allzero_OK in 3dDeconvolve

AFNI version info (afni -ver): 20.3.00

Dear AFNI Experts,

I'm analyzing fMRI data collected from an experiment with 10 different conditions. The conditions were labeled based on participants' behavioral performance (e.g., correct or incorrect responses), thus sometimes some event files are empty if the participants had a 100% perfect performance. To address this, I used the option -allzero_OK when running 3dDeconvolve.

One of my participants had an event file containing * * for condition 1 because he/she had a 100% accuracy. I got an warning stating collinearity issue even I've used -allzero_OK in 3dDeconvolve. But, this issue was cleared if I excluded that event file of condition 1.

This is my 3dDeconvolve code:

3dDeconvolve -input ${subjdir}/pb03.${subj}.r01.scale.nii \
-jobs 1 \
-allzero_OK \
-mask ${mask1} \
-polort 2 \
-num_stimts 10 \
-local_times \
-stim_times 1 ${subjdir}/first_go_cor.1D 'SPMG1' \
-stim_times 2 ${subjdir}/inc_go_resp.1D 'SPMG1' \
-stim_times 3 ${subjdir}/miss.1D 'SPMG1' \
-stim_times 4 ${subjdir}/post_go_cor_go_cor.1D 'SPMG1' \
-stim_times 5 ${subjdir}/post_go_err_go_cor.1D 'SPMG1' \
-stim_times 6 ${subjdir}/post_go_miss_go_cor.1D 'SPMG1' \
-stim_times 7 ${subjdir}/post_stop_cor_go_cor.1D 'SPMG1' \
-stim_times 8 ${subjdir}/post_stop_err_go_cor.1D 'SPMG1' \
-stim_times 9 ${subjdir}/stop_cor.1D 'SPMG1' \
-stim_times 10 ${subjdir}/stop_err.1D 'SPMG1' \
-stim_label 1 first_go_cor \
-stim_label 2 inc_go_resp \
-stim_label 3 miss \
-stim_label 4 go_cor_go_cor \
-stim_label 5 go_err_go_cor \
-stim_label 6 go_miss_go_cor \
-stim_label 7 stop_cor_go_cor \
-stim_label 8 stop_err_go_cor \
-stim_label 9 stop_cor \
-stim_label 10 stop_err \
-ortvec ${subjdir}/sub-NDARINVNGL4MJW6_ses-4YearFollowUpYArm1_task-sst_run-01_motion_trim_iir.tsv[1..6] confounds \
-num_glt 2 \
-glt_label 1 pse_pgc \
-glt_label 2 incGoResp_miss \
-gltsym 'SYM: +stop_err_go_cor -go_cor_go_cor' \
-gltsym 'SYM: +inc_go_resp -miss' \
-GOFORIT 0 \
-x1D ${subjdir}/${subj}.xmat.1D \
-tout \
-bucket ${subj}_decon

Below is the warning message I got:

*+ WARNING: '-stim_times 1' didn't read any good times from file '${subjdir}/first_go_cor.1D'
*+ WARNING: Input polort=2; Longest run=349.6 s; Recommended minimum polort=3
*+ WARNING: -stim_times 1 has all times equal to '*' ?!?!
*+ WARNING: !! '-stim_times 1' ${subjdir}/first_go_cor.1D' has no good stimulus time values
*+ WARNING: '-stim_times 3' (LOCAL) run#1 has 4 times outside range 0 .. 348.8 [PSFB syndrome]
*+ WARNING: '-stim_times 9' (LOCAL) run#1 has 1 times outside range 0 .. 348.8 [PSFB syndrome]
*+ WARNING: -------------------------------------------------
*+ WARNING: Problems with the X matrix columns, listed below:
*+ WARNING:    * Column 3 [first_go_cor#0] is all zeros
*+ WARNING: -------------------------------------------------
*+ WARNING: !! in Signal+Baseline matrix:
 * Largest singular value=2.06681
 * 1 singular value is less than cutoff=2.06681e-07
 * Implies strong collinearity in the matrix columns! 
*+ WARNING: !! in Signal-only matrix:
 * Largest singular value=1.46934
 * 1 singular value is less than cutoff=1.46934e-07
 * Implies strong collinearity in the matrix columns! 
*+ WARNING: +++++ !! Matrix inverse average error = 0.00277008  ** BEWARE **
** ERROR: !! 3dDeconvolve: Can't run past 4 matrix warnings without '-GOFORIT 4'
** ERROR: !!                Currently at -GOFORIT 0
** ERROR: !! See file 3dDeconvolve.err for all WARNING and ERROR messages !!
** ERROR: !! Be sure you understand what you are doing before using -GOFORIT !!
** ERROR: !! If in doubt, consult with someone or with the AFNI message board !!
** FATAL ERROR: !! 3dDeconvolve (regretfully) shuts itself down !!

Any suggestion or advice are welcome! Thank you in advance!

This is okay. Noting whether regressors are all zeros is separate from the evaluation of the regression matrix (in 3dDeconvolve at least). You also have to tell it that the regression matrix warnings are acceptable. So just do as it says, and add some -GOFORIT option (you can go higher than 4 if you want to be sure).
I think Bob did not want use of -allzero_OK to let one off the hook of evaluating any other regression warnings, because there could still be actual problems with the timing and such. I do not think there is any extra problem here though.

-rick

@rickr Thank you so much!