Comparing correlation responses to motion estimation models (Salazar-Gatzimas et al. 2016)

 Download zip file 
Help downloading and running models
Accession:206310
Code to generate responses of HRC-like and BL-like model elementary motion detectors to correlated noise stimuli, including two models with more realistic temporal filtering.
Reference:
1 . Salazar-Gatzimas E, Chen J, Creamer MS, Mano O, Mandel HB, Matulis CA, Pottackal J, Clark DA (2016) Direct Measurement of Correlation Responses in Drosophila Elementary Motion Detectors Reveals Fast Timescale Tuning. Neuron 92:227-239 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type:
Brain Region(s)/Organism: Drosophila;
Cell Type(s):
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: MATLAB;
Model Concept(s): Motion Detection; Invertebrate;
Implementer(s): Creamer, Matthew [Matthew.Creamer at yale.edu]; Mano, Omer [Omer.Mano at yale.edu]; Clark, Damon [Damon.Clark at yale.edu];
/
neuron2016Models
utils
getModelResponse.m
makeTernaryStim.m
                            
function output = getModelResponse(stimuli, repeats, modelFcn)
% Applies the stimulus to the model and formats the response
% 
% Inputs:
% stimuli: stimuli with dimensions (time*repeats,cell,dt,parity) where cell
% is left or right cell
% repeats: number of trials to simulate
% modelFcn: A function that takes in two stimuli matrices with dimensions
% (time,trials) and outputs the model response with the same dimensions
% 
% Output: the mean response averaged over time and trials with dimensions
% (dt,parity,direction)
    [numDatapoints,~,numDts,~] = size(stimuli);
    numTimepoints = numDatapoints/repeats;
    output(numDts,2,2) = 0;
    for direction = 1:2
        s1 = reshape(stimuli(:,1,:,:),numTimepoints,repeats*numDts*2);
        s2 = reshape(stimuli(:,2,:,:),numTimepoints,repeats*numDts*2);
        if direction == 1
            response = modelFcn(s1,s2);
        else
            response = modelFcn(s2,s1);
        end
        responseRS = reshape(response,numTimepoints*repeats,numDts,2);
        output(:,:,direction) = squeeze(mean(responseRS));
    end
end

Loading data, please wait...