本教程为脑机学习者Rose原创(转载请联系作者授权)发表于公众号:脑机接口社区(微信号:Brain_Computer).QQ交流群:903290195
简介
本案例主要介绍如何读取eeglab示例文件.set.
.set文件记录的是采集的信息,主要内容包括通道数,事件数,开始时间与结束时间等。
知识点
mne中使用mne.io.read_raw_eeglab()读取.set文件;
read_raw_eeglab()函数介绍:
mne.io.read_raw_eeglab(input_fname,
montage='deprecated',
eog=(),
preload=False,
uint16_codec=None,
verbose=None)
参数解读
input_fname:.set文件的存放路径;
montage='deprecated':该参数已经舍弃了。在0.19版本中,它的功能可以通过set_montage方法来实现;
eog:指定eog通道的通道名称或索引,如果设置为auto,则使用包含eog和eye的通道名称。默认情况为空元组;
preload:类型 str或者bool 如果为True,则数据将预加载到内存中,以满足更快速的索引;
uint16_codec:类型 str | None 允许指定读取字符数组时应用的编解码器(比如,"latin1"或者"utf-8")
案例
#导入工具库
import mne
import matplotlib.pyplot as plt
- 利用mne.io.read_raw_eeglab来读取.set文件
"""
通过mne.io.read_raw_eeglab来读取.set文件
得到原始数据对象
"""
raw = mne.io.read_raw_eeglab("Eeglab_data.set",preload=False)
- 绘制从第5s开始,5s时间窗口长的原始数据
"""
绘制从第5s开始,5s时间窗口长的原始数据
start:指定开始绘制的时间
duration:要绘制的时间窗口
从该图中可以看出每个通道的数据波动情况
可以通过设置duration的大小来放大或缩小
这个有点类似于eeglab中,放大缩小功能。
这里相同大小的窗口显示更短时间的数据,相当于eeglab中的选中数据进行放大,
反之,即缩小。
"""
raw.plot(start=5, duration=5)
plt.show()
"""
设置duration=1,相当于放大
"""
raw.plot(start=5, duration=1)
plt.show()
- 通常raw的数据访问方式如下:
data, times = raw[picks, time_slice]
picks:是根据条件挑选出来的索引;
time_slice:时间切片
想要获取raw中所有数据,以下两种方式均可:
data,times=raw[:]
data,times=raw[:,:]
"""
获取1-3秒内的EEG数据
获取前5条 时间从1秒开始到3秒为止的数据
raw[:5,int(sfreq*1):int(sfreq*3)]
"""
sfreq=raw.info['sfreq']
data,times=raw[:5,int(sfreq*1):int(sfreq*3)]
plt.plot(times,data.T)
plt.title("Sample channels")
脑机学习者Rose笔记分享,QQ交流群:903290195
更多分享,请关注公众号