diff --git a/projects/project_fano_slope/fano_slope.tex b/projects/project_fano_slope/fano_slope.tex index 18e5921..40e2946 100644 --- a/projects/project_fano_slope/fano_slope.tex +++ b/projects/project_fano_slope/fano_slope.tex @@ -54,12 +54,12 @@ \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, 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 with $n$ spikes. 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 fano factor (the ratio between the variance and the mean of the spike counts)? @@ -77,20 +77,31 @@ input = 10.0; spikes = lifboltzmanspikes( trials, input, tmax, Dnoise, imax, ithresh, slope ); \end{lstlisting} - The returned \texttt{spikes} is a cell array with \texttt{trials} elements, each being a vector - of spike times (in seconds) computed for a duration of \texttt{tmax} seconds. - The input is set via the \texttt{input} variable. + The returned \texttt{spikes} is a cell array with \texttt{trials} + elements, each being a vector of spike times (in seconds) computed + 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$. - \begin{parts} \part First, show two raster plots for the responses to the two differrent stimuli. \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 this for different values of the \texttt{slope} parameter (values between 0.1 and 2.0). diff --git a/spike_trains/code/firing_rates.py b/spike_trains/lecture/firing_rates.py similarity index 100% rename from spike_trains/code/firing_rates.py rename to spike_trains/lecture/firing_rates.py diff --git a/spike_trains/lecture/images/psth_comparison.pdf b/spike_trains/lecture/images/psth_comparison.pdf index 0e37e59..59e49f7 100644 Binary files a/spike_trains/lecture/images/psth_comparison.pdf and b/spike_trains/lecture/images/psth_comparison.pdf differ diff --git a/spike_trains/lecture/images/reconstruction.pdf b/spike_trains/lecture/images/reconstruction.pdf index 5c48206..49df4f3 100644 Binary files a/spike_trains/lecture/images/reconstruction.pdf and b/spike_trains/lecture/images/reconstruction.pdf differ diff --git a/spike_trains/lecture/images/sta.pdf b/spike_trains/lecture/images/sta.pdf index 47187f1..123373f 100644 Binary files a/spike_trains/lecture/images/sta.pdf and b/spike_trains/lecture/images/sta.pdf differ diff --git a/spike_trains/code/isi_method.py b/spike_trains/lecture/isi_method.py similarity index 100% rename from spike_trains/code/isi_method.py rename to spike_trains/lecture/isi_method.py diff --git a/spike_trains/lecture/lifoustim.mat b/spike_trains/lecture/lifoustim.mat new file mode 100644 index 0000000..b5fb8bd Binary files /dev/null and b/spike_trains/lecture/lifoustim.mat differ diff --git a/spike_trains/lecture/p-unit_spike_times.mat b/spike_trains/lecture/p-unit_spike_times.mat new file mode 100644 index 0000000..75f53e6 Binary files /dev/null and b/spike_trains/lecture/p-unit_spike_times.mat differ diff --git a/spike_trains/lecture/p-unit_stimulus.mat b/spike_trains/lecture/p-unit_stimulus.mat new file mode 100644 index 0000000..b6d0b25 Binary files /dev/null and b/spike_trains/lecture/p-unit_stimulus.mat differ diff --git a/spike_trains/code/sta.py b/spike_trains/lecture/sta.py similarity index 94% rename from spike_trains/code/sta.py rename to spike_trains/lecture/sta.py index d373820..91bcdf3 100644 --- a/spike_trains/code/sta.py +++ b/spike_trains/lecture/sta.py @@ -80,8 +80,8 @@ def reconstruct_stimulus(spike_times, sta, stimulus, t_max=30., dt=1e-4): if __name__ == "__main__": - punit_data = scio.loadmat('../../programming/exercises/p-unit_spike_times.mat') - punit_stim = scio.loadmat('../../programming/exercises/p-unit_stimulus.mat') + punit_data = scio.loadmat('p-unit_spike_times.mat') + punit_stim = scio.loadmat('p-unit_stimulus.mat') spike_times = punit_data["spike_times"] stimulus = punit_stim["stimulus"] sta = plot_sta(spike_times, stimulus, 5e-5, -0.05, 0.05)