Fmriprep error: 3dvolreg fails / FileNotFound Error

Summary of what happened:

Hi, prefacing this that I am very new at this and I don’t think this has been posted already. I’m using fMRIprep on one participant, and haven’t gotten it to work yet. The participant has one anatomical and 8 functional bold runs. Everything seems to be working until the gen_avg node is set up and run. Then, 3dVolReg from AFNI has a fatal error. After this error, gen_avg finishes, but it stores the result file without outputs. Right after, there’s an error on the file path leading to gen_avg. The traceback indicates that a trait of VolregOutputSpec must be path-like or string, but the value was something else. Then, while handling this, another error occurs: FileNotFound. More details in the log below.

Command used (and if a helper script was used, a link to the helper script or the command generated):

apptainer exec docker://ashleymango/fmriprep fmriprep /work/cb3/amango/Nifti /work/cb3/amango/derivatives participant --participant_label 29 --fs-no-reconall --fs-license-file $WORK/license.txt -w /home/cb3/amango/work1

Version:

fmriprep version 23.1.4

Environment (Docker, Singularity, custom installation):

Using Docker via apptainer on a supercomputer, but this error also appeared on my personal computer (while also using Docker)

Data formatted according to a validatable standard? Please provide the output of the validator:

Yes it is BIDS validated.

Relevant log outputs (up to 20 lines):

stderr 2023-11-03T11:15:14.690110:** FATAL ERROR: 3dvolreg fails: base image has 0 nonzero voxels (< 100)
231103-11:15:14,690 nipype.interface INFO:
	stderr 2023-11-03T11:15:14.690110:** Program compile date = Jul 28 2023
231103-11:15:14,779 nipype.workflow INFO:
	[Node] Finished "gen_avg", elapsed time 0.592304s.
231103-11:15:14,780 nipype.workflow WARNING:
	Storing result file without outputs
231103-11:15:14,781 nipype.workflow WARNING:
	[Node] Error on "fmriprep_23_1_wf.single_subject_29_wf.func_preproc_ses_1_task_face_run_8_wf.bold_std_trans_wf.bold_reference_wf.gen_avg" (/home/cb3/amango/work/fmriprep_23_1_wf/single_subject_29_wf/func_preproc_ses_1_task_face_run_8_wf/bold_std_trans_wf/bold_reference_wf/_std_target_MNI152NLin2009cAsym.resnative/gen_avg)
231103-11:15:15,829 nipype.workflow ERROR:
	Node gen_avg.a0 failed to run on host c1513.swan.hcc.unl.edu.
231103-11:15:15,833 nipype.workflow ERROR:
	Saving crash info to /work/cb3/amango/derivatives/sub-29/log/20231103-095709_5e94d29b-8aaa-4abc-89d3-729592479de0/crash-20231103-111515-amango-gen_avg.a0-02ad9ea6-de79-4f1b-9a19-50404eead689.txt

jumping ahead a few lines to the series of Tracebacks

nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node gen_avg.

File "/opt/conda/envs/fmriprep/lib/python3.10/site-packages/traits/base_trait_handler.py", line 74, in error
	    raise TraitError(
	traits.trait_errors.TraitError: The 'oned_matrix_save' trait of a VolregOutputSpec instance must be a pathlike object or string representing an existing file, but a value of '/home/cb3/amango/work/fmriprep_23_1_wf/single_subject_29_wf/func_preproc_ses_1_task_face_run_8_wf/bold_std_trans_wf/bold_reference_wf/_std_target_MNI152NLin2009cAsym.resnative/gen_avg/vol0000_xform-00000_merged_sliced.aff12.1D' <class 'str'> was specified.

	During handling of the above exception, another exception occurred:

FileNotFoundError: No such file or directory '/home/cb3/amango/work/fmriprep_23_1_wf/single_subject_29_wf/func_preproc_ses_1_task_face_run_8_wf/bold_std_trans_wf/bold_reference_wf/_std_target_MNI152NLin2009cAsym.resnative/gen_avg/vol0000_xform-00000_merged_sliced.aff12.1D' for output 'oned_matrix_save' of a Volreg interface

Screenshots / relevant information:

This problem occurs with each run of fmriprep, for the gen_avg in the bold_t1_trans and the bold_std_trans folders. It’s not always the same file not found though. Once it was the vol0000_xform-00000_merged_sliced_md.1D’ that was not found for output ‘md1d_file’ of a Volreg interface.

Thanks in advance! Really trying to make this work. Please let me know if I should explain more.

Hi @mango1 and welcome to neurostars!

Is there a reason you aren’t using the official nipreps/fmriprep docker container? Also, fs-no-reconall is not recommended.

Best,
Steven

Hi Steven, thanks!

Yes – the super computer doesn’t have the newest version of fMRIprep, so I had to copy the nipreps/fmriprep docker to my dockerhub so the super computer could access it, and in that process I to rename it to ashleymango/fmriprep. So it should be exactly the same image as nipreps/fmriprep.

I’ll take off the fs-no-reconall command after I figure out this issue – I was having trouble with the surface preprocessing before this issue came up and figured skipping it entirely was a quick fix. If you think these two issues are related I can find the error messages I was getting before.

Dear @mango1 ,

Have you found any solution to this problem?
I’m experiencing the exact same error while not using fs-no-reconall.

Best,

Hi @lucielgrt,

Ultimately the solution was making sure that the data I was preprocessing had correct orientation matrices (the q form and s form matrices/ codes), and that the TR was correctly set to match these orientation matrices. The data I was using were Nifti files with missing orientations so I eventually got the original dicoms and started from scratch by converting it to Nifti files.

Hope this helps??

Best,
mango1

Thank you for your answer !

I’m not entirely sure that’s the problem here, but I’ll certainly keep digging in that direction.