Python专栏 | MNE脑电数据(EEG/MEG)可视化

在这里插入图片描述

关注微信公众号:脑机接口研习社
了解脑机接口最近进展

系列文章目录

Python专栏 | 脑电图和脑磁图(EEG/MEG)的数据分析方法之载入数据



正文

MNE包的核心结构之一——Raw的对象里有几种内置的可视化EEG/MEG数据的方法。

代码示例:

raw.plot_psd(fmax=50)

Note:
我们用plot_psd显示每种传感器类型的功率谱密度(Power Spectral Density,PSD)。

fmax=50表示仅绘制50 Hz以下的频率(因为我们的数据以40 Hz进行低通滤波)。

功率谱密度

在物理学中,信号通常是波的形式表示,例如电磁波、随机振动或者声波。当波的功率频谱密度乘以一个适当的系数后将得到每单位频率波携带的功率,这被称为信号的功率谱密度(power spectral density, PSD)。

PSD不要和Spectral Power Distribution(SPD)混淆。

功率谱密度(PSD)的单位通常用每赫兹的瓦特数(W/Hz)
表示,而后者(SPD)使用的是波长而不是频率,即用每纳米的瓦特数(W/nm)来表示。

尽管随机信号的总能量是无限的,但其平均功率却是有限的,因此,要对随机信号的频域进行分析,应从功率谱密度出发进行研究才有意义。正因如此,在研究中经常使用功率谱密度(Power spectral density, PSD)来分析脑电信号的频域特性。

功率谱密度可以理解为“单位频带内的信号功率”

输出结果:

Effective window size : 13.639 (s)
Effective window size : 13.639 (s)
Effective window size : 13.639 (s)

在这里插入图片描述

代码示例:

raw.plot(duration=5, n_channels=20)

Note:
这是用plot输出原始传感器的轨迹线。
duration:持续时间;
n_channels:通道的数量。

输出结果:

在这里插入图片描述

总结

本例中用到的Python代码总结:

raw.plot_psd(fmax=50) #输出50Hz以下的传感器的功率谱密度

#输出原始传感器的轨迹线,持续时间为5s、20个通道的轨迹线
raw.plot(duration=5, n_channels=20)

参考链接

https://mne.tools/stable/auto_tutorials/intro/plot_10_overview.html#sphx-glr-auto-tutorials-intro-plot-10-overview-py

https://baike.baidu.com/item/%E5%8A%9F%E7%8E%87%E8%B0%B1%E5%AF%86%E5%BA%A6/8836146?fr=aladdin


在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力回答你的问题。首先,MNE是一个Python库,专门用于对脑电EEG)和磁共振成像(MRI)数据进行预处理和分析。下面是一些关于如何使用MNE库对脑电数据集进行预处理的基本步骤: 1. 导入需要的库和数据集 首先,你需要导入MNE库以及其他必要的库(如numpy和matplotlib),并且加载你要处理的数据集。可以使用MNE库中的`mne.io.read_raw_xxx`函数来加载不同格式的脑电数据集,如EDF、BDF或FIF格式。例如,如果你的数据集是EDF格式,你可以使用以下代码: ``` import mne raw = mne.io.read_raw_edf('your_data.edf') ``` 2. 预处理数据集 在对数据进行分析之前,通常需要对数据进行预处理。这包括去除噪声、滤波、标准化和修剪。在MNE库中,你可以使用各种函数来执行这些预处理步骤。例如,你可以使用以下代码来滤波数据: ``` raw.filter(1, 40) # 从1到40Hz进行带通滤波 ``` 3. 检查数据 在对数据进行分析之前,你需要检查数据是否已经正确地预处理。你可以使用MNE库中的`plot`函数来绘制原始数据、滤波后的数据和事件标记。例如,你可以使用以下代码来绘制原始数据: ``` raw.plot() ``` 4. 提取事件 在脑电数据中,事件通常是指在实验中发生的特定事件,如刺激呈现或响应。你可以使用MNE库中的`find_events`函数来自动检测这些事件。例如,你可以使用以下代码来提取事件: ``` events = mne.find_events(raw) ``` 5. 剪辑数据 在对数据进行分析之前,你可能需要将数据剪辑到感兴趣的时间段内。你可以使用MNE库中的`crop`函数来剪辑数据。例如,你可以使用以下代码来剪辑数据: ``` raw.crop(tmin=0, tmax=10) # 从0秒到10秒剪辑数据 ``` 这只是对如何使用MNE库对脑电数据集进行预处理的简要介绍。如果你需要更详细的说明,请查看MNE库的文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值