Neuro Digital Signal Processing Toolbox
Tools to analyze and simulate neural time series, using digital signal processing.
Overview
neurodsp is a collection of approaches for applying digital signal processing to neural time series, including algorithms that have been proposed for the analysis of neural time series. It also includes simulation tools for generating plausible simulations of neural time series.
Available modules in NeuroDSP
include:
filt
: Filter data with bandpass, highpass, lowpass, or notch filtersburst
: Detect bursting oscillations in neural signalsrhythm
: Find and analyze rhythmic and recurrent patterns in time seriesspectral
: Compute spectral domain features such as power spectratimefrequency
: Estimate instantaneous measures of oscillatory activitysim
: Simulate time series, including periodic and aperiodic signal componentsplts
: Plotting functions
Documentation
Documentation for the NeuroDSP
module is available here.
The documentation includes:
- Tutorials: which describe and work through each module in NeuroDSP
- Examples: demonstrating example applications and workflows
- API List: which lists and describes all the code and functionality available in the module
- Glossary: which defines all the key terms used in the module
If you have a question about using NeuroDSP that doesn't seem to be covered by the documentation, feel free to open an issue and ask!
Dependencies
NeuroDSP
is written in Python, and requires Python >= 3.6 to run.
It has the following dependencies:
Optional dependencies:
- pytest is needed if you want to run the test suite locally
We recommend using the Anaconda distribution to manage these requirements.
Install
The current major release of NeuroDSP is the 2.X.X series.
See the changelog for notes on major version releases.
Stable Release Version
To install the latest stable release, you can use pip:
$ pip install neurodsp
NeuroDSP can also be installed with conda, from the conda-forge channel:
$ conda install -c conda-forge neurodsp
Development Version
To get the current development version, first clone this repository:
$ git clone https://github.com/neurodsp-tools/neurodsp
To install this cloned copy, move into the directory you just cloned, and run:
$ pip install .
Editable Version
To install an editable version, download the development version as above, and run:
$ pip install -e .
Contribute
This project welcomes and encourages contributions from the community!
To file bug reports and/or ask questions about this project, please use the Github issue tracker.
To see and get involved in discussions about the module, check out:
- the issues board for topics relating to code updates, bugs, and fixes
- the development page for discussion of potential major updates to the module
When interacting with this project, please use the contribution guidelines and follow the code of conduct.
Reference
If you use this code in your project, please cite:
Cole, S., Donoghue, T., Gao, R., & Voytek, B. (2019). NeuroDSP: A package for
neural digital signal processing. Journal of Open Source Software, 4(36), 1272.
DOI: 10.21105/joss.01272
Direct Link: https://doi.org/10.21105/joss.01272
Bibtex:
@article{cole_neurodsp:_2019,
title = {NeuroDSP: A package for neural digital signal processing},
author = {Cole, Scott and Donoghue, Thomas and Gao, Richard and Voytek, Bradley},
journal = {Journal of Open Source Software},
year = {2019},
volume = {4},
number = {36},
issn = {2475-9066},
url = {https://joss.theoj.org/papers/10.21105/joss.01272},
doi = {10.21105/joss.01272},
}
Funding
Supported by NIH award R01 GM134363 from the NIGMS.