在前面我们介绍过Evoked的数据结构以及如何创建Evoked对象《Python-EEG工具库MNE中文教程(4)-MNE中数据结构Evoked及其对象创建》以及上文介绍了Evoked的数据可视化《Python-可视化Evoked数据》。

今天接着介绍Evoked数据的地形图可视化。

首先还是先介绍一下Evoked结构:

Evoked结构

Evoked potential(EP)诱发电位或诱发反应是指在出现诸如闪光或纯音之类的刺激后,从人类或其他动物的神经系统,特别是大脑的特定部分记录的特定模式的电位。不同形式和类型的刺激会产生不同类型的电位。

诱发电位振幅往往较低,从小于1微伏到数微伏不等,而脑电图为数十微伏,肌电图为毫伏,心电图通常接近20毫伏。为了在EEG、ECG、EMG等生物信号和环境噪声的背景下解决这些低幅度电位,通常需要对信号进行平均。信号被时间锁定在刺激上,大部分噪声是随机产生的,这样就可以通过对重复响应来平均掉噪声。

诱发电位(Evoked)结构主要用于存储实验期间的平均数据,在MNE中,创建Evoked对象通常使用mne.Epochs.average()来平均epochs数据来实现。

本示例中,我们着重于mne.Evoked的地形图可视化绘图功能。

案例介绍

# 导入工具包import os.path as opimport numpy as npimport matplotlib.pyplot as pltimport mne

"""第一步:从文件中读取诱发对象"""# 获取数据文件默认春芳地址data_path = mne.datasets.sample.data_path()# 构建文件存放的具体路径fname = op.join(data_path, 'MEG', 'sample', 'sample_audvis-ave.fif')# 根据文件存放的具体路径evoked = mne.read_evokeds(fname, baseline=(None, 0), proj=True)

注意,诱发事件是一系列诱发事件的实例。

通过将参数条件传递给mne.read_evokeds(),您只能读取其中一个类别。 为了使本教程更简单,我们将每个实例读取到一个变量。

evoked_l_aud = evoked[0]evoked_r_aud = evoked[1]evoked_l_vis = evoked[2]evoked_r_vis = evoked[3]

我们可以使用Evoked对象的mne.Evoked.plot_joint()方法在一张图中组合两种图形。按原样调用(evoked.plot_joint()),此函数应提供时空动态的信息显示。 可以使用topomap_args和ts_args参数直接设置图的时间序列部分和topomap部分的样式。也可以将键值对作为Python字典传递。

然后将它们作为参数传递给联合绘图的mne.Evoked.plot_topomap()和时间序列(mne.Evoked.plot())。

对于使用这些topomap_args和ts_args参数的特定样式的示例,此处显示了特定时间点(90和200 ms)的topomaps,未绘制传感器(通过转发到plot_topomap的参数),并且显示了Global Field Power:

ts_args = dict(gfp=True, time_unit='s')topomap_args = dict(sensors=False, time_unit='s')evoked_r_aud.plot_joint(title='right auditory', times=[.09, .20], ts_args=ts_args, topomap_args=topomap_args)

如果想要比较两个或多个传感器的选择条件,或例如,为全局场功率。为此,可以使用函数mne.viz.plot_compare_evokeds()。最简单的方法是创建一个Python字典,其中键是条件名,值是mne诱发对象。

如果你提供了多个诱发对象的列表,比如那些多被试的对象,总平均值连同一个置信区间带被绘制出来——这可以用来对比整个实验的条件。

首先,我们将诱发对象加载到字典中,将键设置为‘/’分隔的标记(就像我们可以对epochs中的event_id所做的那样)。

然后,我们使用mne.viz.plot_compare_evokeds()进行绘图。该图表使用dict参数进行样式化,同样使用“/”分隔的标记。我们绘制了一个具有强烈听觉反应的脑磁图MEG通道。

conditions = ["Left Auditory", "Right Auditory", "Left visual", "Right visual"]evoked_dict = dict()for condition in conditions: evoked_dict[condition.replace(" ", "/")] = mne.read_evokeds( fname, baseline=(None, 0), proj=True, condition=condition)print(evoked_dict)

对于移动高级绘图使用mne.viz.plot_compare_evokeds()。

"""设置 evoked 类别颜色,左听觉和左视觉的线条颜色为:Crimson右听觉和右视觉的线条颜色为:CornFlowerBlue"""colors = dict(Left="Crimson", Right="CornFlowerBlue")"""设置 evoked 绘制 线型,听觉的线型为:-视觉的线型为:--"""linestyles = dict(Auditory='-', visual='--')# pick = evoked_dict["Left/Auditory"].ch_names.index('MEG 1811')mne.viz.plot_compare_evokeds(evoked_dict, picks=pick, colors=colors, linestyles=linestyles, split_legend=True)

也可以用图像来描绘这些活动。时间沿着x轴,通道沿着y轴。振幅是彩色编码的,所以振幅从负到正转换成从蓝色到红色。白色表示零振幅。您可以使用cmap参数自己定义颜色映射。接受的值包括所有matplotlib颜色映射。

evoked_r_aud.plot_image(picks='meg')

最后将传感器数据绘制成地形图。在简单的情况下,我们只绘制左听觉反应,然后我们把它们都绘制在同一个图中进行比较。单击各个图,将它们放大。

