Redian新闻
>
使用Psychopy刺激软件与EGI脑电设备连接

使用Psychopy刺激软件与EGI脑电设备连接

教育

大家好,我是陈锐。


今天分享内容来源官网教程参考已测试,内容仅供参考学习分享。

第一步:安装 EGI NetStation Python 库

使用PsychoPy版本2022.1.3 或最新版本,则软件自带有该egi-netstation库,可直接使用。如无,则需要使用 终端命令安装 egi-NetStation 库。


第二步:将代码组件添加到Builder 实验

与NetStation EEG脑电进行通信,将一些 Python 代码组件添加到实验中,即可完成。

首先,在Instructions中添加一个代码组件,如下图:

在Begin Experiment选项卡中,复制并粘贴以下代码,该代码将导入egi-netstation库并匹配IP地址进行通信,按照所连接的放大器型号,修改其ip地址:

#导入库egi-netstation
from egi_pynetstation.NetStation import NetStation

#设置苹果主机IP
IP_ns = '10.10.10.42'

#如果是NA300放大器,则设置为42;NA400/410放大器,则设置为51
IP_amp = '10.10.10.51'

#配置ECI端口,默认为55513,具体可参考采集软件上的port
port_ns = 55513

#开始记录和发送开始标记STRT
eci_client = NetStation(IP_ns, port_ns)
eci_client.connect(ntp_ip = IP_amp)
eci_client.begin_rec()
eci_client.send_event(event_type = 'STRT', start = 0.0)

然后,将以下代码输入带trial层中Begin Routine中,表示在试次开始前还没有触发值。

triggerSent = False

接着在同一代码组件的Each Frame中,添加以下代码以在呈现刺激时发送不超过四个字符的触发器。这里的.status属性是检查我们的刺激是否已经开始,如果已经开始,PsychoPy 会将触发器发送到 EGI NetStation。请注意,PsychoPy 中的大多数组件都具有该.status属性,因此您可以轻松地调整此代码,例如,在按下响应键时发送触发器:

#发送标记到netstation,需要四字符编码,如"code"
#如需条件分类,则可以设置为文件调用即可

if text_stim.status == STARTED and not triggerSent: #表示text_stim(根据自己的实验名称修改)的.status状态已经开始并且不是False的,那么就发送下面的标记
   win.callOnFlip(eci_client.send_event, event_type = 'code') #发送标记,同步每屏的刷新
   triggerSent = True #写上这句,表示已发送trigger。


  • 最后,在实验结束时,添加代码以下内容:

    #停止记录,断开连接
    eci_client.end_rec()
    eci_client.disconnect()


除此之外呢,如使用的Psychopy code,则直接使用以下代码即可

from egi_pynetstation import NetStation
# Set an IP address for the computer running NetStation as an IPv4 string
IP_ns = '10.10.10.42'
# Set a port that NetStation will be listening to as an integer
port_ns = 55513
ns = NetStation(IP_ns, port_ns)
# Set an NTP clock server (the amplifier) address as an IPv4 string
IP_amp = '10.10.10.51'
ns.connect(ntp_ip=IP_amp)
# Do whatever setup for your experiment here...
# Begin recording
ns.begin_rec()
# You can now send events; this one just says "HIYA" and automatically
# marks the time for you
ns.send_event(event_type="HIYA")
# You can include a data dictionary; perhaps you have a dog stimulus
my_data = {"dogs": "fido"}
# Send this data with the event type of "STIM"
ns.send_event(event_type="STIM", data=my_data)
# With the experiment concluded, you can end the recording
ns.end_rec()
# You'll want to disconnect the amplifier when your program is done
ns.disconnect()


参考网址:

https://github.com/nimh-sfim/egi-pynetstation

https://egi-pynetstation.readthedocs.io/en/latest/

https://psychopy.org/hardware/egiNetStation.html#egi


谢谢大家观看,如有帮助,来个喜欢或者关注吧!


本文作者:陈锐

本文仅供学习参考,有任何疑问及建议,扫描以下公众号二维码添加交流:


更多学习内容,仅在知识星球发布:



微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
快意之事莫若友,快友之事莫若谈俄勒冈的海岸线,没想到这么美神经系统疾病的脑电图Marcus by Goldman Sachs Savings 银行账户【1.20% APY + 额外1.0% APY三个月】NetOps、DevOps、NetSecOps有什么区别?星辰天合胥昕:一文说明白软件定义存储如何实现“数据常青”|GGV OMEGA访谈录x创业内幕家门口的春天​Goldman Sachs已开放金融类2022 Off-Cycle Internships!Open House预告|远离网红滤镜,1133Hope凭何成为Downtown下一个卷王?Shanghai’s ‘Psychological Emergency’ Warrants Attention硬核观察 #644 微软警示一个针对 Linux 设备的“隐形 DDoS 恶意软件”使用Psychopy通过并行端口与EEG/fNIRS等进行同步使用 Python 的 requests 和 Beautiful Soup 来分析网页 | Linux 中国Thonny:在学校教授 Python 编程的理想 IDE | Linux 中国‘Hot, Hot, Hot’: China Hit with Blistering Heat Wave唐山打人事件与社会治理的难题好消息!Telstra今日开通3000个免费无线热点,后面还有12000个正在升级,人人都可连接使用机器学习:使用 Python 进行预测 | Linux 中国简单钓鱼文件制作——Word邮件与CSV注入企业为何使用开源软件,又为何推动开源软件的发展 | Linux 中国机器学习:使用 Python 进行分类 | Linux 中国昨天俺的中央空调终于装上了 还买了一车土微脑科技:基于脑电感知控制技术,助力中风瘫痪患者生活自理US.News排名#68的叶史瓦大学 || 心理咨询/社工/PsyD项目介绍Python批量将Photoshop文件保存为图片早报 | ZARA继续深耕中国市场;Topshop创始人去世享年83岁;传Prada将于明年在米兰上市目标筹集10亿美元【6.1今日折扣】儿童节骨折:Jellycat爆款补货!LEGO/大富翁游戏六一大降价!RT化妆刷24h闪促不要错过!How Foreign Students Cheat China’s College Admissions System录取捷报|排名第一PsyD项目offer来啦!华为鸿蒙最新进展:支持设备超3亿台,可以更多花样连接更多种设备,有点超级终端那味儿了邱开冒:领导一发毒誓,群众就笑场高通无线连接全家桶 加速无线通信进入10Gbps时代硬核观察 #750 微软杀毒软件将 Chrome 和 Edge 识别为恶意软件台湾最擅长对我们使用PUA了脑电设备硬件终极指南
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。