%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Spiketrain analysis}

\selectlanguage{english}

\enterm[Actionspotentials]{Actionspotentials} (\enterm{spikes}) are
the carriers of information in the nervous system. Thereby it is
mainly the time at which the spikes are generated that is of
importance. The waveform of the action potential is largely
stereotyped and does not carry information.

The result of the processing of electrophysiological recordings are
series of spike times, which are then termed \enterm{spiketrains}. If
measurements are repeated we yield several \enterm{trials} of
spiketrains (\figref{rasterexamplesfig}).

Spiketrains are times of events, the action potentials. The analysis
of these leads into the realm of the so called \enterm[point
  process]{point processes}.

\begin{figure}[ht]
  \includegraphics[width=1\textwidth]{rasterexamples}
  \titlecaption{\label{rasterexamplesfig}Raster-plot.}{Raster-plot of
    ten realizations of a stationary point process (homogeneous point
    process with a rate $\lambda=20$\;Hz, left) and an inhomogeneous
    point process (perfect integrate-and-fire neuron dirven by
    Ohrnstein-Uhlenbeck noise with a time-constant $\tau=100$\,ms,
    right). Each vertical dash illustrates the time at which the
    action potential was observed. Each line represents the event of
    each trial.}
\end{figure}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Point processes}

A temporal \enterm{point process} is a stochastic process that
generates a sequence of events at times $\{t_i\}$, $t_i \in
\reZ$.

\begin{ibox}{Examples of point processes}
  Every point process is generated by a temporally continuously
  developing process. An event is generated whenever this process
  reaches a certain threshold. For example:
  \begin{itemize}
  \item Action potentials/heart beat: created by the dynamics of the
    neuron/sinoatrial node
  \item Earthquake: defined by the dynamics of the pressure between
    tectonical plates.
  \item Evoked communication calls in crickets/frogs/birds: shaped by
    the dynamics of nervous system and the muscle appartus.
  \end{itemize}
\end{ibox}

\begin{figure}[t]
  \texpicture{pointprocessscetch}
  \titlecaption{\label{pointprocessscetchfig} Statistics of point
    processes.}{A point process is a sequence of instances in time
    $t_i$ that can be characterized through the inter-event-intervals
    $T_i=t_{i+1}-t_i$ and the number of events $n_i$. }
\end{figure}

In the neurosciences, the statistics of point processes is of
importance since the timing of the neuronal events (the action
potentials) is crucial for information transmission and can be treated
as such a process.

Point processes can be described using the intervals between
successive events $T_i=t_{i+1}-t_i$ and the number of observed events
within a certain time window $n_i$ (\figref{pointprocessscetchfig}).

The events originating from a point process can be illustrated in form
of a scatter- or raster plot in which each vertical line indicates the
time of an event. The event from two different point processes are
shown in \figref{rasterexamplesfig}.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\section{Intervalstatistics}

The intervals $T_i=t_{i+1}-t_i$ between successive events are real
positive numbers. In the context of action potentials they are
referred to as \enterm{interspike intervals}. The statistics of these
are described using the common measures.

\begin{figure}[t]
  \includegraphics[width=0.96\textwidth]{isihexamples}\vspace{-2ex}
  \titlecaption{\label{isihexamplesfig}Interspike interval
    histogram}{of the spikes depicted in \figref{rasterexamplesfig}.}
\end{figure}

\begin{exercise}{isis.m}{}
  Implement a function \code{isis()} that calculates the interspike
  intervals from several spike trains. The function should return a
  single vector of intervals. The action potentials recorded in the
  individual trials are stored as vectors of spike times within a
  \codeterm{cell-array}. Spike times are given in seconds.
\end{exercise}

\subsection{First order interval statistics}
\begin{itemize}
\item Probability density $p(T)$ of the intervals $T$
  (\figref{isihexamplesfig}). Normalized to $\int_0^{\infty} p(T) \; dT
  = 1$.
\item Average interval: $\mu_{ISI} = \langle T \rangle =
  \frac{1}{n}\sum\limits_{i=1}^n T_i$.
\item Standard deviation of the interspike intervals: $\sigma_{ISI} = \sqrt{\langle (T - \langle T
    \rangle)^2 \rangle}$\vspace{1ex}
\item \enterm{Coefficient of variation}: $CV_{ISI} =
  \frac{\sigma_{ISI}}{\mu_{ISI}}$.
