Digital signal processing for neural time series.


Keywords
neuroscience, neural oscillations, time series analysis, local field potentials, spectral analysis, time frequency analysis, electrophysiology
License
Apache-2.0
Install
pip install neurodsp==2.0.0

Documentation

Neuro Digital Signal Processing Toolbox

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Latest Version Build Status codecov License Supported Python Versions DOI

A package of tools to analyze and simulate neural time series, using digital signal processing.

Documentation

Documentation for the NeuroDSP module is available here.

The documentation also includes a set of tutorials describing each module in NeuroDSP, as well as a set of examples of applications of NeuroDSP.

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.5 to run.

It has the following dependencies:

  • numpy
  • scipy
  • matplotlib
  • pytest (optional)

We recommend using the Anaconda distribution to manage these requirements.

Install

Stable Release Version

To install the latest stable release, use pip:

$ pip install 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 .

Bug Reports

Please use the Github issue tracker to file bug reports and/or ask questions about this project.

Modules

Available modules in NeuroDSP include:

  • filt : Filter data with bandpass, highpass, lowpass, or notch filters
  • burst : Detect bursting oscillations in neural signals
  • rhythm : Find and analyze rhythmic and recurrent patterns in time series
  • spectral : Compute spectral domain features such as power spectra
  • timefrequency : Estimate instantaneous measures of oscillatory activity
  • sim : Simulate time series, including periodic and aperiodic signal components
  • plts : Plotting functions

Contribute

NeuroDSP welcomes and encourages contributions from the community!

If you have an idea of something to add to NeuroDSP, please start by opening an issue.

When writing code to add to NeuroDSP, please follow the Contribution Guidelines, and also make sure to follow our 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.
https://doi.org/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 = {http://joss.theoj.org/papers/10.21105/joss.01272},
	 doi = {10.21105/joss.01272},
}