BCI工作笔记(一):脑电数据获取(Data acquisition)

2019-04-13 13:03发布

这篇文章总结一下,脑电研究过程中的第一步,数据获取,即data acquisition。这里的设备专指脑电,广义来说,还有一些脑磁,光谱,近红外,核磁共振之类的也会应用于脑机接口领域,但这里专指EEG。很多人好奇,目前的脑电设备那么贵,动辄好几十万上百万,买来之后不就可以直接用了,还需要我们做什么。接触过他们的销售,见识过他们的软件界面之后,了解了他们想要兜售给你的软件都有哪些功能之后,你也许就不会有这个疑问了。同时,既然是engineerer,或者data scientist,肯定不希望工作在黑箱,最好从数据采集到计算处理,每一步都开源,才是最理想的。
时间有限,今天简单写点,以后再来补充,目前我所了解和使用的主要有两款设备,来自荷兰的bioSemi和来自奥地利的g.tec,开源的data acquisition主要依赖于UCSD的SCCN开发的labstreamlayer(LSL)。大家可能不知道LSL,但BCILAB估计很多人都用过,没错,他们是一个开发团队的作品, https://github.com/sccn

目前LSL正在成为很多设备的数据获取方式,先看一下他的设备支持列表吧:
涵盖了大部分的脑电采集设备,以及动作捕捉,甚至键盘鼠标等等。拿到设备,第一步,当然安装驱动,供应商通常会给安装光盘,或者有的直接在官网上可以下载; 下来要完成数据采集,实时显示,我们需要控制数据流stream,就需要类似于LSL这种,建立一个local network,既然是数据传输,需要server和client,client需要自己根据需求来写,server一般可以直接下载到。这篇主要来讲三个server,并就其中的一些问题给出我们的经验:
1. LSL的app里面直接有server.exe,经过测试,对于gUSBamp,这个可以pass掉,原因是缺trigger channel。我之前的尝试过bioSemi,工作正常; 2. 以上的改进版本,windows7运行无误,8和10有问题,需要安装Microsoft directX修复工具和VS2013的库 3. openVibe,需要更多的测试再下结论,下载的地址在这里http://openvibe.inria.fr/downloads/ 一年之前经常用,工作正常,新到手的设备还没完成测试。
以上其实是两个版本,(1,2)是LSL;(3)openVibe;下载地址在http://pan.baidu.com/s/1mi6srI4 密码:dodd
可能会有的问题及解决方案: 1. 对于LSL,对有些机器,运行一会报运行一会server  timeout, driver bug? 关闭UAC重新装一下,重新试一下,worked。如何关闭UAC: To turn UAC on or off: Open User Account Control Settings byclicking the Start button , and then clicking Control Panel. In the search box,type uac, and then click Change User Account Control settings. To turn off UAC, move the slider to theNever notify position, and then click OK.
2. 对于openVibe:点openVibeacquisition server,报错,no module named site,参考的问题描述及解决方案: http://openvibe.inria.fr/forum/viewtopic.php?f=10&t=4889 我最后的解决办法: C:ProgramFiles (x86)openvibein里面,把openvibe-plugins-contrib-python.dll 移到同目录下的命名为backup的文件夹里面。