Skip to content

ablot/klusta

 
 

Repository files navigation

Klusta: automatic spike sorting up to 64 channels

Build Status codecov.io Documentation Status PyPI release GitHub release

klusta is an open source package for automatic spike sorting of multielectrode neurophysiological recordings made with probes containing up to a few dozens of sites.

We are also working actively on more sophisticated algorithms that will scale to hundreds/thousands of channels. This work is being done within the phy project, which is still experimental at this point.

Overview

klusta implements the following features:

  • Kwik: An HDF5-based file format that stores the results of a spike sorting session.
  • Spike detection (also known as SpikeDetekt): an algorithm designed for probes containing tens of channels, based on a flood-fill algorithm in the adjacency graph formed by the recording sites in the probe.
  • Automatic clustering (also known as Masked KlustaKwik): an automatic clustering algorithm designed for high-dimensional structured datasets.

GUI

You will need a GUI to visualize the spike sorting results.

We have developed two GUI programs with the same features:

  • KlustaViewa: older project, but widely used. This will be automatically installed if you follow the installation instructions below.
  • phy KwikGUI: newer project, scales to hundreds/thousands of channels, still experimental. You'll need to install phy and phy-contrib if you want to try the development version.

Both GUIs work with the same Kwik format.

Technical details

klusta is written in pure Python. The clustering code, written in Python and Cython, currently lives in another repository.

Quick install guide

Note: the installation instructions will be simplified soon.

The following instructions will install both klusta and the KlustaViewa GUI.

  1. Make sure that you have miniconda installed. You can choose the Python 3.5 64-bit version for your operating system (Linux, Windows, or OS X).

  2. Download the environment file:

  3. Open a terminal (on Windows, cmd, not Powershell) in the directory where you saved the file and type:

    conda install conda=3 --yes
    conda env create -n klusta -f environment-XXX.yml  # replace `XXX` by your system
    source activate klusta  # omit the `source` on Windows
    conda install numpy=1.8 --yes
  4. Done! Now, to use klusta and KlustaViewa, you have to first type source activate klusta in a terminal (omit the source on Windows), and then call klusta or klustaviewa. See the documentation for more details.

Updating the software

To get the latest version of the software, open a terminal and type:

source activate klusta  # omit the `source` on Windows
pip install klusta klustaviewa kwiklib --upgrade

Links

Credits

klusta is developed by Cyrille Rossant, Shabnam Kadir, Dan Goodman, Max Hunter, and Kenneth Harris, in the Cortexlab, University College London.

About

Automatic spike sorting up to 64 channels

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.7%
  • Other 0.3%