psychopy是著名的心理学刺激呈现软件,类似eprime,但是因为加持python,所以远比eprime强大,而且psychopy和eprime类似,有适合非专业人士的图形界面,也有适合程序员的coder模式,更有对openGL的支持,使得很多在eprime中无法实现的特效在psychopy中都能轻而易举的实现,并且工作效率大大提升。
我是一个有心理学背景的程序员,主要编程语言是python,开发过一些数据管理系统和自动化报告系统,业余时间帮助心理学专业的硕士和博士完成一些比较难的编程任务,有幸接触到了psychopy。在心理学中,已经有很多比较成熟的刺激呈现软件,比如E-prime或presentation,而E-prime是我接触psychopy之前,最常用的刺激呈现软件,当然多半是通过写脚本来完成,因为我的身份就是程序员,我所接受的任务也都是比较复杂的,所以编程是我最佳的选择。
我使用E-prime大概有5年的时间,我几乎写过心理学中的所有实验范式,因此我受够了E-prime的种种不爽:
- 收费,并且是硬件加密,导致我不在实验室就无法编写实验程序。
- 版本不兼容,1.x和2.x的程序无法兼容还可以忍受,关键是2.0.8和2.0.11的程序都不兼容。
- 声音和视频格式和大小限制很多,并且容易导致程序崩溃。
- 只支持windows系统,并且在win7之后的系统在安装时都提示不支持,虽然你能通过兼容模式安装成功
- 启动速度非常慢
- basic编程语言,难用且已经落伍,而且你学习basic以后,只能在E-prime有用武之地,我不知道还有哪个公司在用basic,学习投入收益不划算
- 还有很多,我不想浪费口舌…
与此相比,psychopy有很多优点:
- 免费开源,开源的优势有很多,最重要的是你可以看到源码,懂得原理,能解决问题
- 使用openGL作为渲染引擎,性能强,效果好,支持3D效果
- python作为脚本语言,易学易用,且很多公司都在用,更是科学计算的利器
- 跨平台,mac/windows/linux都能做跑起来
- 多显示器支持
- 支持在线实验,也就是被试通过浏览器就能做实验
- 还有很多…
不过,psychopy作为一个年轻的软件,还有不少的缺点:
- 版本不稳定,因为它的开发比较活跃,有些界面和接口的改动,不过还是可以接受的
- 用户少,导致你遇到技术问题,没人可以指导你,不过我正在致力解决这个问题
- 中文支持差
- 没有表格系统,你得使用excel来管理一些表格数据,比如E-prime中的List
- 需要电脑配置独立显卡
- 还有一些,我可能暂时没想到
我使用psychopy开发实验程序已经有2年,为了了解psychopy的API,我通读了它的源码,从一个开发者得角度来说,我觉得psychopy已经达到了成熟的水平,这也是为什么我今天想要推广psychopy在中国的应用。我身边的的心理学研究人员早就抛弃了E-prime,投身到psychopy的怀抱,也是在他们的鼓励下,我才斗胆开始写这本书。
在我写这本书的时候,网上已经有一些关于psychopy零零散散的入门文章,文章质量让我担忧,我觉得psychopy是一个好东西,但不能因为入门教程差而丧失一些用户。
这本书的大体结构你可以通过目录了解一二,不过我在这里介绍一下故事的主线。我是这么想的,为了降低学习曲线的斜率,我先从psychopy的界面开始,也就是Builder视图,通过界面来了解psychopy的主要构成和它的主要功能,使得你能够完成一些简单的实验,如stroop范式。但是,我不会在界面上停留太久,因为界面构建实验程序效率低,且很难完成一些复杂任务,所以我们会接着往下走,进入Coder视图,也就是编程模式。这时候你需要了解一些python基础,不过python真的很简单,两周时间足以让你成为一个合格的python初级用户。在完成了Builder和Coder的教程以后,我会完成一个经典的实验范式,并将代码开源给你们,你们可以学习,也可以直接用到自己的实验中去。
在完成这本书以后,我会写几个经典范式的实验开发教程,每个范式都单独成册,这是为了让一些已经有psychopy基础的人只不必阅读所有的内容,只需要阅读自己用到的实验范式即可,稍加修改就能完成自己的实验,毕竟心理学人不是专业的程序开发人员,没有必要完全掌握psychopy的所有技术细节,只要能在已有程序的基础上完成自己的研究即可。