---
tags: pain
---
<center>
# **Computer Technique in Pain Lab**
:::info
Location: Medical School of NTU
Time: you know how to find me.
:::
</center>
<div style="text-align: right">``xxx''<br>-- xxx</div>
## **Class Information**
### Instructor
- Name: 盧政良 (Zheng-Liang Lu, Arthur)
- Email: arthurzllu@gmail.com
### Objectives
- Write Presentation programs for clinic experiments of neuroscience
- Write MATLAB programs for data processing and analysis
- Manage computers
### Prerequisites
- Basic and common logic
- Mathematics of basic level
### Working Environment
- Presentation on Windows XP
- MATLAB 2015 on MacOS
## **Lectures**
### Presentation Programming
- Overview: Architecture
- Scenario Definition Language (SDL)
- Presentation Control Language (PCL)
- fMRI Mode Interfacing
```latex
\frame{Agenda}
\item Overview: Architecture
\item Scenario Definition Language (SDL)
\item Presentation Control Language (PCL)
\item fMRI Mode Interfacing
\frame{Overview: Architecture}
\item SDL
\item PCL
\item Communication
% Illustration: [SDL + PCL] <---> fMRI
% Key points: SDL -> raw material
% PCL -> cooking
% Communication -> delivery?
\frame{SDL: Definitions}
\item We define new components in SDL section.
\item Experiment
\item Session
\item Task
\item Trial
\frame{Trial}
\item A trial contains information for the moment/period.
\item picture
\item text
\item box
\item bitmap
\item stimulus event
\item code
\frame{Text Object}
\frame{Example}
\frame{Bitmap Object}
\frame{Example 1}
\frame{Example 2}
\frame{Digression: Object}
\item An object consists of its properties with methdos.
\item For example, box.
\item Check the documentation for details: ...
\frame{PCL: Flow Controls & Subroutines}
\item In SDL section, we prepare the raw materials (components) for the experiments.
\item We proceed to introduce the flow controls of PCL section:
\item Conditional statements: if-elseif-else.
\item Repetitions (loops): loop-until.
\item In the end, we will know how to reuse your code snippets by wrapping in subroutines.
\frame{Conditional Statements}
\frame{Loops}
\frame{Digression: int i = 1}
% Illustration: cup + label + ingredient
\frame{Example 1: Counting}
\frame{Exercise: Running Sum}
\frame{Example 2: Random Numbers}
\frame{Exercise: TBA}
\frame{Example 3: Double Loops}
\frame{Exercise: TBA}
\frame{Example 4: Infinite Loops}
\frame{Exercise: TBA}
\item Write a program for SQUID GAME: 10個左右選項,猜錯就遊戲結束而且會被懲罰 (電刺激)。
\frame{Subroutines}
\item Don't copy \& paste codes neither write the same codes.
\item We wrap the code snippets in subroutines for future use.
\frame{Example 1}
\frame{Digression: array<int> &output[rows][cols]}
\frame{Example 2}
\frame{Example 3}
\frame{Control Management}
\item Keyboard
\item Mouse
\item DAQ
\frame{Example: VAS}
\frame{Exercise}
\frame{fMRI Setting}
\frame{Coworking with LABView}
\frame{Case Study: A Complete Presentation Program}
\frame{Advanced Topics}
\item Randomization in SDL section
```
### MATLAB Programming
- Variables, data types, and vectorization
- Data structures
- File I/O
- Flow controls
- Text processing
- 2D and 3D plots
- Functions
## **References**
### Presentation
- [Neuro-Behavioral Systems](http://www.neurobs.com/)
### MATLAB
- Zheng-Liang Lu, [Introduction to MATLAB Programming with Applications](https://www.csie.ntu.edu.tw/~d00922011/matlab.html), Department of Computer Science and Information Engineering, National Taiwan University
### Statistics
- Zheng-Liang Lu, [Introduction to Data Science](https://hackmd.io/@arthurzllu/ByC0nhVkr), Department of Computer Science and Information Engineering, National Taiwan University