bidspm

an SPM centric BIDS app

https://github.com/cpp-lln-lab/bidspm

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.1%) to scientific vocabulary

Keywords

automated-analysis bids bidsapp closember fmri pipeline spm12
Last synced: 6 months ago · JSON representation ·

Repository

an SPM centric BIDS app

Basic Info
Statistics
  • Stars: 8
  • Watchers: 3
  • Forks: 14
  • Open Issues: 70
  • Releases: 19
Topics
automated-analysis bids bidsapp closember fmri pipeline spm12
Created over 6 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

pre-commit.ci status miss hit Documentation Status: main Binder tests matlab tests octave codecov DOI GitHub last commit All Contributors

bidspm

This is a Matlab / Octave toolbox to perform MRI data analysis on a BIDS data set using SPM12.

Installation

From docker hub

bash docker pull cpplab/bidspm:latest

From source

In a terminal or a git bash prompt, type:

bash git clone --recurse-submodules https://github.com/cpp-lln-lab/bidspm.git

To start using bidspm, you just need to initialize it for the current MATLAB / Octave session with:

matlab bidspm()

Please see our documentation for more info.

Usage

For some of its functionality bidspm has a BIDS app like API.

See this page for more information.

But in brief they are of the form:

matlab bidspm(bids_dir, output_dir, ... 'analysis_level', ... 'action', 'what_to_do')

Creating a default BIDS statistical model

Use a MATLAB / Octave script with:

```matlab % path to your raw BIDS dataset bidsdir = pathofrawbids_dataset;

% where you want to save the model outputdir = pathwheretheoutputshouldgo;

taskstoincludeinmodel = {'task1', 'task2', 'task3'};

% for example 'MNI152NLin2009cAsym' spacetoincludeinmodel = {'spaceName'};

bidspm(bidsdir, outputdir, 'dataset', ... 'action', 'defaultmodel', ... 'task', taskstoincludeinmodel, ... 'space', spacetoincludein_model) ```

GLM

Use a MATLAB / Octave script with:

```matlab % path to your raw BIDS dataset bidsdir = pathofrawbids_dataset;

% where you want to save the model outputdir = pathwheretheoutputshouldgo;

preprocdir = pathtopreprocesseddataset; % for example fmriprep output

modelfile = pathtobidsstatsmodeljson_file;

subject_label = '01';

bidspm(bidsdir, outputdir, 'subject', ... 'participantlabel', {subjectlabel}, ... 'action', 'stats', ... 'preprocdir', preprocdir, ... 'modelfile', modelfile) ```

Preprocessing

```matlab bidsdir = pathtorawbidsdataset; outputdir = pathtowheretheoutputshouldgo;

subject_label = '01';

bidspm(bidsdir, outputdir, 'subject', ... 'participantlabel', {subjectlabel}, ... 'action', 'preprocess', ... 'task', {'yourTask'}) ```

Features

Statistics

The model specification are set up using the BIDS stats model and can be used to perform:

  • whole GLM at the subject level
  • whole brain GLM at the group level à la SPM (meaning using a summary statistics approach).
  • ROI based GLM (using marsbar)
  • model selection (with the MACS toolbox)

Preprocessing

If your data is fairly "typical" (for example whole brain coverage functional data with one associated anatomical scan for each subject), you might be better off running fmriprep on your data.

If you have more exotic data that cannot be handled well by fmriprep then bidspm has some automated workflows to perform amongst other things:

  • remove dummies

  • slice timing correction

  • spatial preprocessing:

    • realignment OR realignm and unwarp
    • coregistration func to anat,
    • anat segmentation and skull stripping
    • (optional) normalization to SPM's MNI space
  • smoothing

All (well almost all) preprocessed outputs are saved as BIDS derivatives with BIDS compliant filenames.

Quality control

  • anatomical data (work in progress)
  • functional data (work in progress)
  • GLM auto-correlation check

Please see our documentation for more info.

Citation

