EDF格式脑电数据处理
数据格式
.edf格式数据
可用软件
Polyman:既可以读取edf数据,也能读取edf文件中的标注信息,标注信息还能以txt文本格式导出。
可以参考这篇博文:https://blog.csdn.net/weixin_45127176/article/details/104849162
edfbrowser:可以读取edf数据,并且可以将edf文件的数据导出成txt。
matlib+eeglab:我使用matlib中的eeglab一直报错,但是有博文能够实现数据滤波并导出这个滤波的数据为txt。
可用python库
pyedflib:可以读取edf数据的头文件,以及数据。具体参考官方文档。
mne:这个是专业处理脑电的库,提供非常多的案例和接口。推荐这个。
官方文档:https://mne.tools/dev/overview/index.html
读取数据:raw=read_raw_edf( edf_file )
raw_label=mne.read_annotations( label_edf )
raw.set_annotations(raw_label, emit_warning=False) #将数据标签与数据放在一起。
创建事件:将数据标签与数据对应起来,划分成一个个时间片段的样本,这些样本则称为事件(我的理解)
其他博文中的解释是:描述的是某一种波形(症状)的起始点,其为一个三元组:事件起始采样点、当前事件来源的刺激通道(stimulus channel)的先前值、该event的id
events_train,_=mne.events_from_annotations(raw,event_id=annotation_event_id, chunk_duration=30.) # chunk_duration=30表示这个标签持续时间大于30s才能算作这个事件的
epoch创建:epoch可以基于事件创建,可以对时间段样本进行更多操作。
mne等提供丰富接口,可以计算脑电时频相关特征。具体参见官方文档中的案例。