查看原文
其他

【干货】PsychoPy简介

Ryan Ryan聊心理 2022-04-26



之前老讲PsychoPy,但是貌似挺多人还不是了解这个工具,今天Ryan大致给大家进行一个介绍吧,后续慢慢会尽我所能写一些教程出来分享,也欢迎各种交流讨论,互相学习。


PsychoPy是一款完全开源的,基于Python语言的,专门为编制心理学实验程序而设计的一款免费软件,于2003年由英国诺丁汉大学Jonathan Peirce教授等人主持开发,目前版本已更新至1.85.6(2017.12发布。官网的标题已经写上了v1.9,但是暂时还没有看到1.9版本的下载……)。

最早的时候,英国诺丁汉大学的Jonathan Peirce教授期望编写一个比基于MATLAB的psychtoolbox更加方便的实验刺激呈现工具,于是诞生了最初的PsychoPy原型,并且在经过初步的改进后成为诺丁汉大学心理学实验室的实验工具。不过那个时候的PsychoPy还是依赖于Python的各种包而建立的一个小工具。在经历了几年间数次的版本更新后,PsychoPy于2009年正式发布PsychoPy2,成为一个完整的包含了图形界面和各种必要底层库的软件,也凭借其易用性和稳定性,成为能够完全替代传统实验软件E-prime和Presentation的心理学实验软件。

关于PsychoPy的更新与历史版本可以在GitHub上查看:https://github.com/psychopy



这里引用一下PsychoPy官网对这款软件的说明(http://www.psychopy.org):

“PsychoPy 是一个开源的软件,可在神经科学、心理学以及心理物理学的各种实验中用于刺激呈现和数据收集。本产品免费且强大的功能可以替代Presentation 和E-Prime。使用python语言(免费的MATLAB替代品)编写。

PsychoPy可以给您提供独有的界面选择:使用Builder界面可以轻松编制丰富,灵活的实验程序,或使用Coder界面通过广泛使用的Python编程语言来编写非常强大的实验程序。 ”


个人认为,PsychoPy这款软件主要有以下几个优点:

1. 完全开源免费。目前较为常用的心理学实验软件是E-Prime和MATLAB的psychtoolbox,这两款软件都是付费软件,且价格昂贵。据了解,目前很多高校和研究者在使用的都是它们的破解版,或者较老的版本。使用破解版软件本身属于违法行为,不值得提倡,并且,破解版或旧版软件也存在一些稳定性和功能上的不足,而PsychoPy则不存在这些问题;

2. 基于Python语言。若是要给目前比较常见的编程语言排个序,Python凭借其简洁性、易读性和全能性一定是排在前列的,备受许多程序开发者推崇。而且在心理学领域,由于Python拥有大量较为方便和靠谱的扩展包,其应用也越来越广泛,包括但不限于刺激呈现、数据抓取、数据处理和画图等等(当然R在数据分析和画图方面也很有优势)。相比于E-Prime使用的古老的VB语言,和psychtoolbox背后的MATLAB语言,Python很新颖,可移植性强,全能,并且依托大量质量不错的第三方库和扩展包,可以节省很多精力。同时基于Python语言意味着,如果在编程过程中遇到困难或问题的时候,求助他人的难度极低;

3. 上手难度较低。对于心理学编程的新手来说,由于PsychoPy中Builder模式的存在,使得PsychoPy可以像E-Prime一样,仅仅通过对控件的拖拽和设置就能编制大量简单常用的实验程序,而不需要像使用MATLAB一样,得学习一门编程语言才能掌握psychtoolbox的编程方法,大大降低了初学者的学习难度;

4. 功能强大。同时又由于PsychoPy中Coder模式的存在,PsychoPy能够使掌握Python语言的开发者直接使用Python来进行实验程序的编制,基本上能够完全实现纷繁复杂的实验要求,而不像E-Prime那样,受制于某些功能上限制无法实现一些条件;

5. 数据简洁。这一点主要是对应于E-Prime而言。E-Prime输出的实验数据是一种它自带的数据格式,并且看起来较为繁杂,而PsychoPy可以设置输出数据的内容,使得结果较为简洁直观,即使是自带的数据格式也很明了,或者输出为excel、csv或txt等格式的文件也能够较为方便的直接使用其他数据处理工具开展分析工作;

6. 扩展性好。不管是想要连接ERP、fMRI、眼动仪,或是其它的实验设备,PsychoPy都能够很好的实现程序与设备之间的通信,在调用相应扩展包的基础上,相关的设置也并不复杂。

再说说PsychoPy个人认为的几个缺点或者不足吧:

1. 潜在的bug。由于PsychoPy不是标准商业化的软件,所以在使用的过程中可能会出现一些bug(不是说商业软件就没有bug,相对可能不够商业软件那么成熟一些),不过大可不必为此担心,在经历了数次版本升级后,已经几乎不会出现bug了,如果在使用中发现bug可以在GitHub上及时提交给PsychoPy的维护团队,等待下一次的版本更新就会修复;

2. 运行环境。在安装PsychoPy时需要注意完整安装Python作为运行环境,并且正确安装一些相关的Python库和包,可能这对于一些初学者来说较安装E-Prime要复杂一些(如果是选择自动安装的话。目前版本的自动安装还是非常简单的),而且如果实验涉及到一些比较复杂的功能,比如需要用Coder模式编写代码,可能还需要另添加Python的一些第三方库配合调用;

3. 最好配合编辑器使用。这里仅指PsychoPy中的Coder模式。由于Coder模式是完全按照Python的格式来编写实验程序,所以还是建议配合一款适合自己风格的代码编辑器(IDE。例如Spyder、PyCharm等)使用,在编辑器上完成实验编写,并初步通过运行后,再转移到PsychoPy的Coder(尽管PsychoPy的Coder本身就是一个IDE,但是个人觉得看起来总是有些别扭……


综上所提到的优缺点而言,不管你是想要编制简单常用实验程序的心理学专业学生,还是希望学习Python语言,进行复杂心理学实验编程的研究者, PsychoPy这款软件都不失为一个很好的选择。


点击下方“阅读全文”,可以直接浏览PsychoPy的官网,在官网上也能找到跳转Github的下载链接~



关于PsychoPy方面的问题,Ryan也是菜鸟,但是欢迎大家积极留言给我,我们一起交流讨论,共同进步!

个人认为Python应该是心理学编程的未来发展重要语言,是时候抛弃E-prime拥抱Python了朋友们~(当然这并不代表Ryan之后就不分享E-prime的教程了……哈哈哈哈,有空都会写的)

——来自Ryan的后记



依旧放上一个简单粗暴的打赏方式给亲爱的苹果用户(๑*◡*๑) ↓↓


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存