niworkflows icon indicating copy to clipboard operation
niworkflows copied to clipboard

Revise Report Engine for generalization (problems with fmriprep-rodents)

Open oesteban opened this issue 3 years ago • 0 comments

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.

oesteban avatar Jan 14 '21 13:01 oesteban