niworkflows
niworkflows copied to clipboard
Revise Report Engine for generalization (problems with fmriprep-rodents)
Seems like we have some inflexible configurations that made fMRIPrep/rodents fail with:
Traceback (most recent call last):
File "/usr/local/miniconda/bin/fmriprep-rodents", line 8, in <module>
sys.exit(main())
File "/usr/local/miniconda/lib/python3.7/site-packages/fmriprep_rodents/cli/run.py", line 171, in main
packagename="fmriprep_rodents",
File "/usr/local/miniconda/lib/python3.7/site-packages/fmriprep_rodents/patch/reports/__init__.py", line 62, in generate_reports
for subject_label in subject_list
File "/usr/local/miniconda/lib/python3.7/site-packages/fmriprep_rodents/patch/reports/__init__.py", line 62, in <listcomp>
for subject_label in subject_list
File "/usr/local/miniconda/lib/python3.7/site-packages/fmriprep_rodents/patch/reports/__init__.py", line 42, in run_reports
reportlets_dir=reportlets_dir,
File "/usr/local/miniconda/lib/python3.7/site-packages/niworkflows/reports/core.py", line 271, in __init__
self._load_config(Path(config or pkgrf("niworkflows", "reports/default.yml")))
File "/usr/local/miniconda/lib/python3.7/site-packages/fmriprep_rodents/patch/reports/__init__.py", line 22, in _load_config
self.index(settings["sections"])
File "/usr/local/miniconda/lib/python3.7/site-packages/niworkflows/reports/core.py", line 302, in index
self.init_layout()
File "/usr/local/miniconda/lib/python3.7/site-packages/niworkflows/reports/core.py", line 293, in init_layout
self.layout = BIDSLayout(self.root, config="figures", validate=False)
File "/usr/local/miniconda/lib/python3.7/site-packages/bids/layout/layout.py", line 136, in __init__
root, description = validate_root(root, validate)
File "/usr/local/miniconda/lib/python3.7/site-packages/bids/layout/validation.py", line 68, in validate_root
raise ValueError("BIDS root does not exist: %s" % root)
ValueError: BIDS root does not exist: /out/fmriprep-rodents/sub-01
For now, the issue has been addressed monkeypatching the offending section of niworkflows code, but a better solution (i.e., no need for redefining the reports system) is necessary.