Lack of temporal continuity in the data means such
operations require care. But before the regression
block, only 3dTshift would be a concern, and would
most likely be skipped (though in your case of
longer blocks of valid data, the missing time points
could be copies of the neighbors, and because the
interpolation is done with a low order polynomial
(5 is default in afni_proc.py), it might be fairly
reasonable - however that would confuse the volreg
parameters).
Assuming the time points are initially left out, one
would not have to worry about most blocks: align,
tlrc, volreg, blur or scale. The motion parameters
might be a little less useful, but there is likely
little to do about that.
In a standard regression block, one would want to
zero pad before running 3dDeconvolve, and pass an
appropriate censor time series.
For dealing with motion parameters, motion censoring,
ROI average or principle component regression, as
well as zero padding any computed censor file, it is
pretty easy to zero pad such files using 1d_tool.py.
See
s17.proc.FT.rest.11 for an example
across all runs at once (search for "zero pad"). To
do it per run is easy, too, though there is currently
no such example in that directory.
To zero pad a volumetric time series, I would
probably do something like this:
1. add a single zero volume to the beginning
2. 1deval -num $Nsmall -expr t+1 > init_times.1D
(these are the "good" volumes from the single zero-
padded time series)
3. zero pad init_times.1D as with the above 1D files
(e.g. create pad_times.1D to be init_times.1D, but
with zeros for the padded time points)
4. Use 3dTcat as Yi did
(3dTcat -prefix xxx_pad 'xxx+orig[1dcat pad_times.1D]' )
That is a little ugly, but should work and be easily
scriptable.
If you are trying to modify an initial afni_proc.py script
for this, it might be good to use -regress_censor_extern
for the missing volume censor file, and then modify the
script where that might be combined with other censor
files (e.g. from motion). But that way afni_proc.py might
expect the correct number of volumes after regression.
Well, maybe tr_counts would have to be altered then.
This would be more than a trivial change to a proc script.
How does that seem?
- rick