/spikeinterface

A Python-based module for creating flexible and robust spike sorting pipelines.

Primary LanguagePythonMIT LicenseMIT

SpikeInterface: a unified framework for spike sorting

Latest Release latest release
Documentation latest documentation
License license
Build Status travis build status
Gitter
Codecov codecov

SpikeInterface is a Python framework designed to unify preexisting spike sorting technologies into a single code base.

With SpikeInterface, users can:

  • read/write many extracellular file formats.
  • pre-process extracellular recordings.
  • run many popular, semi-automatic spike sorters (also in Docker/Singularity containers).
  • post-process sorted datasets.
  • compare and benchmark spike sorting outputs.
  • compute quality metrics to validate and curate spike sorting outputs.
  • visualize recordings and spike sorting outputs.
  • export report and export toPhy
  • offer a powerful Qt-based viewer in separate package spikeinterface-gui <https://https://github.com/SpikeInterface/spikeinterface-gui>_
  • have some powerful sorting components to build your own sorter.

Please have a look at the eLife paper that describes in detail this project

You can also have a look at the spikeinterface-gui.

Documentation

All documentation for spikeinterface 0.93 can be found here.

Documentation of current API release 0.12.0 is here.

How to install spikeinteface

You can install the new spikeinterface version with pip:

pip install spikeinterface

To get the latest updates, you can install spikeinterface from sources:

git clone https://github.com/SpikeInterface/spikeinterface.git
cd spikeinterface
python setup.py install (or develop)
cd ..

Versions

spikeinterface version 0.90 > 0.93:

  • breaks backward compatibility with 0.10/0.11/0.12/0.13 series.
  • has been first released in July 2021 (0.90.0)
  • is not a meta-package anymore
  • it doesn't depend on spikeextractors/spiketoolkit/spikesorters/spikecomparison/spikewidgets anymore

To install the old spikeinterface API (version<0.90), you can use pip and point to the old version:

pip install spikeinterface==0.13

We strongly recommend using the new version.

Citation

If you find SpikeInterface useful in your research, please cite:

@article{buccino2020spikeinterface,
  title={SpikeInterface, a unified framework for spike sorting},
  author={Buccino, Alessio Paolo and Hurwitz, Cole Lincoln and Garcia, Samuel and Magland, Jeremy and Siegle, Joshua H and Hurwitz, Roger and Hennig, Matthias H},
  journal={Elife},
  volume={9},
  pages={e61834},
  year={2020},
  publisher={eLife Sciences Publications Limited}
}