【问题标题】:Psychopy: delayed picture display in an EEG experimentPsychopy:脑电图实验中的延迟图片显示
【发布时间】:2017-05-30 11:44:13
【问题描述】:

我正在用图片进行脑电图实验,并通过并行端口发送触发器。我通过 Psychopy 构建器将触发器添加到我的代码中,并将其同步到屏幕刷新。我使用光电二极管测试图片是否在发送触发器的同时显示,我发现不规则延迟:触发器在实际显示图像之前 5 毫秒到 26 毫秒之间发送。

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

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

# *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))

【问题讨论】:

  • 欢迎来到 Stackoverflow。请查看How to create a Minimal, Complete, and Verifiable example。如果您可以在问题中包含一些代码来显示您迄今为止尝试过的内容以及您的问题是什么,那就太好了。
  • 通常,关于 PsychoPy Builder 的问题最好在 PsychoPy 论坛上提出,因为它与编码无关。转到discourse.psychopy.org。无论您在哪里询问,请附上相关例程、设置和您拥有的任何代码的屏幕截图。

标签: triggers delay timing psychopy


【解决方案1】:

实际上,这很可能是由于显示器本身造成的。换个显示器试试。

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

【讨论】:

  • 亲爱的乔恩,感谢您的回复。那么延迟不应该是恒定的吗?你是说我无法改进代码以避免至少部分延迟?
  • 不,如果问题是显示器对帧图像进行后处理,那么它不会是恒定的,没有更好的代码可以修复它(在任何软件包中)
猜你喜欢
  • 2016-03-24
  • 1970-01-01
  • 2013-08-11
  • 1970-01-01
  • 2015-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多