Skip to main content

Spike detection and automatic clustering for spike sorting

Project description

# Klusta: automatic spike sorting up to 64 channels

[![Build Status](https://img.shields.io/travis/kwikteam/klusta.svg)](https://travis-ci.org/kwikteam/klusta) [![codecov.io](https://img.shields.io/codecov/c/github/kwikteam/klusta.svg)](http://codecov.io/github/kwikteam/klusta?branch=master) [![Documentation Status](https://readthedocs.org/projects/klusta/badge/?version=latest)](http://klusta.readthedocs.org/en/latest/) [![PyPI release](https://img.shields.io/pypi/v/klusta.svg)](https://pypi-hypernode.com/pypi/klusta) [![GitHub release](https://img.shields.io/github/release/kwikteam/klusta.svg)](https://github.com/kwikteam/klusta/releases/latest)

[klusta](https://github.com/kwikteam/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](https://github.com/kwikteam/phy), 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](https://github.com/kwikteam/phy) and [phy-contrib](https://github.com/kwikteam/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](https://github.com/kwikteam/klustakwik2/).

## 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](http://conda.pydata.org/miniconda.html) 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:

    `bash 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](http://cyrille.rossant.net), [Shabnam Kadir](https://iris.ucl.ac.uk/iris/browse/profile?upi=SKADI56), [Dan Goodman](http://thesamovar.net/), [Max Hunter](https://iris.ucl.ac.uk/iris/browse/profile?upi=MLDHU99), and [Kenneth Harris](https://iris.ucl.ac.uk/iris/browse/profile?upi=KDHAR02), in the [Cortexlab](https://www.ucl.ac.uk/cortexlab), University College London.

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

klusta-3.0.9.tar.gz (71.7 kB view details)

Uploaded Source

Built Distribution

klusta-3.0.9-py2.py3-none-any.whl (87.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file klusta-3.0.9.tar.gz.

File metadata

  • Download URL: klusta-3.0.9.tar.gz
  • Upload date:
  • Size: 71.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for klusta-3.0.9.tar.gz
Algorithm Hash digest
SHA256 5dc956984f7d46c13c516eff73d3c0939a00c9f826a749eb28ec2b8f0907e43b
MD5 019c4e167cac0f902b5f64c8bbc3b1a0
BLAKE2b-256 5026024c2279f1b2ef01da7b5ea1f352c4d4047dbaf856d36f63ee7c4ce2e917

See more details on using hashes here.

File details

Details for the file klusta-3.0.9-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for klusta-3.0.9-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c2f63019b2d639dade04cb3bb895dd0d9072120cb9df9d08ed3dbc0361d98c71
MD5 b15f6a28617a3bdc89ff27b7084c6556
BLAKE2b-256 e7fa7a322752fc865a60f66528104a942bf0f6ea1aa29a471d39a697f804c2af

See more details on using hashes here.

Supported by

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