Summary of what happened:
Hi everyone, recently, when I call qsiprep in singularity, it returns the error. Any suggestions to fix this bug?
Command used (and if a helper script was used, a link to the helper script or the command generated):
Here is my script:
#!/bin/bash
Data_DIR=/share/ceph/hawk/yuzi20_123121/kaz220/fmri_preprocess/OAS_dwi/
BIDS_DIR=/share/ceph/hawk/yuzi20_123121/kaz220/fmri_preprocess/OAS_dwi/BIDS_DTI
OUT_DIR=/share/ceph/hawk/yuzi20_123121/kaz220/fmri_preprocess/OAS_dwi/output
WORK_DIR=/scratch/${USER}/${SLURM_JOBID}
SINGULARITY_BIN=/share/ceph/hawk/yuzi20_123121/shared
FMRIPREP_OPTS="--omp-nthreads 4 --nthreads 4 --mem_mb 3000000 --output-resolution 1.2 --skip_bids_validation"
echo $SUBJECT
unset PYTHONPATH
export FS_LICENSE=/home/kaz220/fmri_prep/other_files_need/FreesurferLicense/freesurfer.txt
cmd="singularity run --cleanenv -B /scratch/${USER}/${SLURM_JOBID},${Data_DIR} $SINGULARITY_BIN/qsiprep-23.2.14.simg ${BIDS_DIR} ${OUT_DIR} participant --participant-label $SUBJECT --fs-license-file ${FS_LICENSE} -w ${WORK_DIR} ${FMRIPREP_OPTS}"
echo Commandline: $cmd
echo $SUBJECT
eval $cmd
Version:
Environment (Docker, Singularity / Apptainer, custom installation):
Singularity
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):
[WARNING] This document format requires a nonempty <title> element.
Please specify either 'title' or 'pagetitle' in the metadata.
Falling back to 'CITATION'
QSIPrep failed: 7 raised. Re-raising first.
RuntimeError: Traceback (most recent call last):
File "/home/kaz220/.local/lib/python3.8/site-packages/nipype/pipeline/plugins/multiproc.py", line 67, in run_node
result["result"] = node.run(updatehash=updatehash)
File "/home/kaz220/.local/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 527, in run
result = self._run_interface(execute=True)
File "/home/kaz220/.local/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 645, in _run_interface
return self._run_command(execute)
File "/home/kaz220/.local/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 771, in _run_command
raise NodeExecutionError(msg)
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node raw_merge.
Traceback:
Traceback (most recent call last):
File "/home/kaz220/.local/lib/python3.8/site-packages/nipype/interfaces/base/core.py", line 398, in run
runtime = self._run_interface(runtime)
File "/usr/local/miniconda/lib/python3.8/site-packages/qsiprep/interfaces/nilearn.py", line 142, in _run_interface
new_nii = nb.Nifti1Image(np.abs(new_nii.get_data()), new_nii.affine, new_nii.header)
File "/home/kaz220/.local/lib/python3.8/site-packages/nibabel/deprecator.py", line 208, in deprecated_func
raise exception(message)
nibabel.deprecator.ExpiredDeprecationError: get_data() is deprecated in favor of get_fdata(), which has a more predictable return type. To obtain get_data() behavior going forward, use numpy.asanyarray(img.dataobj).
* deprecated from version: 3.0
* Raises <class 'nibabel.deprecator.ExpiredDeprecationError'> as of version: 5.0
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/miniconda/bin/qsiprep", line 8, in <module>
sys.exit(main())
File "/usr/local/miniconda/lib/python3.8/site-packages/qsiprep/cli/run.py", line 664, in main
qsiprep_wf.run(**plugin_settings)
File "/home/kaz220/.local/lib/python3.8/site-packages/nipype/pipeline/engine/workflows.py", line 638, in run
runner.run(execgraph, updatehash=updatehash, config=self.config)
File "/home/kaz220/.local/lib/python3.8/site-packages/nipype/pipeline/plugins/base.py", line 212, in run
raise error from cause
RuntimeError: 7 raised. Re-raising first.
Sentry is attempting to send 8 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit