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 Binder

A package of tools to process, analyze, and simulate neural recordings as individual voltage time series, with specific focus on time and frequency domain analyses.

Documentation

Documentation for the NeuroDSP module is available here.

The documentation also includes a full set of tutorials covering the functionality 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
  • scikit-learn
  • pandas
  • pytest (optional)

We recommend using the Anaconda distribution to manage these requirements.

Install

Stable Version

To install the latest release of neurodsp, you can install from pip:

$ pip install neurodsp

Development Version

To get the development version (updates that are not yet published to pip), you can clone this repo.

$ git clone https://github.com/neurodsp-tools/neurodsp

To install this cloned copy of neurodsp, move into the directory you just cloned, and run:

$ pip install .

Editable Version

If you want to install an editable version, for making contributions, 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

NeuroDSP includes the following modules:

  • filt : Filter data with bandpass, highpass, lowpass, or notch filters
  • burst : Detect bursting oscillations in neural signals
  • laggedcoherence : Estimate rhythmicity using the lagged coherence measure
  • spectral : Compute spectral domain features such as power spectra
  • swm : Identify recurrent patterns in signals using sliding window matching
  • timefrequency : Estimate instantaneous measures of oscillatory activity
  • sim : Simulate periodic and aperiodic signal components
  • plts : Plotting functions

Contribute

NeuroDSP welcomes and encourages contributions from the community, as long as contributors follow the Code of Conduct.

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.