No Description

Manuel Schottdorf c3da4ee3a4 Delete 'stimuli/.ipynb_checkpoints/Untitled-checkpoint.ipynb' 3 years ago
data ed1afd2f3f updates to repo 3 years ago
retinatools ed1afd2f3f updates to repo 3 years ago
run_model ed1afd2f3f updates to repo 3 years ago
run_model_HPC 3750fc532f draft of repo 3 years ago
stimuli c3da4ee3a4 Delete 'stimuli/.ipynb_checkpoints/Untitled-checkpoint.ipynb' 3 years ago
LICENSE 3750fc532f draft of repo 3 years ago
README.md 40959ca228 Added plot of gun spectra to readme 3 years ago

README.md

Overview

This repository contains all raw data and modelling code for the manuscript "Macaque ganglion cells responses to natural scenes: time, not space is what they really care about"

For further inquiries, don't hesitate to get in touch with us
Barry Lee blee@sunyopt.edu
Manuel Schottdorf mschottdorf@princeton.edu

Funding for the project: HHS, NIH, and the National Eye Institute via EY13110

Organization of the repository

The repository is organized into five folders:

  • \data\ contains the raw data of individual cells, organized into plain-text tables of spike-times, together with some meta information.

  • \stimuli\ contains the visual stimuli, and details for calibration, such as gamma correction and gun spectra.

  • \retinatools\ contains the python-code of the model. It is used as a python-library in the following two folders:

  • \run_model\ Contains jupyter-notebooks to run the model, and reproduce the model-figures from the paper. This can be run on a laptop. This folder also contains a subset of the data (N=15), obtained from the spiking raw data by smoothing with first order kernels of 2 ms or 4 ms width (depending on cell type, see paper) and averaged across the 6 x 1min repeats, for measuring model performance.

  • \run_model_HPC\ Contains the code to run the models on large arrays of cells, and was used to compute the supplemental movie. This requires ipyparallel and the slurm engine.

  • All code was verified to run on macOS 11 "Bug Sur" from jupyter notebooks (6.1.5) with:

    • Python 3.9.1
    • Numpy 1.19.4
    • Scipy 1.5.4
    • cv2 4.5.0

Details of the data files.

Organization of spiking data

There are two types of files for the 6x1min and 10min records. Both contain ASCII records of spike occurrence, and some meta information. The time resolution on all data is 0.1 msec.

  • 10 min files. Total spikes are given and then the video start time (an internal control; it varies from cell to cell). The spikes/5 sec column are a check on firing rates through the video. In 0 are the total spikes before the video starts; time period is variable. The following 120 bins are spike counts in subsequent 5 sec epochs. Finally, bin 121 is spike count following the live video termination before recording was switched off. The spike time list that follows is referred to the begin of the live video (and have been corrected for a slight difference in clock rate between video and data acquisition computers).

  • 6 x 1min files: Format is similar. The first 1 min of the 10 min video is repeated 6 times. There is a variable delay (blank frames) before the beginning of the first live video repeat. The each live repeat is preceded by 5 sec of blank frames, and there are ca. 5 sec of blank frames after termination before the next repeat starts. After completion of the 6 repeats there is a further period of maintained activity (column 7).

Cell List

File name Cell Type Record Duration Cell Key
Lss01071.txt -M+L off 10 min 67#4
Lss01078.txt MC off 6 x 1min 67#6
Lss01079.txt MC off 10 min 67#6
Lss01086.txt MC on 6 x 1min 67#7
Lss01087.txt MC on 10 min 67#7
Lss01110.txt +L-Mon 6 x 1min 67#14
Lss01112.txt +L-Mon 10 min 67#14
Lss01130.txt +M-Lon 6 x 1min 67#21
Lss01131.txt +M-Lon 10 min 67#21
Lss01141.txt +M-Lon 6 x 1min 67#26
Lss01142.txt +M-Lon 10 min 67#26
Lss01159.txt MC off 6 x 1min 67#33
Lss01160.txt MC off 10 min 67#33
Lss01167.txt +L-Mon 6 x 1min 67#34
Lss01168.txt +L-Mon 10 min 67#34
Lss01178.txt S on 6 x 1min 68#1
Lss01180.txt S on 10 min 68#1
Lss01181.txt MC off 6 x 1min 68#3
Lss01183.txt MC off 10min 68#3
Lss01221.txt MC on 10 min 68#10
Lss01229.txt S on 6 x 1min 68#12
Lss01231.txt S on 10 min 68#12
Lss01256.txt M off 6 x 1min 69#6
Lss01257.txt M off 10 min 69#6
Lss01258.txt M on 6 x 1min 69#7
Lss01259.txt M on 10 min 69#7
Lss01284.txt +M-Lon 6 x 1min 69#7
Lss01285.txt +M-Lon 10 min 69#7

