All Projects → bids-standard → bids-matlab

bids-standard / bids-matlab

Licence: GPL-3.0 license
MATLAB / Octave tools for BIDS datasets

Programming Languages

matlab
3953 projects
shell
77523 projects

Projects that are alternatives of or similar to bids-matlab

mne-bids
MNE-BIDS is a Python package that allows you to read and write BIDS-compatible datasets with the help of MNE-Python.
Stars: ✭ 88 (+137.84%)
Mutual labels:  meg, eeg, neuroimaging, bids, ieeg
bidscoin
BIDScoin converts your source-level neuroimaging data to BIDS
Stars: ✭ 75 (+102.7%)
Mutual labels:  mri, pet, neuroimaging, bids
Mne Python
MNE: Magnetoencephalography (MEG) and Electroencephalography (EEG) in Python
Stars: ✭ 1,766 (+4672.97%)
Mutual labels:  meg, eeg, neuroimaging
hnn
The Human Neocortical Neurosolver (HNN) is a software tool that gives researchers/clinicians the ability to develop/test hypotheses on circuit mechanisms underlying EEG/MEG data.
Stars: ✭ 62 (+67.57%)
Mutual labels:  meg, eeg
aperture
Matlab toolbox for univariate and multivariate analysis of EEG data in the time and frequency domains
Stars: ✭ 15 (-59.46%)
Mutual labels:  meg, eeg
pybv
A lightweight I/O utility for the BrainVision data format, written in Python.
Stars: ✭ 18 (-51.35%)
Mutual labels:  eeg, ieeg
Eelbrain
eelbrain.readthedocs.io
Stars: ✭ 38 (+2.7%)
Mutual labels:  meg, eeg
openmeeg
A C++ package for low-frequency bio-electromagnetism solving forward problems in the field of EEG and MEG.
Stars: ✭ 62 (+67.57%)
Mutual labels:  meg, eeg
bids-examples
A set of BIDS compatible datasets with empty raw data files that can be used for writing lightweight software tests.
Stars: ✭ 127 (+243.24%)
Mutual labels:  neuroimaging, bids
brainGraph
Graph theory analysis of brain MRI data
Stars: ✭ 136 (+267.57%)
Mutual labels:  mri, neuroimaging
gifti
MATLAB/Octave GIfTI Library
Stars: ✭ 16 (-56.76%)
Mutual labels:  octave, neuroimaging
hnn-core
Simulation and optimization of neural circuits for MEG/EEG source estimates
Stars: ✭ 24 (-35.14%)
Mutual labels:  meg, eeg
bidskit
Utility functions for working with DICOM and BIDS neuroimaging data
Stars: ✭ 52 (+40.54%)
Mutual labels:  mri, neuroimaging
mnelab
MNELAB – a GUI for MNE
Stars: ✭ 147 (+297.3%)
Mutual labels:  meg, eeg
Dcm2Bids
Reorganising NIfTI files from dcm2niix into the Brain Imaging Data Structure
Stars: ✭ 109 (+194.59%)
Mutual labels:  neuroimaging, bids
connectomemapper3
Connectome Mapper 3 is a BIDS App that implements full anatomical, diffusion, resting/state functional MRI, and recently EEG processing pipelines, from raw T1 / DWI / BOLD , and preprocessed EEG data to multi-resolution brain parcellation with corresponding connection matrices.
Stars: ✭ 45 (+21.62%)
Mutual labels:  eeg, bids
Fieldtrip
The MATLAB toolbox for MEG, EEG and iEEG analysis
Stars: ✭ 481 (+1200%)
Mutual labels:  eeg, neuroimaging
Hitchhackers guide brain
A list of tutorials and other resources useful to learn open science and neuroimaging, EEG and MEG
Stars: ✭ 85 (+129.73%)
Mutual labels:  eeg, neuroimaging
ENIGMA
The ENIGMA Toolbox is an open-source repository for accessing 100+ ENIGMA statistical maps, visualizing cortical and subcortical surface data, and relating neuroimaging findings to micro- and macroscale brain organization. 🤠
Stars: ✭ 66 (+78.38%)
Mutual labels:  mri, neuroimaging
python-meegkit
🔧🧠 MEEGkit: MEG & EEG processing toolkit in Python 🧠🔧
Stars: ✭ 99 (+167.57%)
Mutual labels:  meg, eeg

Build Status Binder View bids-matlab on File Exchange DOI All Contributors

BIDS for MATLAB / Octave

This repository aims at centralising MATLAB/Octave tools to interact with datasets conforming to the BIDS (Brain Imaging Data Structure) format.

