Dataset: simultaneous recording with two Neuropixels electrode arrays

Recording, data processing, and documentation by Nick Steinmetz, nick[dot]steinmetz@gmail, in the CortexLab at UCL. Cite this dataset.

Many thanks to: Marius Pachitariu, Cyrille Rossant, Max Hunter, Chris Burgess, Matteo Carandini, and Kenneth Harris.

Please feel free to email me - N. Steinmetz - with any questions or comments.

About this dataset

Files are located here; description of these files is below and within the provided matlab script.

Two "Phase3" Neuropixels electrode arrays were inserted into the brain of an awake, head-fixed mouse for about an hour and a half. These electrode arrays recorded 384 channels of neural data each at 30kHz and <7µV RMS noise levels; see Lopez et al. 2016 for further technical details. The sites are densely spaced in a "continuous tetrode"-like arrangement, and a whole array records from a 3.8mm span of the brain. One array (referred to in the files as "posterior") recorded from visual cortex, hippocampus, visual thalamus, and some other part(s) of thalamus; the other array ("frontal") recorded from motor cortex and striatum. Their approximate positions are indicated by green and red lines on atlas sections in the image below, left. The data were spike-sorted automatically by Kilosort (software by M. Pachitariu) and manually by N. Steinmetz using Phy (manual phase; software by C. Rossant). In total 831 well-isolated individual neurons were identified.

In addition to neural data, a movie of the eye of the mouse was acquired at 100Hz and a movie of the frontal aspect (face, forearms, anterior trunk) was recorded at 40Hz. The mouse's forepaws rested on a wheel that could move left or right, and the movements of this wheel were recorded. Auditory and olfactory information was not recorded and the mouse was not guaranteed to be in silence or in an odor-free environment.

Raw data files available upon request.

The experiments that were run

During the first phase of the recording, the mouse was shown various types of visual stimuli (described below) on three monitors placed around the mouse at right angles to each other, covering about +/-135 degrees azimuth and +/-35 degrees elevation. During the second phase of the recording, the monitors were turned off and the mouse was in complete or nearly-complete darkness.

Experiment 1: Large flashed bars

Bars consisted of a side-by-side black and white bar on grey background with alternating phase over time. Bars were vertical at each of 9 different azimuth positions covering the entire vertical extent (conditions 1-9); or were horizontal at each of 3 different elevation positions covering the entire horizontal extent (conditions 10-12). There was also a blank condition (13). Bars flashed at 4Hz for 2 seconds each.

The data file experiment1stimInfo contains stimStarts, the onset of each stimulus; stimStops, the offset; and stimIDs, the condition number of each stimulus as described above. Units are in seconds, same timebase as the spikes.

In this and subsequent experiments, the "Protocol" struct has more details of the parameters of each condition, see fields "parnames", "pardefs", and "pars".

Experiment 2: Full-field oriented drifting gratings

Sine-wave modulated full-field drifting gratings of 16 drift directions (0:22.5:337.5) with 2Hz temporal frequency and 0.08 cycles/degree spatial frequency displayed for 1.5 seconds (conditions 1-16) plus a blank condition (17).

The data file experiment2stimInfo as above.

Experiment 3: Sparse noise stimuli for receptive field mapping

8 degree squares were displayed at random times for 1/6 of a second on each vertex of a 9x34 grid with 8 degree spacing covering the whole extent of the monitors. Background was grey and squares could be either white or black. The presentation consisted of three repeats of a single five-minute long pattern of squares.

The data file experiment3stimInfo contains "photodiodeFlips", the times when each of the 54006 arrays were presented, and "stimArray", the value of each square on each frame (1 = white, 0 = grey, -1 = black). There is also "stimEventTimes", a rearrangement of these data that you may find useful - it is a 9x34x2 cell array containing the list of onset times for each square turning white (in stimEventTimes{x,y,1}) and black (stimEventTimes{x,y,2}).

Experiment 4: Darkness, no stimulation

The data file spontaneousPeriodInfo contains the start and stop times of the darkness.

Loading the data

The data is stored in a set of npy files. These can be loaded with numpy in Python, or you will need the npy-matlab repository to load them in Matlab.

I have provided a script that loads the data and makes some plots, and this script also contains documentation of what each file contains, so running through the script may be the easiest way to understand the data. Documentation of each file is also here.


You may use this dataset for any research or personal purposes but please do not distribute or publish without my permission.


C. M. Lopez et al.,"A 966-Electrode Neural Probe with 384 Configurable Channels in 0.13µm SOI CMOS," Solid-State Circuits Conference Digest of Technical Papers (ISSCC), 2016 IEEE International, San Francisco, CA, Paper#22.7, pp21-23