\documentclass{beamer}
\usepackage{xcolor}
\usepackage{listings}
\usepackage{pgf}
%\usepackage{pgf,pgfarrows,pgfnodes,pgfautomata,pgfheaps,pgfshade} 
%\usepackage{multimedia}

\usepackage[english]{babel}
\usepackage{movie15}
\usepackage[latin1]{inputenc}
\usepackage{times}
\usepackage{amsmath}
\usepackage{bm} 
\usepackage[T1]{fontenc}
\usepackage[scaled=.90]{helvet}
\usepackage{scalefnt}
\usepackage{tikz}
\usepackage{ textcomp }
\usepackage{soul}
\usepackage{hyperref}
\definecolor{lightblue}{rgb}{.7,.7,1.}
\definecolor{mygreen}{rgb}{0,1.,0}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\mode<presentation>
{
  \usetheme{Singapore}
  \setbeamercovered{opaque}
  \usecolortheme{tuebingen}
  \setbeamertemplate{navigation symbols}{}
  \usefonttheme{default}
  \useoutertheme{infolines}
  % \useoutertheme{miniframes}
}

\AtBeginSection[]
{
  \begin{frame}<beamer>
    \begin{center}
      \Huge \insertsectionhead
    \end{center}
    % \frametitle{\insertsectionhead}
    % \tableofcontents[currentsection,hideothersubsections]
  \end{frame}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5

\setbeamertemplate{blocks}[rounded][shadow=true]

\title[]{Introduction to Scientific Computing --  \\
Cross-Correlation, Spike--Triggered--Average and Reverse Reconstruction}
\author[]{Jan Grewe\\Abteilung f\"ur Neuroethologie\\
  Universit\"at T\"ubingen}

\institute[Introduction to Scientific Computing]{}
 \date{2014/10/13 - 2014/11/07}
 %\logo{\pgfuseimage{../../resources/UT_BM_Rot_RGB.pdf}}

\subject{Einf\"uhrung in wissenschaftliche Datenverarbeitung}
\vspace{1em}
\titlegraphic{
  \includegraphics[width=0.5\linewidth]{../../resources/UT_WBMW_Rot_RGB}
}
%%%%%%%%%% configuration for code
\lstset{
 basicstyle=\ttfamily,
 numbers=left,
 showstringspaces=false,
 language=Matlab,
 commentstyle=\itshape\color{darkgray},
 keywordstyle=\color{blue},
 stringstyle=\color{green},
 backgroundcolor=\color{blue!10},
 breaklines=true,
 breakautoindent=true,
 columns=flexible,
 frame=single,
 captionpos=b,
 xleftmargin=1em,
 xrightmargin=1em,
 aboveskip=10pt
 }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\mycite}[1]{
\begin{flushright}
\tiny \color{black!80} #1
\end{flushright}
}

\input{../../latex/environments.tex}
\makeatother
 
\begin{document} 

\begin{frame}[plain]
  \frametitle{}
  \vspace{-1cm}
  \titlepage % erzeugt Titelseite
\end{frame}


\begin{frame}[plain]
  \frametitle{Rekapitulation}
  \begin{enumerate}
  \item PSTH\pause
  \end{enumerate}
\end{frame}


\begin{frame}
  \frametitle{Introduction to scientific computing}
  \frametitle{Menue}
  \begin{enumerate}
  \item Cross-correlation
  \item Estimation of the Spike--Triggered--Average -- STA
  \item Reverse reconstruction
  \end{enumerate}
\end{frame}


\begin{frame}[plain]
  \huge{1. Recapitulation: PSTH}
\end{frame}


\begin{frame}
  \frametitle{Recapitulation}
  \only<1>{
    \framesubtitle{Displaying the neuronal response over time - Rasterplot}
    \begin{figure}
      \centering
      \includegraphics[width=0.375\columnwidth]{images/rasterplot}
    \end{figure}    
  }
  \only<2>{
    \framesubtitle{Displaying the neuronal response over time - PSTH}
    \begin{figure}
      \centering
      \includegraphics[width=0.5\columnwidth]{images/conv}
    \end{figure}
  }
\end{frame}


\begin{frame}[plain]
  \huge{2. Relating stimulus and response}
\end{frame}


\begin{frame}
  \frametitle{Relating stimulus and response}
  \framesubtitle{How can we relate the response to the stimulus?}
    \begin{figure}
      \centering
      \includegraphics[height=0.9\textheight]{images/conv_stim}
    \end{figure}
\end{frame}


\begin{frame}
  \frametitle{Relating stimulus and response}
  \framesubtitle{Cross--correlation}
  The cross - correlation for (time) discrete data is defined as:
  \begin{equation}
    Q_{rs}(\tau) = \frac{1}{2\cdot N-|\tau|} \displaystyle\sum^{T}_{\tau=-T}{r(t) \cdot s(t-\tau)} \cdot \Delta \tau
  \end{equation}
  \pause
  Don't worry, this is already implemented in MATLAB!
\end{frame}


\begin{frame}[fragile]
  \frametitle{Relating stimulus and response}
  \framesubtitle{Cross--correlation}
    \footnotesize
  \begin{lstlisting}
[c,lags] = xcorr(stimulus, response, 10000, 'unbiased');
fig = figure();
set(fig, 'PaperUnits', 'centimeters');
set(fig, 'PaperSize', [11.7 9.0]);
set(fig, 'PaperPosition',[0.0 0.0 11.7 9.0]);
set(fig,'Color', 'white')
plot(lags/sample_rate, c)
xlabel('lag [s]')
ylabel('correlation')
  \end{lstlisting}
\end{frame}


\begin{frame}
  \frametitle{Relating stimulus and response}
  \framesubtitle{Cross--correlation}
  \begin{figure}
    \includegraphics[width=0.5\linewidth]{images/correlation}
  \end{figure}
\end{frame}



\begin{frame}[fragile]
  \frametitle{Relating stimulus and response}
  \framesubtitle{Cross--correlation - Exercises} 
  \begin{enumerate}
  \item calculate the cross-correlation between two vectors of random
    numbers.
  \item Calculate the cross-correlation between one of these vectors
    and itself (auto-correlation).
  \item Calculate the cross-correlation between one vector and a
    time-shifted version of itself (use \verb+circshift+ to do this).
  \end{enumerate}
  \textbf{Note:} Select max\_lag to be less than 10\% of the length of
  your vectors!
  \begin{enumerate}
  \item Create the cross correlation of the p-unit data and stimulus.
  \item \textbf{Note:} you have to convert the spike\_times to a PSTH!
  \item Find out the position of the correlation peak. 
  \item What does this tell you?
  \end{enumerate}
\end{frame}


\begin{frame}[plain]
  \huge{2. Spike--Triggered--Average --- STA}
\end{frame}


\begin{frame}[fragile]
  \frametitle{Relating stimulus and response}
  \framesubtitle{Spike--Triggered--Average --- STA} 

  The \textbf{STA} is the average stimulus that led to a spike in the
  neuron.

  \begin{equation}
    STA(\tau) = \left\langle \frac{1}{n} \displaystyle\sum^{i=1}_{n}{s(t_i - \tau)} \right\rangle
  \end{equation}
  
  Sadly, we need to implement this ourselves.\newline\newline\pause
  \vspace{1em}
  \noindent
  \textbf{Algorithm:}
  \begin{enumerate}
  \item For each spike a snippet is taken from the respective stimulus.
  \item The snippets are averaged.
  \end{enumerate}
\end{frame}


\begin{frame}[fragile]
  \frametitle{Relating stimulus and response}
  \framesubtitle{Spike--Triggered--Average -- STA}
  \vspace{-1em}
  \begin{figure}
    \centering
    \includegraphics[width=0.65\columnwidth]{images/sta}
  \end{figure}
  \pause
  \vspace{-0.5em}
  What does the \textbf{STA} tell us?
  \begin{enumerate}
  \item Is there a relation between stimulus and response? \pause
  \item Is there a lag between them and how large is it? \pause
  \item How far in the past does a neuron encode? \pause
  \item Can it see into the future?
  \end{enumerate}
\end{frame}


\begin{frame}[fragile]
  \frametitle{Relating stimulus and response}
  \framesubtitle{STA -- Exercises}
  \textbf{Exercise:}
  \begin{enumerate}
    \item Write a function \verb+sta(x, y, count, sample_rate)+ that
      takes the stimulus (x), the response (y, as spike times), the
      number (count) of sampling points it should cut out from the
      stimulus and the sampling\_rate to convert from times to
      indices.
    \item \textbf{Beware:} sometimes the spike\_time may be too close
      to the beginning or the end of the stimulus to cut out enough
      data.
    \item Calculate the STA for P-unt data.
  \end{enumerate}
\end{frame}


\begin{frame}[fragile]
  \frametitle{Relating stimulus and response}
  \framesubtitle{Spike--Triggered--Average -- STA}
  What does the \textbf{STA} tell us?
  \begin{figure}
    \centering
    \includegraphics[width=0.25\columnwidth]{images/sta}
  \end{figure}
  \begin{enumerate}
  \item Is there a relation between stimulus and response?\pause
  \item Is there a lag between them and how large is it?\pause
  \item How far in the past does a neuron encode?\pause
  \item Can it see into the future?
  \end{enumerate}
\end{frame}


\begin{frame}[plain]
  \huge{3. Reverse reconstruction using the \textbf{STA}}
\end{frame}


\begin{frame}[fragile]
  \frametitle{Relating stimulus and response}
  \framesubtitle{Reverse reconstruction using the \textbf{STA}}
  \textbf{Basic idea:}\newline
  \begin{itemize}
  \item The \textbf{STA} is the average stimlus that led to a spike. \pause
  \item The other way round: Whenever we observe a spike, the stimulus
    was likely to have looked like the \textbf{STA}.\pause
  \item Thus, we should be able to reconstruct how the stimulus looked
    like to evoke the observed response.
  \end{itemize}
\end{frame}


\begin{frame}[fragile]
  \frametitle{Relating stimulus and response}
  \framesubtitle{Reverse reconstruction using the \textbf{STA}}
  \textbf{Algorithm:}\newline
  \begin{enumerate}
  \item Estimate the \textbf{STA}. \pause
  \item Create a binary representation of the spike train (vector of
    \verb+zeros+ in which each \textbf{1} signals the occurence of a
    spike).\pause
  \item Use the STA as a Kernel (compare to the spike convolution
    method to create the PSTH) and convolve (\verb+conv+) it with the
    \textbf{STA}.
  \end{enumerate}
  \textbf{Exercise:}
  \begin{enumerate}
  \item Reconstruct the stimulus from the P-unit data.
  \item Plot original and reconstructed stimulus into the same plot.
  \item Are they similar? In which instances are they different?
  \end{enumerate}
\end{frame}

\end{document}

\begin{frame}[plain]
  \huge{4. Spike--Triggered--Covariance \textbf{STC}}
\end{frame}


\begin{frame}
  \frametitle{Relating stimulus and response}
  \framesubtitle{Spike--Triggered--Covariance \textbf{STC}}
  \textbf{Problem:}
  \begin{itemize}
  \item The \textbf{STA} is a linear filter.
  \item It can only reveal linear relationships between stimulus and response.\pause
  \end{itemize}
  \vspace{1em}
  Further relations can be recovered using the Spike-triggered-covariance.\pause
  \begin{equation}
    STC = \frac{1}{N-1} \cdot \displaystyle\sum_{n=1}^{N}[\overrightarrow{s}(t_n) - STA]
                     [\overrightarrow{s}(t_n) - STA]^T
  \end{equation}
  where:\\ $N$ is the total number of spikes,
  $\overrightarrow{s}(t_n)$ the stimulus snippet for the $n^{th}$
  spike, and $STA$ the Spike-Triggered-Average.
\end{frame}


\begin{frame}
  \frametitle{Relating stimulus and response}
  \framesubtitle{Spike--Triggered--Covariance}
  \begin{itemize}
  \item 
  \end{itemize}
\end{frame}


\end{document}
