nipreps / niworkflows

Common workflows for MRI (anatomical, functional, diffusion, etc)
https://www.nipreps.org/niworkflows
Apache License 2.0
88 stars 52 forks source link

Confusing error message when missing T1w Images #393

Closed sadevp closed 5 years ago

sadevp commented 7 years ago

The datasets below on OpenNeuro are failing fmriprep due to errors indicating missing scans. I am logging them here for the record.

Missing BOLD images:

https://openneuro.org/datasets/ds001091/versions/00001

Example:

Traceback (most recent call last):
  File "/usr/local/miniconda/bin/fmriprep", line 11, in <module>
    load_entry_point('fmriprep==0.6.5', 'console_scripts', 'fmriprep')()
  File "/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/cli/run.py", line 207, in main
    create_workflow(opts)
  File "/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/cli/run.py", line 315, in create_workflow
    ignore_aroma_err=opts.ignore_aroma_denoising_errors,
  File "/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/base.py", line 185, in init_fmriprep_wf
    ignore_aroma_err=ignore_aroma_err)
  File "/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/workflows/base.py", line 336, in init_single_subject_wf
    subject_id, task_id if task_id else '<all>'))
Exception: No BOLD images found for participant 01 and task <all>. All workflows require BOLD images.
9ba44d35-c478-40de-8887-25f9110296d8-lock

Missing T1W images:

https://openneuro.org/datasets/ds001107/versions/00001

Example:

Traceback (most recent call last):
  File "/usr/local/miniconda/bin/fmriprep", line 11, in <module>
    load_entry_point('fmriprep==0.6.5', 'console_scripts', 'fmriprep')()
  File "/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/cli/run.py", line 207, in main
    create_workflow(opts)
  File "/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/cli/run.py", line 225, in create_workflow
    bids_dir, participant_label=opts.participant_label)
  File "/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/utils/bids.py", line 87, in collect_participants
    'may need to adjust your "File sharing" preferences.', bids_dir)
fmriprep.utils.bids.BIDSError: 
---------- BIDS root folder: "/snapshot/data" ----------
           Could not find participants. Please make sure the BIDS data structure is present and correct. Datasets can be validated online using the BIDS Validator (http://incf.github.io/bids-validator/).
If you are using Docker for Mac or Docker for Windows, you may need to adjust your "File sharing" preferences.
--------------------------------------------------------
chrisgorgo commented 7 years ago

This is not per se an error with FMRIPREP. One thing that could be done is better reporting of missing T1w images (right now the error message is not very informative). I'll rename the issue.

oesteban commented 5 years ago

This seems to have been fixed:

$ fmriprep ~/Data/ds001107/ out/ participant --participant-label 01 --skip-bids-validation
Captured warning (<class 'RuntimeWarning'>): numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
Captured warning (<class 'DeprecationWarning'>): sklearn.externals.joblib is deprecated in 0.21 and will be removed in 0.23. Please import this functionality directly from joblib, which can be installed with: pip install joblib. If this warning is raised when loading pickled models, you may need to re-serialize those models with scikit-learn 0.21+.
/home/oesteban/.anaconda3/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  return f(*args, **kwds)
/home/oesteban/.anaconda3/lib/python3.7/site-packages/sklearn/externals/joblib/__init__.py:15: DeprecationWarning: sklearn.externals.joblib is deprecated in 0.21 and will be removed in 0.23. Please import this functionality directly from joblib, which can be installed with: pip install joblib. If this warning is raised when loading pickled models, you may need to re-serialize those models with scikit-learn 0.21+.
  warnings.warn(msg, category=DeprecationWarning)
Although ``--fs-no-reconall`` was not set (i.e., FreeSurfer is to be run), no FreeSurfer output space (valid values are: fsnative, fsaverage5, fsaverage6, fsaverage) was selected. Adding default "fsaverage5" to the list of output spaces.
191016-11:27:13,429 nipype.workflow IMPORTANT:

    Running fMRIPREP version 1.5.1rc1:
      * BIDS dataset path: /mnt/data/datasets/ds001107.
      * Participant list: ['01'].
      * Run identifier: 20191016-112648_40559f87-11af-469d-8aeb-b926ef51ed67.

191016-11:27:14,320 nipype.utils INFO:
         Running nipype version 1.3.0-rc1.post-dev+g2e5436d31 (latest: 1.2.3)
Process Process-2:
Traceback (most recent call last):
  File "/home/oesteban/.anaconda3/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/home/oesteban/.anaconda3/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/home/oesteban/workspace/fmriprep/fmriprep/cli/run.py", line 677, in build_workflow
    work_dir=str(work_dir),
  File "/home/oesteban/workspace/fmriprep/fmriprep/workflows/base.py", line 259, in init_fmriprep_wf
    use_syn=use_syn,
  File "/home/oesteban/workspace/fmriprep/fmriprep/workflows/base.py", line 478, in init_single_subject_wf
    "All workflows require T1w images.".format(subject_id))
Exception: No T1w images found for participant 01. All workflows require T1w images.