OpenSesame workshop with Dr Edwin Dalmaijer, July 23, 2018

PyGaze workshop: Creating experiments with OpenSesame and Python

A programming and eye tracking workshop hosted by the Vasishth lab and the collaborative research cluster Limits of Variability in Language (SFB 1287).

Instructor: Dr. Edwin Dalmaijer
  MRC Cognition and Brain Sciences Unit
  University of Cambridge
Date: July 23, 2018
Time: 10:00 – 17:00
Room: House 14, room 0.35 (ground floor)
Max. participants: 20
Organizers: Dr. Titus von der Malsburg
  Dr. Anastasiya Dockhorn-Romanova

Software and preparations

  • There will be in-class exercises. Please bring your laptops with fully charged batteries. (There may not be enough power outlets.)
  • Participants will need some software for the exercises. Instructions for downloading and installing the software can be found here.


Modern psychological science relies heavily on computerised experiments, and there is a variety of tools that researchers can choose from. These fall apart in roughly two categories: Experiment builders and programming languages. The former allows researchers without much technical experience to construct elements by using a graphical interface on which they can arrange the elements that make up an experiment into a timeline. While tremendously useful, these tools can lack flexibility. The alternative is to code experiments using a programming language, which requires more technical expertise, but also offers much more freedom. In this workshop we will focus on tools that bridge the traditional gap: OpenSesame and Python. OpenSesame is an open-source experiment builder that offers support for inline scripting in programming language Python. It offers a wide range of functionality, including eye-tracking support through PyGaze. In addition to OpenSesame, this workshop will also focus on Python-based implementations of eye-tracking paradigms, the inner workings of PyGaze (in particular its GazePoint support), and will allow individual researchers and groups to discuss problems and plans they might have in their own work.


10:00–12:00 Basics of OpenSesame: drag and dropping an experiment together In this session we will focus on OpenSesame’s user interface, the basic building blocks of an experiment, and experimental logic. During this session, we will be creating a standard Posner cueing experiment.
12:00–13:00 Lunch at the cafeteria (“Mensa”)
13:00–15:00 Inline scripting: using Python within OpenSesame In this session we will move onto inline scripting: Using Python within the confines of OpenSesame to add non-standard functionality. This will involve an easy introduction into the programming language Python. In this session we will be creating a multi-target visual search task.
14:45–15:15 Coffee break in room 2.17 (meeting room on the second floor of house 14)
15:15–17:00 Outline scripting? Using Python in the wild! This session is slightly more advanced, as we will explore how to create an experiment using nothing but code! The primary goal of this session is to illustrate that although coding an entire experiment might seem daunting at first, it does not have to be much harder than using an experiment editor. We will use Python and the PyGaze library. A GazePoint GP3 eye tracker will be present to illustrate how a simple game with eye-tracking controls can be programmed.