\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[]{Scientific Computing -- Grundlagen der Programmierung }
\author[]{Jan Grewe\\Abteilung f\"ur Neuroethologie\\
  Universit\"at T\"ubingen}

\institute[Wissenschaftliche Datenverarbeitung]{}
 \date{03.10.2014 - 07.11.2014}
 %\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 Was ist ein Programm\pause
  \item Skripte\pause
  \item Funktionen\pause
  \item Vom Problem zum Algorithmus
  \end{enumerate}
\end{frame}


\begin{frame}
  \frametitle{Grundlagen der Programmierung}
  \frametitle{Tagesmen\"u}
  \begin{enumerate}
  \item Graphische Darstellung von Daten I
  \item Fortgeschrittene Datenstrukturen I
  \item Spiketrain Analyse I
  \item Navigieren im Dateisystem
  \item \"Ubungen, \"Ubungen, \"Ubungen. 
  \end{enumerate}
\end{frame}

\begin{frame}[plain]
\huge{1. Graphische Darstellung von Daten}
\end{frame}


\begin{frame}[fragile]
  \frametitle{Graphische Darstellung von Daten}
  \framesubtitle{Plotting Interface}
  Es gibt zwei Wege Graphen zu bearbeiten:
  \begin{enumerate}
  \item Klickibunti \"uber das \textit{graphische User Interface}\pause
  \item Die Kommandozeile bzw. in Skripten und Funktionen.\pause
  \end{enumerate}
  Beides hat seine Berechtigung und seine eigenen Vor- und Nachteile. Welche?
\end{frame}


\begin{frame} [fragile]
 \frametitle{Graphische Darstellung von Daten}
 \framesubtitle{Ver\"andern von Eigenschaften \"uber die Kommandozeile}
 \vspace{-0.75em}
 \scriptsize
  \begin{lstlisting}
fig = figure();
set(gcf, 'PaperUnits', 'centimeters', 'PaperSize', [11.7 9.0]);
set(gcf, 'PaperPosition',[0.0 0.0 11.7 9.0], 'Color', 'white')
hold on
plot(time, neuronal_data, 'color', [ 0.2 0.5 0.7], 'linewidth', 1.)
plot(spike_times, ones(size(spike_times))*threshold, 'ro', 'markersize', 4)
line([time(1) time(end)], [threshold threshold], 'linestyle', '--',
    'linewidth', 0.75, 'color', [0.9 0.9 0.9])
ylim([0 35])
xlim([0 2.25])
box('off')
xlabel('time [s]', 'fontname', 'MyriadPro-Regular', 'fontsize', 10)
ylabel('potential [mV]', 'fontname', 'MyriadPro-Regular', 'fontsize', 10)
title('pyramidal cell', 'fontname', 'MyriadPro-Regular', 'fontsize', 12)
set(gca, 'TickDir','out', 'linewidth', 1.5, 'fontname', 'MyriadPro-Regular')
saveas(fig, 'spike_detection.pdf', 'pdf')
\end{lstlisting}
\end{frame}


\begin{frame} [fragile]
 \frametitle{Graphische Darstellung von Daten}
 \framesubtitle{Ver\"andern von Eigenschaften \"uber die Kommandozeile}
     \begin{figure}
      \centering
      \includegraphics[width=0.75\columnwidth]{./images/spike_detection}
    \end{figure}
\end{frame}


\begin{frame} [fragile]
 \frametitle{Graphische Darstellung von Daten}
 \framesubtitle{Welche Art Plot wof\"ur?}
 \url{http://www.mathworks.de/discovery/gallery.html}
\end{frame}


\begin{frame} [fragile]
 \frametitle{Graphische Darstellung von Daten}
 \framesubtitle{Was macht einen guten Plot aus?}
     \begin{figure}
      \centering
      \includegraphics[width=0.9\columnwidth]{./images/convincing}
    \end{figure}
\end{frame}


\begin{frame} [fragile]
 \frametitle{Graphische Darstellung von Daten}
 \framesubtitle{Was macht einen guten Plot aus?}
 \begin{enumerate}
 \item Klarheit.
 \item Vollstaendige Beschriftung.
 \item Deutliche Unterscheidbarkeit von Kurven.
 \item Keine suggestive Darstellung. 
 \item Ausgewogenheit von Linienst\"arken Schrift- und Plotgr\"o{\ss}e. 
 \end{enumerate}
\end{frame}


\begin{frame}[plain]
\huge{2. Fortgeschrittene Datenstrukturen I}
\end{frame}


\begin{frame}
  \frametitle{Fortgeschrittene Datenstrukturen I}
  \framesubtitle{Cell Arrays}
  \begin{enumerate}
  \item Matrizen k\"onnen nur rechtwinklig sein.\pause
  \item Manchmal hat man aber unterschiedlich viele Datenpunkte, die
    dennoch logisch zusammengeh\"oren.\pause
  \item Z.B. Wenn man Zeitpunkte von Neuronalen- oder Verhaltensereignissen hat.
  \end{enumerate}
\end{frame}

\begin{frame}[fragile]
  \frametitle{Fortgeschrittene Datenstrukturen I}
  \framesubtitle{Cell Arrays}
  \scriptsize
  \begin{lstlisting}
>> % create a cell array
>> cell_array = {};
>>
>> % assignment of arbitrary content
>> cell_array{1} = ones(100,1);
>> cell_array{2} = ones(10000,100);
>> cell_array{3} = 'das ist ein Test';
>> cell_array{4} = {};
>>
>> % accessing of content
>> size(cell_array{1})
  ans = 
     100     1
>>
  \end{lstlisting}
\end{frame}

\begin{frame}[plain]
\huge{3. Spiketrain Analyse I}
\end{frame}


\begin{frame}
  \frametitle{Spiketrain Analyse I}
  \framesubtitle{Rasterplot}
  \begin{figure}
    \centering
    \includegraphics[width=0.375\columnwidth]{images/rasterplot}
  \end{figure}
\end{frame}


\begin{frame}
  \frametitle{Spiketrain Analyse I}
  \framesubtitle{Rasterplot}
  \"Ubung:
  \begin{enumerate}
    \item Ladet die Datei: electrorecptor\_spike\_times.mat aus dem Ilias Ordner. 
    \item Der Datensatz enth\"alt die Zeiten von Aktionspotentialen. 
    \item Schaut euch den Inhalt und skizziert wie das Problem gel\"ost werden k\"onnte.
    \item Erzeugt einen Rasterplot.
  \end{enumerate}
\end{frame}


\begin{frame}
  \frametitle{Spiketrain Analyse I}
  \framesubtitle{Feuerrate \"uber die Zeit}
  \begin{enumerate}
  \item Die Feuerrate kann aus dem Abstand zwischen zwei
    aufeinanderfolgenden Aktionspotentialen (\textbf{Interspikeinterval}) berechnet werden. \pause
  \item Auch als \textbf{Instantane Feuerrate} bezeichnet.
  \end{enumerate}
  \begin{figure}
    \centering
    \includegraphics[width=0.5\columnwidth]{images/isi}
  \end{figure}
\end{frame}


\begin{frame}
  \frametitle{Spiketrain Analyse I}
  \framesubtitle{Feuerrate \"uber die Zeit}
  \begin{enumerate}
  \item Z.B. das \textbf{P}eri- \textbf{S}timulus - \textbf{T}ime -
    \textbf{H}istogram, \textbf{PSTH}
  \item Wird berechnet indem die Zeit in ``bins'' geteilt wird die
    Anzahl Spikes pro bin gezaehlt werden.
  \item Die Anzahl wird dann in eine Feuerrate umgerechnet.
  \end{enumerate}\pause
  \begin{figure}
    \centering
    \includegraphics[width=0.5\columnwidth]{images/binning}
  \end{figure}
\end{frame}


\begin{frame}[fragile]
  \frametitle{Spiketrain Analyse I}
  \framesubtitle{Feuerrate \"uber die Zeit}
  \begin{enumerate}
  \item Z.B. das \textbf{P}eri- \textbf{S}timulus - \textbf{T}ime -
    \textbf{H}istogram, \textbf{PSTH}
  \item Wird berechnet indem man die Aktivit\"at bin\"ar ausdr\"uckt.
  \item Jede 1 wird dann duch einen ``Kern'' ersetzt.
  \item Der Vorgang heisst Faltung (\verb+conv+).
  \end{enumerate}\pause
  \begin{figure}
    \centering
    \includegraphics[width=0.5\columnwidth]{images/conv}
  \end{figure}
\end{frame}


\begin{frame} [fragile]
 \frametitle{Spiketrain Analyse I}
 \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}

\begin{frame}[fragile]
  \frametitle{Spiketrain Analyse}
  \framesubtitle{Spike-Triggered-Average}
  \begin{enumerate}
  \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 Die einzelen Stimulussegmente werden gemittelt.
  \end{enumerate}\pause
  \begin{figure}
    \centering
    \includegraphics[width=0.5\columnwidth]{images/sta}
  \end{figure}
\end{frame}



\end{document}
