Skip to content

BIDS wishlist for nipype 2.0 #2736

Open
@adelavega

Description

@adelavega

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. converting FSL outputs to BIDS)
  • 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 a BIDSDataSink 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 the BIDSDataSink handle formatting / dataset creation.
    • If previous interfaces are BIDS-aware, entities will be known and can be used to generate paths.
  • BIDS Specify Model

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions