Software for high density electrophysiology.

Herding Spikes

detected spikes


This project provides algorithms for neuronal spike detection and sorting, specifically optimised for high-density recording platforms. The following components are available, which can be used in isolation or as part of a workflow to obtain single units from raw data:

  1. Fast spike detection, performed independently on each recording channel. The method achieves better (>1.5-fold) than real-time performance for 4,096 channels on a single CPU. Multi-threaded and GPGPU implementations are also available, with peak performance 6.5 x real-time.

  2. An interpolating method for improved spike detection. Since spikes on dense arrays are typically recorded on several channels, detection performance can be improved, and yield increased, interpolating raw data across channels using different spatial templates. This method currently performs with 1/4 x real time, a parallelised version is under development.

  3. Spatial spike localisation, exploiting the spatial signal spread across recording channels. This procedure allows the analysis of structures at a higher resolution than that provided by the array, and also provides a low-dimensional event description for spike sorting.

  4. Spike sorting, based on a combination of spike locations and the traditional waveform features. This method is extremely efficient, scales linearly with the number of events in most cases. On a multi-core computer, millions of spikes can be sorted within a few minutes.

  5. Data visualization, providing a tool for analysis of spike sorted data, and methods for spatio-temporal analysis of population activity.


All source code, along with documentation, is available in this github repository.

Please get in touch if you plan to use this software.


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:

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.