pengchengu / herding-spikes

Software for high density multi-electrode array recordings.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Herding Spikes

Software for high density electrophysiology.

Sub-projects

  • onlineDetection: Online-capable spike detection, done independently on each recording channel.
  • interpolatingDetection: Spike detection with spatial interpolation. Returns cut-outs for detected events from multiple channels, which allows performing spike localisation.
  • postProcessing: Programs for removing duplicate events in spikes detected with the online method, and localise spikes detected with the interpolation method.
  • clustering: Perform spike sorting by location and PCA on interpolated data.
  • visualisationtool: A basic GUI tool for visualising and annotating sorted spikes.

How to use this software

If you are interested in using this software and have questions or problems, get in touch with us.

Fast and simple spike detection

The project onlineDetection provides an efficient and reliable algorithm for detecting spikes in single channels. Main features are a robust noise estimate based on signal percentiles rather than moments, and fast integer based computations allowing real-time performance even when recording 1000s of channels simultaneously. While originally developed for high density multielectrode arrays, we expect this to perform well on most extracellular recordings.

The current implementation in the master branch only reads 3Brain Brainwave files. You can switch to the 'detection-cpp' branch for a first working version that will accept any file format.

Spike sorting on large scale, high density multielectrode arrays

This process is fully automated, as manual inspection gets very time consuming for large-scale recordings. The following steps lead all the way from raw data to sorted units:

  1. Spike detection and spatial signal interpolation - currently runs in 0.1 * real time for 4000 channels, scales linearly with recording duration). Code is in the sub-project interpolatingDetection.

  2. Spatial event localisation, now has about real-time performance (scales linearly with event number). The relevant code is in the sub-project postProcessing.

  3. Clustering, code in clustering. This step is parallelised and extremely efficient, typical experiments with millions of spikes are clustered in minutes. The code also includes functions for noise removal and quality control.

These methods have for far only been tested with data recorded with the 3Brain Biocam, we would be keen to other data sets. Steps 1 and 2 would have to be adjusted for other systems, step 3 is already rather generic.

Contributors

References

J.-O. Muthmann, H. Amin, E. Sernagor, A. Maccione, D. Panas, L. Berdondini, U.S. Bhalla, M.H. Hennig MH (2015). Spike detection for large neural populations using high density multielectrode arrays. Front. Neuroinform. 9:28. doi: 10.3389/fninf.2015.00028.

G. Hilgen, M. Sorbaro, S. Pirmoradian, J.-O. Muthmann, I. Kepiro, S. Ullo, C. Juarez Ramirez, A. Maccione, L. Berdondini, V. Murino, D. Sona, F. Cella Zanacchi, U. Bhalla, E. Sernagor, M.H. Hennig (2016). Unsupervised spike sorting for large scale, high density multielectrode arrays. bioRxiv doi: http://dx.doi.org/10.1101/048645.

About

Software for high density multi-electrode array recordings.

License:GNU General Public License v2.0


Languages

Language:Python 45.1%Language:Jupyter Notebook 41.9%Language:C# 13.0%