https://github.com/bids-apps/example
This an example app that can serve as a template.
https://github.com/bids-apps/example
bids bids-apps
Last synced: 15 days ago
JSON representation
This an example app that can serve as a template.
- Host: GitHub
- URL: https://github.com/bids-apps/example
- Owner: bids-apps
- License: apache-2.0
- Created: 2016-07-28T17:58:07.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2026-03-16T10:01:39.000Z (3 months ago)
- Last Synced: 2026-04-03T17:32:48.651Z (2 months ago)
- Topics: bids, bids-apps
- Language: Python
- Homepage: https://doi.org/10.1371/journal.pcbi.1005209
- Size: 128 KB
- Stars: 17
- Watchers: 1
- Forks: 33
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## An example BIDS App (template repository)
Every BIDS App needs to follow a minimal set of command arguments common across
all of the Apps. This allows users and developers to easily use and integrate
BIDS Apps with their environment.
This is a minimalist example of a BIDS App consisting of a Dockerfile and a simple
entry point script (written in this case in Python) accepting the standard BIDS
Apps command line arguments. This repository can be used as a template for new BIDS Apps.
For more information about the specification of BIDS Apps see [here](https://docs.google.com/document/d/1E1Wi5ONvOVVnGhj21S1bmJJ4kyHFT7tkxnV3C23sjIE/).
### Description
This is a placeholder for a short description explaining to the user what your App will doing.
### Documentation
Provide a link to the documentation of your pipeline.
### How to report errors
Provide instructions for users on how to get help and report errors.
### Acknowledgments
Describe how would you would like users to acknowledge use of your App in their papers (citation, a paragraph that can be copy pasted, etc.)
### Usage
This App has the following command line arguments:
usage: run.py [-h] [--participant_label PARTICIPANT_LABEL [PARTICIPANT_LABEL ...]] [--skip_bids_validator] [-v]
bids_dir output_dir {participant,group}
Example BIDS App entrypoint script.
positional arguments:
bids_dir The directory with the input dataset formatted according to the BIDS standard.
output_dir The directory where the output files should be stored. If you are running group level analysis this folder should
be prepopulated with the results of theparticipant level analysis.
{participant,group} Level of the analysis that will be performed. Multiple participant level analyses can be run independently (in
parallel) using the same output_dir.
options:
-h, --help show this help message and exit
--participant_label PARTICIPANT_LABEL [PARTICIPANT_LABEL ...]
The label(s) of the participant(s) that should be analyzed. The label corresponds to sub- from
the BIDS spec (so it does not include "sub-"). If this parameter is not provided all subjects should be analyzed.
Multiple participants can be specified with a space separated list.
--skip_bids_validator
Whether or not to perform BIDS dataset validation
-v, --version show program's version number and exit
To run it in participant level mode (for one participant):
docker run -i --rm \
-v /Users/filo/data/ds005:/bids_dataset:ro \
-v /Users/filo/outputs:/outputs \
bids/example \
/bids_dataset /outputs participant --participant_label 01
After doing this for all subjects (potentially in parallel), the group level analysis
can be run:
docker run -i --rm \
-v /Users/filo/data/ds005:/bids_dataset:ro \
-v /Users/filo/outputs:/outputs \
bids/example \
/bids_dataset /outputs group
### Special considerations
Describe whether your app has any special requirements. For example:
- Multiple map reduce steps (participant, group, participant2, group2 etc.)
- Unusual memory requirements
- etc.