DOI: 10.5281/zenodo.1205232
title: Ground Truth Recordings For Validation Of Spike Sorting Algorithms

description: <strong>Ground-truth recordings for validation of spike sorting algorithms</strong><br>
 

This datasets is composed of simultaneous loose patch recordings of Ganglion Cells in mice retina, combined with dense extra-cellular recordings (252 channels). The details of the dataset can be found here https://elifesciences.org/articles/34518

<strong>Probe layout</strong>

The probe layout can be found as mea_256.prb. This is a 16x16 Multi Electrode Array with 30um spacing. Only 252 channels are extra-cellular signals, and the 4 corners are devoted to triggers/sync/juxta.

<strong>Struture of the data</strong>

In this dataset, you will find several individual recordings, at max 5min long each (but please do not hesitate to contact us if interested by longer recordings). The extra-cellular data are saved as 16bits unsigned integer, with a variable offset at the beginning of the file. The value of this offset is given, for every datafile, in the additional text file (padding value (see following for more details)). The files have already been filtered with a Butterworth filter of order 3 with a cut-off frequency at 100Hz

<strong>Structure of a given dataset</strong>

Please read carefully the following to understand how to load and perform spike sorting with the data. In every .tar.gz file, you will find:


	 a jpg image, displaying a small chunk of the juxta-cellular signal (top left), with detected peaks and threshold. The extra-cellular spike triggered waveform, across all channels, for the juxta-spike times (top right). In the bottom, you can see the juxta-cellular spikes, for all the detected triggers (left), and on the right the voltage on the channel where the Spike Triggered Average of the extra-cellular waveform is peaking the most.
	a file .juxta.raw, as float32, with the juxta-cellular trace at 20kHz, no data offset
	a file .raw, as uint16, with the extra-cellular signals recorded for 256 channels at a sampling rate of 20kHZ. In fact, only 252 channels are extra-cellular signals, the 4 corners of the arrays are devoted to juxta-cellular and sync signals (see probe layout mea_256.prb)
	a file .triggers.npy containing the spike times of the juxta-cellular spikes, detected using a threshold of k.MAD. The exact value of k can vary on a per dataset basis, and is written in the .txt file (threshold)
	a .txt file describing some information for a given dataset, such as the threshold value used to detect the spikes, the channel in the raw file where the juxta-cellular signal is located, the minimal value of the peak for the STA (and on which channel it is located), and the header size to read the raw data
	a .params file, if you want to analyze the data with SpyKING CIRCUS


<strong>How to load the raw data in numpy</strong>

<pre><code class="language-python">#Using the offset value from the txt file, we can load the data with memmap arrays

data=numpy.memmap('mydata.raw', dtype='uint16', offset=offset, mode='r')
data=data.reshape(len(data)//256, 256)

#Then for example, to display the first second of channel 0
one_channel = data[:20000, 0].astype('float32')

#If we want to center data around 0
one_channel -= 2**15 - 1

#And if we want to display data in micro volt, we must use the gain factor of 0.1042 provided in the header
one_channel *= 0.1042</code></pre>
description: {"references": ["https://elifesciences.org/articles/34518"]}