Hi Kausar,
The afni_proc.py script will also use 3dTproject for the regression, but it will use 1dBport to generate those regressors, so that one can properly keep track of degrees of freedom.
What you are doing looks fine though, it is still doing all of the regression in a single step. It is effectively the same as the afni_proc.py script, except that you do not track DoF. Note that this regression could also be done with 3dDeconvolve (which is not what afni_proc.py does in this case), except that 3dDeconvolve would be much slower for this computation, as it has to worry about partial statistics and such. 3dTproject is used for speed when one simply wants to project out "the bad stuff".
But while what you are doing should produce the same results, there is also no gain in it. It would be safer not to worry about errors in script changes that are not beneficial.
There are multiple issues concerning the WM regression. One is the partial volume effect where the mask even gets a little into the grey matter. And since the fluctuations in grey matter tend to dominate those in white, it can be almost as bad as a pure grey matter regression.
The other issue, which gets less attention, is alignment. Particularly due to EPI distortion, it is often difficult to get great alignment *across the entire brain*. Places where that fails can cause tissue-based regressors to be contaminated by grey matter BOLD. Plus, what FreeSurfer considers white matter is not perfect.
In the end, we try to avoid these pitfalls, particularly with distortion or large voxels, it is difficult (and distortion tends to get worse as voxels get smaller, good times :).
Do you have physiological recordings? Those are helpful as they do not come from the FMRI data.
- rick