Home

Mini Project 3: spike detection and spike sorting

Background information

An extracellular electrode might record from two or three up to about
10 nearby neurons during a trial. Spike waveforms recorded from different
neurons may overlap in time and space, so some recorded waveforms will be difficult
to associate with their source neuron. This is known as the spike sorting problem.

The spike sorting pipeline typically proceeds in four stages:
  • data filtering
  • threshold spike detection
  • feature extraction
  • clustering


    Image: Einevoll et al. (2012),
    Towards reliable spike-train recordings from thousands of neurons with multielectrodes,
    Current Opinion in Neurobiology
    Also see: spike.g-node.org

  • Spike sorting software that may work well for Neuropixels data:
  • Kilosort wiki
  • Kilosort 1
  • Kilosort 2
  • JRCLUST (Janelia Rocket Clust)
  • SpyKING CIRCUS at yger.net
  • SpyKING CIRCUS docs

    SpikeX spike sorting software

    I implemented SpikeX with Matlab to visualise ephys data and test
    various methods for spike sorting. Data that includes intracellular
    recording ("ground truth") was used to validate SpikeX.
  • Henze, et al. Simultaneous intracellular and extracellular
    recordings from hippocampus region CA1 of anesthetized rats (2009).
    CRCNS.org. http://dx.doi.org/10.6080/K02Z13FP

    The data consists of simultaneous intracellular and extracellular
    recordings in the hippocampus of anesthetized rats. Experimental
    procedures and major results are described in:
  • Henze et al, J. Neurophysiology 84, 390-400 (2000).
  • Harris et al, J. Neurophysiology 84, 401-414 (2000).

    Data source: Buszaki Lab
    Data details: about the hc-1 data set at CRCNS
    Data may be downloaded from: CRCNS download

    Data was recorded by tertrodes or silicon probes.
  • For tetrodes there are 4 extracellular channels.
  • For silicon probes (2 shanks by 6 channels each) see the IntraExtra.xls file.
    The order is indicated for one shank, remaining channels form the other shank.
    [http://crcns.org/data-sets/hc/hc-1/about]

    Preliminary test results.

    SpikeX tested methods such as PCA and kmeans for spike sorting.

    SpikeX tested neural networks for spike detection.

    Neural networks (NNs) have been used successfully for image classification and
    speech recognition. However, they are also known for wildly incorrect classification
    of some inputs. This means that NNs are not well matched to problems where the cost of
    classification errors is high, or where classifications must be explained (e.g. why
    was the input classified as an Ostrich?). And they are not well suited for detecting
    when an input does not belong to any known class ... this is a problem because
    NNs work by detecting similarities between training examples and new data, not differences.

    So, although NNs can appear to work well on some tasks, deceptively well in some cases,
    they might be the wrong method for spike detection. In the slightly broader context of
    spike sorting, where might NNs be useful?

    Test results.

    Results 2: the NN can be confused by similar waveform classes
    after training.

    Results 3: the NN may, with high confidence, falsely recognize
    a new class of waveform.