Letswave 教程:脑电数据预处理与叠加平均

  • 1 实验与工具介绍
  • 2 前期准备
    • 2.1 letswave7安装与数据集准备
    • 2.2 数据集导入
    • 2.3 数据集检查
  • 3 数据预处理
    • 3.1 通道位置赋值
    • 3.2 删除无用的通道
    • 3.3 滤波
    • 3.4 坏电极插值替换
    • 3.5 ICA分解以删除成分
      • 3.5.1 计算ICA矩阵
      • 3.5.2 人工识别成分
    • 3.6分段
    • 3.7 伪迹去除
      • 3.7.1 手动剔除带有伪迹的Epoch。
      • 3.7.2 第二种方法是参照标准来剔除伪迹。
    • 3.8 重参考
    • 3.9 基线校正
    • 3.10 平均
    • 3.11 查看结果



Hello,

这里是行上行下,我是喵君姐姐~

之前写过eeglab数据处理,得到了大家的一致好评。拖了很久的时频更新,马上就要和大家见面了。

考虑到有的小伙伴没有编辑基础,所以我们先介绍一个界面的软件——letswave7。它和eeglab类似,只是它全部的处理都是界面化的,对于小白来说,十分友好。

今天就以oddball实验为例,简单介绍一下使用letswave7进行脑电数据预处理与叠加平均。然后第二期,再讲时频处理的原理和具体操作哟~

1 实验与工具介绍

实验介绍: 采用视觉Odd-ball实验。在屏幕上,黑色为偏差刺激(标记为“ S 9”),白色为标准刺激(标记为“ S 10”)。每个矩形块持续80毫秒,ISI持续200毫秒。两分钟内总共安排了600次刺激试验,其中偏差刺激的可能性为5%。要求参与者计算黑色矩形块的数量,并在试次结束后报告,以使参与者在屏幕上保持注意力。

图 经典odd-ball 实验

工具介绍: Letswave7是在Windows,Mac OSX和Linux或Unix平台下基于Matlab进行EEG信号处理的工具箱。在使用Letswave7之前,应下载并安装 Matlab 。

(详情请点击:Matlab软件包及安装)

在本教程中,将使用Letswave7对P300实验进行研究,以展示对单个主题和多个主题的数据分析过程,并且还将介绍在Letswave7中进行功能图形生成和脚本编写的过程。

2 前期准备

2.1 letswave7安装与数据集准备

首先,打开matlab,点击“设置路径”。

其次,点击“添加并包含子文件夹”,将“letswave7”工具包导入进来,并保存所有文件。

关于本实验的数据集可在微信公众号行上行下后台回复“letswave”获取。

最后,解压本地“rawdata1.zip”文件,其中包括三个文件:sub093.eegsub093.vhdrsub093.vmrk

2.2 数据集导入

首先,在Matlab的命令窗口中输入“ letswave7 ”以打开Letswave7。将letwave7的路径设置为数据集的文件夹,例如此处的“F:\letswave7\rawdata1”。

其次,在管理器模块的菜单中选择 “File”->“Import”->“Import EEG / MEG datafiles”,弹出导入数据对话框,添加文件 “sub093.eeg”


最后, 点击绿色按钮以导入数据集。导入完成后,相应的数据集变为红色并显示“sub093(Done)”。关闭导入数据对话框,数据集“ sub093 ”将出现在管理器模块中。

2.3 数据集检查

首先,选择数据集 “sub093”,然后在菜单中单击 “View”->“continues Date Viewer” 以检查导入的数据集的数据质量。


在数据查看器中,可以看到通道P1明显异常。因此,在接下来的步骤中,我们将通道P1视为坏电极,需要对其进行插值。

3 数据预处理

由于原始脑电信号存在极大的噪声,它们在EEG信号中始终混合在一起。因此预处理对于提高信噪比,从而获得“清晰” EEG数据非常必要。

通常,预处理中常用的降噪方法如下:

3.1 通道位置赋值

首先,在管理器模块的数据列表中选择数据集 “ sub093 ”,然后在菜单中单击 “Edit”->“Electrodes”->“Edit electrode coordinates”

在处理模块中,显示默认分配的位置文件是“ Standard-10-20-Cap81.locs”。

