在之前的推送里Ryan写过,
如何用E-prime编写go/nogo实验
,在那篇推送的最后,Ryan也留了一个坑,就是如何用PsychoPy来编写go/nogo实验,那么今天这期推送Ryan就来填一下这个坑。(其实严格意义上不算是用PsychoPy写的,是基于Python语句,调用了PsychoPy的GUI和刺激呈现的相关package)
首先还是整个go/nogo实验的具体流程,和之前用E-prime编的完全一致:
第一个 block 作为练习阶段含 10 个 trial(5 个 Go 条件与 5个 Nogo 条件,随机呈现)。第二个 block 为正式测试,含300 个 trial,其中需要按键的条件(Go trial)240个,不需要按键的条件(Nogo trial)为 60 个,Go和 Nogo 刺激顺序随机呈现。其中,“M”是go的信号,“W”是nogo的信号。150个trial后设置一个休息。
trial的示意图如下:
明白整个实验流程之后,我们要做的事情就很清晰了:
1. 设置实验的指导语,并完成呈现;
2. 设置好注视点以及刺激呈现的textstim;
3. 将每个trial的流程编写为function。这里就是呈现注视点-呈现刺激-等待按键-计算rt-计算acc-写入数据的整个过程:
4. 将刺激材料生成list,调用trial的function运行。
其实整个程序最主要的部分就是写每个trial的循环了,这个部分写好之后,剩下的就是准备好list,然后调用这个trial的function即可。这里的思路是,写好一个trial的function,需要多少个trial,就给这个function的n_trial设置多少参数,就非常方便了,这样的话如果中间需要插入练习,那就直接将练习前后的trial数分开就好。
当然,这里的这种方法只是Ryan自己想的,应该还是会有别的更简洁的方法编写,欢迎大家在评论区留言讨论~
领取专属 10元无门槛券
私享最新 技术干货