Added missing files for spike_trains

This commit is contained in:
Jan Benda 2015-11-03 09:15:15 +01:00
parent 59ce7227fc
commit cdd40dc3a7
10 changed files with 20 additions and 9 deletions

View File

@ -54,12 +54,12 @@
\question You are recording the activity of a neuron in response to \question You are recording the activity of a neuron in response to
two different stimuli $I_1$ and $I_2$ (think of them, for example, two different stimuli $I_1$ and $I_2$ (think of them, for example,
of two sound waves with different intensities $I_1$ and $I_2$ and of two sound waves with different intensities $I_1$ and $I_2$ and
you measure the activity af an auditory neuron). Within an you measure the activity of an auditory neuron). Within an
observation time of duration $W$ the neuron responds stochastically observation time of duration $W$ the neuron responds stochastically
with $n$ spikes. with $n$ spikes.
How well can an upstream neuron discriminate the two stimuli based How well can an upstream neuron discriminate the two stimuli based
on the spike counts $n$? How does this depend on the slope of the on the spike count $n$? How does this depend on the slope of the
tuning curve of the neural responses? How is this related to the tuning curve of the neural responses? How is this related to the
fano factor (the ratio between the variance and the mean of the fano factor (the ratio between the variance and the mean of the
spike counts)? spike counts)?
@ -77,20 +77,31 @@ input = 10.0;
spikes = lifboltzmanspikes( trials, input, tmax, Dnoise, imax, ithresh, slope ); spikes = lifboltzmanspikes( trials, input, tmax, Dnoise, imax, ithresh, slope );
\end{lstlisting} \end{lstlisting}
The returned \texttt{spikes} is a cell array with \texttt{trials} elements, each being a vector The returned \texttt{spikes} is a cell array with \texttt{trials}
of spike times (in seconds) computed for a duration of \texttt{tmax} seconds. elements, each being a vector of spike times (in seconds) computed
The input is set via the \texttt{input} variable. for a duration of \texttt{tmax} seconds. The input is set via the
\texttt{input} variable.
Think of calling the \texttt{lifboltzmanspikes()} function as a
simple way of doing an electrophysiological experiment. You are
presenting a stimulus of constant intensity $I$ that you set. The
neuron responds to this stimulus, and you record this
response. After detecting the timepoints of the spikes in your
recordings you get what the \texttt{lifboltzmanspikes()} function
returns. The advantage over real data is, that you have the
possibility to simply modify the properties of the neuron via the
\texttt{Dnoise}, \texttt{imax}, \texttt{ithresh}, and
\texttt{slope} parameter.
For the two inputs use $I_1=10$ and $I_2=I_1 + 1$. For the two inputs use $I_1=10$ and $I_2=I_1 + 1$.
\begin{parts} \begin{parts}
\part \part
First, show two raster plots for the responses to the two First, show two raster plots for the responses to the two
differrent stimuli. differrent stimuli.
\part Measure the tuning curve of the neuron with respect to the \part Measure the tuning curve of the neuron with respect to the
input. That is, compute the mean firing rate as a function of the input. That is, compute the mean firing rate (number of spikes within the recording time \texttt{tmax} divided by \texttt{tmax}) as a function of the
input strength. Find an appropriate range of input values. Do input strength. Find an appropriate range of input values. Do
this for different values of the \texttt{slope} parameter (values this for different values of the \texttt{slope} parameter (values
between 0.1 and 2.0). between 0.1 and 2.0).

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -80,8 +80,8 @@ def reconstruct_stimulus(spike_times, sta, stimulus, t_max=30., dt=1e-4):
if __name__ == "__main__": if __name__ == "__main__":
punit_data = scio.loadmat('../../programming/exercises/p-unit_spike_times.mat') punit_data = scio.loadmat('p-unit_spike_times.mat')
punit_stim = scio.loadmat('../../programming/exercises/p-unit_stimulus.mat') punit_stim = scio.loadmat('p-unit_stimulus.mat')
spike_times = punit_data["spike_times"] spike_times = punit_data["spike_times"]
stimulus = punit_stim["stimulus"] stimulus = punit_stim["stimulus"]
sta = plot_sta(spike_times, stimulus, 5e-5, -0.05, 0.05) sta = plot_sta(spike_times, stimulus, 5e-5, -0.05, 0.05)