然后,点击 “ Select custom files with channel locations” 以选择频道位置的自定义文件。在Letswave7中的 “Electrodes” 文件夹中,有多个通道位置文件用于不同的EEG记录系统。


PS: 如果不希望使用所有这些文件,还可以分配自己的频道位置文件。

最后,点击 “Run”,名称为 “ chanlocs sub093 ” 的新数据集将出现在管理器模块的数据列表中。

3.2 删除无用的通道

有时,为了进行有效的分析并节省存储空间,我们需要删除无用的通道。在这里,IO记录了眼电信号(EOG)。而我们并不需要对EOG进行分析,因此需要删除通道IO。

首先,在管理器模块的数据列表中选择数据集 “ sub093 ”,然后单击 “ Edit”->“Arrange signals”->“Rearrange or delete epochs,channels,indexes”

然后,在处理模块中,点击**”Add All”**将所有通道添加到右侧列表框。

然后,选择通道 “IO”,点击 “ Remove” 进行移除。

最后,点击 “Run ” 按钮,名称为 “ sel_chan sub093 ” 的新数据集将出现在管理器模块的数据列表中。

3.3 滤波

滤波可以滤除高频伪迹,低频漂移和50 / 60Hz电源线干扰。在letswave7中,采用Butterworth滤波器进行频率滤波。

对于P300数据集,由于300ms左右的正波是慢波,因此我们将带通滤波器设为0.05-30Hz。对于50Hz电源线干扰,将不使用陷波滤波器,因为它已经超出了带通滤波器的范围。

PS: 这个数值只是一个参考数值,具体情况具体分析,最好自己领域的相关文献哟~

首先,在管理器模块的数据列表中选择数据集 “ sel_chan sub093 ”,点击击 ”process”- >”Frequency analysis and filters”->”Butterworth filters”

其次,在处理模块中,将低截止频率(Hz)设置为0.05Hz,然后单击 ”Run” 按钮以进行带通滤波。

名称为 “ butt sel_chan sub093 ” 的新数据集将出现在管理器模块的数据列表中。

3.4 坏电极插值替换

当我们检查导入的原始数据时,发现通道P1是坏的。在此步骤中,我们将通道P1进行插值。

首先, 在管理器模块的数据列表中选择数据集 “ butt sel_chan sub093 ” ,然后在菜单中单击 “ Edit”->“Electrodes”->“Interpolate channel using neighbouring electrodes ”

其次, 在处理模块中,在 “ Channel to Interpolate:Channels for” 列表框中选择通道P1,然后单击 “ Find closest electrodes ” 按钮。

由于默认设置中用于插值的通道数为 3,因此Letswave7将根据通道的位置自动找到最接近的电极 “ P3 ”“ Pz ”“ CP1 ” 进行插值。

PS: 也可以采用4个电极点,根据自己的实验进行设置哈。

最后,点击 ”Run”。名称为 “ chan_interp butt sel_chan sub093 ” 的新数据集将出现在管理器模块的数据列表中。

3.5 ICA分解以删除成分

ICA是一种基于矩阵算法的盲源信号分离方法。假设X代表基于 “通道X时间” 的EEG信号,S代表基于 “成分X时间” 的信号源,A代表基于 “通道X成分” 的混合矩阵。ICA的目的是计算出A矩阵以分离出每个成分。根据这个模型,我们使用ICA在EEG信号中进行人工移除。

3.5.1 计算ICA矩阵

首先,在管理器模块的数据列表中选择数据集 “ chan_interp butt sel_chan sub093 ”,然后在菜单中单击 “ Process”->“Spatial filters(ICA / PCA)->Compute ICA matrix ”

其次,在处理模块中,成分数量选择 “decide by user”,并将 “Components Number” 设置为 “40”

PS: 数值也是可以自己进行设置的,一般要小于通道数目,但是数值也不要太小。若是64通道,常用30-64之间。

最后,单击 “Run ” 。名称为 “ ica chan_interp butt sel_chan sub093 ” 的新数据集将出现在管理器模块的数据列表中。

3.5.2 人工识别成分

在获得ICA矩阵,混合矩阵A和分离矩阵pinv(A)之后,我们需要人工识别成分。

