Neurobs Presentation

From TSG Doc
Revision as of 13:18, 26 November 2015 by Wilbert.vanham (talk | contribs) (Screen synchronization issue on 120 Hz screens)

Jump to: navigation, search
Nbs logo.jpg

Presentation ( is a MS Windows based programming tool that allows experimenters to set up and program all sort of experiments. It is the recommended software for time-accurate experiments and therefore supported by the institutes’ (Social Sciences Faculty, the MPI and the Donders Centre for Cognitive Neuroimaging) technical groups. The technical groups offer (PhD) students a couple of preprogrammed experiments (i.e. templates), which can be adjusted to build up own experiments. In this way, the (PhD) student can efficiently program experiments fitting an technical optimal environment. This is what this course is all about. It aims at teaching programming skills, which are needed to modify the existing templates such that they meet your own demands. Because this can be quite complex, we start with short assignments, which address one basic and simple problem at a time. They will all contribute to the final assignment in which you will work on an existing template.


Find the presentation workshop documentation here: Media:Programming with Presentation 2013.pdf

Find the presentation prereader here: Media:Presentation pcl pre-read 2013 .pdf


Find the presentation Template here


Please install this version on your computer:



For the latest Package Player click here


To run presentation in the labs you need a software dongle. Reserve a dongle when you book a lab. If you need a dongle for research outside the university you could discuss time limits with Ronny Janssen.

When you want to run in your office use the network license. Boot presentation, choose option "activations" -> "Network"

Fill in the following within the "Network License Settings"

Enable Hostname:
Port: 1245
Timeout (ms): 5000



Presentation has a very limited support for video playback, in that it only supports the use of the obsolete AVI container, encoded with the equally obsolete XVID or the more modern (but hard to find in combination with .avi) h264. On the Video Codecs page you can find more information on how to convert your videos for Neurobs Presentation.


Version History

For version history please click here:

Fixed Bugs

For fixed bug / known bugs please click here:


For various information please click here:


For the wiki click here:

Compatiblity Issues

  • Always check beforehand in which version the script was written.
  • New versions do not always maintain backwards compatibility.
  • Features can get removed, or changed.

Screen synchronization issue on 120 Hz screens

There is a serious synchronisation issue where the picture.present() method returns one frame too early. It can be detected by measuring the time between two consecutive present() calls returning:

int t0 = clock.time(); 
int t1 = clock.time(); 
int dt = t1-t0;

One would expect picture1 to be shown for 1 frame (1/120 s) and time dt to show this. Sometimes this is not the case. The image will be shown for one frame (1/120 s), but dt will be 2/120 s:

synchronization bug timeline

The fact that picture1 is shown for only 1/120 s was confirmed with a light sensor connected to an oscilloscope.

The chance of this issue occurring is highly dependant on the waiting time:

synchronization bug occurrence

Neurobs people seem to think it has something to do with triple buffering, but the graph above was created without triple buffering enabled.