DOI: 10.5281/zenodo.1209636
title: Closed-Loop Experiment In The Retina

description: <strong>Data from closed-loop experiment in the retina</strong>

See the related code on github:

https://github.com/ChrisGll/RBM_TRBM

This file explains the organization of data recorded in the closed-loop experiment performed by Christophe Gardella and used in the following articles:<br>
- Closed-loop estimation of retinal network sensitivity reveals signature of efficient coding, Ferrari, Gardella, Marre and Mora, eNeuro, 2017: http://www.eneuro.org/content/early/2018/01/16/ENEURO.0166-17.2017<br>
- Blindfold learning of an accurate neural metric, Gardella, Marre and Mora, PNAS, 2018: http://www.pnas.org/content/early/2018/03/09/1718710115.long<br>
The stimulus consists in a series of 0.9 s snippets of bar trajectory. Each snippet is called a sequence. The bar has a smooth random motion, with each sequence trajectory beginning and ending at position 0, the center of the screen.

In parentheses are the values specific to our data.

<strong>Notations :</strong><br>
Scalar variables:<br>
stim_rate: (=50) binning rate for the stimulus, in Hz

Nne: (=60) number of neurons<br>
Nseq: (=17034) number of sequences<br>
Nb_seq: (=45) number of time bins per sequence

Nreftj: (=2) number of reference trajectories<br>
Npertdir: (=16) number of perturbation directions per reference trajectory

<br>
Indices:<br>
ne_i : index of neuron<br>
b_i : index of time bin seq_i : index of sequence (from 1 to Nseq) reftj_i : index of reference trajectory (1 or Nreftj)<br>
pertdir_i : index of perturbation direction (1 to Npertdir)

In general, in the code:<br>
..._i stands for index:<br>
..._l stands for list<br>
..._il stands for list of indices

<strong>Stimulus:</strong><br>
trajs: cell of size (Nseq,1) with<br>
trajs{seq_i}: vector of size (1, Nb_seq) with    trajs{seq_i}(b_i) the bar position in time bin b_i, in µm.

rand_seq_il: list of indices of sequences corresponding to random bar trajectories

Example: rand_seq_il(1) is the index of the first sequence corresponding to a random trajectory. trajs{rand_seq_il(1)} is the corresponding random trajectory.

ref_seq_il: cell of size (1, Nreftj) with ref_seq_il{reftj_i} the list of indices of sequences corresponding to repetitions of reference trajectory reftj_i.

pert_seq_il: cell of size (Npertdir, Nreftj) with<br>
pert_seq_il{pertdir_i, reftj_i}: list of indices of sequences corresponding to a perturbation of reference trajectory reftj_i in direction pertdir_i. Indices are sorted by increasing perturbation amplitude.

Example: All sequence trajectories are either random, a trajectory, or a perturbation. So the intersection between rand_seq_il, any ref_seq_il{reftj_i} or any pert_seq_il{pertdir_i, reftj_i} is always be empty.

Example: The union between rand_seq_il, all ref_seq_il{reftj_i} and all pert_seq_il{pertdir_i, reftj_i} is the complete list of indices 1:Nseq.

pert_amp_l: cell of size (Npertdir, Nreftj) with<br>
pert_amp_l{pertdir_i, reftj_i}: list of amplitudes of corresponding perturbations. pert_amp_l{pertdir_i, reftj_i}(n) is the amplitude of the perturbation in sequence pert_seq_il{pertdir_i, reftj_i}(n).

<strong>Responses:</strong><br>
spkb_rate : (=50) binning rate for the responses, in Hz sparse_spkb_all: cell of size (Nseq,1) with<br>
sparse_spkb_all{seq_i}: sparse matrix of size (Nne, Nb_seq): binned response during sequence seq_i. sparse_spkb_all{seq_i}(ne_i,b_i)=1 if neuron ne_i spiked at least once in time bin b_i.

sparse_spkb_all is the representation of responses used for computing the linear discriminability and distances with the RBM and TRBM metrics.

In order to compute distances, one usually only considers a subset of the Nb_seq time bins of the sequence. We note:<br>
b_il_s: (=23:37) list of indices of time bins used for distance computation.

If one needs un-binned responses (for some metrics such as the van Rossum metric), spike times can be found in the variable spkt_all:

spkt_all: cell of size (Nseq,1) with<br>
spkt_all{seq_i}: cell of size (Nne, 1) with<br>
spkt_all{seq_i}{ne_i}: list of spike times (in UNIT) of neuron ne_i in sequence seq_i. The list is empty if there is no spike. These times are in s, and are relative, with t=0 the beginning of the sequence.

pert_lindiscrim_l: cell of size (Npertdir, Nreftj) with<br>
pert_lindiscrim_l{pertdir_i, reftj_i} the linear discriminability of responses to the perturbation of reference trajectory reftj_i in direction pertdir_i. pert_lindiscrim_l{pertdir_i, reftj_i}(n) is the linear discriminability of responses in sequence pert_seq_il{pertdir_i, reftj_i}(n).