\item \enterm{Diffusion coefficient}): $D_{ISI} =
  \frac{\sigma_{ISI}^2}{2\mu_{ISI}^3}$.
\end{itemize}

\begin{exercise}{isihist.m}{}
  Implement a function \code{isiHist()} that calculates the normalized
  interspike interval histogram. The function should take two input
  arguments; (i) a vector of interspike intervals and (ii) the width
  of the bins used for the histogram. It further returns the
  probability density as well as the centers of the bins.
\end{exercise}

\begin{exercise}{plotisihist.m}{}
  Implement a function that takes the return values of
  \code{isiHist()} as input arguments and then plots the data. The
  plot should show the histogram with the x-axis scaled to
  milliseconds and should be annotated with the average ISI, the
  standard deviation and the coefficient of variation.
\end{exercise}

\subsection{Interval correlations}
So called \enterm{return maps} are used to illustrate
interdependencies between successive interspike intervals. The return
map plots the delayed interval $T_{i+k}$ against the interval
$T_i$. The parameter $k$ is called the \enterm{lag} $k$. Stationary
and non-stationary return maps are distinctly different
\figref{returnmapfig}.

\begin{figure}[t]
  \includegraphics[width=1\textwidth]{returnmapexamples}
  \includegraphics[width=1\textwidth]{serialcorrexamples}
  \titlecaption{\label{returnmapfig}Interspike interval analyses of a
    stationary and a non-stationary pointprocess.}{Upper plots show the
    return maps and the lower panels depict the serial correlation of
    successive intervals separated by the lag $k$.}
\end{figure}

Such dependencies can be further quantified using the \enterm{serial
  correlations} \figref{returnmapfig}. The serial correlation is the
correlation coefficient of the intervals $T_i$ and the intervals
delayed by the lag $T_{i+k}$:
\[ \rho_k = \frac{\langle (T_{i+k} - \langle T \rangle)(T_i - \langle T \rangle) \rangle}{\langle (T_i - \langle T \rangle)^2\rangle} = \frac{{\rm cov}(T_{i+k}, T_i)}{{\rm var}(T_i)} 
= {\rm corr}(T_{i+k}, T_i) \] The resulting correlation coefficient
$\rho_k$ is usually plotted against the lag $k$
\figref{returnmapfig}. $\rho_0=1$ is the correlation of each interval
with itself and is always 1.

\begin{exercise}{isiserialcorr.m}{}
  Implement a function \code{isiserialcorr()} that takes a vector of
  interspike intervals as input argument and calculates the serial
  correlation. The function should further plot the serial
  correlation. \pagebreak[4]
\end{exercise}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Count statistics}

% \begin{figure}[t]
%   \includegraphics[width=0.48\textwidth]{poissoncounthist100hz10ms}\hfill
%   \includegraphics[width=0.48\textwidth]{poissoncounthist100hz100ms}
%   \titlecaption{\label{countstatsfig}Count Statistik.}{}
% \end{figure}
The number of events $n_i$ (counts) in a time window $i$ of the duration $W$
yields positive integer random numbers that are commonly quantified
using the following measures:
\begin{itemize}
\item Histogram of the counts $n_i$.
\item Average number of events: $\mu_N = \langle n \rangle$.
\item Variance of the counts: $\sigma_n^2 = \langle (n - \langle n \rangle)^2 \rangle$.
\item \determ{Fano Faktor} (The variance divided by the average): $F = \frac{\sigma_n^2}{\mu_n}$.
\end{itemize}
And in particular the average firing rate $r$ (spike count per time interval
, \determ{Feuerrate}) that is given in Hertz \sindex[term]{Feuerrate!mittlere Rate}
\begin{equation}
  \label{firingrate}
  r = \frac{\langle n \rangle}{W} \; .
\end{equation}

% \begin{figure}[t]
%   \begin{minipage}[t]{0.49\textwidth}
%     Poisson process $\lambda=100$\,Hz:\\
%     \includegraphics[width=1\textwidth]{poissonfano100hz}
%   \end{minipage}
%   \hfill
%   \begin{minipage}[t]{0.49\textwidth}
%     LIF $I=10$, $\tau_{adapt}=100$\,ms:\\
%     \includegraphics[width=1\textwidth]{lifadaptfano10-100ms}
%   \end{minipage}
%   \titlecaption{\label{fanofig}Fano factor.}{}
% \end{figure}

