心理学:脑电图实验中延迟的图片显示

时间:2017-05-30 11:44:13

标签: triggers delay timing psychopy

我正在运行带有图片的EEG实验,我通过并行端口发送触发器。我通过Psychopy构建器向我的代码添加了触发器,并将其同步到屏幕刷新。我使用光电二极管来测试图片是否与发送触发器完全相同时显示,并且我发现不规则延迟:触发器发送的时间比图像实际显示的时间早5ms到26ms。

我不认为图像尺寸是一个问题,因为我观察到延迟,即使我用小尺寸的白色图像替换图片。此外,在图片显示之前有一个ISI周期为半秒,应该有所帮助。技术人员告诉我,显卡或电缆应该不是问题。有没有人知道为什么我会得到这些延迟以及如何解决这个问题?

由于评论,我添加了一段发送触发器的代码:

# *image_training_port* updates
    if t >= 4.0 and image_training_port.status == NOT_STARTED:
        # keep track of start time/frame for later
        image_training_port.tStart = t  # underestimates by a little under one frame
        image_training_port.frameNStart = frameN  # exact frame index
        image_training_port.status = STARTED
        win.callOnFlip(image_training_port.setData, int(triggers_image_training))
    if image_training_port.status == STARTED and t >= (4.0 + (0.5-win.monitorFramePeriod*0.75)): #most of one frame period left
        image_training_port.status = STOPPED
        win.callOnFlip(image_training_port.setData, int(0))

1 个答案:

答案 0 :(得分:0)

实际上,这很可能是由于显示器本身造成的。尝试在不同的监视器中交换。

说明:平板显示器经常做一些"后处理"在框架像素上使它们看起来更漂亮(对于平板电视,几乎所有人都这样做)。后处理不仅因为它会改变您仔细校准的刺激而不需要,而且因为如果执行时间超过几毫秒,它会引入延迟。 PsychoPy(或任何软件)无法检测到这一点 - 它只能知道帧在图形卡级别被翻转的时间,而不是之后发生的事情。