Open
Description
Starting this issue as a place to gather discussion about BIDS-awareness we'd like to include in nipype 2.0 (most of these suggestions came from the nipype 2.0 sprint).
Domain specify versions of these interfaces already exist in existing projects such as fitlins
, fmriprep
, mriqc
and more. It would be great to abstract these out into general purpose Interfaces.
-
Improvements to
BIDSDataGrabber
- Update for pybids 0.7, correct defunct BIDS-entities (e.g. 'modality')
- Enhanced iterables. Currently, iterables are given as a list of already known items (e.g. subjects you want to iterate over). It would be nice to be able to say you want to iterate over subjects, without knowing the subject IDs before hand.
- Could also read from a
BIDS-model
and iterate over relevant subjects/runs/tasks
-
BIDS metadata awareness in interfaces
- Execution interfaces are BIDS-aware and pull out relevant meta-data from BIDS project, such as
TR
- Interfaces pass along entities associated with outputs. If output paths are consistent but not
BIDS
compliant, could write converters (e.g. convertingFSL
outputs toBIDS
)
- Execution interfaces are BIDS-aware and pull out relevant meta-data from BIDS project, such as
-
Derivatives compliant
BIDSDataSink
- Writing
DataSink
substitutions is one of the biggest issues for beginners. It would be great if you could plug the outputs of Interfaces into aBIDSDataSink
and output a valid BIDS derivative dataset. BIDSLayout
can be used to write BIDS paths, but the challenge is obtaining the entities for outputs. At first, it may be good enough and useful to let users manually specify these (if they know them), and just let theBIDSDataSink
handle formatting / dataset creation.- If previous interfaces are BIDS-aware, entities will be known and can be used to generate paths.
- Writing
-
BIDS Specify Model
- Pybids Analysis wrapper, which can be used to specify models for
FSL
,SPM
,nistats
from a BIDS-Model. - Related issues: Simplified/alternative way to specify models #1359 New SpecifyEvents interface #1555
- Pybids Analysis wrapper, which can be used to specify models for
Of course, none of this would be complete without docs, so once this is release it would be great to include it in the niype tutorial.
Other suggestions are welcome.