问题标签 [psychopy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 在 PsychoPy 中记录所有按键以及等待按键?
我正在使用 PsychoPy 进行实验。我有一个简单的实验,每次按下某个键时屏幕都会改变。这很简单,为此我使用了 event.waitKeys()。但是,我希望运行一个“背景”过程(不确定术语是否正确),其中记录了每次按键,包括不触发刺激的按键或屏幕转换期间发生的按键。
有没有办法做到这一点?
file-io - Psychopy 网站没有修复输出文件倍增数据
这是一些代码......每当我得到一个输出文件时,我都会得到一倍的数据。
python - 如何在古怪的任务中嵌入楼梯
目前,我尝试创建一个嵌入了楼梯程序的视觉古怪任务(使用 Psychopy v1.81.03,构建器版本)。赔率应该遵循楼梯(改变方向的gabor补丁)。标准应该是垂直方向的gabor补丁。我从创建一个简单的随机试验循环开始。在那个循环中,我插入了如下代码组件:
对于“实验开始”,我定义了一个方向变量(也在界面中引用它,其中定义了 gabor 补丁的属性)和楼梯:
对于“例程的开始”,我定义了刺激的呈现和一个 if 语句,该语句应该根据它是标准还是奇数来选择方向。
对于“结束例程”的部分,我定义了应该改变未来赔率方向的响应,具体取决于它是否是正确答案(检测 - 按下空格键):
一般来说,这会以某种方式起作用(标准和赔率是随机呈现的,赔率也会改变它们的方向,但不是以有意义或预期的方式)。我可以想象没有正确检测到响应或将其添加到楼梯。另一种可能性可能是设置赔率方向的 for 循环在某种程度上是错误的。但是由于我从来没有收到错误消息,而且我对精神病学也比较陌生,所以我很难找出问题所在。
有人可以帮助我解决这个问题吗?那将是非常棒的。
非常感谢你,
汉内斯
psychopy - 正弦波声音的阶梯频率差异——听觉自适应古怪范式
我尝试使用 PsychoPy 创建一个听觉古怪的实验。标准声音应该是正弦波声音(440 HZ),几率应该是不同频率的声音。如果检测到奇数,在下一次试验(楼梯程序)中,奇数和标准之间的差异应该更小(如果没有检测到奇数,则更大)。目前我不知道如何在 PsychoPy 中建立这个基本上非常简单的想法。有没有人暗示如何处理这个问题?
提前致谢,
最好的,汉内斯
psychopy - PsychoPy:记录用户输入字符串
我有一个 PsychoPy 例程,旨在充当内存对象跨度测试。在一个循环中,软件多次呈现一个对象(单个文本字符),然后是用户任务。该软件会记住字符串,然后要求用户输入所显示的字符。这个序列(任务循环,然后是字符召回)本身在一个更大的循环中出现了几次。
角色是随机选择的。
我想在 PsychoPy 生成的 CSV 文件或某种日志文件中记录用户输入的字符。在 PsychoPy 图形界面系统中如何做到这一点?
用于记录字符序列的代码块是:
开始例行程序
每一帧
loopTest = True 用户输入 = ""
结束例程
后来的例程有,作为它的开始例程
粗略(它是一个原型),但每个帧部分的目的只是通过 R_disp 文本刺激来反映写入屏幕的字符,同时允许用户退格而不用担心区分大小写。最终答案以givenAnswer结束,随后与之前建立的memorySequence进行比较。
我想将这些变量、memorySequence和givenAnswer的内容转储到 CSV 文件或某个日志文件中,这样我就不会丢失信息。
有没有办法做到这一点?
python - PsychoPy 使用随机点运动图 (RDK) 模拟扩展焦点
我需要使用 PsychoPy 的 RDK 功能来模拟扩展的焦点。
到目前为止,我有以下代码。然而,这只创建了一个向某个方向移动的 RDK。
我需要创建一个 RDK,其中的点从窗口中的特定位置移开。
IE
我尝试更改参数,但我无法模仿所需的功能。我还查看并搜索了精神病学文档,但是没有提到“扩展重点”。
有没有办法使用 PsychoPy 做到这一点?如果没有,最好的选择是什么?
ios - PsychoPy Coder:根据帧定义图像持续时间
我在 Matlab 方面有一些经验,但对 PsychoPy 很陌生。
现在我想在两个图像之间不断切换,直到有键盘响应。每个图像应在屏幕上准确停留 100 毫秒,我希望能够验证是否是这种情况(例如在日志文件中)。
我通过在 win.flip() 之后使用 core.wait(.084) 来做对了——在一个大约 100 毫秒的 60Hz 屏幕上。我通过使用 win.logOnFlip() 将每个翻转的帧写入日志文件来验证它
但我相信我可以更精确,我只知道如何根据帧来定义图像的持续时间。
函数 core.wait() 只需要几秒钟的时间,而不是帧,对吗?
如果您能给我一些关于如何实现(和验证)6 帧图像呈现的提示,我将不胜感激。
提前致谢
最好的
塞巴斯蒂安
这是我的代码:
python - 如何保持 PsychoPy 对象 visual.Window 是 Windows 7 上最顶层(活动)的窗口?
我有一个实验代码,它通过命令行(即 os.startfile)打开其他程序,并且想知道即使在打开这些程序时,如何将 PsychoPy 创建的 visual.Window() 对象保留为最顶层的活动窗口。我希望这些其他程序在后台运行,并且不会干扰参与者对实验刺激的键盘响应。就像现在一样,我必须手动单击实验窗口才能在打开这些其他程序时再次激活它,并且在我单击它之前,PsychoPy 中不会记录响应。
如果您不介意分享如何将 PsychoPy visual.Window() 放在首位,我将不胜感激。我在 Windows 7 上运行 PsychoPy v 1.81.03,但也对 OSX 的答案感兴趣。感谢您分享您的知识和专业知识!
python - Psychopy GetKeys 麻烦
我已经与这个问题作了几个小时的斗争,而我在网上寻找解决方案的尝试却一无所获。希望这里有人有一些见识。
在实验过程中,参与者在没有用户输入的情况下看到一系列刺激,然后是面具。但是,在某些试验中,我们希望进行“捕捉”试验以确保参与者仍然参与其中。
所以理想情况下,流程看起来像:
stim->mask->stim->mask...->catch trial->mask(注册按键-“我看到了”)->stim->mask...
我遇到的问题是,当我调用 event.getKeys('space') 时,它总是返回一个空列表。
这是一段相关代码:
据我了解, event.getKeys() 返回自上次调用 getKeys 或调用 clearEvent 以来按下的所有键的列表。
在这种情况下,我不明白为什么键总是空的。我尝试在整个循环中移动 getKeys 事件,但无济于事。
我将不胜感激任何帮助,本
image - 图像顶部的心理多边形
在 Mac 上使用 Psychopy 版本 1.81.03 我想在图像顶部绘制一个多边形(例如三角形)。到目前为止,我的图像始终保持在顶部,因此隐藏了多边形,无论我放置它们的顺序如何。如果我让多边形比图像晚一帧开始,这也是正确的。
例如,请参阅下面的代码(在编译之前使用 Builder 创建)蓝色正方形和红色三角形应该如何从第 0 帧开始,但是当您运行它时,蓝色正方形总是覆盖红色三角形!?
有没有办法让多边形在上面?在绘制它们之前,我是否需要以某种方式合并图像和多边形?
非常感谢你的帮助!!
塞巴斯蒂安