nipreps / dmriprep

dMRIPrep is a robust and easy-to-use pipeline for preprocessing of diverse dMRI data. The transparent workflow dispenses of manual intervention, thereby ensuring the reproducibility of the results.
https://www.nipreps.org/dmriprep
Apache License 2.0
64 stars 24 forks source link

Issues running on the Traveling Human Phantom from OpenNeuro #9

Closed garikoitz closed 5 years ago

garikoitz commented 5 years ago

Description

Trying to run --anat-only from within the Docker container interactively

What I Did

dmriprep /data /out participant --anat-only --notrack --skip-bids-validation --participant-label sub-THP0005
Node: dmriprep_wf.single_subject_THP0005_wf.summary
Working directory: /tmp/work/dmriprep_wf/single_subject_THP0005_wf/summary

Node inputs:

dwi = ['/data/sub-THP0005/ses-THP0005JHU1/dwi/sub-THP0005_ses-THP0005JHU1_acq-GD33_run-01_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005JHU1/dwi/sub-THP0005_ses-THP0005JHU1_acq-GD33_run-02_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005JHU1/dwi/sub-THP0005_ses-THP0005JHU1_acq-GD33_run-03_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005JHU1/dwi/sub-THP0005_ses-THP0005JHU1_acq-GD33_run-04_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005JHU1/dwi/sub-THP0005_ses-THP0005JHU1_acq-GD72_run-01_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005JHU1/dwi/sub-THP0005_ses-THP0005JHU1_acq-GD72_run-02_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005MGH1/dwi/sub-THP0005_ses-THP0005MGH1_acq-GD31_run-01_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005MGH1/dwi/sub-THP0005_ses-THP0005MGH1_acq-GD31_run-02_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005MGH1/dwi/sub-THP0005_ses-THP0005MGH1_acq-GD31_run-03_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005MGH1/dwi/sub-THP0005_ses-THP0005MGH1_acq-GD31_run-04_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005MGH1/dwi/sub-THP0005_ses-THP0005MGH1_acq-GD79_run-01_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005MGH1/dwi/sub-THP0005_ses-THP0005MGH1_acq-GD79_run-02_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UCI1/dwi/sub-THP0005_ses-THP0005UCI1_acq-GD31_run-01_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UCI1/dwi/sub-THP0005_ses-THP0005UCI1_acq-GD31_run-02_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UCI1/dwi/sub-THP0005_ses-THP0005UCI1_acq-GD31_run-03_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UCI1/dwi/sub-THP0005_ses-THP0005UCI1_acq-GD31_run-04_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UCI1/dwi/sub-THP0005_ses-THP0005UCI1_acq-GD79_run-01_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UCI1/dwi/sub-THP0005_ses-THP0005UCI1_acq-GD79_run-02_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UMN1/dwi/sub-THP0005_ses-THP0005UMN1_acq-GD31_run-01_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UMN1/dwi/sub-THP0005_ses-THP0005UMN1_acq-GD31_run-02_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UMN1/dwi/sub-THP0005_ses-THP0005UMN1_acq-GD31_run-03_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UMN1/dwi/sub-THP0005_ses-THP0005UMN1_acq-GD31_run-04_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UMN1/dwi/sub-THP0005_ses-THP0005UMN1_acq-GD79_run-01_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UMN1/dwi/sub-THP0005_ses-THP0005UMN1_acq-GD79_run-02_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UW1/dwi/sub-THP0005_ses-THP0005UW1_acq-GD33_run-01_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UW1/dwi/sub-THP0005_ses-THP0005UW1_acq-GD33_run-02_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UW1/dwi/sub-THP0005_ses-THP0005UW1_acq-GD33_run-03_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UW1/dwi/sub-THP0005_ses-THP0005UW1_acq-GD33_run-04_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UW1/dwi/sub-THP0005_ses-THP0005UW1_acq-GD72_run-01_dwi.nii.gz', '/data/sub-THP0005/ses-THP0005UW1/dwi/sub-THP0005_ses-THP0005UW1_acq-GD72_run-02_dwi.nii.gz']
nstd_spaces = []
std_spaces = ['MNI152NLin2009cAsym', 'fsaverage5']
subject_id = THP0005
subjects_dir = /out/freesurfer
t1w = ['/data/sub-THP0005/ses-THP0005JHU1/anat/sub-THP0005_ses-THP0005JHU1_run-02_T1w.nii.gz', '/data/sub-THP0005/ses-THP0005MGH1/anat/sub-THP0005_ses-THP0005MGH1_run-01_T1w.nii.gz', '/data/sub-THP0005/ses-THP0005UCI1/anat/sub-THP0005_ses-THP0005UCI1_run-01_T1w.nii.gz', '/data/sub-THP0005/ses-THP0005UMN1/anat/sub-THP0005_ses-THP0005UMN1_run-01_T1w.nii.gz', '/data/sub-THP0005/ses-THP0005UW1/anat/sub-THP0005_ses-THP0005UW1_run-01_T1w.nii.gz']
t2w = ['/data/sub-THP0005/ses-THP0005JHU1/anat/sub-THP0005_ses-THP0005JHU1_run-01_T2w.nii.gz', '/data/sub-THP0005/ses-THP0005MGH1/anat/sub-THP0005_ses-THP0005MGH1_run-01_T2w.nii.gz', '/data/sub-THP0005/ses-THP0005UCI1/anat/sub-THP0005_ses-THP0005UCI1_run-01_T2w.nii.gz', '/data/sub-THP0005/ses-THP0005UMN1/anat/sub-THP0005_ses-THP0005UMN1_run-01_T2w.nii.gz', '/data/sub-THP0005/ses-THP0005UW1/anat/sub-THP0005_ses-THP0005UW1_run-01_T2w.nii.gz']

Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/plugins/multiproc.py", line 316, in _send_procs_to_workers
    self.procs[jobid].run(updatehash=updatehash)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 473, in run
    result = self._run_interface(execute=True)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 564, in _run_interface
    return self._run_command(execute)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 649, in _run_command
    result = self._interface.run(cwd=outdir)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 376, in run
    runtime = self._run_interface(runtime)
  File "/usr/local/miniconda/lib/python3.7/site-packages/dmriprep/interfaces/reports.py", line 89, in _run_interface
    return super(SubjectSummary, self)._run_interface(runtime)
  File "/usr/local/miniconda/lib/python3.7/site-packages/dmriprep/interfaces/reports.py", line 53, in _run_interface
    segment = self._generate_segment()
  File "/usr/local/miniconda/lib/python3.7/site-packages/dmriprep/interfaces/reports.py", line 113, in _generate_segment
    for series in dwi_files)
  File "/usr/local/miniconda/lib/python3.7/collections/__init__.py", line 566, in __init__
   self.update(*args, **kwds)
  File "/usr/local/miniconda/lib/python3.7/collections/__init__.py", line 653, in update
    _count_elements(self, iterable)
  File "/usr/local/miniconda/lib/python3.7/site-packages/dmriprep/interfaces/reports.py", line 113, in <genexpr>
    for series in dwi_files)
TypeError: 'NoneType' object is not subscriptable
josephmje commented 5 years ago

I think this is because we're counting the number of dwi scans based on task_id. Should this line be modified to just grab the length of the dwi_files list for now? Or should be go by the acq_id instead if it exists?

garikoitz commented 5 years ago

Fixed with #10