number of regressors with low TR


We are trying to analyze resting state fMRI data with short RT (0.9s, multiband acquisition). We use preprocessing as follows: 3dTcat, 3dtoutcount (with 0.1 threshold), despiking, volreg, blur at 6mm) and then 3dDeconvolve with motion regressors, their derivatives, bandpass regressors (estimated with 1dBport) and with 3dTproject we add white matter and ventricule signals as regressors. The problem is that 3dDeconvolve always fail because of insufficent data to estimate too many parameters. What can we do to have less regressors? Also, we are using a 0.4 threshold for motion outliers (0.2 was far too strict).

We are aware that if subjects move too much, data should be rejected. But here, 3dDeconvolve expects 280 good parameters on 320 time points (5 minutes). It seems excessive to us.

Here is the script:

        # create bandpass regressors
       1dBport -nodata 320 0.9 -band 0.01 0.1 -invert -nozero > bandpass_rall.1D

       # ------------------------------
       # run the regression analysis
       3dDeconvolve -input pb04.$subj.blur+tlrc.HEAD                              \
           -censor motion_${subj}_censor.1D                                       \
           -ortvec bandpass_rall.1D bandpass                                      \
           -polort 2 -float                                                      \
           -num_stimts 12                                                         \
           -stim_file 1 motion_demean.1D'[0]' -stim_base 1 -stim_label 1 roll_01  \
           -stim_file 2 motion_demean.1D'[1]' -stim_base 2 -stim_label 2 pitch_01 \
           -stim_file 3 motion_demean.1D'[2]' -stim_base 3 -stim_label 3 yaw_01   \
           -stim_file 4 motion_demean.1D'[3]' -stim_base 4 -stim_label 4 dS_01    \
           -stim_file 5 motion_demean.1D'[4]' -stim_base 5 -stim_label 5 dL_01    \
           -stim_file 6 motion_demean.1D'[5]' -stim_base 6 -stim_label 6 dP_01    \
           -stim_file 7 motion_deriv.1D'[0]' -stim_base 7 -stim_label 7 roll_02   \
           -stim_file 8 motion_deriv.1D'[1]' -stim_base 8 -stim_label 8 pitch_02  \
           -stim_file 9 motion_deriv.1D'[2]' -stim_base 9 -stim_label 9 yaw_02    \
           -stim_file 10 motion_deriv.1D'[3]' -stim_base 10 -stim_label 10 dS_02  \
           -stim_file 11 motion_deriv.1D'[4]' -stim_base 11 -stim_label 11 dL_02  \
           -stim_file 12 motion_deriv.1D'[5]' -stim_base 12 -stim_label 12 dP_02  \
           -fout -tout -x1D X.xmat.1D -xjpeg X.jpg                                \
           -x1D_uncensored X.nocensor.xmat.1D  -fitts fitts.$subj                 \
           -errts errts.${subj}   -x1D_stop                                       \
           -bucket stats.$subj

3dTproject -polort 0 -input pb04.$subj.blur+tlrc.HEAD
-censor motion_${subj}_censor.1D -cenmode ZERO
-ort WM_timecourse_demeaned.1D
-ort LatVentricle_timecourse_demeaned.1D
-ort X.nocensor.xmat.1D -prefix errts.$subj.WM_LV_removed


At TR=0.9 s and an low-pass frequency of 0.1, you are keeping
0.9/5 = 18% of the original degrees of freedom, using approximately
82% (262) regressors just for the low-pass part of band passing.
To ~262 add regressors for the high-pass part, motion and derivatives,
plus the polort, and 280 seems about right.

Even without censoring, there is not much left to do a correlation
analysis with.

Please consider my rant on band passing.

  • rick

Thank you for your answer, I’ve also read the answer you made in the other post (your rant on bandpassing), but do you think it is better to not bandpass my data or just not use the low pass and still perform the high pass?
As bandpassing is widely used in resting state analysis, I don’t know whether it is acceptable or not to not perform it. (just one point: I don’t have any physiological recording such as heart rate to include as regressors)


Hi Marine,

The high-pass part of the filter gains little, as it is akin to the polort
regression. BP filtering is mostly a question of the low-pass part.

I expect that as the cost of band passing gets better understood, it
will be used less and less, particularly at fast TRs. As you are seeing,
below 1s it is already almost infeasible, especially when combined
with censoring (which is more directly useful). The way BP is typically
applied, the cost is hidden, so most people probably just do not
realize it.

But as you say, the use is common. Reviewers might even expect it.

  • rick