koerding / spykes

Tools for spike data analysis and visualization

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

spykes

License Join the chat at https://gitter.im/KordingLab/spykes

Almost any electrophysiology study of neural spiking data relies on a battery of standard analyses. Raster plots and peri-stimulus time histograms aligned to stimuli and behavior provide a snapshot visual description of neural activity. Similarly, tuning curves are the most standard way to characterize how neurons encode stimuli or behavioral preferences. With increasing popularity of population recordings, maximum-likelihood decoders based on tuning models are becoming part of this standard.

Yet, virtually every lab relies on a set of in-house analysis scripts to go from raw data to summaries. We want to improve this status quo in order to enable easier sharing, better reproducibility and fewer bugs.

Spykes is a collection of Python tools to make the visualization and analysis of neural data easy and reproducible.

At present, spykes comes with three classes:

  • NeuroVis helps you plot beautiful spike rasters and peri-stimulus time histograms (PSTHs).
  • PopVis helps you plot population summaries of PSTHs as normalized averages or heat maps.
  • NeuroPop helps you estimate tuning curves of neural populations and decode stimuli from population vectors with maximum-likelihood decoding.

Spykes deliberately does not aim to provide tools for spike sorting or file i/o with popular electrophysiology formats, but only aims to fill the missing niche for neural data analysis and easy visualization. For file i/o, see Neo and OpenElectrophy. For spike sorting, see Klusta.

Documentation, tutorials and examples are coming soon! Check out the notebooks for now.

Installation

Clone the repository.

$ git clone http://github.com/KordingLab/spykes

Install spykes using pip as follows

$ cd spykes
$ pip install -e ./

How to use NeuroVis?

See:

How to use PopVis?

See:

How to use NeuroPop?

See:

Dependencies

Already distributed with Anaconda and Canopy.

  • NumPy >= 1.6.1
  • SciPy >= 0.14
  • Matplotlib >= 1.5

We also use Numba to optimize certain functions. We recommend the latest stable version (>= 0.26.0).

$ pip install numba

Datasets

The example notebooks use two real datasets. Instructions for downloading these datasets are included in the notebooks. We recommend deepdish for reading the HDF5 datafile.

Authors

Acknowledgments

About

Tools for spike data analysis and visualization

License:MIT License


Languages

Language:Jupyter Notebook 98.9%Language:Python 1.1%