首先,在管理器模块的数据列表中选择数据集“ ica chan_interp butt sel_chan sub093 ”,然后在菜单中单击 “ Process”->“Spatial filters(ICA / PCA)”->“Apply ICA / PCA Spatial filters ”。我们将看到手动删除空间过滤器成分的界面。

其次,在此界面中,黑色代表原始信号X,蓝色代表源信号S,橙色曲线代表滤波后的信号X_bar。我们将成分1识别为眨眼伪迹。成分2识别为水平眼球运动伪迹。在右侧面板中选择橙色comp 1,comp 2。单击 “OK” 对其进行移除。

最后,名称为“ sp_filter ica chan _interp butt sel_chan sub093 ” 的新数据集将出现在管理器模块的数据列表中。

3.6分段

在处理数据时需要对获取的EEG信号进行分段,以分析不同时期的数据。

首先,在管理器模块的数据列表中选择数据集 “ sp_filter ica chan_interp butt sel_chan sub093 ” ,然后在菜单中单击 “Process”- >“Epoch Segmentation”->“Segment relative to events(one file per code)”

其次, 在处理模块中,选择事件代码 “S9”“S10”,并将Epoch开始时间和持续时间设置为 “-1”“3”

PS: 时间段的选择也可以自己选择而定,因为后期我们会做时频分析,所以选取的时间比较长。若是只做ERP分析,也可以使用 -0.21

最后, 单击处理模块底部的 “Run ” 按钮,然后两个新数据集名称为 “ ep_S 9 sp_filter ica chan_interp butt sel_chan sub093 ”“ ep_S 10 sp_filter ica chan_interp butt sel_chan sub093 ”模块

3.7 伪迹去除

在消除伪迹之前,有必要对所有时期进行观察。

首先,选择数据集 “ ep_S9 sp_filter ica chan_interp butt sel_chan sub093 ”“ ep_S10 sp_filter ica chan_interp butt sel_chan sub093 ” ,然后在右键菜单中选择 “View”

其次, 在波形画面查看器中,选择所有Epoch,将Epoch设置为叠加波。我们在这里对 Pz进行观察,因为它是P300分析中最有效的电极点。将y轴设置为从 -100100。在通道Pz上,对于这两个数据集,所有Epoch均未观察到明显的伪迹。

虽然这里没有观察到伪迹,但其它实验数据可能会存在伪迹。剔除伪迹有两种方法:

3.7.1 手动剔除带有伪迹的Epoch。

首先,选择数据集 “ ep_S 9 sp_filter ica chan_interp butt sel_chan sub093 ”“ ep_S 10 sp_filter ica chan_interp butt sel_chan sub093 ”,然后单击 “ Edit” ->“Arrange signals”->“Rearrange or delete epochs,channels,indexes”

其次,在处理模块中,将选择项设置为 “ Epoch ”,然后将要保留的Epoch放在右栏中。单击 “Run ” 以完成成分剔除。

最后,两个名为 “ sel_epoch ep_S 9 sp_filter ica chan_interp butt sel_chan sub093 ”“sel_epoch ep_S 10 sp_filter ica chan_interp butt sel_chan sub093 ” 将出现在管理器模块的数据列表中。

3.7.2 第二种方法是参照标准来剔除伪迹。

首先,选择数据集“ ep_S9 sp_filter ica chan_interp butt sel_chan sub093 ”和“ ep_S10 sp_filter ica chan_interp butt sel_chan sub093 ”,然后在菜单中单击 “Process”- > “ Artefact rejection and suppression”->“Reject epoch (amplitude criterion)”

其次,在处理模块中,选中 “Select channels”,然后选择通道Pz。在右侧选中 “X-axis limits”,并将相应的间隔设置为02s。单击处理模块底部的“Run ”按钮以完成成分剔除。

最后,名称为“ ar-amp ep_S 9 sp_filter ica chan_interp butt sel_chan sub093 ”和“ ar-amp ep_S 10 sp_filter ica chan_interp butt sel_chan sub093 ”的两个新数据集将出现在管理器模块的数据列表中。

3.8 重参考

在P300的研究中,通常选择双侧乳突区域的平均值作为参考。因此,我们将重新参考TP9和TP10的平均值。

