Giter VIP home page Giter VIP logo

glmsingle's Introduction

GLMsingle

image


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

The GLMsingle preprint, which describes the technique in detail, is available on bioRxiv (https://www.biorxiv.org/content/10.1101/2022.01.31.478431v1).

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

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 demos requires:

  • jupyter notebook or jupyter lab.
pip install jupyterlab

Code dependencies: see requirements.txt

Notes:

  • Currently, numpy has a 4GB limit for the pickle files it writes; thus, GLMsingle will crash if the file outputs exceed that size. One workaround is to turn off "disk saving" and instead get the outputs of GLMsingle in your workspace and save the outputs yourself to HDF5 format.

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. Each notebook contains 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.

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:

Contributing

If you want to contribute to GLMsingle see the contributing documentation to help you know what is where and how to set things up.

Change history

  • 2021/10/12 - Version 1.0 of GLMsingle is now released. A git tag has been added to the repo.
  • 2021/05/21 - The core code is complete, but is in "beta" and we are generating tutorial examples of usage. The initial 1.0 release should be forthcoming.

glmsingle's People

Contributors

jacob-prince avatar jk619 avatar remi-gau avatar oliver-contier avatar iancharest avatar arokem avatar sethuramanio avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.