I know this topic has been discussed before in the psychopy community, but I am not sure a consensus still exists (or whether I understand what it is).
I have a psychopy script that displays audiovisual stimuli and records ratings of them at the end of every trial, while the subject would be scanned. I am wondering how to best deal with the problem of cumulative delays in the script event onsets, due presumably to random variation in the PC’s hardware.
According to this older thread, all that one needs to do is “1) sync the starting time and 2) to record the onsets carefully so that you can later enter them into
I guess 1) can be done by simply conditioning the script to start upon receiving a one-off sync signal from the scanner.; and 2) simply involves extracting the exact onset times of all events from the .log files, and somehow (don’t yet know how) correcting for the delays in the model. But if a certain trial’s events are misaligned with (what would be the corresponding) slice onsets at the time of the acquisition, isn’t it the case that this cannot be corrected for subsequently, even when you know when these misalignments occurred and how large they were?!
If my above concern is true, is it the case that the solution is to condition every single event of the script upon receiving a “new slice onset” (TR) signal from the scanner, i.e. insert “wait” triggers? If so, how is this done in PsychoPy?
Any thoughts on this much appreciated.