\begin{exercise}{counthist.m}{}
  Implement a function \code{counthist()} that calculates and plots
  the distribution of spike counts observed in a certain time
  window. The function should take two input arguments: (i) a
  \codeterm{cell-array} of vectors containing the spike times in
  seconds observed in a number of trials and (ii) the duration of the
  time window that is used to evaluate the counts.
\end{exercise}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Homogeneous Poisson process}

The Gaussian distribution is, due to the central limit theorem, the
standard for continuous measures. The equivalent in the realm of point
processes is the \enterm{Poisson distribution}.

In a \enterm[Poisson process!homogeneous]{homogeneous Poisson process}
the events occur at a fixed rate $\lambda=\text{const.}$ and are
independent of both the time $t$ and occurrence of previous events
(\figref{hompoissonfig}). The probability of observing an even within a
small time window of width $\Delta t$ is given by
\begin{equation}
  \label{hompoissonprob}
  P = \lambda \cdot \Delta t \; .
\end{equation}

In an \enterm[Poisson process!inhomogeneous]{inhomogeneous Poisson
  process}, however, the rate $\lambda$ depends on the time: $\lambda =
\lambda(t)$.

\begin{exercise}{poissonspikes.m}{}
  Implement a function \code{poissonspikes()} that uses a homogeneous
  Poisson process to generate events at a given rate for a certain
  duration and a number of trials. The rate should be given in Hertz
  and the duration of the trials is given in seconds. The function
  should return the event times in a cell-array. Each entry in this
  array represents the events observed in one trial. Apply
  \eqnref{hompoissonprob} to generate the event times.
\end{exercise}

\begin{figure}[t]
  \includegraphics[width=1\textwidth]{poissonraster100hz}
  \titlecaption{\label{hompoissonfig}Rasterplot of spikes of a
    homogeneous Poisson process with a rate $\lambda=100$\,Hz.}{}
\end{figure}

\begin{figure}[t]
  \includegraphics[width=0.45\textwidth]{poissonisihexp20hz}\hfill
  \includegraphics[width=0.45\textwidth]{poissonisihexp100hz}
  \titlecaption{\label{hompoissonisihfig}Distribution of interspike intervals of two Poisson processes.}{}
\end{figure}

The homogeneous Poisson process has the following properties:
\begin{itemize}
\item Intervals $T$ are exponentially distributed (\figref{hompoissonisihfig}):
  \begin{equation}
    \label{poissonintervals}
    p(T) = \lambda e^{-\lambda T} \; .
  \end{equation}
\item The average interval is $\mu_{ISI} = \frac{1}{\lambda}$ .
\item The variance of the intervals is $\sigma_{ISI}^2 = \frac{1}{\lambda^2}$ .
\item Thus, the coefficient of variation is always $CV_{ISI} = 1$ .
\item The serial correlation is $\rho_k =0$ for $k>0$, since the
  occurrence of an event is independent of all previous events. Such a
  process is also called a \enterm{renewal process}.
\item The number of events $k$ within a temporal window of duration
  $W$ is Poisson distributed:
\[ P(k) = \frac{(\lambda W)^ke^{\lambda W}}{k!} \]
(\figref{hompoissoncountfig})
\item The Fano Faktor is always $F=1$ .
\end{itemize}

\begin{exercise}{hompoissonspikes.m}{}
  Implement a function \code{hompoissonspikes()} that uses a
  homogeneous Poisson process to generate spike events at a given rate
  for a certain duration and a number of trials. The rate should be
  given in Hertz and the duration of the trials is given in
  seconds. The function should return the event times in a
  cell-array. Each entry in this array represents the events observed
  in one trial. Apply \eqnref{poissonintervals} to generate the event
  times.
\end{exercise}

\begin{figure}[t]
  \includegraphics[width=0.48\textwidth]{poissoncounthistdist100hz10ms}\hfill
  \includegraphics[width=0.48\textwidth]{poissoncounthistdist100hz100ms}
  \titlecaption{\label{hompoissoncountfig}Count statistics of Poisson
    spiketrains.}{}
\end{figure}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Time-dependent firing rate}