Details of the stimulus videos

  1. The gun spectra are saved as raw text in /stimuli/ and show the typical shape: Spectra

  2. 1x10_256.mpg This is the 10 minute video. It begins with 751 blank frames (approximately equal energy white) followed by the 10 min live video (starting at frame 752, 90000 frames) followed by 750 blank frames. These frames were played at 150 frames/sec, 3 times acquisition rate. Timing pulses are provided on the audio channel beginning at the first frame of the video. They have a complex pattern, repeating every 5 sec. They were provided to ensure syncing with the data acquisition system that recorded spike trains.

  3. 6x1_256.mpg. This is 1 min video. Structure as in 1x10min, except only 9000 frames.

  4. Gamma correction. The r,g,b, values (0-256) from the mpeg decompression can be converted to intensity values using the following equations, where I is the r/g/b bit value:

        red = 0.01451 + 0.9855*pow(1.0*I/256, 2.3122);
        green = 0.005123 + 0.9949*pow(1.0*I/256, 2.2752);
        blue = 0.02612 + 0.9739*pow(1.0*I/256, 2.2818);
    
  5. Gun spectra. The spectra measured for the 3 display guns are tabulated in GunSpectra.txt Based on the gun spectra and luminance estimates, the gun values were calibrated to deliver the same luminance. However, based on reverse correlation analysis on M cells, it was estimated that, relative to the red gun, the green gun luminance was overestimated by ca. 5% and the blue gun underestimated by ca. 20%. The gamma-corrected intensities can be converted into l/m/s cone signals using the following equation:

    lcone = 2.74*rgamma + 3.4*ggamma + 1.34*bgamma
    mcone = 1.21*(1.06*rgamma + 3.58*ggamma + 2.07*bgamma)
    scone = 0.212*rgamma + 8.28*ggamma + 285*bgamma
    
  6. These parameters were considered constant and not further optimized.

Model details

  1. The averaged 6 x 1 min responses were best for modeling, while the 10 min runs gave better results for the reverse correlation.

  2. For rates, using filters employed in the previous paper (van Hateren et al., 2002); 8-stage low pass filters were used with time constants of 2 msec for MC-cells and 4 msec for PC- and S-cone cells.

  3. The model provides additional data files in /data with the averaged 6x 1min into firing rates. The format of these files is 2xT, where the first column is the cells activity, and the second column is an estimate of luminance. For modelling, we only use column 1.

  4. A codel for primate retinal MC/PC/KC responses to natural scenes, produces fits to the following cells:

File name Cell Type corr. with model Notes
078 MC off 0.804 ok
110 PC Ron 0.836 ok
130 PC Gon 0.777 ok
167 PC Ron 0.835 ok
178 S on 0.815 ok
181 MC off 0.805 ok
194 PC Ron 0.842 MISSING
225 PC Roff 0.798 MISSING
229 S on 0.780 ok
254 MC on 0.802 MISSING
256 MC off 0.794 ok
258 MC on 0.803 ok
284 PC Gon 0.778 ok
287 PC Gon 0.764 MISSING
299 MC on 0.826 MISSING
302 S on 0.732 MISSING

And in addition reproduces the pie charts.

We also provide one example for a PC Off cell, where the fit seems to work well. The model is identical to all PC fits.