Python 中 MNE 读取EEG竞赛数据(gdf格式)

15 篇文章 52 订阅
4 篇文章 0 订阅

最近在研究运动想象相关的算法,发现网上有一些公开的脑电数据,发现之前EEG还有这方面的竞赛,不知道为啥现在没有了,或许还有只不过我到目前还没找到,哈哈。前半部分都是说如何获取数据,后面才是标题的重点内容。

下载还是很方便的链接地址如下:http://www.bbci.de/competition/ii/#datasets

下载完数据,我就开始寻找能处理脑电数据的工具:https://zhuanlan.zhihu.com/p/35365490

由于之前有一些matlab基础第一选择是EEGLAB,果然没让我失望啊,这个工具箱挺好用的。

可以参考下面的博客进行安装:https://blog.csdn.net/weixin_40521823/article/details/83270065

这里有一个小插曲,EEGLAB本身是不支持gdf格式的数据,需要你安装相关的工具箱,好在matlab工具箱的安装还算比较简单,也就是添加路径就可以了。如果EEGLAB默认的安装过程比较慢,你也可以在官网自己下载手动添加。http://biosig.sourceforge.net/download.html

现在我们的工具箱也安装好了,可以开始分析数据了,可是我想添加一些自己的算法应该应该怎么办呢?Matlab在这方面没有什么优势啊,突然想到了最近比较火的Python,有没有什么Python的库可以支持脑电数据分析呢?在网上百度了半天也没什么线索,最后抱着试试看的态度在GitHub上搜索了一下,发现有情况啊,这个mne看着有戏啊,顺着这个线索开始收集材料发现Python中真的有这个库。上mne的官网看来下,合作的机构还都挺牛的,果断pip install 进行安装。

mne的官方网站:https://mne.tools/stable/index.html

网上也有mne相关的教程,虽然不多不过入门够了。推荐一个链接:https://blog.csdn.net/zyb228/article/details/103128981

这个博客中的公众号还在更新,虽然和官方的例子一样不过对于不知道如何下手的你来说还是有参考价值的。

跟着教程把例子跑完,该回来处理运动想象的数据了。mne还真提供了读取gdf格式数据的函数:mne.io.read_raw_gdf,但是。。。重点来了,它读取出来的数据虽然有通道记录的数据但是没有事件记录。。。。这特么的尴尬了。

好在上面用Matlab读取的数据有相关信息,考虑用matlab将其转换为其他格式处理,EEGLAB确实可以转换很多种格式,edf/set...等等,可是每个都没有效果啊,最后放弃了,把他输出成文本然后在Python中处理,这是最后的办法也是肯定可行的方法。就在查看mne中events相关的函数时发现了mne.read_annotations函数,本来是打算保存txt然后用这个函数读取,可是发现这里的文件类型竟然也支持set和edf,抱着试一下的态度,没想到读set格式(不知道为什么edf的不可以)的数据真的可以读出annotations。。。。这里需要注意一个事情,set只是保存了描述信息,真正的数据存放在fdt格式数据中。我们在Python中只要描述信息,这个对我们影响不大。

和matlab读出的数据对比下,这里需要换算下,因为mne里面使用的是时间,EEGLAB中使用的是数据点数,也就是矩阵的索引:只取前两个对比下。oneset相当于matlab中的latency,description相当于type也就是事件的类型,duration是持续的时间,orig_time是时间偏移,这个在EEGLAB中没有,python读取的也就是None。matlab中的urevent暂时不用考虑,目前用不到。

1.996 = (500-1)/250 (通过采样频率转换为时间)

60 = (15000-0)/250 (通过采样频率转换为时间)

采样频率:250。

完全能对应上,开心,这样只需要在matlab中将gdf转换为set格式就可以了,不用输出txt那么麻烦,可以开始下面的工作了。

非常重要

上面写了那么多,今天发现完全是没用的,用read_raw_gdf一个函数完全能够满足要求,尴尬了。原来读取数据后,相关的事件保存在annotations中。。。

 

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值