So far we discussed stationary spiketrains. The statistical properties
of these did not change within the observation time (stationary point
processes. Most commonly, however, this is not the case. A sensory
neuron, for example, might respond to a stimulus by modulating its
firing rate (non-stationary point process).

How the firing rate $r(t)$ changes over time is the most important
measure, when analyzing non-stationary spike trains. The unit of the
firing rate is Hertz, i.e. the number of action potentials per
second. There are different ways to estimate the firing rate and three
of these methods will are illustrated in \figref{psthfig}. All of
these have their own justifications and pros- and cons. In the
following we will discuss the methods shown in \figref{psthfig} more
closely.

\begin{figure}[tp]
  \includegraphics[width=\columnwidth]{firingrates}
  \titlecaption{Bestimmung der zeitabh\"angigen
    Feuerrate.}{\textbf{A)} Rasterplot eines Spiketrains. \textbf{B)}
    Feurerrate aus der instantanen Feuerrate bestimmt. \textbf{C)}
    klassisches PSTH mit der Binning Methode. \textbf{D)} Feuerrate
    durch Faltung mit einem Gauss Kern bestimmt.}\label{psthfig}
\end{figure}


\subsection{Instantane Feuerrate}

\begin{figure}[tp]
  \includegraphics[width=\columnwidth]{isimethod}
  \titlecaption{Instantane Feuerrate.}{Skizze eines Spiketrains
    (oben).  Die Pfeile zwischen aufeinanderfolgenden
    Aktionspotentialen mit den Zahlen in Millisekunden illustrieren
    die Interspikeintervalle. Der Kehrwert des Interspikeintervalle
    ergibt die instantane Feuerrate.}\label{instrate}
\end{figure}

Ein sehr einfacher Weg, die zeitabh\"angige Feuerrate zu bestimmen ist
die sogenannte \determ[Feuerrate!instantane]{instantane Feuerrate}
(\enterm[firing rate!instantaneous]{instantaneous firing rate}). Dabei
wird die Feuerrate aus dem Kehrwert der Interspikeintervalle, der Zeit
zwischen zwei aufeinander folgenden Aktionspotentialen
(\figref{instrate} A), bestimmt. Die abgesch\"atzte Feuerrate
(\figref{instrate} B) ist g\"ultig f\"ur das gesammte
Interspikeintervall. Diese Methode hat den Vorteil, dass sie sehr
einfach zu berechnen ist und keine Annahme \"uber eine relevante
Zeitskala (der Kodierung oder des Auslesemechanismus der
postsynaptischen Zelle) macht. $r(t)$ ist allerdings keine
kontinuierliche Funktion, die Spr\"unge in der Feuerrate k\"onnen
f\"ur manche Analysen nachteilig sein. Au{\ss}erdem wird die Feuerrate
nie gleich Null, auch wenn lange keine Aktionspotentiale generiert
wurden.

\begin{exercise}{instantaneousRate.m}{}
  Implementiere die Absch\"atzung der Feuerrate auf Basis der
  instantanen Feuerrate. Plotte die Feuerrate als Funktion der Zeit.
\end{exercise}


\subsection{Peri-Stimulus-Zeit-Histogramm}
W\"ahrend die Instantane Rate den Kehrwert der Zeit von einem bis zum
n\"achsten Aktionspotential misst, sch\"atzt das sogenannte
\determ{Peri-Stimulus-Zeit-Histogramm} (\enterm{peri stimulus time
  histogram}, \determ[PSTH|see{Peri-Stimulus-Zeit-Histogramm}]{PSTH})
die Wahrscheinlichkeit ab, zu einem Zeitpunkt Aktionspotentiale
anzutreffen. Es wird versucht die mittlere Rate \eqnref{firingrate} im
Grenzwert kleiner Beobachtungszeiten abzusch\"atzen:
\begin{equation}
  \label{psthrate}
  r(t) = \lim_{W \to 0} \frac{\langle n \rangle}{W} \; ,
\end{equation}
wobei die Anzahl $n$ der Aktionspotentiale, die im Zeitintervall
$(t,t+W)$ aufgetreten sind, \"uber trials gemittelt wird.  Eine solche
Rate enspricht der zeitabh\"angigen Rate $\lambda(t)$ des inhomogenen
Poisson-Prozesses. 

Das PSTH \eqnref{psthrate} kann entweder \"uber die Binning-Methode
oder durch Verfaltung mit einem Kern bestimmt werden. Beiden Methoden
gemeinsam ist die Notwendigkeit der Wahl einer zus\"atzlichen Zeitskala,
die der Beobachtungszeit $W$ in \eqnref{psthrate} entspricht.

