Skip to main content

Python toolkit for analysis, visualization, and comparison of spike sorting output

Project description

SpikeInterface: a unified framework for spike sorting

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

Twitter Mastodon

Please Star the project to support us and Watch to always stay up-to-date!

SpikeInterface is a Python package designed to unify preexisting spike sorting technologies into a single code base. If you use SpikeInterface, you are also using code and ideas from many other projects. Our codebase would be tiny without the amazing algorithms and formats that we interface with. See them all, and how to cite them, on our references page. In the past year, we have added support for the following tools:

If you would like us to add another tool, or you would like to integrate your project with our package, please open an issue.

With SpikeInterface, users can:

  • read/write many extracellular file formats.
  • pre-process extracellular recordings.
  • run many popular, semi-automatic spike sorters (kilosort1-4, mountainsort4-5, spykingcircus, tridesclous, ironclust, herdingspikes, yass, waveclus)
  • run sorters developed in house (lupin, spkykingcicus2, tridesclous2, simple) that compete with kilosort4
  • run theses polar sorters without installation using containers (Docker/Singularity).
  • post-process sorted datasets using th SortingAnalyzer
  • compare and benchmark spike sorting outputs.
  • compute quality metrics to validate and curate spike sorting outputs.
  • visualize recordings and spike sorting outputs in several ways (matplotlib, sortingview, jupyter, ephyviewer)
  • export a report and/or export to phy
  • curate your sorting with several strategies (ml-based, metrics based, manual, ...)
  • offer a powerful Qt-based or we-based viewer in a separate package spikeinterface-gui for manual curation that replace phy.
  • have powerful sorting components to build your own sorter.
  • have a full motion/drift correction framework

Documentation

Detailed documentation of the latest PyPI release of SpikeInterface can be found here.

Detailed documentation of the development version of SpikeInterface can be found here.

Several tutorials to get started can be found in spiketutorials.

Checkout our YouTube channel for video tutorials: SpikeInterface YouTube Channel.

There are also some useful notebooks on our blog that cover advanced benchmarking and sorting components.

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

How to install spikeinterface

You can install the latest version of spikeinterface version with pip (using quotes ensures pip install works in all terminals/shells):

pip install "spikeinterface[full]"

The [full] option installs all the extra dependencies for all the different sub-modules.

To install all interactive widget backends, you can use:

 pip install "spikeinterface[full,widgets]"

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

git clone https://github.com/SpikeInterface/spikeinterface.git
cd spikeinterface
pip install -e .
cd ..

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}
}

Please also cite other relevant papers for the specific components you use. For a full list of references, please check the references page.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spikeinterface-0.104.2.tar.gz (907.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spikeinterface-0.104.2-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file spikeinterface-0.104.2.tar.gz.

File metadata

  • Download URL: spikeinterface-0.104.2.tar.gz
  • Upload date:
  • Size: 907.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for spikeinterface-0.104.2.tar.gz
Algorithm Hash digest
SHA256 34f9ab344737548619c27d293a34f812b9649947ec239dc31434d9d9734eaf91
MD5 9013741ecc4cf65a925fa2b7ba7d33bb
BLAKE2b-256 f4d576f8aac4bd4fccb32e70bb1765c523fb6904559f1946ec3b30aec66a7bfa

See more details on using hashes here.

File details

Details for the file spikeinterface-0.104.2-py3-none-any.whl.

File metadata

File hashes

Hashes for spikeinterface-0.104.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1c955ce2d433c69f25458d9e678c07a1bfbbc898e83d91a172e2405ee06a8937
MD5 590e6785d1f26933f398cd3c2f7e046e
BLAKE2b-256 20342c83d15edc183676b0e6f21aaec60fcdf0e690199ace7865099dc13b8d21

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page