3dTproject

Hello, I used afni_proc.py to generate a script for processing resting data. I have 4 runs of resting data. Below is the afni_proc.py command used-

afni_proc.py -subj_id 2001 -script proc.2001 -scr_overwrite
-blocks despike tshift align tlrc volreg blur mask regress
-copy_anat $Data/2001/T1.nii.gz
-tcat_remove_first_trs 3 -dsets
$Data/2001/Rest1.nii.gz
$Data/2001/Rest2.nii.gz
$Data/2001/Rest3.nii.gz
$Data/2001/Rest4.nii.gz
-tlrc_base MNI_avg152T1+tlrc -volreg_align_to MIN_OUTLIER
-volreg_align_e2a -volreg_tlrc_warp -mask_segment_anat yes
-mask_segment_erode yes -blur_size 4.0 -regress_censor_motion 0.2
-regress_censor_outliers 0.1 -regress_bandpass 0.01 0.1
-regress_apply_mot_types demean deriv -regress_ROI WMe
-regress_reml_exec -regress_compute_fitts -regress_est_blur_epits
-regress_run_clustsim no

Everything works fine until it gets to 3dTproject, and then the script crashes with this error-

++ 3dTproject: AFNI version=AFNI_16.1.10 (Apr 28 2016) [64-bit]
++ Authored by: Cox the Algebraic (Linear)
++ have 4 input dataset names
++ Auto-catenated dataset has 4 runs
++ input time points = 1434 ; censored = 11 ; remaining = 1423
++ Setting up regressors
++ 4 Blocks * 1 polynomials – 4 polort regressors

  • – 1239 other fixed ort regressors
    ++ 1423 retained time points MINUS 1243 regressors ==> 180 D.O.F. left
    ++ no -mask option ==> processing all 2122945 voxels in dataset
    ++ Compute pseudo-inverse of fixed orts
    ++ Loading dataset

Fatal Signal 11 (SIGSEGV) received
THD_dset_censored_to_vectim
TPR_process_data
3dTproject
Bottom of Debug Stack
** Command line was:
3dTproject -polort 0 -input pb04.2001.r01.blur+tlrc. pb04.2001.r02.blur+tlrc. pb04.2001.r03.blur+tlrc. pb04.2001.r04.blur+tlrc. -censor censor_2001_combined_2.1D -cenmode ZERO -ort X.nocensor.xmat.1D -prefix test.tproject
** AFNI version = AFNI_16.1.10 Compile date = Apr 28 2016
** [[Precompiled binary linux_openmp_64: Apr 28 2016]]
** Program Death **
** If you report this crash to the AFNI message board,
** please copy the error messages EXACTLY, and give
** the command line you used to run the program, and
** any other information needed to repeat the problem.
** You may later be asked to upload data to help debug.
** Memory usage: chunks=8898 bytes=18204934350
** Crash log is appended to file …

Any suggestions on how I could fix this? I am running the script on a Linux server with 128 GB RAM and 32 cores, in case this matters. Two of the 4 runs have 358 timepoints and the other two have 359 timepoints. The file pb04…r01.blur+tlrc has a resolution of 1.5mm isotropic. TR is 0.802 seconds

Thank you
Veena

Hi Veena,

Hmmm, it is a little difficult to think of how to proceed
with that. Upon the crash, the claimed memory usage is
18 GB. So it is not like you can just toss the data over
here for me to test with.

To test, I just used oversampled data to run a test with
similar memory usage (though my machine has only 32 GB).
I input 3 runs, each being almost 3 GB (similar to what
you have). That worked fine with my version, with the
current linux_openmp_64 version, and with a version dated
near yours (from April 1, 2016).

So the raw data size does not seem to be an issue.

However your time series starts off at 1423 time points
after censoring, but has only 180 DoF left after the
regression/projection. This might be an example of
“band passing gone bad”. At that fast TR, band passing
is throwing away approximately 85% of the degrees of
freedom.

Maybe there is some issue with a fairly long time series
and so many regressors together. We may have to look
into this more closely.

  • rick