plotting, psth, sta lecture
This commit is contained in:
parent
72d29dc406
commit
938efd9ae1
@ -44,13 +44,13 @@ def get_instantaneous_rate(times, max_t=30., dt=1e-4):
|
|||||||
|
|
||||||
|
|
||||||
def plot_isi_rate(spike_times, max_t=30, dt=1e-4):
|
def plot_isi_rate(spike_times, max_t=30, dt=1e-4):
|
||||||
times = np.squeeze(spike_times[0][0])[:100000]
|
times = np.squeeze(spike_times[0][0])[:50000]
|
||||||
time, rate = get_instantaneous_rate(times, max_t=100000*dt)
|
time, rate = get_instantaneous_rate(times, max_t=50000*dt)
|
||||||
|
|
||||||
rates = np.zeros((len(rate), len(spike_times)))
|
rates = np.zeros((len(rate), len(spike_times)))
|
||||||
for i in range(len(spike_times)):
|
for i in range(len(spike_times)):
|
||||||
_, rates[:, i] = get_instantaneous_rate(np.squeeze(spike_times[i][0])[:100000],
|
_, rates[:, i] = get_instantaneous_rate(np.squeeze(spike_times[i][0])[:50000],
|
||||||
max_t=100000*dt)
|
max_t=50000*dt)
|
||||||
avg_rate = np.mean(rates, axis=1)
|
avg_rate = np.mean(rates, axis=1)
|
||||||
rate_std = np.std(rates, axis=1)
|
rate_std = np.std(rates, axis=1)
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ def plot_isi_rate(spike_times, max_t=30, dt=1e-4):
|
|||||||
ax2 = fig.add_subplot(312)
|
ax2 = fig.add_subplot(312)
|
||||||
ax3 = fig.add_subplot(313)
|
ax3 = fig.add_subplot(313)
|
||||||
|
|
||||||
ax1.vlines(times[times < (100000*dt)], ymin=0, ymax=1, color="dodgerblue", lw=1.5)
|
ax1.vlines(times[times < (50000*dt)], ymin=0, ymax=1, color="dodgerblue", lw=1.5)
|
||||||
ax1.set_ylabel("skpikes", fontsize=12)
|
ax1.set_ylabel("skpikes", fontsize=12)
|
||||||
set_axis_fontsize(ax1, 12)
|
set_axis_fontsize(ax1, 12)
|
||||||
|
|
||||||
@ -112,13 +112,13 @@ def plot_bin_rate(spike_times, bin_width, max_t=30, dt=1e-4):
|
|||||||
|
|
||||||
ax1.vlines(times[times < (100000*dt)], ymin=0, ymax=1, color="dodgerblue", lw=1.5)
|
ax1.vlines(times[times < (100000*dt)], ymin=0, ymax=1, color="dodgerblue", lw=1.5)
|
||||||
ax1.set_ylabel("skpikes", fontsize=12)
|
ax1.set_ylabel("skpikes", fontsize=12)
|
||||||
ax1.set_xlim([0, 10])
|
ax1.set_xlim([0, 5])
|
||||||
set_axis_fontsize(ax1, 12)
|
set_axis_fontsize(ax1, 12)
|
||||||
|
|
||||||
ax2.plot(time, rate, label="binned rate, trial 1")
|
ax2.plot(time, rate, label="binned rate, trial 1")
|
||||||
ax2.set_ylabel("firing rate [Hz]", fontsize=12)
|
ax2.set_ylabel("firing rate [Hz]", fontsize=12)
|
||||||
ax2.legend(fontsize=12)
|
ax2.legend(fontsize=12)
|
||||||
ax2.set_xlim([0, 10])
|
ax2.set_xlim([0, 5])
|
||||||
set_axis_fontsize(ax2, 12)
|
set_axis_fontsize(ax2, 12)
|
||||||
|
|
||||||
ax3.fill_between(time, avg_rate+rate_std, avg_rate-rate_std, color="dodgerblue",
|
ax3.fill_between(time, avg_rate+rate_std, avg_rate-rate_std, color="dodgerblue",
|
||||||
@ -127,7 +127,7 @@ def plot_bin_rate(spike_times, bin_width, max_t=30, dt=1e-4):
|
|||||||
ax3.set_xlabel("times [s]", fontsize=12)
|
ax3.set_xlabel("times [s]", fontsize=12)
|
||||||
ax3.set_ylabel("firing rate [Hz]", fontsize=12)
|
ax3.set_ylabel("firing rate [Hz]", fontsize=12)
|
||||||
ax3.legend(fontsize=12)
|
ax3.legend(fontsize=12)
|
||||||
ax3.set_xlim([0, 10])
|
ax3.set_xlim([0, 5])
|
||||||
ax3.set_ylim([0, 450])
|
ax3.set_ylim([0, 450])
|
||||||
set_axis_fontsize(ax3, 12)
|
set_axis_fontsize(ax3, 12)
|
||||||
|
|
||||||
@ -165,13 +165,13 @@ def plot_conv_rate(spike_times, sigma=0.05, max_t=30, dt=1e-4):
|
|||||||
|
|
||||||
ax1.vlines(times[times < (100000*dt)], ymin=0, ymax=1, color="dodgerblue", lw=1.5)
|
ax1.vlines(times[times < (100000*dt)], ymin=0, ymax=1, color="dodgerblue", lw=1.5)
|
||||||
ax1.set_ylabel("skpikes", fontsize=12)
|
ax1.set_ylabel("skpikes", fontsize=12)
|
||||||
ax1.set_xlim([0, 10])
|
ax1.set_xlim([0, 5])
|
||||||
set_axis_fontsize(ax1, 12)
|
set_axis_fontsize(ax1, 12)
|
||||||
|
|
||||||
ax2.plot(time, rate, label="convolved rate, trial 1")
|
ax2.plot(time, rate, label="convolved rate, trial 1")
|
||||||
ax2.set_ylabel("firing rate [Hz]", fontsize=12)
|
ax2.set_ylabel("firing rate [Hz]", fontsize=12)
|
||||||
ax2.legend(fontsize=12)
|
ax2.legend(fontsize=12)
|
||||||
ax2.set_xlim([0, 10])
|
ax2.set_xlim([0, 5])
|
||||||
set_axis_fontsize(ax2, 12)
|
set_axis_fontsize(ax2, 12)
|
||||||
|
|
||||||
ax3.fill_between(time, avg_rate+rate_std, avg_rate-rate_std, color="dodgerblue",
|
ax3.fill_between(time, avg_rate+rate_std, avg_rate-rate_std, color="dodgerblue",
|
||||||
@ -180,19 +180,19 @@ def plot_conv_rate(spike_times, sigma=0.05, max_t=30, dt=1e-4):
|
|||||||
ax3.set_xlabel("times [s]", fontsize=12)
|
ax3.set_xlabel("times [s]", fontsize=12)
|
||||||
ax3.set_ylabel("firing rate [Hz]", fontsize=12)
|
ax3.set_ylabel("firing rate [Hz]", fontsize=12)
|
||||||
ax3.legend(fontsize=12)
|
ax3.legend(fontsize=12)
|
||||||
ax3.set_xlim([0, 10])
|
ax3.set_xlim([0, 5])
|
||||||
ax3.set_ylim([0, 450])
|
ax3.set_ylim([0, 450])
|
||||||
set_axis_fontsize(ax3, 12)
|
set_axis_fontsize(ax3, 12)
|
||||||
|
|
||||||
fig.set_size_inches(15, 10)
|
fig.set_size_inches(15, 10)
|
||||||
fig.subplots_adjust(left=0.1, bottom=0.125, top=0.95, right=0.95)
|
fig.subplots_adjust(left=0.1, bottom=0.125, top=0.95, right=0.95)
|
||||||
fig.set_facecolor("white")
|
fig.set_facecolor("white")
|
||||||
fig.savefig("../lectures/images/concolved_rate.png")
|
fig.savefig("../lectures/images/convolved_rate.png")
|
||||||
plt.close()
|
plt.close()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
spike_times = spio.loadmat('lifoustim.mat')["spikes"]
|
spike_times = spio.loadmat('lifoustim.mat')["spikes"]
|
||||||
# plot_isi_rate(spike_times)
|
plot_isi_rate(spike_times)
|
||||||
# plot_bin_rate(spike_times, 0.05)
|
plot_bin_rate(spike_times, 0.05)
|
||||||
plot_conv_rate(spike_times, 0.05)
|
plot_conv_rate(spike_times, 0.025)
|
||||||
|
@ -176,14 +176,14 @@
|
|||||||
}
|
}
|
||||||
\only <4> {
|
\only <4> {
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
\includegraphics[width=0.4\columnwidth]{images/badbarright}
|
\includegraphics[width=0.3\columnwidth]{images/badbarright}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\vspace{0.5cm}
|
\vspace{0.5cm}
|
||||||
\url{https://en.wikipedia.org/wiki/Misleading_graph}
|
\url{https://en.wikipedia.org/wiki/Misleading_graph}
|
||||||
}
|
}
|
||||||
\only <5> {
|
\only <5> {
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
\includegraphics[width=0.4\columnwidth]{images/badbarleft}
|
\includegraphics[width=0.3\columnwidth]{images/badbarleft}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\vspace{0.5cm}
|
\vspace{0.5cm}
|
||||||
\url{https://en.wikipedia.org/wiki/Misleading_graph}
|
\url{https://en.wikipedia.org/wiki/Misleading_graph}
|
||||||
@ -352,19 +352,18 @@ saveas(fig, 'spike_detection.pdf', 'pdf')
|
|||||||
\item Deutliche Unterscheidbarkeit von Kurven.
|
\item Deutliche Unterscheidbarkeit von Kurven.
|
||||||
\item Keine suggestive Darstellung.
|
\item Keine suggestive Darstellung.
|
||||||
\item Ausgewogenheit von Linienst\"arken Schrift- und Plotgr\"o{\ss}e.
|
\item Ausgewogenheit von Linienst\"arken Schrift- und Plotgr\"o{\ss}e.
|
||||||
\item Vermeidung von Suggestiven Darstellungen.
|
|
||||||
\item Fehlerbalken, wenn sie angebracht sind.
|
\item Fehlerbalken, wenn sie angebracht sind.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
\begin{frame}[plain]
|
\begin{frame}[plain]
|
||||||
\huge{2. Spiketrain Analyse I}
|
\huge{2. Spiketrain Analyse}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Spiketrain Analyse I}
|
\frametitle{Spiketrain Analyse}
|
||||||
\framesubtitle{Rasterplot}
|
\framesubtitle{Rasterplot}
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
\centering
|
\centering
|
||||||
@ -374,92 +373,221 @@ saveas(fig, 'spike_detection.pdf', 'pdf')
|
|||||||
|
|
||||||
|
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Spiketrain Analyse I}
|
\frametitle{Spiketrain Analyse}
|
||||||
\framesubtitle{Rasterplot}
|
\framesubtitle{Rasterplot}
|
||||||
\"Ubung:
|
\"Ubung:
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item Ladet die Datei: electrorecptor\_spike\_times.mat aus dem
|
\item Ladet die Datei: \code{lifoustim.mat} aus dem
|
||||||
Ilias Ordner.
|
Ilias Ordner.
|
||||||
\item Der Datensatz enth\"alt die Zeiten von Aktionspotentialen.
|
\item Der Datensatz enth\"alt die Zeiten von Aktionspotentialen.
|
||||||
\item Schaut euch den Inhalt und skizziert wie das Problem gel\"ost
|
\item Erzeugt einen sch\"onen Rasterplot der Zellantworten, speichert ihn.
|
||||||
werden k\"onnte.
|
\item Welche Information liefert er, welche Information ist schwer
|
||||||
\item Erzeugt einen Rasterplot.
|
abzulesen?
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Spiketrain Analyse}
|
||||||
|
\framesubtitle{Zeitabh\"angige Feuerrate, PSTH}
|
||||||
|
|
||||||
|
Darstellung der Feurreate eines Neuron als Funktion der Zeit. Es
|
||||||
|
gibt verschiedene Methoden dieses \textbf{P}eri \textbf{S}timulus
|
||||||
|
\textbf{T}ime \textbf{H}istogram zu erstellen.
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Auf Basis der \textit{instantanen} Feuerrate.
|
||||||
|
\item Auf Basis des Zeithistogramms.
|
||||||
|
\item Durch Faltung der Zellantwort mit einem Gauss Kern.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Spiketrain Analyse I}
|
\frametitle{Spiketrain Analyse}
|
||||||
\framesubtitle{Feuerrate \"uber
|
\framesubtitle{Zeitabh\"angige Feuerrate, PSTH --- Instantane Feuerrate ---}
|
||||||
die Zeit}
|
\Large{Berechnung des PSTHs durch die Instantane Feurerrate:}
|
||||||
|
\normalsize
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item Die Feuerrate kann aus dem Abstand zwischen zwei
|
\item Die Feuerrate kann aus dem Abstand zwischen zwei
|
||||||
aufeinanderfolgenden Aktionspotentialen
|
aufeinanderfolgenden Aktionspotentialen
|
||||||
(\textbf{Interspikeinterval}) berechnet werden. \pause
|
(\textbf{Interspikeinterval}) berechnet werden. \pause
|
||||||
\item Auch als \textbf{Instantane Feuerrate} bezeichnet.
|
\item Die \textbf{Instantane Feuerrate} wird aus dem Kehrwert des
|
||||||
|
Interspikeintervals berechnet.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Spiketrain Analyse}
|
||||||
|
\framesubtitle{Zeitabh\"angige Feuerrate, PSTH --- Instantane Feuerrate ---}
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=0.5\columnwidth]{images/isi}
|
\includegraphics[width=0.9\columnwidth]{images/instantaneous_rate}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Spiketrain Analyse I}
|
\frametitle{Spiketrain Analyse}
|
||||||
\framesubtitle{Feuerrate \"uber
|
\framesubtitle{Zeitabh\"angige Feuerrate, PSTH --- Instantane Feuerrate ---}
|
||||||
die Zeit}
|
Berechnung des PSTHs durch die Instantane Feurerrate:
|
||||||
|
\textbf{Vorteile:}
|
||||||
|
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item Z.B. das \textbf{P}eri- \textbf{S}timulus - \textbf{T}ime -
|
\item Sehr einfach zu Berechnen.
|
||||||
\textbf{H}istogram, \textbf{PSTH}
|
\item Macht keine Annahmen \"uber ein Zeitraster, oder die Zeitskala
|
||||||
\item Wird berechnet indem die Zeit in ``bins'' geteilt wird die
|
der neuronalen Verarbeitung.
|
||||||
Anzahl Spikes pro bin gezaehlt werden.
|
\end{enumerate}
|
||||||
\item Die Anzahl wird dann in eine Feuerrate umgerechnet.
|
|
||||||
\end{enumerate}\pause
|
\textbf{Nachteile:}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Die Feuerrate ist nie null, auch wenn f\"ur lange Zeit kein
|
||||||
|
Aktionspotential auftritt.
|
||||||
|
\item Verh\"alt sich im Fourrier Raum nicht sehr sch\"on.
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Spiketrain Analyse}
|
||||||
|
\framesubtitle{Zeitabh\"angige Feuerrate, PSTH --- Binning Methode ---}
|
||||||
|
\Large{Binning Methode:}
|
||||||
|
\normalsize
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Die Zeitachse wird in gleich gro{\ss}e Abschnitte ``bins''
|
||||||
|
unterteilt.
|
||||||
|
\item F\"ur jedes ``bin'' wird die Anzahl vorkommender
|
||||||
|
Aktionspotentiale gez\"ahlt.
|
||||||
|
\item Der Spike-count pro bin muss nun noch in die Rate umgerechnet
|
||||||
|
werden.
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Spiketrain Analyse}
|
||||||
|
\framesubtitle{Zeitabh\"angige Feuerrate, PSTH --- Binning Methode ---}
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
\centering
|
\includegraphics[width=0.9\columnwidth]{images/binned_rate}
|
||||||
\includegraphics[width=0.5\columnwidth]{images/binning}
|
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Spiketrain Analyse}
|
||||||
|
\framesubtitle{Zeitabh\"angige Feuerrate, PSTH --- Binning Methode ---}
|
||||||
|
|
||||||
|
Berechnung des PSTHs durch die Binning Methode:
|
||||||
|
|
||||||
|
\textbf{Vorteile:}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Sehr einfach zu Berechnen.
|
||||||
|
\item Zeigt nur da Aktivit\"at an, wo auch Aktionspotentiale
|
||||||
|
generiert wurden.
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\textbf{Nachteile:}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Mach Annahmen \"uber die relevante Zeitskala neuronaler
|
||||||
|
Verarbeitung.
|
||||||
|
\item Die Zeitachse wird diskretisiert.
|
||||||
|
\item Verh\"alt sich im Fourrier Raum nicht sehr sch\"on.
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{frame}[fragile]
|
||||||
|
\frametitle{Spiketrain Analyse}
|
||||||
|
\framesubtitle{Zeitabh\"angige Feuerrate, PSTH --- Faltungsmethode ---}
|
||||||
|
\Large{Faltung mit einem Gauss Kern:}
|
||||||
|
\normalsize
|
||||||
|
\[r_{est}(t) = \int_{-\infty}^{\infty}d\tau \omega(\tau)\rho(t-\tau) \]
|
||||||
|
|
||||||
|
wobei $\omega(\tau)$ der Gauss Kern und $\rho(t)$ die Antwortfunktion ist.
|
||||||
|
|
||||||
|
Gl\"ucklicherweise m\"ussen wir das nicht selbst implementieren...
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
\begin{frame}[fragile]
|
\begin{frame}[fragile]
|
||||||
\frametitle{Spiketrain Analyse I}
|
\frametitle{Spiketrain Analyse}
|
||||||
\framesubtitle{Feuerrate \"uber die Zeit}
|
\framesubtitle{Zeitabh\"angige Feuerrate, PSTH --- Faltungsmethode ---}
|
||||||
|
\large Algortihmus:
|
||||||
|
\normalsize
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item Z.B. das \textbf{P}eri- \textbf{S}timulus - \textbf{T}ime -
|
\item Die neuronalen Antworten werden ``bin\"ar'' ausgedr\"uckt.
|
||||||
\textbf{H}istogram, \textbf{PSTH}
|
\item Ein Filterkern wird berechnet, der das Integral 1 hat.
|
||||||
\item Wird berechnet indem man die Aktivit\"at bin\"ar ausdr\"uckt.
|
\item Mithilfe der Faltung (\code{conv} Funktion) wird jede 1 durch
|
||||||
\item Jede 1 wird dann duch einen ``Kern'' ersetzt.
|
den ``Kern'' ersetzt.\\
|
||||||
\item Der Vorgang heisst Faltung (\verb+conv+).
|
\code{conv(x, kern, 'mode', 'same')}
|
||||||
\end{enumerate}\pause
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Spiketrain Analyse}
|
||||||
|
\framesubtitle{Feurerrate als Funktion der Zeit --- Faltungsmethode ---}
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
\centering
|
\includegraphics[width=0.9\columnwidth]{images/convolved_rate}
|
||||||
\includegraphics[width=0.5\columnwidth]{images/conv}
|
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
\begin{frame} [fragile]
|
\begin{frame}
|
||||||
\frametitle{Spiketrain Analyse I}
|
\frametitle{Spiketrain Analyse}
|
||||||
\framesubtitle{\"Ubung}
|
\framesubtitle{Feurerrate als Funktion der Zeit --- Faltungsmethode ---}
|
||||||
|
\textbf{Vorteile:}
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item Berechnet die Feuerrate eines Neurons mit einer der drei Methoden.
|
\item Sehr ``nat\"urliche'' erscheinende Darstellung.
|
||||||
\item Die Abbildung soll f\"ur eine einspaltige Abbildung im
|
\item Sehr gutes Verhalten im Fourrier Raum.
|
||||||
\textit{Journal of Neuroscience} geeignet sein
|
\end{enumerate}
|
||||||
(\url{http://www.jneurosci.org/site/misc/ifa_illustrations.xhtml}).
|
|
||||||
\item Erzeugt/ver\"andert/erweitert das Programm zum plotten so, dass
|
\textbf{Nachteile:}
|
||||||
die Abbildung automatisch erstellt und gespeichert wird.
|
\begin{enumerate}
|
||||||
\item Speichert die Abbildung als pdf.
|
\item Relativ rechenintensiv.
|
||||||
\item Ladet den Stimulus aus dem Ilias Ordner und benutzt die
|
\item Macht Annahmen \"uber die Zeitskalen neuronaler Verarbeitung.
|
||||||
\verb+subplot+ Funktion um den Stimulus zu der neuronalen
|
|
||||||
Aktivit\"at zu plotten.
|
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}[plain]
|
||||||
|
\huge{3. Analyse der Beziehung zwischen Stimulus und Antwort}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{frame}[fragile]
|
||||||
|
\frametitle{Spiketrain Analyse}
|
||||||
|
\framesubtitle{Spike-Triggered-Average}
|
||||||
|
\begin{itemize}
|
||||||
|
\item[] Die Antworten darzustellen ist gut und sch\"on, aber was sagt es uns?\pause
|
||||||
|
\item[] Idealerweise wollen wir die Antworten in Beziehung zum
|
||||||
|
hervorrufenden Stimulus setzen.
|
||||||
|
\item[] Eine Methode ist der sogenannte \textbf{Spike-Triggered-Average} (STA).
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
\begin{frame}[fragile]
|
\begin{frame}[fragile]
|
||||||
\frametitle{Spiketrain Analyse}
|
\frametitle{Spiketrain Analyse}
|
||||||
\framesubtitle{Spike-Triggered-Average}
|
\framesubtitle{Spike-Triggered-Average}
|
||||||
|
|
||||||
|
Der STA stellt den (mittleren) Stimulus dar, der zu einem
|
||||||
|
Aktionspotential gef\"uhrt hat:
|
||||||
|
|
||||||
|
\begin{equation}
|
||||||
|
STA(\tau) = \frac{1}{\langle n \rangle} \left\langle \displaystyle\sum_{i=1}^{n}{s(t_i - \tau)} \right\rangle
|
||||||
|
\end{equation}
|
||||||
|
Wobei: $\tau$ ist eine bestimmte Zeit relativ zur Zeit eines
|
||||||
|
Aktionspotentials, $t_i$ ist der Zeitpunkt eines APs, $s(t)$ ist der
|
||||||
|
Stimulus.\\
|
||||||
|
|
||||||
|
Leider m\"ussen wir das selbst implementieren...
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{frame}[fragile]
|
||||||
|
\frametitle{Spiketrain Analyse}
|
||||||
|
\framesubtitle{Spike-Triggered-Average}
|
||||||
|
\large{Algorithmus:}
|
||||||
|
\normalsize
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item Der \textbf{STA} ist der mittlere Stimulus, der zu einem Aktionspotential f\"uhrt.
|
\item Der \textbf{STA} ist der mittlere Stimulus, der zu einem Aktionspotential f\"uhrt.
|
||||||
\item F\"ur jeden Spike wird ein entsprechender Abschnitt um die Zeit des Spikes herausgeschnitten.
|
\item F\"ur jeden Spike wird ein entsprechender Abschnitt um die Zeit des Spikes herausgeschnitten.
|
||||||
@ -471,4 +599,45 @@ saveas(fig, 'spike_detection.pdf', 'pdf')
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}[fragile]
|
||||||
|
\frametitle{Spiketrain Analyse}
|
||||||
|
\framesubtitle{Spike-Triggered-Average}
|
||||||
|
\vspace{-1em}
|
||||||
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.6\columnwidth]{images/sta}
|
||||||
|
\end{figure}
|
||||||
|
\pause
|
||||||
|
\vspace{-0.5em}
|
||||||
|
Welche Information liefert der \textbf{STA}?
|
||||||
|
\small
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Gibt es eine Beziehung zwischen Stimulus und Antwort?\pause
|
||||||
|
\item Gibt es eine Verz\"ogerung zwischen Stimulus und Antwort? Wie
|
||||||
|
gro{\ss} ist diese?\pause
|
||||||
|
\item Wie weit h\"angt das Auftreten eines Aktionspotentials von der
|
||||||
|
Vergangenheit ab? \pause
|
||||||
|
\item Kann die Zelle in die Zukunft sehen?
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\begin{frame} [fragile]
|
||||||
|
\frametitle{Spiketrain Analyse}
|
||||||
|
\framesubtitle{\"Ubung}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Berechnet die Feuerrate eines Neurons mit einer der drei Methoden.
|
||||||
|
\item Die Abbildung soll f\"ur eine einspaltige Abbildung im
|
||||||
|
\textit{Journal of Neuroscience} geeignet sein
|
||||||
|
(\url{http://www.jneurosci.org/site/misc/ifa_illustrations.xhtml}).
|
||||||
|
\item Erzeugt/ver\"andert/erweitert das Programm zum plotten so, dass
|
||||||
|
die Abbildung automatisch erstellt und gespeichert wird.
|
||||||
|
\item Speichert die Abbildung als pdf.
|
||||||
|
\item Ladet den Stimulus aus dem Ilias Ordner und benutzt die
|
||||||
|
\verb+subplot+ Funktion um den Stimulus zu der neuronalen
|
||||||
|
Aktivit\"at zu plotten.
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
Reference in New Issue
Block a user