Dataset Open Access

Ground truth recordings for validation of spike sorting algorithms

Giulia LB Spampinato; Elric Esposito; Pierre Yger; Jens Duebel; Serge Picaud; Olivier Marre


DataCite XML Export

<?xml version='1.0' encoding='utf-8'?>
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.1/metadata.xsd">
  <identifier identifierType="DOI">10.5281/zenodo.1205233</identifier>
  <creators>
    <creator>
      <creatorName>Giulia LB Spampinato</creatorName>
      <affiliation>Institut de la Vision - INSERM URMS 968, France</affiliation>
    </creator>
    <creator>
      <creatorName>Elric Esposito</creatorName>
      <affiliation>Institut de la Vision - INSERM URMS 968, France</affiliation>
    </creator>
    <creator>
      <creatorName>Pierre Yger</creatorName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0003-1376-5240</nameIdentifier>
      <affiliation>Institut de la Vision - INSERM URMS 968, France</affiliation>
    </creator>
    <creator>
      <creatorName>Jens Duebel</creatorName>
      <affiliation>Institut de la Vision - INSERM URMS 968, France</affiliation>
    </creator>
    <creator>
      <creatorName>Serge Picaud</creatorName>
      <affiliation>Institut de la Vision - INSERM URMS 968, France</affiliation>
    </creator>
    <creator>
      <creatorName>Olivier Marre</creatorName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0002-0090-6190</nameIdentifier>
      <affiliation>Institut de la Vision - INSERM URMS 968, France</affiliation>
    </creator>
  </creators>
  <titles>
    <title>Ground truth recordings for validation of spike sorting algorithms</title>
  </titles>
  <publisher>Zenodo</publisher>
  <publicationYear>2018</publicationYear>
  <subjects>
    <subject>neuroscience, spike sorting, ground-truth, spyking circus</subject>
  </subjects>
  <dates>
    <date dateType="Issued">2018-03-22</date>
  </dates>
  <resourceType resourceTypeGeneral="Dataset"/>
  <alternateIdentifiers>
    <alternateIdentifier alternateIdentifierType="url">https://zenodo.org/record/1205233</alternateIdentifier>
  </alternateIdentifiers>
  <relatedIdentifiers>
    <relatedIdentifier relatedIdentifierType="DOI" relationType="IsVersionOf">10.5281/zenodo.1205232</relatedIdentifier>
  </relatedIdentifiers>
  <version>1.0</version>
  <rightsList>
    <rights rightsURI="http://creativecommons.org/licenses/by/4.0/legalcode">Creative Commons Attribution 4.0 International</rights>
    <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
  </rightsList>
  <descriptions>
    <description descriptionType="Abstract">&lt;p&gt;&lt;strong&gt;Ground-truth recordings for validation of spike sorting algorithms&lt;/strong&gt;&lt;br&gt;
&amp;nbsp;&lt;/p&gt;

&lt;p&gt;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 &lt;a href="https://elifesciences.org/articles/34518"&gt;https://elifesciences.org/articles/34518&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Probe layout&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Struture of the data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;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).&amp;nbsp;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)).&amp;nbsp;The files have already been filtered with a Butterworth filter of order 3 with a cut-off frequency at 100Hz&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Structure of a given dataset&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;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:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&amp;nbsp;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.&lt;/li&gt;
	&lt;li&gt;a file .juxta.raw, as float32, with the juxta-cellular trace at 20kHz, no data offset&lt;/li&gt;
	&lt;li&gt;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)&lt;/li&gt;
	&lt;li&gt;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)&lt;/li&gt;
	&lt;li&gt;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&lt;/li&gt;
	&lt;li&gt;a .params file, if you want to analyze the data with SpyKING CIRCUS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How to load the raw data in numpy&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-python"&gt;#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&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
    <description descriptionType="Other">{"references": ["https://elifesciences.org/articles/34518"]}</description>
  </descriptions>
</resource>
1,661
629
views
downloads
All versions This version
Views 1,6611,672
Downloads 629629
Data volume 847.2 GB847.2 GB
Unique views 1,4991,510
Unique downloads 264264

Share

Cite as