You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is an extreme scenario, but @tpandhi discovered this while processing ABCD data. Basically, if --min-time and --fd-thresh are used (i.e., scrubbing is enabled and only runs with enough low-motion data are processed) in conjunction with --combine-runsand all of the runs for a given task have too few low-motion volumes to be processed, then the concatenation workflow will try to concatenate nothing and there will be a difficult-to-interpret error.
Additional details
xcp_d version: 0.9.1
Docker version:
Apptainer version:
What were you trying to do?
Run XCP-D with motion-based scrubbing, a minimum amount of time to be processed, and run concatenation.
What did you expect to happen?
XCP-D should not try to concatenate this entity set at all
What actually happened?
exception calling callback for <Future at 0x7fa30eb37730 state=finished raised FileNotFoundError>
concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 67, in run_node
result["result"] = node.run(updatehash=updatehash)
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 527, in run
result = self._run_interface(execute=True)
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 645, in _run_interface
return self._run_command(execute)
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 722, in _run_command
result = self._interface.run(cwd=outdir, ignore_exception=True)
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 388, in run
self._check_mandatory_inputs()
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 275, in _check_mandatory_inputs
raise ValueError(msg)
ValueError: QCPlots requires a value for input 'bold_file'. For a list of required inputs, see QCPlots.help()
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/process.py", line 246, in _process_worker
r = call_item.fn(*call_item.args, **call_item.kwargs)
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 70, in run_node
result["result"] = node.result
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 223, in result
return _load_resultfile(
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/engine/utils.py", line 291, in load_resultfile
raise FileNotFoundError(results_file)
FileNotFoundError: /working_dir/xcp_d_0_9_wf/sub_id_wf/concatenate_entity_set_1_wf/concat_qc_report_wf/make_qc_plots_nipreps/result_make_qc_plots_nipreps.pklz
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/_base.py", line 342, in _invoke_callbacks
callback(self)
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 159, in _async_callback
result = args.result()
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/_base.py", line 451, in result
return self.__get_result()
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
raise self._exception
FileNotFoundError: /working_dir/xcp_d_0_9_wf/sub_id_wf/concatenate_entity_set_1_wf/concat_qc_report_wf/make_qc_plots_nipreps/result_make_qc_plots_nipreps.pklz
exception calling callback for <Future at 0x7fa30f562110 state=finished raised FileNotFoundError>
concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 67, in run_node
result["result"] = node.run(updatehash=updatehash)
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 527, in run
result = self._run_interface(execute=True)
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 645, in _run_interface
return self._run_command(execute)
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 722, in _run_command
result = self._interface.run(cwd=outdir, ignore_exception=True)
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 388, in run
self._check_mandatory_inputs()
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 275, in _check_mandatory_inputs
raise ValueError(msg)
ValueError: QCPlotsES requires a value for input 'preprocessed_bold'. For a list of required inputs, see QCPlotsES.help()
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/process.py", line 246, in _process_worker
r = call_item.fn(*call_item.args, **call_item.kwargs)
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 70, in run_node
result["result"] = node.result
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 223, in result
return _load_resultfile(
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/engine/utils.py", line 291, in load_resultfile
raise FileNotFoundError(results_file)
FileNotFoundError: /working_dir/xcp_d_0_9_wf/sub_id_wf/concatenate_entity_set_1_wf/concat_qc_report_wf/make_qc_plots_es/result_make_qc_plots_es.pklz
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/_base.py", line 342, in _invoke_callbacks
callback(self)
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 159, in _async_callback
result = args.result()
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/_base.py", line 451, in result
return self.__get_result()
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
raise self._exception
FileNotFoundError: /working_dir/xcp_d_0_9_wf/sub_NDARINV00CY2MDM_wf/concatenate_entity_set_1_wf/concat_qc_report_wf/make_qc_plots_es/result_make_qc_plots_es.pklz
The text was updated successfully, but these errors were encountered:
tsalo
added
the
bug
Issues noting problems and PRs fixing those problems.
label
Oct 8, 2024
Summary
This is an extreme scenario, but @tpandhi discovered this while processing ABCD data. Basically, if
--min-time
and--fd-thresh
are used (i.e., scrubbing is enabled and only runs with enough low-motion data are processed) in conjunction with--combine-runs
and all of the runs for a given task have too few low-motion volumes to be processed, then the concatenation workflow will try to concatenate nothing and there will be a difficult-to-interpret error.Additional details
What were you trying to do?
Run XCP-D with motion-based scrubbing, a minimum amount of time to be processed, and run concatenation.
What did you expect to happen?
XCP-D should not try to concatenate this entity set at all
What actually happened?
The text was updated successfully, but these errors were encountered: