Eprime与EEG的接口

写在最前

不要焦虑,不要弃疗,写好程序之后要去实际的机器上调试!

背景

EEG脑电信号记录的是一段时间内连续的信号,而我们需要某个特定时间段内的脑电信号,而不是全部的信号。为了实现这一目标,我们需要mark,也就是在连续的脑电信号上打上一个标记。从而让数据分析的人知道需要哪一段的信息。
比如说,一个Eprime实验中出现了黄色的“绿”字(mark=5)和绿色的“绿”字(mark=6),这是两种可以对比的不同实验条件,但是这两种条件出现的顺序是随机的,打上的不同的mark就可以区分出不同的conditions。

方法

Eprime是常用的实验程序的呈现软件,它可以跟EGI等脑电设备配合使用,另外Matlab和python也经常与脑电设备配对使用。本篇文章只讲Eprime的接口。
Eprime与EEG设备的接口需要在Inline语句中写上一些语句:
1.开端口
这一步的目的在于让Eprime准备向其它设备如脑电、核磁发送trigger,使之能够记录到Eprime中的mark。每一个要打mark的控件(即Eprime中使用到的slide,text之类的)都要写一组语句。

target.OnsetSignalEnabled = True
target.OnsetSignalPort = &H378 '这个不是固定的,要根据具体使用的脑电设备来确定
target.OffsetSignalEnabled = True
target.OffsetSignalPort = &H378 '同上

2.打mark
在打mark之前都需要先将系统记录归零,否则经常会出现一些奇怪的mark。另外,mark只能用256内的自然数,不可以用字母之类的,而且根据设备的不同,可能需要从4或者更大更小的数字开始,而不是从1开始。

WritePort &H378,0
target.OnsetSignalData = 4
'target.OnsetSignalData = c.getattrib("mark_number")

'后面的这种方法可以用来打上一些有规律的mark
'mark_number是当前使用的List中的一个字段
'必须为256以下的自然数
3.根据条件来调整mark
有一些时候我们需要根据被试的即时反应来调整mark,比如说当反应是正确的时候打上一种mark,而在反应错误使打另一种mark。

WritePort &H378,0 '系统记录归零
If target.ACC = 1 Then
	WritePort &H378,5 '反应正确
Elseif target.ACC = 0 Then
	WritePort &H378,6 '反应错误
Else
	WritePort &H378,7 '没有反应
End If

更多

更多的帮助可以在Eprime的帮助文档中查看。Eprime主要使用的是VB(Visual Basic)语言。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值