Data formatted according to a validatable standard? Please provide the output of the validator:
Relevant log outputs (up to 20 lines):
I am encountering the following wf.output_select error on two of four task runs of just one subject.
Node Name: fmriprep_wf.single_subject_3T013_wf.func_preproc_task_InterceptionPhase3_wf.output_select
File: /work/3T/derivatives/fmriprep-21.0.1/sub-3T013/log/20230526-103626_3c2633f5-d116-4d86-8194-f373707bd39f/crash-20230526-111528-kpunjabi-output_select-a4d173f4-f91d-4497-b713-807ffad66c31.txt
Working Directory: /work/3T/derivatives/fmriprep-temp/fmriprep_wf/single_subject_3T013_wf/func_preproc_task_InterceptionPhase3_wf/output_select
Inputs:
fmap: ['/work/3T/derivatives/fmriprep-temp/fmriprep_wf/single_subject_3T013_wf/fmap_preproc_wf/wf_auto_00000/topup/sub-3T013_dir-AP_epi_idx-000_merged_field.nii.gz']
fmap_coeff: ['/work/3T/derivatives/fmriprep-temp/fmriprep_wf/single_subject_3T013_wf/fmap_preproc_wf/wf_auto_00000/fix_coeff/sub-3T013_dir-AP_epi_idx-000_merged_base_fieldcoef_fixed.nii.gz']
fmap_mask: ['/work/3T/derivatives/fmriprep-temp/fmriprep_wf/single_subject_3T013_wf/fmap_preproc_wf/wf_auto_00000/brainextraction_wf/masker/clipped_mask.nii.gz']
fmap_ref: ['/work/3T/derivatives/fmriprep-temp/fmriprep_wf/single_subject_3T013_wf/fmap_preproc_wf/wf_auto_00000/brainextraction_wf/clipper_post/clipped.nii.gz']
key: B0map
keys: ['auto_00000']
sdc_method: ['PEB/PEPOLAR (phase-encoding based / PE-POLARity)']
Traceback (most recent call last):
File "/opt/conda/lib/python3.8/site-packages/nipype/pipeline/plugins/multiproc.py", line 344, in _send_procs_to_workers
self.procs[jobid].run(updatehash=updatehash)
File "/opt/conda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 516, in run
result = self._run_interface(execute=True)
File "/opt/conda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 635, in _run_interface
return self._run_command(execute)
File "/opt/conda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 741, in _run_command
result = self._interface.run(cwd=outdir)
File "/opt/conda/lib/python3.8/site-packages/nipype/interfaces/base/core.py", line 430, in run
outputs = self.aggregate_outputs(runtime)
File "/opt/conda/lib/python3.8/site-packages/nipype/interfaces/base/core.py", line 506, in aggregate_outputs
predicted_outputs = self._list_outputs() # Predictions from _list_outputs
File "/opt/conda/lib/python3.8/site-packages/niworkflows/interfaces/utility.py", line 217, in _list_outputs
index = self.inputs.keys.index(self.inputs.key)
ValueError: 'B0map' is not in list
Screenshots / relevant information:
Any help in troubleshooting this is appreciated.
Thanks,
Khushboo
I have relabeled your post as Software Support and restructured your post according to the software support category template. Please post software related questions under this category in the future.
Some additional points:
Are your data BIDS valid? (feel free to edit your original post to include this information).
Does this error persist on the most recent version of fMRIPrep (23.0.2 at this time)?
The fs-no-reconall flag is not recommended (see here)
This looks like part of the fieldmap processing scheme. How are you associating fieldmaps with BOLD files?
Hi Steven,
Thanks for moving and reorganizing my post.
To answer your questions:
Yes, the dataset is online bids-validated.
I am currently starting a run on fmriprep 23.0.2 to check if the error persists.
I run freesurfer outside the fmriprep container because I use FS v.7.1.1 which seems to give me fewer errors in wm.mgz as compared to v6, the fmriprep container has 6.0.1. I manually correct these errors to get better surfaces.
I have AP PA fieldmaps that have intended for fields in the jsons:
The error occurs for sub-3T013_task-InterceptionPhase3_bold.nii.gz and sub-3T013_task-InterceptionPhase4_bold.nii.gz. This is the tree for this subject’s bids folder:
The same workflow error persists with 23.0.2, with the same 2 images:
Node Name: fmriprep_23_0_wf.single_subject_3T013_wf.func_preproc_task_InterceptionPhase3_wf.output_select
File: /work/3T/derivatives/fmriprep-23.0.2/sub-3T013/log/20230530-155040_f535e9e2-47b4-46a5-a17a-878572ae9fc6/crash-20230530-162838-kpunjabi-output_select-c367e4e5-0816-4089-a0b4-ae4ce53e3871.txt
Working Directory: /work/3T/derivatives/fmriprep-temp23/fmriprep_23_0_wf/single_subject_3T013_wf/func_preproc_task_InterceptionPhase3_wf/output_select
Inputs:
fmap: ['/work/3T/derivatives/fmriprep-temp23/fmriprep_23_0_wf/single_subject_3T013_wf/fmap_preproc_wf/wf_auto_00000/from_las_fmap/reoriented.nii.gz']
fmap_coeff: ['/work/3T/derivatives/fmriprep-temp23/fmriprep_23_0_wf/single_subject_3T013_wf/fmap_preproc_wf/wf_auto_00000/fix_coeff/sub-3T013_dir-PA_epi_average_merged_sliced_volreg_base_fieldcoef_fixed.nii.gz']
fmap_mask: ['/work/3T/derivatives/fmriprep-temp23/fmriprep_23_0_wf/single_subject_3T013_wf/fmap_preproc_wf/wf_auto_00000/brainextraction_wf/masker/clipped_mask.nii.gz']
fmap_ref: ['/work/3T/derivatives/fmriprep-temp23/fmriprep_23_0_wf/single_subject_3T013_wf/fmap_preproc_wf/wf_auto_00000/brainextraction_wf/clipper_post/clipped.nii.gz']
key: B0map
keys: ['auto_00000']
sdc_method: ['PEB/PEPOLAR (phase-encoding based / PE-POLARity)']
Traceback (most recent call last):
File "/opt/conda/lib/python3.9/site-packages/nipype/pipeline/plugins/multiproc.py", line 344, in _send_procs_to_workers
self.procs[jobid].run(updatehash=updatehash)
File "/opt/conda/lib/python3.9/site-packages/nipype/pipeline/engine/nodes.py", line 527, in run
result = self._run_interface(execute=True)
File "/opt/conda/lib/python3.9/site-packages/nipype/pipeline/engine/nodes.py", line 645, in _run_interface
return self._run_command(execute)
File "/opt/conda/lib/python3.9/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 output_select.
Traceback:
Traceback (most recent call last):
File "/opt/conda/lib/python3.9/site-packages/nipype/interfaces/base/core.py", line 400, in run
outputs = self.aggregate_outputs(runtime)
File "/opt/conda/lib/python3.9/site-packages/nipype/interfaces/base/core.py", line 429, in aggregate_outputs
predicted_outputs = self._list_outputs() # Predictions from _list_outputs
File "/opt/conda/lib/python3.9/site-packages/niworkflows/interfaces/utility.py", line 217, in _list_outputs
index = self.inputs.keys.index(self.inputs.key)
ValueError: 'B0map' is not in list
It turns out that there was a mistake in the JSON files of each bold image of the problematic runs:
For each of them, there was: "B0FieldSource": "B0map" at the end of the JSON file, with no corresponding B0FieldIdentifier anywhere for this subject. It was a mistake when preparing the BIDS dataset, we moved from using B0FieldSource/B0FieldIdentifier to using IntendedFor only but forgot to remove some occurrences of "B0FieldSource".
Interestingly, as @kpunjabi mentioned, this mistake did not trigger an error nor a warning from the BIDS validator (I checked with bids-validator@1.9.3).