Skip navigation.
Home

Spike sorting

Amplitude vs location in MEA data
MEA

Multi-electrode arrays record a voltage trace from each electrode. The signals picked up are usually superpositions of extracellular electrical activity of several nearby neurons, and each neuron will likely contribute to signals on more than one neighboring electrode. Whenever the raw voltage crosses a threshold, we can plot the x-y position on the array where the crossing has occurred, and the amplitude of the crossing, shown on the z axis. There is a lot of structure in these data – signals from the array cluster into groups.

 

Spike sorting is a data analysis technique that takes these raw signals and answers the question “Who spiked where and when?” The result of the spike sorting is a list of neurons that left a strong signal on the array, and for each neuron, its spike times. First, we look for spikes of voltage on the array; if a threshold is crossed, we crop out a short complete trace of signals on all electrodes. These traces, represented as high dimensional vectors, are then clustered for similarity. Below, an example of such clustering is shown: each column is a vector of voltages across the electrodes and several consecutive time points; the clustering has arranged these vectors along the x-axis so that similar ones are closer together.

Clustering of multi-electrode data
spikes

 

Having obtained clusters, i.e. signatures or “templates” of each neuron firing, on a restricted subset of data, we can now go back to the full dataset and fit every threshold crossing in the raw signal as the superposition of several these templates, occurring with variable amplitude and at slightly different times. Below you can see an example of such a fit: four traces in the lower row show raw voltage on the 4 electrodes (black) and the fit (blue). The fit is the sum of 3 neurons (blue, black, green) firing together: each of them causes a signal on each of the 4 electrodes, shown in the upper row.

 

Fitting templates

overlaps

AttachmentSize
Spike Sorting Code [ If you use this code or modifications of it please cite Prentice JS, Homann J, Simmons KD, Tkacik G, Balasubramanian V, Nelson P. 2011. Fast, Scalable, Bayesian Spike Idetification for Multi-Electrode Arrays. PLoS ONE, 6(7) ]113.7 KB