bibtex @software{bidspm, author = {Gau, Rémi and Barilari, Marco and Battal, Ceren and Rezk, Mohamed and Collignon, Olivier and Gurtubay, Ane and Falagiarda, Federica and MacLean, Michèle and Cerpelloni, Filippo and Shahzad, Iqra and Nunes, Márcia and Caron-Guyon, Jeanne and Chouinard-Leclaire, Christine and Yang, Ying and Mattioni, Stefania and Van Audenhaege, Alice and Matuszewski, Jacek}, license = {GPL-3.0}, title = {{bidspm}}, url = {https://github.com/cpp-lln-lab/bidspm}, version = {4.0.0} }

Posters

Contributors

Thanks goes to these wonderful people.

(emoji key):

Alice Van Audenhaege
Alice Van Audenhaege

🐛 📓
Ane Gurtubay
Ane Gurtubay

💻 🎨
Ceren Battal
Ceren Battal

🐛 🖋 📖 💻 👀 📓
Christine Chouinard-Leclaire
Christine Chouinard-Leclaire

🤔 🐛
Daniel Huber
Daniel Huber

🐛 💻
Federica Falagiarda
Federica Falagiarda

🐛 📓
Filippo Cerpelloni
Filippo Cerpelloni

🐛 ⚠️ 📓
Iqra Shahzad
Iqra Shahzad

🐛 📖 💬 👀 📓
Jacek Matuszewski
Jacek Matuszewski

🐛 📓
Jeanne Caron-Guyon
Jeanne Caron-Guyon

🐛 💡 📓 💬
Manon Chateaux
Manon Chateaux

🐛
Marco Barilari
Marco Barilari

💻 🎨 👀 📖 ⚠️ 🐛 📓 🤔
Michèle MacLean
Michèle MacLean

💻 🤔 📓 🐛
Mohamed Rezk
Mohamed Rezk

💻 👀 🎨
Monique Denissen
Monique Denissen

🐛 💻
Márcia Nunes
Márcia Nunes

🐛
Olivier Collignon
Olivier Collignon

💻 🎨 📖 💵 🔍
Remi Gau
Remi Gau

💻 📖 🤔 🚇 🎨 👀 🐛 ⚠️ 🖋 🎨 🚧
Stefania Mattioni
Stefania Mattioni

🐛 📓
Ying Yang
Ying Yang

🐛 📓

This project follows the all-contributors specification. Contributions of any kind welcome!

Owner

  • Name: Crossmodal Perception and Plasticity laboratory
  • Login: cpp-lln-lab
  • Kind: organization
  • Location: Louvain la Neuve, Belgium

Citation (CITATION.cff)

cff-version: 1.2.0

title: bidspm

version: 4.0.0dev

abstract: bidspm is a set of pipelines and tools for Octave / MATLAB to process and
  analyze BIDS data sets using SPM12.

message: If you use this software, please cite it as below.

repository-code: https://github.com/cpp-lln-lab/bidspm

identifiers:
  - description: This is the collection of archived snapshots of all releases of bidspm
    type: doi
    value: 10.5281/zenodo.3554331
  - description: OHBM 2023 poster
    type: doi
    value: 10.5281/zenodo.8099835

contact:
  - affiliation: Université catholique de Louvain
    email: remi.gau2@mcgill.ca
    family-names: Gau
    given-names: Rémi

authors:
  - family-names: Van Audenhaege
    given-names: Alice
    affiliation: Université catholique de Louvain
    orcid: https://orcid.org/0000-0002-5276-8818

  - family-names: Gurtubay
    given-names: Ane
    orcid: https://orcid.org/0000-0003-3824-2219
    affiliation: Université catholique de Louvain

  - family-names: Battal
    given-names: Ceren
    orcid: https://orcid.org/0000-0002-9844-7630
    affiliation: Université catholique de Louvain

  - family-names: Chouinard-Leclaire
    given-names: Christine
    orcid: https://orcid.org/0000-0002-1066-6266
    affiliation: Université de Montréal

  - family-names: Huber
    given-names: Daniel
    affiliation: University of Innsbruck

  - family-names: Falagiarda
    given-names: Federica
    orcid: https://orcid.org/0000-0001-7844-1605
    affiliation: Université catholique de Louvain

  - family-names: Cerpelloni
    given-names: Filippo
    orcid: https://orcid.org/0000-0001-8070-5753
    affiliation: Université catholique de Louvain

  - family-names: Shahzad
    given-names: Iqra
    orcid: https://orcid.org/0000-0002-8724-7668
    affiliation: Université catholique de Louvain

  - family-names: Matuszewski
    given-names: Jacek
    affiliation: Université catholique de Louvain
    orcid: https://orcid.org/0000-0001-9752-3294

  - family-names: Caron-Guyon
    given-names: Jeanne
    orcid: https://orcid.org/0000-0001-8681-5267
    affiliation: Université catholique de Louvain

  - family-names: Barilari
    given-names: Marco
    orcid: https://orcid.org/0000-0002-3313-3120
    affiliation: Université catholique de Louvain

  - family-names: MacLean
    given-names: Michèle
    orcid: https://orcid.org/0000-0002-0174-9326
    affiliation: Université de Montréal

  - family-names: Rezk
    given-names: Mohamed
    orcid: https://orcid.org/0000-0002-1866-8645
    affiliation: Université catholique de Louvain

  - family-names: Denissen
    given-names: Monique


  - family-names: Nunes
    given-names: Márcia

  - family-names: Collignon
    given-names: Olivier
    orcid: https://orcid.org/0000-0003-1882-3550
    affiliation: Université catholique de Louvain

  - family-names: Gau
    given-names: Rémi
    orcid: https://orcid.org/0000-0002-1535-9767
    affiliation: Origami lab, McGill University, Montreal, Québec, Canada

  - family-names: Mattioni
    given-names: Stefania
    affiliation: University of Gent
    orcid: https://orcid.org/0000-0001-8279-6118

  - family-names: Yang
    given-names: Ying
    orcid: https://orcid.org/0000-0002-4157-2975
    affiliation: Université catholique de Louvain

license: GPL-3.0

keywords:
  - BIDS
  - brain imaging data structure
  - neuroimaging
  - automated pipeline
  - MRI
  - MATLAB
  - Octave
  - SPM

GitHub Events

Total
  • Issues event: 7
  • Watch event: 4
  • Delete event: 32
  • Issue comment event: 50
  • Push event: 37
  • Pull request review comment event: 5
  • Pull request review event: 34
  • Pull request event: 77
  • Fork event: 1
  • Create event: 34
Last Year
  • Issues event: 7
  • Watch event: 4
  • Delete event: 32
  • Issue comment event: 50
  • Push event: 37
  • Pull request review comment event: 5
  • Pull request review event: 34
  • Pull request event: 77
  • Fork event: 1
  • Create event: 34

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 46
  • Total pull requests: 121
  • Average time to close issues: 9 months
  • Average time to close pull requests: 12 days
  • Total issue authors: 9
  • Total pull request authors: 6
  • Average comments per issue: 1.85
  • Average comments per pull request: 0.56
  • Merged pull requests: 96
  • Bot issues: 0
  • Bot pull requests: 74
Past Year
  • Issues: 6
  • Pull requests: 33
  • Average time to close issues: 2 months
  • Average time to close pull requests: 19 days
  • Issue authors: 5
  • Pull request authors: 4
  • Average comments per issue: 0.33
  • Average comments per pull request: 0.97
  • Merged pull requests: 21
  • Bot issues: 0
  • Bot pull requests: 27
Top Authors
Issue Authors
  • Remi-Gau (29)
  • marcobarilari (10)
  • monique2208 (5)
  • JacMatu (3)
  • CerenB (2)
  • Yufeng-He-Javis (1)
  • yyang1234 (1)
  • karl-koschutnig (1)
Pull Request Authors
  • dependabot[bot] (58)
  • Remi-Gau (50)
  • pre-commit-ci[bot] (31)
  • allcontributors[bot] (3)
  • marcobarilari (3)
  • d-ni374 (1)
Top Labels
Issue Labels
bug :bug: (19) enhancement (5) preproc (5) low priority (4) stats (3) octave (2) CLI (2) docker :whale: (2) infrastructure :ladder: (1) documentation :page_facing_up: (1) high priority (1)
Pull Request Labels
dependencies (58) submodules (39) github_actions (19) demo (1) Windows :window: (1)

Dependencies

.github/workflows/faqtory.yml actions
  • actions/checkout v3 composite
  • juliangruber/read-file-action v1 composite
  • peter-evans/create-or-update-comment 5adcb0bb0f9fb3f95ef05400558bdb3f329ee808 composite
.github/workflows/run_tests_cli.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite
.github/workflows/run_tests_notebooks.yml actions
  • actions/checkout v3 composite
  • matlab-actions/run-command v1.1.2 composite
  • matlab-actions/setup-matlab v1.2.4 composite
.github/workflows/tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite
  • matlab-actions/run-command v1.1.2 composite
  • matlab-actions/setup-matlab v1.2.4 composite
.github/workflows/validation.yml actions
  • actions/checkout v3 composite
  • actions/checkout master composite
  • citation-file-format/cffconvert-github-action 2.0.0 composite
  • codespell-project/actions-codespell master composite
  • gaurav-nelson/github-action-markdown-link-check v1 composite
Dockerfile docker
  • bids/base_validator latest build
.github/workflows/tests_octave.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite
.github/workflows/tests_windows.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite
  • matlab-actions/run-command v1.2.1 composite
  • matlab-actions/setup-matlab v1.2.4 composite
docs/paper/requirements.txt pypi
  • ruamel.yaml *
pyproject.toml pypi
  • bsmschema *
  • rich *
  • rich-argparse *
binder/environment.yml pypi