DOI: 10.5061/dryad.hqbzkh1x4
title: Data from: Size tuning of neural response variability in laminar circuits of macaque primary visual cortex

description: This dataset describes the relationship between neural response
 variability and surround suppression. Typically, manipulations
 that elicit neural response suppression quench variability, an observation
 that has led some to suggest that these two phenomena may share a common
 origin. However, few studies have systematically examined the relationship
 between surround suppression and variability. Surround suppression is
 mediated by multiple circuits and mechanisms that depend on the size of
 the sensory stimulus and the cortical layer. Variability is also
 laminar-dependent. This dataset helps to understand how surround
 suppression affects neural response variability across layers of the
 visual cortex. The dataset contains electrophysiological laminar
 recordings that examine how neural response variability and the shared
 variability among neurons are modulated by visual stimulus size across the
 layers of macaque primary visual cortex (V1). 
description: # Data from: Size tuning of neural response variability in laminar
 circuits of macaque primary visual cortex Dataset DOI:
 [10.5061/dryad.hqbzkh1x4](https://doi.org/10.5061/dryad.hqbzkh1x4) ##
 Description of the data and file structure **Data from: Size tuning of
 neural response variability in laminar circuits of macaque primary visual
 cortex** This is the data for the analyses published in the article
 "Size tuning of neural response variability in laminar circuits of
 macaque primary visual cortex."
 doi: [10.1101/2023.01.17.524397](https://doi.org/10.1101/2023.01.17.524397) Methods for data collection are described in the above publication. The data in this repository was collected by performing linear array recordings of neural activity from the primary visual cortex of anesthetized macaque monkeys (macaca fascicularis). Great care was taken to ensure that the probe was inserted vertically into the cortex. At the beginning of each penetration, the receptive fields of the recorded units were mapped, their stimulus preferences determined, and the size tuning functions were measured with drifting sinusoidal luminance gratings. ### Files and variables The files in this submission come in two formats, .npy, .pkl, and .mat. To interact with the .npy files, Use NumPy package from [SciPy](http://scipy.org/), then load Python and use these commands: ``` import numpy as np data = np.load("path/to/file.npy") data ``` To interact with the .pkl files, use pickle that from the standard Python distribution and do, for example, ``` import pickle as pkl with open('path/to/file.pkl,'rb') as f data = pkl.load(f) data ``` To interact with the .mat files, download for example the open source software Octave, and do ``` data = load('/path/to/file.mat'); data ``` #### File: selectedData_MUA_lenient_400ms_macaque_July-2020.pkl **Description:** This file contains the multi-unit spiking data of all recorded units without cleaning or filtering, organized into trials. Loading the data file returns a two-dimensional Python dictionary. The first dimension is the unit, and the second contrast. In this dataset, the contrast is always 100. To access the data, for example, for unit 0 do ``` unit_data = data[0][100.0] unit_data['spkC_NoL'] # spike counts in each trial in an array with shape (trials, stimulus diameters) unit_data['spkR_NoL'] # binned (1ms bins) spike counts an array with shape (trials, stimulus diameters, time), there's 400 ms of pre-stimulus baeline, followed by 500 ms when the visual stimulus was on the screen, and 100 ms post-stimulus baseline # you can find info about each unit by doing, say, unit_info = data[0]['info'] # unit info for unit 0 # unit_info is a dictionary with four variables, 'diam' this is an array of stimulus diameters (in degrees of visual angle) used in the recordings, 'layer', is the cortical layer from which the recording originated, 'animal' is the animal number, and 'penetr' is the penetration number ``` #### File: mean_PSTHs_SG-MK-MU-Dec-2021.pkl **Description:** This is a Python dictionary containing spike counts of each unit computed in 100 ms sliding windows for supra-granular layer units. It is used as an intermediate file in the provided analysis codes. #### File: mean_PSTHs_SG-MK-MU.pkl **Description:** The same as above, but contains also information about the stimulus. #### File: mean_PSTHs_G-MK-MU.pkl **Description:** The same as above, but for granular layer units. #### File: mean_PSTHs_G-MK-MU-Dec-2021.pkl **Description:** The same as above, but for granular layer units. #### File: mean_PSTHs_IG-MK-MU-Dec-2021.pkl **Description:** The same as above, but for infra-granular layer units. #### File: mean_PSTHs_IG-MK-MU.pkl **Description:** The same as above, but for infra-granular layer units. #### File: vari_PSTHs_G-MK-MU-Dec-2021.pkl **Description:** This is a Python dictionary containing the variance of the spike counts of each unit computed in 100 ms sliding windows for granular layer units. It is used as an intermediate file in the provided analysis codes. #### File: vari_PSTHs_IG-MK-MU-Dec-2021.pkl **Description:** The same as above, but for infra-granular layer units. #### File: vari_PSTHs_SG-MK-MU-Dec-2021.pkl **Description:** The same as above, but for supra-granular layer units. #### File: mean_PSTHs_G-MK-MU-nearsurrounds-Jul2023.pkl **Description:** The same as above, but the unit selection filter passed also units without surround suppression (no effect on multi-units in this dataset). #### File: mean_PSTHs_SG-MK-MU-nearsurrounds-Jul2023.pkl **Description:** The same as above, but the unit selection filter passed also units without surround suppression (no effect on multi-units in this dataset). #### File: mean_PSTHs_IG-MK-MU-nearsurrounds-Jul2023.pkl **Description:** The same as above, but the unit selection filter passed also units without surround suppression (no effect on multi-units in this dataset). #### File: mean_PSTHs-MK-MU-nearsurrounds-Jul2023.pkl **Description:** The same as above, but the unit selection filter passed also units without surround suppression (no effect on multi-units in this dataset). #### File: vari_PSTHs-MK-MU-nearsurrounds-Jul2023.pkl **Description:** The same as above, but the unit selection filter passed also units without surround suppression (no effect on multi-units in this dataset). #### File: vari_PSTHs_SG-MK-MU-nearsurrounds-Jul2023.pkl **Description:** The same as above, but the unit selection filter passed also units without surround suppression (no effect on multi-units in this dataset). #### File: vari_PSTHs_IG-MK-MU-nearsurrounds-Jul2023.pkl **Description:** The same as above, but the unit selection filter passed also units without surround suppression (no effect on multi-units in this dataset). #### File: vari_PSTHs_G-MK-MU-nearsurrounds-Jul2023.pkl **Description:** The same as above, but the unit selection filter passed also units without surround suppression (no effect on multi-units in this dataset). #### File: extracted_params-nearsurrounds-Jul2023.csv **Description:** an intermediate data table that is used in the analysis code. Paramters were extracted from the recordings for each unit. ##### Variables * : The empty columns do not hold any data but are kept in the tables for backward compatibility. * RFdiam: Diameter of the receptive field, extracted directly from the recordings, not from function fits. * SI: Suppression index computed as (R~RF~ - R~26~) / R~RF~, in which R~RF~ is the response to a stimulus the size of the receptive field and R~26~ is the response to 26 degrees diameter stimulus.  * SI_SUR: Suppression index computed as (R~RF~ - R~SUR~) / R~RF~, in which R~RF~ is the response to a stimulus the size of the receptive field and R~SUR~ is the response to a stimulus that corresponds to the size of the RF surround of the unit.  * SI_SUR_2RF: Suppression index computed as (R~RF~ - R~2RF~) / R~RF~, in which R~RF~ is the response to a stimulus the size of the receptive field and R~2RF~ is the response to a stimulus that corresponds to twice the size of the receptive field of the unit. * animal: Animal ID * anipe: Animal ID augmented with penetration number. Penetration refers to a single session in which a recording electrode was inserted to the cortex and a set of experiments was performed. * baseline: Baseline response of the unit * fit_RF: Receptive field diameter computed from functions fit to the data * fit_RFmaxResponse: Max response of the cell, derived from the fits. * fit_fano_BSL: Baseline fano-factor derived from the fits. * fit_fano_LAR: Fano-factor at 26 degrees diameter stimulus, derived from functions fit to the data. * fit_fano_MAX: Max fano-factor, derived from functions fit to the data. * fit_fano_MAX_diam: Stimulus diameter at which the max fano-factor was measured, derived from functions fit to the data. * fit_fano_MIN: Minimum fano-factor, derived from functions fit to the data. * fit_fano_MIN_diam: Stimulus diameter at which the minimum fano-factor was measured, derived from functions fit to the data. * fit_fano_RF: Fano-factor at stimulus diameter corresponding to the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_SML: Fano-factor at the smallest stimulus diameter used, derived from functions fit to the data. * fit_fano_SUR: Fano-factor at stimulus diameter corresponding to the receptive surround size of the recorded unit, derived from functions fit to the data. * fit_fano_far_SUR_400: Fano-factor at stimulus diameter corresponding to 4 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_far_SUR_500: Fano-factor at stimulus diameter corresponding to 5 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_far_SUR_600: Fano-factor at stimulus diameter corresponding to 6 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_far_SUR_700: Fano-factor at stimulus diameter corresponding to 7 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_far_SUR_800: Fano-factor at stimulus diameter corresponding to 8 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_near_SUR_200: Fano-factor at stimulus diameter corresponding to 2 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_near_SUR_225: Fano-factor at stimulus diameter corresponding to 2.25 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_near_SUR_250: Fano-factor at stimulus diameter corresponding to 2.5 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_near_SUR_275: Fano-factor at stimulus diameter corresponding to 2.75 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_near_SUR_300: Fano-factor at stimulus diameter corresponding to 3 times the receptive field size of the recorded unit, derived from functions fit to the data. * layer: Cortical layer from where the unit was recorded. * maxResponse: Maximum response of the unit. ntrials: Number of trials. * sur_MAX_diam: This is the diameter of the stimulus at which the fano-factror reaches it's maximum in the receptive field surround. #### File: quencher_DF.csv **Description:** An intermediate data table used for plotting containing extracted parameters describing variability quenching. ##### Variables * : The empty columns do not hold any data but are kept in the tables for backward compatibility. * FF_sup: Suppression of fano-factor when the stimulus diameter was 26 degrees. * FF_sup_2RF: Suppression of fano-factor when the stimulus size was twice the size of the receptive field of the recorded unit. * FF_sup_SUR: Suppression of fano-factor when the stimulus size matched the size of the receptive field surround of the recorded unit. * FF_sup_magn: Magnitude of the fano-factor suppression when the stimulus diameter was 26 degrees. * SI: Suppression index of the recorded unit.  * layer: Cortical layer from where the unit was recorded. * unit: Unit number. #### File: amplification_DF_division.csv **Description:** An intermediate data table used for plotting containing extracted parameters describing variability quenching. ##### Variables * : The empty columns do not hold any data but are kept in the tables for backward compatibility. * RFdiam: Receptive field diameter of the recorded unit. * bsl: Baseline fano-factor * bsl_FR: Baseline firing-rate * layer: Cortical layer from where the unit was recorded. * maxamplif: Amplitude of variability amplification. * maxamplif_diam: The stimulus diameter at which the largest variability amplification was measured. * maxamplif_perc: Amplitude of variability amplification relative to the baseline. * maxquench: Amplitude of variability quenching. * maxquench_diam: The diameter at which the largest varibiliyt quenching was measured. * maxquench_perc: Amplitude of variability amplification quenching relative to the baseline. * penetration: The penetration. Penetration refers to a single session in which a recording electrode was inserted to the cortex and a set of experiments was performed. * qtype_signi: Desribes the response type of the unit, either quencher or mixer, depending if the unit shows only quenching or both amplification and quenching. * unit: Unit number. #### File: layers_MK366P3.npy **Description:** Layers for penetration MK366P3. Layers are represented with numeric code 1,2,3, where 1=supragranular layer, 2 = granular layer, 3=infragranular layer. MK366 indicates the animal number and P3 indicates the penetration. Penetration refers to a single session in which a recording electrode was inserted to the cortex and a set of experiments was performed. #### File: layers_MK366P1.npy **Description:** Layers for penetration MK366P1. Layers are represented with numeric code 1,2,3, where 1=supragranular layer, 2 = granular layer, 3=infragranular layer. MK366 indicates the animal number and P1 indicates the penetration. Penetration refers to a single session in which a recording electrode was inserted to the cortex and a set of experiments was performed. #### File: layers_MK374P1.npy **Description:** Layers for penetration MK374P1. Layers are represented with numeric code 1,2,3, where 1=supragranular layer, 2 = granular layer, 3=infragranular layer. MK374 indicates the animal number and P1 indicates the penetration. Penetration refers to a single session in which a recording electrode was inserted to the cortex and a set of experiments was performed. #### File: layers_MK374P2.npy **Description:** Layers for penetration MK374P2. Layers are represented with numeric code 1,2,3, where 1=supragranular layer, 2 = granular layer, 3=infragranular layer. MK374 indicates the animal number and P2 indicates the penetration. Penetration refers to a single session in which a recording electrode was inserted to the cortex and a set of experiments was performed. #### File: layers_MK366P8.npy **Description:** Layers for penetration MK374P8. Layers are represented with numeric code 1,2,3, where 1=supragranular layer, 2 = granular layer, 3=infragranular layer. MK366 indicates the animal number and P8 indicates the penetration. Penetration refers to a single session in which a recording electrode was inserted to the cortex and a set of experiments was performed. #### File: GPFA-long-rasters.zip **Description:** Population rasters used for Gaussian process factor analysis. Unizipping this folder reveals three types of files. Layer files that are described above and files that contain population rasters. The naming convention for the population rasters are as follows. For example, MK366P1_stim_00.npy refers to a population raster from animal MK366 in penetraion P1 and stimulus stim_00. Loading this file, returns a numpy array that has shape(units, time rals). Time is always 700 ms, binned in 1 ms bins. The number of units and trials may vary between animals and penetrations. To find the stimulus diameter corresponding to stim_,** please load selectedData_MUA_lenient_400ms_macaque_July-2020.pkl, and look at the info variable for the corresponding animal and penetration.  The files that contain bsl in the file name, for example MK366P1_bsl_00.npy, are organized in the same way as above, but the data was extracted from the time period preceding the stimulus, i.e. during pre-stimulus baseline. #### File: FA_covariances_G.npy **Description:** Covariance matrices for the granular layer in each penetration, for the granular layer. #### File: FA_covariances_IG.npy **Description:** Covariance matrices for the granular layer in each penetration, for the infra-granular layer. #### File: FA_covariances_SG.npy **Description:** Covariance matrices for the granular layer in each penetration, for the supra-granular layer. #### File: netvariances.zip **Description:** Contains estimates of the variance for each unit that is derived from, or shared with, the network of neurons as opposed to the variance that is private to each neuron. Unzipping this file reveals six files, netvariance_all_SG.npy, netvariance_all_G.npy, netvariance_all_IG.npy, and bsl_netvariance_all_SG.npy, bsl_netvariance_all_G.npy, bsl_netvariance_all_IG.npy In these files, SG, G and IG refer to the cortical layer from which the neurons were recorded. Loading a file returns a numpy array with shape (neurons, stimulus diameters). This contains the variance that is not private to the neuron for each stimulus diameter tested in the experiment.  The files that start with bsl, are the same except for pre-stimulus baseline. #### File: selectedData_macaque_Jun2023.pkl **Description:** This file contains the multi-unit spiking data of all recorded units without cleaning or filtering, organized into trials. Loading the data file returns a two-dimensional Python dictionary. The first dimension is the unit, and the second contrast. In this dataset, the contrast is always 100. See the description of the file selectedData_MUA_lenient_400ms_macaque_July-2020.pkl above for details. #### File: SU-extracted_params-Jul2023.csv **Description:**  ##### Variables ##### * : The empty columns do not hold any data but are kept in the tables for backward compatibility. * RFdiam: Diameter of the receptive field, extracted directly from the recordings, not from function fits. * SI: Suppression index computed as (R~RF~ - R~26~) / R~RF~, in which R~RF~ is the response to a stimulus the size of the receptive field and R~26~ is the response to 26 degrees diameter stimulus.  * SI_SUR: Suppression index computed as (R~RF~ - R~SUR~) / R~RF~, in which R~RF~ is the response to a stimulus the size of the receptive field and R~SUR~ is the response to a stimulus that corresponds to the size of the RF surround of the unit.  * SI_SUR_2RF: Suppression index computed as (R~RF~ - R~2RF~) / R~RF~, in which R~RF~ is the response to a stimulus the size of the receptive field and R~2RF~ is the response to a stimulus that corresponds to twice the size of the receptive field of the unit. * animal: Animal ID * anipe: Animal ID augmented with penetration number. Penetration refers to a single session in which a recording electrode was inserted to the cortex and a set of experiments was performed. * baseline: Baseline response of the unit * fit_RF: Receptive field diameter computed from functions fit to the data * fit_RFmaxResponse: Max response of the cell, derived from the fits. * fit_fano_BSL: Baseline fano-factor derived from the fits. * fit_fano_LAR: Fano-factor at 26 degrees diameter stimulus, derived from functions fit to the data. * fit_fano_MAX: Max fano-factor, derived from functions fit to the data. * fit_fano_MAX_diam: Stimulus diameter at which the max fano-factor was measured, derived from functions fit to the data. * fit_fano_MIN: Minimum fano-factor, derived from functions fit to the data. * fit_fano_MIN_diam: Stimulus diameter at which the minimum fano-factor was measured, derived from functions fit to the data. * fit_fano_RF: Fano-factor at stimulus diameter corresponding to the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_SML: Fano-factor at the smallest stimulus diameter used, derived from functions fit to the data. * fit_fano_SUR: Fano-factor at stimulus diameter corresponding to the receptive surround size of the recorded unit, derived from functions fit to the data. * fit_fano_far_SUR_400: Fano-factor at stimulus diameter corresponding to 4 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_far_SUR_500: Fano-factor at stimulus diameter corresponding to 5 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_far_SUR_600: Fano-factor at stimulus diameter corresponding to 6 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_far_SUR_700: Fano-factor at stimulus diameter corresponding to 7 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_far_SUR_800: Fano-factor at stimulus diameter corresponding to 8 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_near_SUR_200: Fano-factor at stimulus diameter corresponding to 2 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_near_SUR_225: Fano-factor at stimulus diameter corresponding to 2.25 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_near_SUR_250: Fano-factor at stimulus diameter corresponding to 2.5 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_near_SUR_275: Fano-factor at stimulus diameter corresponding to 2.75 times the receptive field size of the recorded unit, derived from functions fit to the data. * fit_fano_near_SUR_300: Fano-factor at stimulus diameter corresponding to 3 times the receptive field size of the recorded unit, derived from functions fit to the data. * layer: Cortical layer from where the unit was recorded. * spikeSNR: Signal-to-noise ratio of the recorded waveform.  * spikeWidth: Duration of the spike waveform in ms. * sur_MAX_diam: This is the diameter of the stimulus at which the fano-factror reaches it's maximum in the receptive field surround. * unit: Unit number #### File: quencher_DF_rev2.csv **Description:** An intermediate data table used for plotting. 2nd revision containing also receptive "near-surround" ##### Variables * : The empty columns do not hold any data but are kept in the tables for backward compatibility. * FF_sup: Suppression of the fano-factor measured when the stimulus diameter was 26 degrees. * FF_sup_2RF: Suppression of the fano-factor measured when the stimulus diameter was twice the size of the receptive field. * FF_sup_SUR: Suppression of the fano-factor measured when the stimulus diameter matched the size of the receptive field surround. * FF_sup_magn: Magnitude of fano-factor supression. * SI: Suppression index. * layer: Cortical layer from where the unit was recorded. * unit: Unit number. ## Code/software The codes used for generating the figures in the publication corresponding to this data publication can be found at [https://github.com/nurminenlab/variability-sizetuning-analysis](https://github.com/nurminenlab/variability-sizetuning-analysis) Running these scripts will reproduce the figure panels from the publication. The script names correspond to the figure and panel names and are thus self-explanatory.  ## Access information Other publicly accessible locations of the data: * NA Data was derived from the following sources: * NA