Summary of what happened:
QSIPrep crashed during eddy
Command used (and if a helper script was used, a link to the helper script or the command generated):
docker run -ti --rm \
-v /data/BIDS-AHBA/bids:/data \
-v /data/BIDS-AHBA/output:/output \
-v /home/freesurfer/license.txt:/opt/freesurfer/license.txt \
pennlinc/qsiprep:latest \
/data /output participant \
--fs-license-file /opt/freesurfer/license.txt \
--output-resolution 1.2
Version:
latest
Environment (Docker, Singularity / Apptainer, custom installation):
docker
Data formatted according to a validatable standard? Please provide the output of the validator:
validator no error
Relevant log outputs (up to 20 lines):
Node: qsiprep_1_0_wf.sub_10619_wf.dwi_preproc_dir_AP_wf.hmc_sdc_wf.eddy
Working directory: /tmp/work/qsiprep_1_0_wf/sub_10619_wf/dwi_preproc_dir_AP_wf/hmc_sdc_wf/eddy
Node inputs:
args =
cnr_maps = True
dont_peas = False
dont_sep_offs_move = False
environ = {'FSLOUTPUTTYPE': 'NIFTI_GZ', 'OMP_NUM_THREADS': '8'}
estimate_move_by_susceptibility = <undefined>
fep = False
field = <undefined>
field_mat = <undefined>
flm = quadratic
fudge_factor = 10.0
fwhm = <undefined>
in_acqp = <undefined>
in_bval = <undefined>
in_bvec = <undefined>
in_file = <undefined>
in_index = <undefined>
in_mask = <undefined>
in_topup_fieldcoef = <undefined>
in_topup_movpar = <undefined>
initrand = <undefined>
interp = spline
is_shelled = True
json = <undefined>
mbs_ksp = <undefined>
mbs_lambda = <undefined>
mbs_niter = <undefined>
method = jac
mporder = <undefined>
multiband_factor = <undefined>
multiband_offset = <undefined>
niter = 5
num_threads = 8
nvoxhp = 1000
out_base = eddy_corrected
outlier_nstd = <undefined>
outlier_nvox = <undefined>
outlier_pos = <undefined>
outlier_sqr = <undefined>
outlier_type = <undefined>
output_type = NIFTI_GZ
repol = True
residuals = False
session = <undefined>
slice2vol_interp = <undefined>
slice2vol_lambda = <undefined>
slice2vol_niter = <undefined>
slice_order = <undefined>
slm = linear
use_cuda = False
Traceback (most recent call last):
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 66, in run_node
result["result"] = node.run(updatehash=updatehash)
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 525, in run
result = self._run_interface(execute=True)
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 643, in _run_interface
return self._run_command(execute)
File "/opt/conda/envs/qsiprep/lib/python3.10/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 eddy.
Cmdline:
eddy_cpu --cnr_maps --field=/tmp/work/qsiprep_1_0_wf/sub_10619_wf/dwi_preproc_dir_AP_wf/hmc_sdc_wf/topup/fieldmap_HZ --field_mat=/tmp/work/qsiprep_1_0_wf/sub_10619_wf/dwi_preproc_dir_AP_wf/hmc_sdc_wf/topup_to_eddy_reg/topup_reg_image_flirt.mat --flm=quadratic --ff=10.0 --acqp=/tmp/work/qsiprep_1_0_wf/sub_10619_wf/dwi_preproc_dir_AP_wf/hmc_sdc_wf/gather_inputs/eddy_acqp.txt --bvals=/data/sub-10619/dwi/sub-10619_dir-AP_dwi.bval --bvecs=/data/sub-10619/dwi/sub-10619_dir-AP_dwi.bvec --imain=/tmp/work/qsiprep_1_0_wf/sub_10619_wf/dwi_preproc_dir_AP_wf/pre_hmc_wf/merge_and_denoise_wf/dwi_denoise_dir_AP_dwi_wf/denoiser/sub-10619_dir-AP_dwi_denoised.nii.gz --index=/tmp/work/qsiprep_1_0_wf/sub_10619_wf/dwi_preproc_dir_AP_wf/hmc_sdc_wf/gather_inputs/eddy_index.txt --mask=/tmp/work/qsiprep_1_0_wf/sub_10619_wf/dwi_preproc_dir_AP_wf/hmc_sdc_wf/transform_mask_to_eddy/topup_imain_corrected_avg_trans_mask_trans_flirt.nii.gz --interp=spline --data_is_shelled --resamp=jac --niter=5 --nthr=8 --nvoxhp=1000 --out=/tmp/work/qsiprep_1_0_wf/sub_10619_wf/dwi_preproc_dir_AP_wf/hmc_sdc_wf/eddy/eddy_corrected --repol --slm=linear
Stdout:
Warning: In a future release the first argument will have to be "diffusion" when using eddy on diffusion data, i.e.
eddy diffusion --imain='my_ima' --acqp='my_acqp' ...
Warning: Writing of individual text files will be discontinued in favour of a single .json file in future versions
EDDY::ReplacementManager::Update: Mismatched DiffStatsVector object
EDDY::EddyHelperClasses.cpp::: void EDDY::ReplacementManager::Update(const EDDY::DiffStatsVector&): Exception thrown
EDDY::eddy.cpp::: EDDY::DiffStatsVector EDDY::detect_outliers(const EddyCommandLineOptions&, ScanType, std::shared_ptr<const DWIPredictionMaker>, const NEWIMAGE::volume<float>&, const ECScanManager&, unsigned int, unsigned int, ReplacementManager&): Exception thrown
EDDY::eddy.cpp::: EDDY::DiffStatsVector EDDY::DetectOutliers(const EddyCommandLineOptions&, ScanType, std::shared_ptr<const DWIPredictionMaker>, const NEWIMAGE::volume<float>&, const ECScanManager&, ReplacementManager&): Exception thrown
EDDY::eddy.cpp::: EDDY::ReplacementManager* EDDY::Register(const EddyCommandLineOptions&, ScanType, unsigned int, const std::vector<float, std::allocator<float> >&, SecondLevelECModelType, bool, ECScanManager&, ReplacementManager*, NEWMAT::Matrix&, NEWMAT::Matrix&): Exception thrown
EDDY::: Eddy failed with message EDDY::eddy.cpp::: EDDY::ReplacementManager* EDDY::DoVolumeToVolumeRegistration(const EddyCommandLineOptions&, ECScanManager&): Exception thrown
Stderr:
Traceback:
Traceback (most recent call last):
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 457, in aggregate_outputs
setattr(outputs, key, val)
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/interfaces/base/traits_extension.py", line 325, in validate
value = super().validate(objekt, name, value, return_pathlike=True)
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/interfaces/base/traits_extension.py", line 135, in validate
self.error(objekt, name, str(value))
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/traits/base_trait_handler.py", line 74, in error
raise TraitError(
traits.trait_errors.TraitError: The 'out_corrected' trait of an ExtendedEddyOutputSpec instance must be a pathlike object or string representing an existing file, but a value of '/tmp/work/qsiprep_1_0_wf/sub_10619_wf/dwi_preproc_dir_AP_wf/hmc_sdc_wf/eddy/eddy_corrected.nii.gz' <class 'str'> was specified.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 404, in run
outputs = self.aggregate_outputs(runtime)
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 464, in aggregate_outputs
raise FileNotFoundError(msg)
FileNotFoundError: No such file or directory '/tmp/work/qsiprep_1_0_wf/sub_10619_wf/dwi_preproc_dir_AP_wf/hmc_sdc_wf/eddy/eddy_corrected.nii.gz' for output 'out_corrected' of a ExtendedEddy interface