PS:不同的型号有不同的说法,也有的叫A1和A2。此外,也可以采用其他参考方法,例如,零参考,全脑平均等。(详情可点击:EEG信号处理与分析常用工具包介绍)

首先,选择数据集“ ep_S9 sp_filter ica chan_interp butt sel_chan sub093 ”和“ ep_S10 sp_filter ica chan_interp butt sel_chan sub093 ”,然后在菜单中单击 “Process”- >“Rereference signals”->“Rereference ”

其次,处理模块中,在左侧列表框里选择TP9TP10作为新参考,并在右侧列表框中选择“Apply reference for”。点击 “Run” 按钮在处理模块的底部完成成分剔除。

最后,名称为“ reref ep_S 9 sp_filter ica chan_interp butt sel_chan sub093 ”和“ reref ep_S 10 sp_filter ica chan_interp butt sel_chan sub093 ”的两个新数据集将出现在管理器模块的数据列表中。

3.9 基线校正

在分段中,我们将Epoch的开始时间和持续时间设置为 -13,这意味着Epoch将从 -1s 持续到 2s 。因此,我们将基线设置为从 -1s0s,以进行基线校正。

首先,选择数据集“ reref ep_S 9 sp_filter ica chan_interp butt sel_chan sub093 ”和“ reref ep_S 10 sp_filter ica chan_interp butt sel_chan sub093 ”,然后在菜单中单击 “Process”- >“Baseline”->“Baseline correction”

其次,将默认设置保留在处理模块中,然后单击处理模块底部的 “Run” 以完成成分剔除。

最后,名称为“ bl reref ep_S 9 sp_filter ica chan_interp butt sel_chan sub093 ”和“ bl reref ep_S 10 sp_filter ica chan_interp butt sel_chan sub093 ”的两个新数据集将出现在管理器模块的数据列表中。

3.10 平均

在预处理的十个步骤之后,我们可以简单地对各个时期进行平均以进行ERP的分析。

首先,选择数据集“ bl reref ep_S 9 sp_filter ica chan_interp butt sel_chan sub093 ”和“ bl reref ep_S 10 sp_filter ica chan_interp butt sel_chan sub093 ”,然后在菜单中单击 “Process”- > “ Arrange ”- >“Compute arrange,std,median across epoch”

其次,将默认设置保留在处理模块中,然后单击处理模块底部的 “Run” 按钮进行平均。

最后,名称为“ avg bl reref ep_S 9 sp_filter ica chan_interp butt sel_chan sub093 ”和“ avg bl reref ep_S 10 sp_filter ica chan_interp butt sel_chan sub093 ”的两个新数据集将出现在管理器模块的数据列表中。

3.11 查看结果

首先,选择数据集“ avg bl reref ep_S 9 sp_filter ica chan_interp butt sel_chan sub093 ”和“ avg bl reref ep_S 10 sp_filter ica chan_interp butt sel_chan sub093 ”。单击右键菜单中的“View”,我们可以在多视图器中查看波形的结果。

然后,选择两个数据集并选择通道 Pz,我们可以在Pz上看到P300的结果。在工具栏中选中“cursor”并将设置为0.35,我们可以观察到P300的波形。由于这是单个主题的结果,因此ERP仍然很嘈杂。

总结:在这一部分中,我们逐步演示了预处理和ERP的分析。对于每个步骤,文件名中都会添加一个前缀,例如butt,ica和reref。

因此,根据数据集的名称,我们对处理步骤有了大致的了解,有关画图以及处理脚本等更高级的教程将在后面进行介绍,敬请期待哟~

本文首发于微信公众号行上行下,公众号后台回复“letswave”获取。

排版:华华

