There are a couple of options, depending on your comfort with scripting.
---------------
- Use 3dREMLfit instead of 3dDeconvolve - using 3dDeconvolve only to create the matrix file to input the regression model to 3dREMLfit. This program has the option "-usetemp" which will use disk files for temporary storage; this option was added specifically for someone with a similar problem. You do not have to use the "-R" options to get the temporal autocorrelation corrected results, if you don't want to -- you can use the "-O" options to get Ordinary least squares results, more or less as calculated by 3dDeconvolve. Please read the output of "3dREMLfit -help" and pay attention to the notes for "-usetemp" -- in particular, a solid-state disk (SSD) is best used for the temporary storage.
To use 3dDeconvolve as the matrix-generator only, give it the option "-x1D_stop", which means it will exit/stop after it writes the matrix file out. 3dDeconvolve will write the 3dREMLfit command to stdout (the terminal), which you can then edit and use to your heart's content.
--------------- - Alternatively, you can script the program 3dDeconvolve to use one slice at a time. This is a little more complicated, as you have to do these steps:
- 3dZcutup to break the inputs into 1-slice datasets
- 3dDeconvolve run separately on each 1-slice dataset, to produce 1-slice output(s)
- 3dZcat to assemble the 1-slice outputs back to 3D datasets
In either approach, there are details to get it running correctly. However, I personally would start with the 3dREMLfit method, as it is simpler. Note that "-usetemp" disables the use of multiple CPUs, as I didn't make the effort to deal with multi-threaded I/O to the same temp files. For this reason, if the program is too slow, you'll have to try the slice-and-dice method (which could be done with either 3dREMLfit or 3dDeconvolve).