qsiprep
qsiprep copied to clipboard
Error when using FUGUE for fieldmap (after removing niworkflows)
Summary
When I run qsiprep 0.21.4 on DSI data with a phasediff fieldmap, I get the following error:
apptainer run --containall --cleanenv -B /studydata/bids:/bids \
-B /studydata/output:/output \
-B /studydata/work:/work \
-B /studydata/freesurfer_license.txt:/opt/freesurfer/license.txt \
qsiprep_0.21.4.sif /bids /output participant --work-dir=/work --fs-license-file /opt/freesurfer/license.txt \
--freesurfer-input=/bids/derivatives/freesurfer --recon-spec csdsi_3dshore --output-resolution 1.8 \
--unringing-method mrdegibbs
Traceback (most recent call last):
File "/opt/conda/envs/qsiprep/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/opt/conda/envs/qsiprep/lib/python3.10/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsiprep/cli/run.py", line 1091, in build_qsiprep_workflow
retval["workflow"] = init_qsiprep_wf(
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsiprep/workflows/base.py", line 237, in init_qsiprep_wf
single_subject_wf = init_single_subject_wf(
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsiprep/workflows/base.py", line 748, in init_single_subject_wf
dwi_preproc_wf = init_dwi_preproc_wf(
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsiprep/workflows/dwi/base.py", line 406, in init_dwi_preproc_wf
hmc_wf = init_fsl_hmc_wf(
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsiprep/workflows/dwi/fsl.py", line 422, in init_fsl_hmc_wf
b0_sdc_wf = init_sdc_wf(
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsiprep/workflows/fieldmap/base.py", line 244, in init_sdc_wf
sdc_unwarp_wf = init_sdc_unwarp_wf(
File "/opt/conda/envs/qsiprep/lib/python3.10/site-packages/qsiprep/workflows/fieldmap/unwarp.py", line 180, in init_sdc_unwarp_wf
vsm2dfm = pe.Node(itk.FUGUEvsm2ANTSwarp(), name="vsm2dfm")
AttributeError: module 'niworkflows.interfaces.itk' has no attribute 'FUGUEvsm2ANTSwarp'
There is indeed no function FUGUEvsm2ANTSwarp in niworkflows.interfaces.itk. It seems to have been removed when they switched to sdcflows in 2020, though it doesn't exist in the current sdcflows. https://github.com/nipreps/niworkflows/commit/4c0a753ca76e8d8b87cf0dafe32a197ef018c36c
This function was in the qsiprep/niworkflows/interfaces/itk.py that was removed in 0.21.4. Not sure what the new equivalent process is for that step in other nipreps.
Additional details
- QSIPrep version: 0.21.4
- Singularity version: apptainer 1.1.9
I have the same problem.
@tsalo this must be one of the interfaces that got refactored out of niworkflows when we switched to it. We don't have any CI tests running GRE fieldmaps so this must have flown under the radar
Yikes, sorry about that! I will dig into this today.