Letswave 教程:脑电数据预处理与叠加平均相关推荐

  1. letswave7中文教程3:脑电数据预处理-ICA去除伪影

    目录 ICA/BSS的理论与模型 第5步:计算ICA矩阵 第6步:识别伪影成分 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 .QQ交流群:941473018 ICA/BSS的理论与模型 ...

  2. letswave7中文教程2:脑电数据预处理-通道位置分配

    目录 第1步:通道位置分配 第2步:删除不良通道 第3步:滤波处理 第4步:坏电极插值 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 .QQ交流群:941473018 原始的脑电图信号是有 ...

  3. 脑电数据预处理-ICA去除伪影

    ‍‍‍‍‍‍‍‍‍‍ ICA/BSS的理论与模型 独立成分分析(ICA)是一种盲信号分离(Blind Signal Separation,BSS)方法.ICA可线性建模如下图所示. 假设X为" ...

  4. EEGLAB脑电数据预处理指导手册

    EEGLAB脑电数据预处理指导手册 1 前期准备工作 1.1 书籍 1.2 网站 1.3 公众号 2 预处理流程 2.1 准备工作 2.2 眼电去除的标准 2.3 后续整理工作 3 叨叨几句 Hell ...

  5. 手把手教你EEG脑电数据预处理-操作篇

    目录 导入数据 对数据进行初步认识 电极定位 移除无用电极 重参考 重采样 滤波 分段和基线校正 插值坏导 ICA 剔除ICA成分 剔除坏段 目视检查法 保存数据 本分享为脑机学习者Rose整理发表于 ...

  6. eeglab脑电数据预处理:step by step

    文章来源于微信公众号(茗创科技),欢迎有兴趣的朋友搜索关注. 学脑电的小伙伴对 matlab 软件和 eeglab 插件一定不会陌生,它们是脑电数据分析过程中的重要法宝.在对脑电数据进行分析处理之前需 ...

  7. 手把手教你EEG脑电数据预处理-原理篇

    目录 0. EEG data 1. 定位通道数据 2. 删除无用数据 3.滤波 4.分段 5.基线校正 6. 重参考 7. 降低采样率 8. 插值坏导 9. 独立主成分分析 10. 剔除坏段 本分享为 ...

  8. 脑电数据预处理看这篇就够了

    01 脑电数据分析预处理步骤 1.(Import data)导入数据 2.(Channel locations)电极定位 3.(Select data)剔除无用电极 4.(filter the dat ...

  9. EEG脑电数据预处理

    预处理 电极放置:在10-20的基础上,在10%的位置上进行电极扩展 去除伪迹:生理伪迹-眼电伪迹,肌电伪迹,心电伪迹,其他 非生理伪迹-工频干扰,电极伪迹,数据伪迹等 肌电伪迹:使用平均叠加来消除一 ...

最新文章

  1. C#调用控制面板选项
  2. Tomcat介绍及性能优化
  3. 第四讲 deque
  4. Polygon 年度游戏之《巴巴是你》:解读纯粹的游戏乐趣
  5. File System Auditor 安装全程截图
  6. matlab 归一化_机器学习中如何用Fscore进行特征选择(附Matlab代码)
  7. C#的多线程机制探索1
  8. 那些在11gR2中可能惹祸的新特性,一张列表帮助你摆脱升级11gR2带来的烦恼
  9. 一个OA解决方案的经典模板
  10. 电子计算机的基本结构基于存储程序思想是由,计算机应用基础第一章复习题
  11. Xamarin开发Android时Visual Studio 2012没有智能提示解决办法
  12. 搜索摄像头/录像机IP地址工具是什么
  13. Hyper-v 虚拟机固定Ip、连接外网
  14. mysql怎么创建外表_PostgreSQL使用MySQL外表的步骤详解(mysql_fdw)
  15. wps office 办公软件下载
  16. 编译、汇编、翻译原理知识概括
  17. 基本排序算法 【转载】
  18. C语言文件——从创建到删除
  19. ubuntu下安装电驴
  20. 【点击链接,自动下载安装APP,小米公司的坑】在浏览器中, 我们以为回退就能解决误点击。其实是不管用的。

热门文章

  1. Matlab中创建和使用表
  2. 程序全过程:觉醒(序)
  3. 万物革新人们刷脸支付需求越来越多元化
  4. Rockland检测开发丨Rockland 免疫分析开发方案
  5. Grammer -- 助动词
  6. 20145203盖泽双 《网络对抗技术》实践七:网络欺诈技术防范
  7. 学习笔记之libevent
  8. C++PrimerPlus 第二章 开始学习C++
  9. 第8节 蒙卡模拟计算美式期权价格(a)
  10. 基于STM32的移动视频监控系统