title = 'MNE sample data\n(condition : %s)'evoked_l_aud.plot_topo(title=title % evoked_l_aud.comment, background_color='k', color=['white'])mne.viz.plot_evoked_topo(evoked, title=title % 'Left/Right Auditory/Visual', background_color='w')

郑州专业做人流医院http://www.changhong110.com/

郑州人流哪个医院比较好http://www.sgrl029.com/

对于少量传感器,也可以创建更精细的弹出窗口。 同样,单击传感器可打开一个单传感器图。

mne.viz.plot_compare_evokeds(evoked_dict, picks="eeg", colors=colors, linestyles=linestyles, split_legend=True, axes="topo")

python 地形图_Python-Evoked地形图可视化相关推荐

  1. python 白化_Python新疆某气候要素IDW(反距离权重)插值

    1.Rbf插值 import numpy as npimport cartopy.crs as ccrsimport cartopy.feature as cfeatfrom cartopy.mpl. ...

  2. python qt5 gui快速编程_现货正版 Python Qt GUI与数据可视化编程 pyqt5教程书籍 pyqt5快速开发与实战Qt5 GUI快速编程 计算机网络程序设计人民邮电出版社...

    热销单品 查看更多 > RMB:85.00 立即购买 RMB:63.50 立即购买 RMB:73.50 立即购买 RMB:49.50 立即购买 RMB:127.80 立即购买 RMB:66.00 ...

  3. 用Python创建漂亮的交互式可视化效果

    Plotly is an interactive Python library that provides a wide range of visualisations accessible thro ...

  4. VTK与Python实现机械臂三维模型可视化详解

    三维可视化系统的建立依赖于三维图形平台, 如 OpenGL.VTK.OGRE.OSG等, 传统的方法多采用OpenGL进行底层编程,即对其特有的函数进行定量操作, 需要开发人员熟悉相关函数, 从而造成 ...

  5. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、为指定的子图添加图例信息(legend)

    Python使用matplotlib函数subplot可视化多个不同颜色的折线图.为指定的子图添加图例信息(legend) 目录

  6. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、在折线图上为每个数据点添加日期数据标签

    Python使用matplotlib函数subplot可视化多个不同颜色的折线图.在折线图上为每个数据点添加日期数据标签 目录

  7. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、使用set_major_formatter函数自定义设置y轴数值标签格式为百分比

    Python使用matplotlib函数subplot可视化多个不同颜色的折线图.使用set_major_formatter函数自定义设置y轴数值标签格式为百分比 目录

  8. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、在折线图上为每个数据点添加数值标签

    Python使用matplotlib函数subplot可视化多个不同颜色的折线图.在折线图上为每个数据点添加数值标签 目录

  9. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、为多个子图添加总标题(main title)

    Python使用matplotlib函数subplot可视化多个不同颜色的折线图.为多个子图添加总标题(main title) 目录

  10. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、使用set_major_locator函数指定坐标轴主刻度数值倍数(MultipleLocator)

    Python使用matplotlib函数subplot可视化多个不同颜色的折线图.使用set_major_locator函数指定坐标轴主刻度数值倍数(MultipleLocator) 目录

最新文章

  1. linux基础-总结题 (每日更新)
  2. thinkPHP学习笔记(2)
  3. 详细解读java IO
  4. java.io.tem_从屌丝到架构师的飞越(IO流篇)-转换流
  5. java 检测硬盘原理_深入Java核心 Java内存分配原理精讲
  6. html语言及语法结构,HTML语法结构.ppt
  7. cont char *p 和 char* const p 区别及记忆方法
  8. 创建触发器,将数据库中表的修改记录进日志表
  9. 计算机符号大写怎么退出,大小写提示符号A怎么开启或关闭?
  10. 29. PHP 错误控制
  11. 新手引导 自定义遮罩 点击穿透
  12. 图像处理农业应用sci_SCI/SSCI期刊征稿信息3月8日更新
  13. php毕设周记_(完整版)毕设周记
  14. Mybatis 新增返回ID
  15. 超级牛散股神叶健颜专找重组题材股,精准买入,不服不行。
  16. win10添加计算机语言,win10输入法,详细教您怎么在win10里添加输入法
  17. 动动同步微信无法连接服务器,动动运动,动动计步器加到微信可是不能连接到微信运动...
  18. javascript玩转ElasticSearch(一)
  19. Jetson NX Ubuntu 18.04下谷歌输入法候选框不显示解决办法
  20. 【转载】设备唯一标识方法(Unique Identifier):如何在Windows系统上获取设备的唯一标识

热门文章

  1. jQuery UI 插件
  2. 不谋全局者 , 不足以谋一域 : 不谋万世者 , 不足以谋一时
  3. Android R- AudioManager之音量调节(一)
  4. 高性能RTMP推流服务器软件EasyDSS如何支持推流摄像机推流直播进行云端录像存储及计划保存
  5. Openssl-AES加密
  6. 厉建宇的阿里巴巴离职信
  7. Hbase篇(7)-Region的分裂
  8. 虚拟存储页面置换算法c语言,虚拟存储器管理页面置换算法模拟实验.doc
  9. 2021-10-16windows系统还原点创建/查看/配置/删除
  10. windows网络适配器 黄色下三角