当前位置:   article > 正文

Python处理脑电--Epochs数据可视化_python ica eeg

python ica eeg

点击上面"脑机接口社区"关注我们

更多技术干货第一时间送达

 

本案例主要介绍epoched数据的可视化。  

这里介绍的所有函数基本上都是高级matplotlib函数,所有方法均返回matplotlib图形实例的句柄。

mne.Epochs.plot()提供了一个交互式浏览器,当与关键字block = True结合使用时,允许手动拒绝。这将阻止脚本执行,直到关闭浏览器窗口。

  1. # 加载工具包
  2. import os.path as op
  3. import mne
  4. import matplotlib.pyplot as plt

加载数据

  1. """
  2. 加载数据,如果本地无该数据,
  3. 则从网络中下载
  4. """
  5. data_path = op.join(mne.datasets.sample.data_path(), 'MEG', 'sample')
  6. raw = mne.io.read_raw_fif(
  7. op.join(data_path, 'sample_audvis_filt-0-40_raw.fif'), preload=True)
  8. # 设置event ID
  9. event_id = {'auditory/left': 1, 'auditory/right': 2, 'visual/left': 3,
  10. 'visual/right': 4, 'smiley': 5, 'button': 32}
  11. events = mne.find_events(raw)
  12. epochs = mne.Epochs(raw, events, event_id=event_id, tmin=-0.2, tmax=.5,
  13. preload=True)
  14. del raw

  1. # 绘制epochs
  2. epochs.plot(block=True)
  3. plt.show()

顶部的数字表示epoch的事件id。底部的数字是各个epoch的运行编号。

因为这里没有进行人为的伪影校正或剔除,所以有一些epoch数据被眨眼和扫视污染。例如,epoch 1似乎被眨眼污染了(滚动到底部查看EOG通道)。单击浏览器窗口的顶部可以将这个epoch标记为剔除。单击时,epoch应该变为红色。这意味着当浏览器窗口关闭时,它将被删除。

通过将events关键字传递给epochs绘图,可以在epoched数据上绘制事件标记。这些事件被绘制为竖线,它们遵循与mvc.viz.plot_events()相同的着色方案。由于颜色相同,事件绘图仪也可以作为epochs绘图仪事件的图例。也可以通过event_colors关键字传递自己的颜色。在这里,我们可以绘制看到笑脸和按下按钮之间的反应时间(事件32)。

在传递事件时,默认情况下,底部的epoch编号是关闭的,以避免重叠。你可以通过设置对话框通过按o键重新打开它。

  1. # 绘制 events
  2. events = mne.pick_events(events, include=[5, 32])
  3. mne.viz.plot_events(events)

  1. # 绘制smiley的epochs
  2. epochs['smiley'].plot(events=events)
  3. plt.show()

为了一眼就可以看到所有的epoch,可以使用函数mne.epoch.plot_image()将各个通道绘制为图像。 它可以显示信号在所有时间点上的振幅,加上激活的平均(诱发响应)。 

显式地将交互式colorbar设置为on(默认情况下也是on,以使用除topo绘图以外的colorbar来绘制函数)。在交互模式下,可以通过鼠标滚动和上下箭头键来缩放和改变颜色图。也可以用鼠标左右拖动颜色栏。按下空格键则会重置比例。

  1. epochs.plot_image(278,
  2. cmap='interactive',
  3. sigma=1.,
  4. vmin=-250, vmax=250)
  1. 319 matching events found
  2. No baseline correction applied
  3. Not setting metadata
  4. 0 projection items activated
  5. 0 bad epochs dropped

这里还可以通过计算全局场功率(或其他聚合方法)来概述所有通道。但是,以这种方式组合多个通道类型(例如MEG和EEG)是不明智的,因此,如果未指定特定的通道选择,默认情况下plot_image()方法将为每个通道类型生成单独的图形。

epochs.plot_image(combine='gfp', sigma=2., cmap="YlGnBu_r")

这里还可以使用一些函数来绘制按通道排列成通道阵列形状的信息。

图像绘制时默认情况下使用自动缩放,但是有噪声的通道和不同的通道类型会导致缩放有点小。

  1. epochs.plot_topo_image(vmin=-250,
  2. vmax=250,
  3. title='ERF images',
  4. sigma=2.,
  5. fig_facecolor='w',
  6. font_color='k')

文章仅限学习使用,不用于商业行为,若有侵权及疑问,请后台留言!

文章转载请联系后台管理人员!

更多阅读

脑机接口让脊髓损伤患者重新获得手部触觉

信号处理之频谱原理与python实现

EMD算法之Hilbert-Huang Transform原理详解和案例分析

EEGLAB 使用教程 3 -参考电极和重采样

第2期 | 国内脑机接口领域专家教授汇总

精彩长文 | 脑机接口技术的现状与未来!

ICA处理脑电资料汇总

收藏 | 脑电EEG基础与处理汇总

脑机接口BCI学习交流QQ群:894157769

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/261713
推荐阅读
相关标签
  

闽ICP备14008679号