Universität Bonn

Hertz-Chair for Artificial Intelligence and Neurosciene


A matlab suite for Psycho Physiological Modelling

Current version: PsPM 6.1.0, released on 24.08.2023.

Introduction to PsPM

PsPM stands for PsychoPhysiological Modelling. It is a powerful matlab toolbox for model-based analysis of psychophysiological signals, for example SCR, ECG, respiration, pupil size, or startle eye-blink EMG. Currently, PsPM implements models for all of these modalities, and we are working towards further models, for example, for skin potential and ocular scan path length.

A PsPM allows inferring a psychological variable from observable physiological data. For example, associative memory can be inferred from observed skin conductance responses (SCR). This allows for quantitative description of hidden processes, increases the temporal resolution of analysis, and suppresses noise.

PsPM Example
© D. Bach

PsPM implements simple General Linear Convolution Models (GLM) for evoked SCR, or uses the Dynamic Causal Modelling (DCM) framework - as a tool to invert more complicated, non-linear models of SCR signals, for example for spontaneous fluctuations or anticipatory responses. Inference is drawn in a hierarchical summary-statistic approach (similar to SPM software for functional magnetic resonance imaging).

PsPM also supports other kinds of data for which no models exist yet, in particular we have extended support for eyetracking data.

The flexible software allows import of a number of data formats, including Spike, Biopac, VarioPort, (exported) ADInstruments LabChart, (exported) Biograph Infiniti, (exported) MindMedia BioTrace, Dataq/Windaq, AckKnowledge, ScanPhysLog, EDF, (exported) Eyelink, Matlab, and Text files.

Further features are simple programming of add-ons for import and modelling of new data types and automatic creation of batch scripts via the GUI.

PsPM incorporates the previous software package SCRalyze and offers all features of SCRalyze plus many more. If you started working on a project with SCRalyze and want to continue, you can still find previous software versions, help, and resources on http://scralyze.sourceforge.net.

PsPM is provided under the GNU General Public License (c) Dominik R. Bach, University of Bonn and University College London.

Course material

Course videocasts and slides are available at the bottom of the page and on our PsPM Website. 

Upcoming PsPM courses


All times given refer to GMT+1.

2:00 pm - 3:00 pm   Introduction - General Philosophy of Model-based Inference (Prof. Dr. Dr. Dominik R. Bach)

Theory: Philosophy behind PsPM and Why it is useful - 40 min.
Practice: Installing PsPM and introduction to GUI implementation - 20 min.

3:00 pm - 4:00 pm   Session 1 - LTI & GLM (Prof. Dr. Dr. Dominik R. Bach)

Lecture: LTI & GLM - 10/15 min.
Tutorial: Import and trim the data / Access to GLM features - 30/40 mins
Round up - 10 min.

4:00 pm - 4:30 pm   Coffee Break 

4:30 pm - 5:30 pm   Session 2 - Introduction to MATLAB (Uzay Gökay & Sourav Kulkarni)

Introduction to MATLAB syntax
Imperative programming: for/while loops, If/else statements
Signal processing using MATLAB

5:30 pm - 6:30 pm   Session 3 - Skin Conductance Responses (Juliana Sporrer)

Lecture: Skin Conductance Responses - 10/15 min.
Tutorial: Non-linear models for SCR & artifact removal - 30/40 min.
Round up - 10 min.

2:00 pm - 3:00 pm   Session 4 - Heart Period Responses (Juliana Sporrer)

Lecture: Heart period responses - 10/15 min.
Tutorial: Cardiac, respiration, and eyeblink EMG pre-processing - 30/40 mins
Round up - 10 mins

3:00 pm - 4:00 pm Session 5 - Pupil Size Responses (Dr. Yanfang Xia)

Lecture: Pupil size responses - 10-15 min.
Tutorial: How to preprocess pupil data and use the related models - 30-40 min.
Round up - 10 min.

4:00 pm - 4:30 pm   Coffee Break

4:30 pm - 5:15 pm   Session 6 - Workflow Automation I (Dr. Carlos Alexandre Gomes)

Save the GUI pipeline as a MatlabBatch
Adapt the MatlabBatch script to run for all the subjects

5:15 pm - 6:00 pm   Session 7 - Workflow Automation II (Dr. Carlos Alexandre Gomes)

Working directly with PsPM functions
Translating a PsPM batch script into a pure PsPM script

6:00 pm - 6:30 pm   Q&A and Closing Remarks

Download the schedule here.

Registration via e-mail to caian.admin@uni-bonn.de.

We offer regular PsPM courses. To check for updates, have a look on our news section, or follow bachlab on twitter/X.

Past PsPM courses

  • 21 - 22 July 2021 ESCAN 2021: Budapest (online 1.5-day PsPM satellite workshop with practical training) 
  • 30 June - 1 July 2020: ESCAN 2020 Budapest (full 2-day PsPM satellite workshop with practical training; postponed due to COVID-19 pandemic)
  • 6 April - 14 May 2020: Live online course (see course recordings and slides below)
  • 30 March 2020: EMHFC 2020 Bochum (workshop on pupil size measurements; cancelled due to COVID-19 pandemic)
  • 13 November 2019: Universität Göttingen
  • 2 July 2019: Aegina Summer School on Social Cognition 2019
  • 5 - 6 June 2019: Max Planck Institute for Human Cognitive and Brain Sciences Leipzig
  • 29 - 30 May 2018: Pre-conference workshop, Psychology & Brain, Gießen

Course slides & webcasts

All course webcasts are hosted on our educast.nrw channel.


PsPM lecture 1: retrodictive validity & why do we need this?

PsPM lecture 2: LTI  & GLM

PsPM lecture 3: skin conductance responses

PsPM lecture 4: pupil size responses

PsPM lecture 5: heart period responses

PsPM lecture 6: respiration and startle eye blink

PsPM lecture 7: measuring fear conditioning with PsPM


PsPM tutorial 2: GLM

PsPM tutorial 3: non-linear SCR model and artefact removal

PsPM tutorial 4: pupil size analysis

PsPM tutorial 5: Workflow automation I (Filip Melinscak)

PsPM tutorial 6: Workflow automation II (Filip Melinscak)

Course preparation 

For the tutorials, we suggest that participants install Matlab and PsPM on their computers, download the provided data sets, and try to replicate the instructors’ demonstrations.

Further download material and useful links for all courses:

Latest PsPM version

Version PsPM 6.1.0, released on 24.08.2023.

Tutorial datasets

The tutorial text is part of the software manual. See subfolder “Manual” of the software download.


Getting started

  • Make sure you have Matlab 2014 or higher
  • Download the package
  • Unzip it into any folder
  • Put the folder on the matlab path using the path tool, or by typing addpath(‘folder’) s
  • Start the GUI by typing “pspm” in the matlab command line

PsPM overview paper 


Avatar Bach

Prof. Dr. Dr. Dominik R. Bach

Raum 4.04

Am Propsthof 49

53121 Bonn

Wird geladen