查看原文
其他

脑电分析系列[MNE-Python-9]| 参考电极应用

Rose 脑机接口社区 2022-04-26

参考电极

MNE-Python中的平均参考设置

set_eeg_reference(self, ref_channels='average', projection=False, ch_type='auto', verbose=None)

指定用于EEG信号的参考。


默认情况下,MNE-Python将自动重新参考EEG信号,以使用平均参考(请参见下文)。 这个函数可以显示指定所需的EEG参考。这可以是现有电极或新的虚拟通道。 此函数将根据所需参考重新参考数据,并防止MNE-Python自动添加平均参考投影。


一些常见的参考方案以及ref_channels参数的相应值如下:

无需重新引用(No re-referencing):  

如果EEG数据已经在使用正确的参考信号,则设置ref_channels = []。这将阻止MNE-Python自动添加平均参考投影。


平均参考(Average reference):  

通过设置ref_channels ='average'来对当前EEG信号进行平均,创建一个新的虚拟参考电极。   

如果在info['bads']中设置了错误的EEG通道,则会自动排除它们。

 

单电极(A single electrode):  

将ref_channels设置为包含将用作新参考的通道名称的列表,例如ref_channels = ['Cz']。


多个电极的平均值(The mean of multiple electrodes:):  

通过计算从两个或多个选定通道记录的当前EEG信号的平均值,可以创建一个新的虚拟参考电极。  

将ref_channels设置为通道名称列表,指定要使用的通道。   

例如,要使用平均乳突参考,在使用10-20命名方案时,请设置ref_channels = ['M1','M2']。

import mnefrom mne.datasets import samplefrom matplotlib import pyplot as plt
# 数据文件存放地址data_path = sample.data_path()raw_fname = data_path + '/MEG/sample/sample_audvis_filt-0-40_raw.fif'event_fname = data_path + '/MEG/sample/sample_audvis_filt-0-40_raw-eve.fif'event_id, tmin, tmax = 1, -0.2, 0.5
# 读取fif文件,并生成raw对象raw = mne.io.read_raw_fif(raw_fname, preload=True)events = mne.read_events(event_fname)
# 将绘制脑电通道,以可视化参考方案中的差异。picks = mne.pick_types(raw.info, meg=False, eeg=True, eog=True, exclude='bads')

下面将应用不同的EEG参考方案,并绘制所产生的诱发电位。
注意,当使用mne.Epochs构造epochs时,这里提供proj = True参数。这意味着将自动应用所有可用的projector(投影)。
具体来说,如果存在由raw.set_eeg_reference('average',projection = True)设置的平均参考投影机,则MNE在创建epochs(时间片段)时会应用此projector(投影)。

reject = dict(eog=150e-6)epochs_params = dict(events=events, event_id=event_id, tmin=tmin, tmax=tmax, picks=picks, reject=reject, proj=True)
fig, (ax1, ax2, ax3) = plt.subplots(nrows=3, ncols=1, sharex=True)
"""设置为 没有参考。这里假定EEG是由正确的参考得到的。这明确阻止MNE添加默认的EEG参考。任何普通的参考projector(投影)都会被自动删除。"""raw.set_eeg_reference([])evoked_no_ref = mne.Epochs(raw, **epochs_params).average()
evoked_no_ref.plot(axes=ax1, titles=dict(eeg='Original reference'), show=False, time_unit='s')"""平均参考 默认情况下就是平均参考,但也可以显式添加。"""raw.set_eeg_reference('average', projection=True)evoked_car = mne.Epochs(raw, **epochs_params).average()
evoked_car.plot(axes=ax2, titles=dict(eeg='Average reference'), show=False, time_unit='s')"""从平均参考重新参考EEG 001和EEG 002通道的平均值。"""raw.set_eeg_reference(['EEG 001', 'EEG 002'])evoked_custom = mne.Epochs(raw, **epochs_params).average()
evoked_custom.plot(axes=ax3, titles=dict(eeg='Custom reference'), time_unit='s')plt.show()

"""绘制raw对象中所有通道的曲线图"""raw.plot(n_channels=len(raw))plt.show()



"""使用所有通道的平均值作为参考"""raw_avg_ref = raw.copy().set_eeg_reference(ref_channels='average')raw_avg_ref.plot(n_channels=len(raw))plt.show()

不用于商业行为,转载请联系后台

若有侵权,请后台留言,管理员即时删侵!

更多阅读

脑疾病的“希望之光”,中国脑机接口技术将有新突破

MNE-Python详细安装与使用

MNE中数据结构Raw及其用法简介

MNE中数据结构Epoch及其创建方法

机器学习算法随机森林判断睡眠类型

上海独创柔性脑机接口何以上榜年度AI“奥斯卡”大奖

利用脑机接口从鸟的脑电波中重现鸟唱歌声

投稿通道

如何让你的工作让更多人知晓和受益?

脑机接口社区就是这样一个连接学界、

企业界和爱好者的平台渠道。


区鼓励高校实验室、企业或个人在我们平台上分享优质内容。


稿件要求

稿件系个人原创作品,若已在其他平台发表,请明确标注。

稿件一经录取,便提供稿费!

投稿通道

微信扫码,备注:投稿+姓名+单位

微信交流群,请扫码上方微信

(备注:姓名+单位+专业/领域行业)

QQ交流群:913607986

你的每一次在看,我都很在意!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存