当前位置:   article > 正文

使用python的MNE包分析EEG数据(2)——预处理(导入脑电数据)_python eeg数据预处理

python eeg数据预处理

python的MNE包工具网站:https://mne.tools/stable/index.html

首先需要明确你的数据来源

可以去(https://mne.tools/stable/auto_tutorials/io/20_reading_eeg_data.html#sphx-glr-auto-tutorials-io-20-reading-eeg-data-py)网址查看细节,在这部分我只详细介绍自己曾经用过的两个。
1.Brain Products系列设备
2.从EEGlab导出的文件

1.Brain Products系列设备——BrainVision 文件格式为(.vhdr, .vmrk, .eeg)

.vhdr:包含Meta数据的文本头文件。
.vmrk:包含有关数据中事件的信息的文本标记文件。
.eeg:包含EEG电压值的二进制数据文件。
意味着你的文件夹里需要包括一个被试的三个文件。
这时候读取的代码为

raw = mne.io.read_raw_brainvision('subj01.vhdr', preload=True)
  • 1

写的是.vhdr的文件,但同时也会自动读取其他相关文件。
同时要注意到电极定位的问题,根据你的数据读入相应的定位文件,也就是montage。
这时候你就需要去你的设备的官网去下载对应的.bvef文件,然后将其设置为montage,然后添加到每一个被试的数据里去。
这里我采用的是CACS-64标准下的电极分布位置。
代码为

montage = read_custom_montage('CACS-64_REF.bvef')
raw.set_montage(montage)
  • 1
  • 2

所以整个流程下来是

montage = read_custom_montage('CACS-64_REF.bvef')#读取montage数据
raw = mne.io.read_raw_brainvision('subj01.vhdr', preload=True)#导入EEG数据
raw.set_montage(montage)#将montage的位置设置给被试
raw.save('subj01.fif', overwrite=True)#将更新后的数据存入新的文件,只能是fif格式
  • 1
  • 2
  • 3
  • 4

当你有多个被试进行处理时可以使用循环

sub=[1,2,3,4,5,6]#此处可以输入你所有要处理的被试的编码
for subj in sub:
    raw_name = 'subj0{0}.vhdr'.format(subj)
    raw = mne.io.read_raw_brainvision(raw_name, preload=True)
    raw.set_montage(montage)
    raw.save('subj0{0}.fif'.format(subj), overwrite=True)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
2.EEGLAB文件(.set, .fdt)

意味着你的文件夹里需要包括一个被试的两个文件。
因为在EEGlab中导入数据的时候就会选择电极定位模板,所以直接导入就可以了。
使用代码

raw==mne.io.read_raw_eeglab('sub01.set', preload=False, verbose=None)
  • 1
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号