Summary of what happened:
Hi - I’m attempting to preprocess some data with fmriprep, and keep running into the following error for one specific participant. The same code works fine for other participants. I’m calling fmriprep through docker.
Command used (and if a helper script was used, a link to the helper script or the command generated):
PASTE CODE HERE
Version:
PUT VERSION HERE
Environment (Docker, Singularity / Apptainer, custom installation):
Docker
Data formatted according to a validatable standard? Please provide the output of the validator:
PASTE VALIDATOR OUTPUT HERE
Relevant log outputs (up to 20 lines):
251130-22:02:45,646 nipype.workflow ERROR:
could not run node: fmriprep_25_2_wf.sub_04_ses_01-02_wf.fmap_preproc_wf.wf_auto_00000.topup
251130-22:02:45,703 nipype.workflow CRITICAL:
fMRIPrep failed: Traceback (most recent call last):
File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/nipype/pipeline/plugins/multiproc.py", line 67, in run_node
result["result"] = node.run(updatehash=updatehash)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/nipype/pipeline/engine/nodes.py", line 525, in run
result = self._run_interface(execute=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/nipype/pipeline/engine/nodes.py", line 643, in _run_interface
return self._run_command(execute)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/nipype/pipeline/engine/nodes.py", line 769, in _run_command
raise NodeExecutionError(msg)
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node topup.
Cmdline:
topup --config=/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/sdcflows/data/flirtsch/b02b0.cnf --datain=/tmp/work/fmriprep_25_2_wf/sub_04_ses_01-02_wf/fmap_preproc_wf/wf_auto_00000/topup/sub-04_ses-01_dir-PA_epi_average_regrid001_merged_padded_sliced_volreg_encfile.txt --imain=/tmp/work/fmriprep_25_2_wf/sub_04_ses_01-02_wf/fmap_preproc_wf/wf_auto_00000/setwise_avg/sub-04_ses-01_dir-PA_epi_average_regrid001_merged_padded_sliced_volreg.nii.gz --out=sub-04_ses-01_dir-PA_epi_average_regrid001_merged_padded_sliced_volreg_base --iout=sub-04_ses-01_dir-PA_epi_average_regrid001_merged_padded_sliced_volreg_corrected.nii.gz --fout=sub-04_ses-01_dir-PA_epi_average_regrid001_merged_padded_sliced_volreg_field.nii.gz --jacout=jac --logout=sub-04_ses-01_dir-PA_epi_average_regrid001_merged_padded_sliced_volreg_topup.log --rbmout=xfm --dfout=warpfield
Stdout:
Stderr:
Part of FSL (ID: 2412.5-dirty)
topup
Usage:
topup --imain=<some 4D image> --datain=<text file> --config=<text file with parameters> --out=my_topup_results
Compulsory arguments (You MUST set one or more of):
--imain name of 4D file with images
Optional arguments (You may optionally specify one or more of):
--datain name of text file with PE directions/times
--acqp alternative way to specify text file with PE directions/times
--out base-name of output files (spline coefficients (Hz) and movement parameters)
--fout name of image file with field (Hz)
--iout name of 4D image file with unwarped images
--featout base-name of output for export to FEAT
--logout Name of log-file
--warpres (approximate) resolution (in mm) of warp basis for the different sub-sampling levels, default 10
--subsamp sub-sampling scheme, default 1
--fwhm FWHM (in mm) of gaussian smoothing kernel, default 8
--config Name of config file specifying command line arguments
--miter Max # of non-linear iterations, default 5
--lambda Weight of regularisation, default depending on --ssqlambda and --regmod switches. See user documetation.
--ssqlambda If set (=1), lambda is weighted by current ssq, default 1
--regmod Model for regularisation of warp-field [membrane_energy bending_energy], default bending_energy
--estmov Estimate movements if set, default 1 (true)
--minmet Minimisation method 0=Levenberg-Marquardt, 1=Scaled Conjugate Gradient, default 0 (LM)
--splineorder Order of spline, 2->Qadratic spline, 3->Cubic spline. Default=3
--numprec Precision for representing Hessian, double or float. Default double
--interp Image interpolation model, linear or spline. Default spline
--scale If set (=1), the images are individually scaled to a common mean, default 0 (false)
--regrid If set (=1), the calculations are done in a different grid, default 1 (true)
--nthr Number of threads to use (cannot be greater than numbers of hardware cores), default 1
-h,--help display help info
-v,--verbose Print diagonostic information while running
-h,--help display help info
Topup::topup_clp::topup_clp: Unrealistic read-out time, should be in range 0.01-0.2 s
Traceback:
Traceback (most recent call last):
File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/nipype/interfaces/base/core.py", line 457, in aggregate_outputs
setattr(outputs, key, val)
File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/traits/trait_types.py", line 2634, in validate
return TraitListObject(self, object, name, value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/traits/trait_list_object.py", line 584, in __init__
super().__init__(
File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/traits/trait_list_object.py", line 213, in __init__
super().__init__(self.item_validator(item) for item in iterable)
File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/traits/trait_list_object.py", line 213, in <genexpr>
super().__init__(self.item_validator(item) for item in iterable)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/traits/trait_list_object.py", line 867, in _item_validator
return trait_validator(object, self.name, value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/nipype/interfaces/base/traits_extension.py", line 325, in validate
value = super().validate(objekt, name, value, return_pathlike=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/nipype/interfaces/base/traits_extension.py", line 135, in validate
self.error(objekt, name, str(value))
File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/traits/base_trait_handler.py", line 74, in error
raise TraitError(
traits.trait_errors.TraitError: Each element of the 'out_warps' trait of a TOPUPOutputSpec instance must be a pathlike object or string representing an existing file, but a value of '/tmp/work/fmriprep_25_2_wf/sub_04_ses_01-02_wf/fmap_preproc_wf/wf_auto_00000/topup/warpfield_01.nii.gz' <class 'str'> was specified.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/nipype/interfaces/base/core.py", line 404, in run
outputs = self.aggregate_outputs(runtime)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/nipype/interfaces/base/core.py", line 464, in aggregate_outputs
raise FileNotFoundError(msg)
FileNotFoundError: No such file or directory '['/tmp/work/fmriprep_25_2_wf/sub_04_ses_01-02_wf/fmap_preproc_wf/wf_auto_00000/topup/warpfield_01.nii.gz', '/tmp/work/fmriprep_25_2_wf/sub_04_ses_01-02_wf/fmap_preproc_wf/wf_auto_00000/topup/warpfield_02.nii.gz']' for output 'out_warps' of a TOPUP interface