Coder Social home page Coder Social logo

gretatuckute / gsn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cvnlab/gsn

0.0 0.0 0.0 929 KB

A toolbox for generative signal and noise modeling

License: BSD 3-Clause "New" or "Revised" License

Python 36.94% MATLAB 48.92% HTML 14.15%

gsn's Introduction

GSN (Generative Modeling of Signal and Noise)

image


GSN is a toolbox for accurately modeling signal and noise distributions in neural datasets. We provide both MATLAB and Python implementations.

GSN is detailed in the following paper:

Kay, K.N., Prince, J.S., Gebhart, T., Tuckute, G., Zhou, J., Naselaris, T., Schutt, H. Disentangling signal and noise in neural responses through generative modeling. bioRxiv (2024).

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 https://github.com/cvnlab/GSN.git

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

Python

To install:

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

Running the example scripts requires:

  • installing jupyter notebook or jupyter lab
  • cloning the GSN repository in order to get the example scripts located in examples:
pip install jupyterlab
git clone https://github.com/cvnlab/GSN.git

Code dependencies: see requirements.txt

Example scripts

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

(Python Example 1 - running GSN on a small dataset of 100 voxels x 200 conditions x 3 trials) https://github.com/cvnlab/GSN/blob/main/examples/example1.ipynb

(MATLAB Example 1 - running GSN on a small dataset of 100 voxels x 200 conditions x 3 trials) https://github.com/cvnlab/GSN/blob/main/matlab/examples/example1.m

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

These notebooks contain a full walkthrough of the process of loading an example dataset, estimating signal and noise distributions using GSN, examining voxel-level noise ceiling estimates, computing the eigenspectrum of both signal and noise covariance matrices, and estimating dimensionality of each.

Additional information

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

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

Change history

  • 2024/04/28 - Version 1.0 of GSN released. Accompanies the bioRxiv preprint.

[pre-release updates; early-stage testing]

  • 2024/02/25 - Completed port of matlab algorithmic changes to python.
  • 2024/01/05 - Major overhaul of GSN matlab functionality by incorporating the biconvex optimization procedure, other minor tweaks.
  • 2022/04/13 - Algorithmic changes to covariance estimation added.
  • 2022/04/08 - Initial python code version is completed.
  • 2022/04/06 - Initial matlab code version is completed.

gsn's People

Contributors

jacob-prince 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.