使用mne包来对脑电数据进行预处理(一)

脑电数据的预处理包括:

1、数据读取

2、坏道插值

3、数据滤波或陷波

4、伪迹去除

5、数据重采样

        MNE(MNE-Python)是一个用于处理脑电(EEG)、磁图(MEG)和其他神经科学数据的Python库。它提供了丰富的功能,包括数据加载、预处理、分析和可视化,旨在帮助研究人员和神经科学家更轻松地进行脑电数据的处理和分析。在本文中,我们使用mne来对不同的格式的脑电数据集进行数据读取。

一、csv格式

import pandas as pd
import mne
import numpy as np
import matplotlib.pyplot as plt
data = pd.read_csv(r'C:\Users\17927\Desktop\2023072509_eeg.csv', skiprows=0, usecols=range(1, 15))
sfreq = 128  
ch_names = ['F3','FC5','AF3','F7','T7','P7','O1','O2','P8','T8','F8','AF4','FC6','F4']
eeg_data = pd.DataFrame(data)
info = mne.create_info(ch_names=ch_names, sfreq=sfreq, ch_types=ch_types)
montage = mne.channels.make_standard_montage('standard_1020')
info.set_montage(montage)
raw = mne.io.RawArray(eeg_data, info)
scalings = {'eeg': 50}
raw.load_data()
raw.plot(scalings='auto')
plt.show(block=True)

二、mat格式

import matplotlib.pyplot as plt
import mne
from scipy.io import loadmat
data = loadmat("E:/EEG/Preprocessed_EEG/1_20131027.mat") 
ch_names = ['Fp1','Fpz','Fp2','AF3','AF4','F7','F5','F3','F1','Fz','F2','F4','F6'
            ,'F8','FT7','FC5','FC3','FC1','FCz','FC2','FC4','FC6','FT8','T7','C5'
            ,'C3','C1','Cz','C2','C4','C6','T8','TP7','CP5','CP3','CP1','CPz','CP2'
            ,'CP4','CP6','TP8','P7','P5','P3','P1','Pz','P2','P4','P6','P8','PO7'
            ,'PO5','PO3','POz','PO4','PO6','PO8','CB1','O1','Oz','O2','CB2']
for key in data.keys():
    if key == '__header__' or key == '__version__' or key == '__globals__':
        pass
else:
        montage = mne.channels.make_standard_montage('standard_1020')
        info = mne.create_info(ch_names = ch_names,ch_types = ['eeg' for _ in range(62)], sfreq = 200 ) 
        info.set_montage(montage) 
        raw = mne.io.RawArray(data[key], info) 
scalings = {'eeg': 50}
raw.load_data()
raw.plot(scalings='auto')
plt.show(block=True)

三、npy格式

import matplotlib.pyplot as plt
import mne
import numpy as np
data = np.load("C:/Users/86157/Desktop/数据集/2023072420.npy")
sfreq = 128  
ch_names = ['F3','FC5','AF3','F7','T7','P7','O1','O2','P8','T8','F8','AF4','FC6','F4']
ch_types = ['eeg','eeg','eeg','eeg','eeg','eeg','eeg','eeg','eeg','eeg','eeg','eeg','eeg','eeg']
info = mne.create_info(ch_names=ch_names, sfreq=sfreq, ch_types=ch_types)
montage = mne.channels.make_standard_montage('standard_1020')
info.set_montage(montage)  
raw = mne.io.RawArray(data[0], info)
raw.load_data()
raw.plot(scalings =50, duration=20)
plt.show(block=True)

  • 15
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值