Categories

Delay between trials in sequence

I'm currently working on my first experiment (SC-IAT) with OpenSesame (PsychoPy backend) and need some help with timing issues.

The experiment consists of 3 block loops, each containing a sequence with stimuli presenting trials. Subjects have to react by pressing certain keys in response to the stimulus. The process is running quite smoothly (adopted it from the beginners tutorial). Just the ITI is causing some trouble.
I inserted a sketchpad with a delay of 245ms (to get 250ms) at the beginning of the sequence. This is working quite precisely. Analysis of the test data delivers averages of 250-254ms.
However, there is a rather long delay between the last item in the sequence (logger) and the onset of the ITI sketchpad item of the next trial. Unfortunately this is highly variable (500-1000ms), i.e. I can not take this delay into account in the ITI item.

Comments

Have a look at the first few paragraphs of the documentation. There the reasons for your delay is explained. In short, Opensesame assumes everything within a sequence is time-critical and tries to minimize the delay between items in it (which is why your sketchpad works nicely). However, between sequences (including separates iterations of the same sequence, there is always some unpredictable delay. The amount of it, might vary across back-end you use, but it is nothing you can avoid entirely.

There are a few ways to circumvent these issues. For example, if you have a fixation period in the beginning of your trial, you can set its duration dynamically, so that it already incorporates preparation time. For example, if you want a fixation dot for 1 second, you could set its duration to 1000-[prep_time]. Of course for that you need prep_time to be defined and represent the actual preparation time (the time after the previous stimulus appeared on screen, until the moment the current fixation dot should appear).
For that to work, you probably have to do some inline-scripting.

Alternatively, you can decide to make your entire sequencein python code, that gives you much more flexibility when it comes to timing, but requires more work.