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

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

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

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

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

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

加载数据

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

更多阅读

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

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

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

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

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

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

ICA处理脑电资料汇总

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

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

Python处理脑电--Epochs数据可视化相关推荐

  1. Python使用tsne进行高维数据可视化实战:二维可视化、三维可视化

    Python使用tsne进行高维数据可视化实战:二维可视化.三维可视化 # 绘制二维可视化图像并添加标签字符函数 def plot_embedding(data, label, title):x_mi ...

  2. python与excel做数据可视化-Python的Excel操作及数据可视化

    Excel表操作 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 安装xlrd pip install xlrd 简单的表格读取 ...

  3. 使用Python Seaborn和Pandas进行数据可视化

    Hey, folks! Today we will be unveiling a very interesting module of Python - Seaborn Module and will ...

  4. python实现的电影票房数据可视化

    代码地址如下: http://www.demodashi.com/demo/14275.html ##详细说明: Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从 ...

  5. Python爬虫实战,pyecharts模块,Python实现奥斯卡金像奖数据可视化

    前言 利用Python实现奥斯卡金像奖数据可视化.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块 pandas模块 pyecharts模 ...

  6. 眼动和脑电多模态数据融合分析

    眼动和脑电多模态数据融合分析 本文参考网址:http://www2.hu-berlin.de/eyetracking-eeg/tutorial.html 本文首发在个人博客(7988888.xyz) ...

  7. chatgpt赋能python:Python制表位:优化数据可视化与分析的利器

    Python 制表位:优化数据可视化与分析的利器 在数据可视化和分析中,表格是一种常用的数据展示方式.Python 提供了丰富的用于构建表格的库,其中之一便是制表位(Tabulate).本文将介绍制表 ...

  8. Python爬虫实战,pyecharts模块,Python实现豆瓣电影TOP250数据可视化

    前言 利用Python实现豆瓣电影TOP250数据可视化.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: pandas模块 pyecharts模块: 以及一些 ...

  9. 开源免费的脑电/脑磁图数据分析软件汇总

    常用的MEG/EEG工具包 MNE-python: http://mne.tools 基于python开发的开源软件包,用于探索,可视化和分析诸如MEG,EEG,sEEG,ECoG等人类神经生理学数据 ...

最新文章

  1. 2020年,计算机视觉领域会有哪些新的研究方向值得提前探索?
  2. 2021年3月9日 北京快手Java开发–用户增长方向 实习面经(一面)
  3. 麻省理工学院计算机博士年薪,麻省理工学院计算机博士录取要求
  4. python【数据结构与算法】完全背包(附代码)
  5. vue上传图片组件编写
  6. Spring 学习笔记 3. 尚硅谷_佟刚_Spring_配置 Bean
  7. 安装Nginx时报错 the HTTP cache module requires md5 functions
  8. 最简单的Docker镜像教程:从头基于空镜像scratch创建一个新的Docker镜像
  9. android dialog 字体,android – 为AlertDialog的MultiSelectItems设置自定义字体(字体)
  10. MySQL的隔离级别
  11. 《自己动手写网络爬虫》笔记4-带偏好的网络爬虫
  12. SAP 软件价格体系及SAP项目实施费用构成介绍
  13. ddr4 dqs 频率_你好,请问你知道DDR3中是DQS是什么意思吗
  14. 142. 环形链表 II AND 633. 平方数之和
  15. 51单片机-DS1302时钟芯片(自己理解的
  16. 【已解决】您的PHP似乎没有安装运行WordPress所必需的MySQL扩展
  17. Pycharm 搜索功能大全
  18. 打工能实现财富自由吗?--互联网老辛的思考
  19. [python] 获取股票信息
  20. 数字图像处理及其表示

热门文章

  1. 用枚举来处理java自定义异常
  2. Redis安装异常解决办法
  3. nignx部署Vue单页面刷新路由404问题解决
  4. MySql Unknown column 的解决方案
  5. pom.xml错误:org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)的解决方法
  6. 国内github访问慢的解决方法
  7. 如何找到域名的权威名称服务器?
  8. 什么是枚举,为什么有用?
  9. 如何将命令行参数传递给Node.js程序?
  10. JS-数据类型-数值Number