cvnlab / GLMsingle

A toolbox for accurate single-trial estimates in fMRI time-series data
BSD 3-Clause "New" or "Revised" License
93 stars 42 forks source link

GLMsingle

image


GLMsingle is a toolbox for obtaining accurate single-trial estimates in fMRI time-series data. We provide both MATLAB and Python implementations.

GLMsingle is detailed in the following paper:

Prince, J.S., Charest, I., Kurzawski, J.W., Pyles, J.A., Tarr, M., Kay, K.N. Improving the accuracy of single-trial fMRI response estimates using GLMsingle. eLife (2022).

For additional documentation and FAQ on GLMsingle, please see: https://glmsingle.readthedocs.io

For a lecture overview, implementation guide, and demo of GLMsingle, please see: https://cbmm.mit.edu/video/glmsingle-toolbox-improving-single-trial-fmri-response-estimates

For a video walkthrough of the figure outputs from GLMsingle, please see: https://www.youtube.com/watch?v=aZFh-YUZUYE

GLMsingle can be viewed as a wholesale replacement of its predecessor, GLMdenoise (http://github.com/kendrickkay/GLMdenoise).

If you have questions or discussion points, please use the Discussions feature of this github repository. If you find a bug, please let us know by raising a github Issue.

MATLAB

To install:

git clone --recurse-submodules https://github.com/cvnlab/GLMsingle.git

This will also clone fracridge as a submodule.

To use the GLMsingle toolbox, add it and fracridge to your MATLAB path by running the setup.m script.

Python

To install:

pip install git+https://github.com/cvnlab/GLMsingle.git

Running the example scripts requires:

pip install jupyterlab
git clone --recurse-submodules https://github.com/cvnlab/GLMsingle.git

Code dependencies: see requirements.txt

Notes:

Example scripts

We provide a number of example scripts that demonstrate usage of GLMsingle. You can browse these example scripts here:

(Python Example 1 - event-related design) https://htmlpreview.github.io/?https://github.com/kendrickkay/GLMsingle/blob/main/examples/example1.html

(Python Example 2 - block design) https://htmlpreview.github.io/?https://github.com/kendrickkay/GLMsingle/blob/main/examples/example2.html

(MATLAB Example 1 - event-related design) https://htmlpreview.github.io/?https://github.com/kendrickkay/GLMsingle/blob/main/matlab/examples/example1preview/example1.html

(MATLAB Example 2 - block design) https://htmlpreview.github.io/?https://github.com/kendrickkay/GLMsingle/blob/main/matlab/examples/example2preview/example2.html

If you would like to run these example scripts, the Python versions are available in /GLMsingle/examples, and the MATLAB versions are available in /GLMsingle/matlab/examples.

The first two notebooks contain a full walkthrough of the process of loading an example dataset and design matrix, estimating neural responses using GLMsingle, estimating the reliability of responses at each voxel, and comparing those achieved via GLMsingle to those achieved using a baseline GLM.

The remaining notebooks illustrate a number of other analyses that may be useful for the user to browse.

Additional information

Terms of use: This content is licensed under a BSD 3-Clause License.

If you use GLMsingle in your research, please cite the following paper:

Change history