For more information about BIDS, visit https://bids.neuroimaging.io/.

Join our chat on the BIDS-MATLAB channel on the brainhack mattermost and our google group.

See also PyBIDS for Python and the BIDS Starter Kit.

Installation

Download, unzip this repository and add its content to the MATLAB/Octave path.

unzip('https://github.com/bids-standard/bids-matlab/archive/master.zip');
addpath('bids-matlab-master');

Or clone it with git:

git clone https://github.com/bids-standard/bids-matlab.git

and then add it to your MATLAB/Octave path.

addpath('bids-matlab');

Get the latest features

The latest features of bids-matlab that are in development are in our dev "branch".

To access them you can either download the dev branch from there: https://github.com/bids-standard/bids-matlab/tree/dev

Or you can check it out the dev branch after the adding this official bids-matlab repository as a remote.

git add remote upstream https://github.com/bids-standard/bids-matlab.git
git checkout upstream/dev

Features

What this toolbox can do

  • read the layout of a BIDS dataset (see bids.layout),

  • perform queries on that layout to get information about the subjects, sessions, runs, modalities, metadata... contained within that dataset (see bids.query),

  • parse the layout of "BIDS-derivative compatible" datasets (like those generated by fMRIprep),

  • create BIDS compatible filenames or folder structures for raw or derivatives datasets (bids.File, bids.util.mkdir, bids.dataset_description),

  • do basic copying of files to help initialize a derivative dataset to start a new analysis (bids.copy_to_derivative),

  • generate a human readable report of the content of BIDS data set containing anatomical MRI, functional MRI, diffusion weighted imaging, field map data (see bids.report)

  • read and write JSON files (see bids.util.jsondecode and bids.util.jsonwrite) provided that the right dependencies are installed,

  • read and write TSV files (see bids.util.tsvread and bids.util.tsvwrite)

  • access and query the BIDS schema (bids.schema)

The behavior of this toolbox assumes that it is interacting with a valid BIDS dataset that should have been validated using BIDS-validator. If the Node.js version of the validator is installed on your computer, you can call it from the matlab prompt using bids.validate. Just be aware that any unvalidated components may produce undefined behavior. Although, if you're BIDS-y enough, the behavior may be predictable.

What this toolbox cannot do... yet

  • generate human readable reports of the content of BIDS data with EEG, MEG, iEEG, physio and events data,
  • deal with some of the incoming BIDS extensions (BIDS model...)

What will this toolbox most likely never do

  • act as a Matlab / Octave based BIDS-validator
  • act as a BIDS converter
  • implement reading / writing capabilities for the different modality-specific data format that exist in BIDS (.nii, .eeg, .ds, .fif...)

Usage

BIDS matlab is structured as package, so you can easily access functions in subfolders that start with +.

To use the +bids/layout.m function:

BIDS = bids.layout('/home/data/ds000117');
bids.query(BIDS, 'subjects')

To use the +bids/+util/jsondecode.m function:

content = bids.util.jsondecode('/home/data/some_json_file.json');

A tutorial is available as a Jupyter Notebook and can be run interactively via Binder.

Requirements

BIDS-MATLAB works with:

  • Octave 5.2.0 or newer
  • MATLAB R2014a or newer

We aim for compatibility with the latest stable release of Octave at any time. Compatibility can sometimes also be achieved with older versions of Octave but this is not guaranteed.

Reading and writing JSON files

If you are using MATLAB R2016b or newer, nothing else needs to be installed.

If you are using MATLAB R2016a or older, or using Octave, you need to install a supported JSON library for your MATLAB or Octave. This can be any of:

Implementation

Starting point was spm_BIDS.m from SPM12 (documentation) reformatted in a +bids package with dependencies to other SPM functions removed.

Other tools (MATLAB only)

Contributors

Thanks goes to these wonderful people (emoji key):


Guillaume

💻 🎨 📖 💡 🤔 🚇 🚧 💬 👀 ⚠️

Remi Gau

💻 🎨 📖 💡 🤔 🚧 💬 👀 ⚠️

Andrew Janke

💻 🎨 📖 🤔 👀 🚇

tanguyduval

💻 📖 🤔

Robert Oostenveld

💻 📖 🤔 👀

Christopher Madan

🖋

Julia Guiomar Niso Galán

👀

Michał Szczepanik

🚇 🤔 💻

Henk Mutsaerts

💻 🤔

Nikita Beliy

💻 🤔 👀

Martin Norgaard

🐛 🤔

Cyril Pernet

💻 🤔

Christophe Phillips

🤔

CerenB

👀

marcobarilari

👀

Michèle MacLean

🐛

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].