\subsubsection{Binning-Methode}

\begin{figure}[tp]
  \includegraphics[width=\columnwidth]{binmethod}
  \titlecaption{Bestimmung des PSTH mit der Binning Methode.}{Der
    gleiche Spiketrain wie in \figref{instrate}. Die grauen Linien
    markieren die Grenzen der Bins und die Zahlen geben die Anzahl der Spikes
    in jedem Bin an (oben). Die Feuerrate ergibt sich aus dem
    mit der Binbreite normierten Zeithistogramm (unten).}\label{binpsth}
\end{figure}

Bei der Binning-Methode wird die Zeitachse in gleichm\"aßige
Abschnitte (Bins) eingeteilt und die Anzahl Aktionspotentiale, die in
die jeweiligen Bins fallen, gez\"ahlt (\figref{binpsth} A). Um diese
Z\"ahlungen in die Feuerrate umzurechnen muss noch mit der Binweite
normiert werden. Das ist \"aquivalent zur Absch\"atzung einer
Wahrscheinlichkeitsdichte. Es kann auch die \code{hist()} Funktion zur
Bestimmung des PSTHs verwendet werden. \sindex[term]{Feuerrate!Binningmethode}

Die bestimmte Feuerrate gilt f\"ur das gesamte Bin (\figref{binpsth}
B). Das so berechnete PSTH hat wiederum eine stufige Form, die von der
Wahl der Binweite anh\"angt.  $r(t)$ ist also keine stetige
Funktion. Die Binweite bestimmt die zeitliche Aufl\"osung der
Absch\"atzung. \"Anderungen in der Feuerrate, die innerhalb eines Bins
vorkommen k\"onnen nicht aufgl\"ost werden. Mit der Wahl der Binweite
wird somit eine Annahme \"uber die relevante Zeitskala des Spiketrains
gemacht.

\pagebreak[4]
\begin{exercise}{binnedRate.m}{}
  Implementiere die Absch\"atzung der Feuerrate mit der ``binning''
  Methode. Plotte das PSTH.
\end{exercise}

\subsubsection{Faltungsmethode}

\begin{figure}[tp]
  \includegraphics[width=\columnwidth]{convmethod}
  \titlecaption{Bestimmung des PSTH mit der Faltungsmethode.}{Der
    gleiche Spiketrain wie in \figref{instrate}. Bei der Verfaltung
    des Spiketrains mit einem Faltungskern wird jeder Spike durch den
    Faltungskern ersetzt (oben). Bei korrekter Normierung des
    Kerns ergibt sich die Feuerrate direkt aus der \"Uberlagerung der
    Kerne.}\label{convrate}
\end{figure}

Bei der Faltungsmethode werden die harten Kanten der Bins der
Binning-Methode vermieden. Der Spiketrain wird mit einem Kern
verfaltet, d.h.  jedes Aktionspotential wird durch den Kern ersetzt.
Zur Berechnung wird die Aktionspotentialfolge zun\"achst
``bin\"ar'' dargestellt. Dabei wird ein Spiketrain als
(Zeit-)Vektor dargestellt, in welchem die Zeitpunkte der
Aktionspotentiale als 1 notiert werden. Alle anderen Elemente des
Vektors sind 0. Anschlie{\ss}end wir dieser bin\"are Spiketrain mit
einem Gau{\ss}-Kern bestimmter Breite verfaltet:
 \[r(t) = \int_{-\infty}^{\infty} \omega(\tau) \, \rho(t-\tau) \, {\rm d}\tau \; , \]
wobei $\omega(\tau)$ der Filterkern und $\rho(t)$ die bin\"are Antwort
ist. Bildlich geprochen wird jede 1 in $\rho(t)$ durch den Filterkern
ersetzt (Abbildung \ref{convrate} A). Wenn der Kern richtig normiert
wurde (Integral gleich Eins), ergibt sich die Feuerrate direkt aus der
\"Uberlagerung der Kerne (Abb. \ref{convrate} B). \sindex[term]{Feuerrate!Faltungsmethode}

Die Faltungsmethode f\"uhrt, anders als die anderen Methoden, zu einer
stetigen Funktion was insbesondere f\"ur spektrale Analysen von
Vorteil sein kann. Die Wahl der Kernbreite bestimmt, \"ahnlich zur
Binweite, die zeitliche Aufl\"osung von $r(t)$. Die Breite des Kerns
macht also auch wieder eine Annahme \"uber die relevante Zeitskala des
Spiketrains.

