AFNI Message Board

Dear AFNI users-

We are very pleased to announce that the new AFNI Message Board framework is up! Please join us at:

https://discuss.afni.nimh.nih.gov

Existing user accounts have been migrated, so returning users can login by requesting a password reset. New users can create accounts, as well, through a standard account creation process. Please note that these setup emails might initially go to spam folders (esp. for NIH users!), so please check those locations in the beginning.

The current Message Board discussion threads have been migrated to the new framework. The current Message Board will remain visible, but read-only, for a little while.

Sincerely, AFNI HQ

History of AFNI updates  

|
March 24, 2021 10:04AM
There are a couple of options, depending on your comfort with scripting.
---------------
  1. 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.

    ---------------
  2. 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:
    1. 3dZcutup to break the inputs into 1-slice datasets
    2. 3dDeconvolve run separately on each 1-slice dataset, to produce 1-slice output(s)
    3. 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).
Subject Author Posted

Allocating memory for 3dDeconvolve

mrinmayik March 23, 2021 09:47PM

Re: Allocating memory for 3dDeconvolve

RWCox March 24, 2021 10:04AM