66
77BIDSDataGrabber: Query data from BIDS dataset using pybids grabbids.
88
9- Change directory to provide relative paths for doctests
10- >>> import os
11- >>> import bids
12- >>> filepath = os.path.realpath(os.path.dirname(bids.__file__))
13- >>> datadir = os.path.realpath(os.path.join(filepath, 'grabbids/tests/data/'))
14- >>> os.chdir(datadir)
15-
169"""
1710from os .path import join , dirname
11+ import json
1812from .. import logging
1913from .base import (traits ,
2014 DynamicTraitedSpec ,
2418 Str ,
2519 Undefined )
2620
21+ have_pybids = True
2722try :
2823 from bids import grabbids as gb
29- import json
3024except ImportError :
3125 have_pybids = False
32- else :
33- have_pybids = True
3426
3527LOGGER = logging .getLogger ('workflows' )
3628
@@ -56,36 +48,33 @@ class BIDSDataGrabber(BaseInterface):
5648 Examples
5749 --------
5850
59- >>> from nipype.interfaces.bids_utils import BIDSDataGrabber
60- >>> from os.path import basename
61-
6251 By default, the BIDSDataGrabber fetches anatomical and functional images
6352 from a project, and makes BIDS entities (e.g. subject) available for
6453 filtering outputs.
6554
66- >>> bg = BIDSDataGrabber()
67- >>> bg.inputs.base_dir = 'ds005/'
68- >>> bg.inputs.subject = '01'
69- >>> results = bg.run()
70- >>> basename(results.outputs.anat[0]) # doctest: +ALLOW_UNICODE
71- 'sub-01_T1w.nii.gz'
55+ >>> bg = BIDSDataGrabber() # doctest: +SKIP
56+ >>> bg.inputs.base_dir = 'ds005/' # doctest: +SKIP
57+ >>> bg.inputs.subject = '01' # doctest: +SKIP
58+ >>> results = bg.run() # doctest # doctest: +SKIP
59+ >>> basename(results.outputs.anat[0]) # doctest: +SKIP
60+ 'sub-01_T1w.nii.gz' # doctest: +SKIP
7261
73- >>> basename(results.outputs.func[0]) # doctest: +ALLOW_UNICODE
74- 'sub-01_task-mixedgamblestask_run-01_bold.nii.gz'
62+ >>> basename(results.outputs.func[0]) # doctest: +SKIP
63+ 'sub-01_task-mixedgamblestask_run-01_bold.nii.gz' # doctest: +SKIP
7564
7665
7766 Dynamically created, user-defined output fields can also be defined to
7867 return different types of outputs from the same project. All outputs
7968 are filtered on common entities, which can be explicitly defined as
8069 infields.
8170
82- >>> bg = BIDSDataGrabber(infields = ['subject'], outfields = ['dwi'])
83- >>> bg.inputs.base_dir = 'ds005/'
84- >>> bg.inputs.subject = '01'
85- >>> bg.inputs.output_query['dwi'] = dict(modality='dwi')
86- >>> results = bg.run()
87- >>> basename(results.outputs.dwi[0]) # doctest: +ALLOW_UNICODE
88- 'sub-01_dwi.nii.gz'
71+ >>> bg = BIDSDataGrabber(infields = ['subject'], outfields = ['dwi']) # doctest: +SKIP
72+ >>> bg.inputs.base_dir = 'ds005/' # doctest: +SKIP
73+ >>> bg.inputs.subject = '01' # doctest: +SKIP
74+ >>> bg.inputs.output_query['dwi'] = dict(modality='dwi') # doctest: +SKIP
75+ >>> results = bg.run() # doctest: +SKIP
76+ >>> basename(results.outputs.dwi[0]) # doctest: +SKIP
77+ 'sub-01_dwi.nii.gz' # doctest: +SKIP
8978
9079 """
9180 input_spec = BIDSDataGrabberInputSpec
0 commit comments