\pagebreak[4]
\begin{exercise}{convolutionRate.m}{}
  Verwende die Faltungsmethode um die Feuerrate zu bestimmen. Plotte
  das Ergebnis.
\end{exercise}

\section{Spike-triggered Average}
Die graphischer Darstellung der Feuerrate allein reicht nicht aus um
den Zusammenhang zwischen neuronaler Antwort und einem Stimulus zu
analysieren.  Eine Methode um mehr \"uber diesen Zusammenhang zu
erfahren, ist der \enterm{spike-triggered average}
(\enterm[STA|see{spike-triggered average}]{STA}). Der STA
\begin{equation}
  STA(\tau) = \langle s(t - \tau) \rangle = \frac{1}{N} \sum_{i=1}^{N} s(t_i - \tau)
\end{equation}
der $N$ Aktionspotentiale zu den Zeiten $t_i$ in Anwort auf den
Stimulus $s(t)$ ist der mittlere Stimulus, der zu einem
Aktionspotential in der neuronalen Antwort f\"uhrt.

Der STA l\"a{\ss}t sich relativ einfach berechnen, indem aus dem
Stimulus f\"ur jeden beobachteten Spike ein entsprechender Abschnitt
ausgeschnitten wird und diese dann gemittelt werde (\figref{stafig}). 

\begin{figure}[t]
  \includegraphics[width=\columnwidth]{sta}
  \titlecaption{Spike-triggered Average eines P-Typ Elektrorezeptors
    und Stimulusrekonstruktion.}{Der STA (links): der Rezeptor
    wurde mit einem ``white-noise'' Stimulus getrieben. Zeitpunkt 0
    ist der Zeitpunkt des beobachteten Aktionspotentials. Die Kurve
    ergibt sich aus dem gemittelten Stimulus je 50\,ms vor und nach
    einem Aktionspotential. Stimulusrekonstruktion mittels
    STA (rechts). Die Zellantwort wird mit dem STA gefaltet um eine
    Rekonstruktion des Stimulus zu erhalten.}\label{stafig}
\end{figure}

Aus dem STA k\"onnen verschiedene Informationen \"uber den
Zusammenhang zwischen Stimulus und neuronaler Antwort gewonnen
werden. Die Breite des STA repr\"asentiert die zeitliche Pr\"azision,
mit der Stimulus und Antwort zusammenh\"angen und wie weit das Neuron
zeitlich integriert. Die Amplitude des STA (gegeben in der gleichen
Einheit wie der Stimulus) deutet auf die Empfindlichkeit des Neurons
bez\"uglich des Stimulus hin. Eine hohe Amplitude besagt, dass es
einen starken Stimulus ben\"otigt, um ein Aktionspotential
hervorzurufen. Aus dem zeitlichen Versatz des STA kann die Zeit
abgelesen werden, die das System braucht, um auf den Stimulus zu
antworten.

Der STA kann auch dazu benutzt werden, aus den Antworten der Zelle den
Stimulus zu rekonstruieren (\figref{stafig} B). Bei der
\determ[invertierte Rekonstruktion]{invertierten Rekonstruktion} wird
die Zellantwort mit dem STA verfaltet.

\begin{exercise}{spikeTriggeredAverage.m}{}
  Implementiere eine Funktion, die den STA ermittelt. Verwende dazu
  den Datensatz \file{sta\_data.mat}. Die Funktion sollte folgende
  R\"uckgabewerte haben:
  \vspace{-1ex}
  \begin{itemize}
    \setlength{\itemsep}{0ex}
  \item den Spike-Triggered-Average.
  \item die Standardabweichung der individuellen STAs.
  \item die Anzahl Aktionspotentiale, die zur Berechnung des STA verwendet wurden.
  \vspace{-2ex}
  \end{itemize}
\end{exercise}

\begin{exercise}{reconstructStimulus.m}{}
  Rekonstruiere den Stimulus mithilfe des STA und der Spike
  Zeiten. Die Funktion soll Vektor als R\"uckgabewert haben, der
  genauso gro{\ss} ist wie der Originalstimulus aus der Datei
  \file{sta\_data.mat}.
\end{exercise}

\selectlanguage{english}