eeglab(自用)
目录
1.加载、显示数据
2.绘制脑电头皮图
3.绘制通道光谱图
4.预处理工具
5.ICA去除伪迹
5. 提取数据epoch
1.加载、显示数据
观察事件值(Event values):该数据集中包含2400个事件,每个事件指定了EEG.event结构的字段Type(类型)、position(位置)和latency(延迟)。
如果是.set文件类型,直接File->Load existing dataset。
浏览EEG通道数据(并可视化):Plot > Channel data (scroll).
绘图窗口右侧是垂直刻度值(及其单位,微伏),它指示垂直刻度条的"幅度"。在这种情况下,该值为4217(微伏)。右下角的编辑框中也显示了相同的值,如下所示,我们可以在其中进行更改。
通过重复单击"-"按钮或通过键盘编辑文本值,可以修改"刻度"编辑文本框的值,然后按Enter键更新滚动窗口。
在eegplot()界面中,Settings > Zoom off/on > Zoom on。然后使用鼠标,在数据区域周围拖动一个矩形以放大它。滚动窗口现在看起来可能与下面的窗口类似。单击鼠标右键再次缩小。Setting > Zoom off/on > Zoom off 可以关闭缩放。
绘制网格线:Display > Grid > X grid on来绘制水平线,设置Display > Grid > Y grid on设置纵轴线。重复相应操作的话,就可以关闭对应的网格线。
2.绘制脑电头皮图
加载通道位置信息:Edit>Channel locations
此时,已加载的通道标签和极坐标显示在下面界面(pop_chanedit.m窗口)中,建议使用默认设置。[绘制在头部动画外部的电极是位于头部中线以下的电极(即,负z(高度)坐标,0是头部的中心.按照惯例,它们被绘制在头部卡通的外面。想要仅在头部动画中绘制头皮图,就需要在"Plot radius"编辑框中输入0.5。在这种情况下,当计算用于显示或9在某些情况下)进一步处理的插值二维头皮图时,将不显示或不考虑两个眼睛电极。这些设置用于在eeglab中绘制的所有头皮地形图。也可以将此对话框设置为1.0,以进行插值并显示包括所有可能的头皮通道位置的头皮图,并且头的部分在(0.5)头部赤道下方,显示在卡通头部边界外的 'skirt' 或 'halo'区域中(更精确地控制要绘制的通道位置可从命令行获得:请参阅头皮图绘图功能topoplot.m的"Help"。)]
可视化通道位置:Plot > Channel location > By name
也可以绘制成数字形式(数字对应的是通道号):Plot > Channel location > By number
3.绘制通道光谱图
绘制通道光谱图:Plot > Channel spectra and maps
根据需求设置参数,这里采用默认设置,点击OK,会跳转到spectopo.m界面:
这幅图是在采样15%的数据得到的结果,[15%是在第一幅图中红框中设置]。也可以设置为100%,设置100%的效果图为:
上面图中,每个彩色记录道表示一个数据通道活动的频谱。最左边的头皮图显示了6赫兹时头皮的能量分布,这些数据集中在额叶中线。其他的头皮图显示了10赫兹和22赫兹的能量分布。
想要看详细的信息,可以单击每个小图,比如单击6赫兹的脑图。
可以操作:Plot > Channel properties 来绘制所选通道的头皮位置,其活动范围以及其活动在单个时期内的ERP图像。
上图红色处为所选通道的头皮位置,上图还包括活动范围以及其活动在单个时期内的ERP图像。
4.预处理工具
重新参考数据:右耳参考AFz Tools > Re-reference
对于给定的数据集首次调用此菜单项时,将弹出以下窗口。我们不想包含该参考通道(既不在数据中心也不再平均参考中),因此不单击" Add current reference channel in data"复选框。(当记录参考位于头皮上时,请单击此复选框).
滤波:0.1-30HZ Tools > Filter the data > Basic FIR filter, 输入0.1(Hz)作为下边缘频率,30(Hz)作为上边缘频率,然后点击"OK".
上述步骤结束后,会弹出一个pop_newset.m窗口,询问新数据集的名称。我们选择修改数据集名称并覆盖父数据集。最后点击"OK"
消除信号中的直流偏移(DC偏移):在eegplot界面,点击Display > Do remove DC offset
在信号处理中,直流偏移是指信号的平均值与零频率的基线之间的差异。直流偏移通常是由于传感器偏差、噪声或其他系统问题引起的。直流偏移会对信号分析和解释产生影响,因此需要进行去除。
去除直流偏移的常见方法是通过减去信号的平均值,使得信号的平均值接近于零。这样可以将信号的基线调整到合适的位置,使后续的信号处理和分析更准确和有效。
在脑电信号处理中,去除DC offset是非常常见的预处理步骤之一。通过去除DC offset,可以消除可能干扰后续分析的信号偏移,提高信号质量和可靠性,使得我们能够更好地研究和理解脑电信号的特征和模式。
5.ICA去除伪迹
ICA去除伪迹:Tools > Run ICA(这个过程超级慢),跑完后状态改变。
跑完ICA后,去除伪迹:Tools > Reject data using ICA > Reject components by map
点击OK.
5. 提取数据epoch
(可以先分段再跑ICA也可以先跑ICA再分段;如果刺激时间比较长2/3秒,可以先分段再ICA)
为了研究连续记录数据的事件相关脑电图动力学,可以通过选择Tools > Extract Epochs来提取与感兴趣事件锁定的数据时间段(例如,数据时间段锁定为一类实验刺激的集合)。
在上面的pop_epoch.m窗口中,单击上面红色框的右上按钮,该窗口将调用一个浏览器框,其中列出了可用的事件类型。
相关文章:

eeglab(自用)
目录 1.加载、显示数据 2.绘制脑电头皮图 3.绘制通道光谱图 4.预处理工具 5.ICA去除伪迹 5. 提取数据epoch 1.加载、显示数据 观察事件值(Event values):该数据集中包含2400个事件,每个事件指定了EEG.event结构的字段Type(类型)、position(位置)和…...

Dockerfile构建Tomcat镜像(源码)
Dockerfile构建Tomcat镜像 目录 Dockerfile构建Tomcat镜像 1、建立工作目录 2、编写Dockerfile文件 3、构建镜像 4、测试容器 5、浏览器访问测试: 1、建立工作目录 [roothuyang1 ~]# mkdir tomcat[roothuyang1 ~]# cd tomcat/[roothuyang1 tomcat]# lsapach…...
Frida Error: getPackageInfoNoCheck(): has more than one overload的解决方法
使用frida绕过证书的时候执行代码: frida -U -f de.robv.android.xposed.installer --codeshare akabe1/frida-multiple-unpinning --no-pause遇到这样的错误 Error: getPackageInfoNoCheck(): has more than one overload, use .overload() to choose from: 网上查…...
flutter开发实战-RawKeyboardListener监听键盘事件及keycode。
flutter开发实战-RawKeyboardListener监听键盘事件及keycode。 最近开发过程中遇到外设备的按钮点击触发相应的操作,需要监听对应的keycode来开启游戏或者相关操作。 这里用到了RawKeyboardListener 一、RawKeyboardListener是什么? RawKeyboardListe…...

Temu、希音们全托管引争议,跨境电商应变“工贸一体化”
自7月27日Shopee宣布正式上线全托管模式起,全托管似乎突然又进入了爆发期。 在7月31日至8月1日举行的2023第八届深圳国际跨境电商贸易博览会上,全托管成为SHEIN、Wish、Lazada等平台力推的运营模式。进入8月,跨境圈突然涌现大批传言称&#…...

某科技公司提前批测试岗
文章目录 题目 今天给大家带来一家提前批测试岗的真题,目前已经发offer 题目 1.自我介绍 2.登录页面测试用例设计 3.如何模拟多用户登录 可以使用Jmeter,loadRunner性能测试工具来模拟大量用户登录操作去观察一些参数变化 4.有使用过Jmeter,loadRunner做过性能压…...

一次redis缓存不均衡优化经验
背景 高并发接口,引入redis作为缓存之后,运行一段时间发现redis各个节点在高峰时段的访问量严重不均衡,有的节点访问量7000次/s,有的节点访问量500次/s 此种现象虽然暂时不影响系统使用,但是始终是个安全隐患&#x…...

npm发布包
1.npm 登录 在控制台输入命令 npm login 按提示输入用户名,密码,邮箱后登录 如果出现如下提示 需要将淘宝镜像源切换为npm源,删除或注释以下内容就行 2.发布 进入准备发布的代码的根目录下,输入命令 npm publish 3.删除已发…...

Qt5.13引入QtWebApp的模块后报错: error C2440: “reinterpret_cast”: 无法从“int”转换为“quintptr”
1、开发环境 Win10-64 qt5.13 msvc2015-64bit-release 2、报错 新建一个demo工程。 引入QtWebApp的httpserver、logging、templateengine三个模块后。 直接运行,,此时报错如下: E:\Qt5.13.1\install\5.13.1\msvc2015_64\include\QtCore…...

软件为什么要进行性能压力测试?
软件为什么要进行性能压力测试?随着软件应用的不断增多和复杂度的提高,软件的性能对用户体验和业务成功至关重要。性能问题可能导致软件运行缓慢、崩溃或无响应,给用户带来不便甚至损失。为了确保软件能够在高负载和压力下正常运行࿰…...

阻塞队列BlockingQueue详解
一、阻塞队列介绍 1、队列 队列入队从队首开始添加,直至队尾;出队从队首出队,直至队尾,所以入队和出队的顺序是一样的 Queue接口 add(E) :在指定队列容量条件下添加元素,若成功返回true,若当前…...

pygame贪吃蛇游戏
pygame贪吃蛇游戏 贪吃蛇游戏通过enter键启动,贪吃蛇通过WSAD进行上下左右移动,每次在游戏区域中随机生成一个食物,每次吃完食物后,蛇变长并且获得积分;按空格键暂停。 贪吃蛇 import random, sys, time, pygame from …...

Mac系统下使用远程桌面连接Windows系统
一、远程桌面工具 Microsoft Remote Desktop 二、下载地址 https://go.microsoft.com/fwlink/?linkid868963 三、下载并安装 四、添加远程PC PC name:云服务器IP。 User account: 添加系统用户 PC name:远程桌面 IP 地址User account:可以选择是…...
使用 OpenCV 和深度学习对黑白图像进行着色
在本文中,我们将创建一个程序将黑白图像(即灰度图像)转换为彩色图像。我们将为此程序使用 Caffe 着色模型。您应该熟悉基本的 OpenCV 功能和用法,例如读取图像或如何使用 dnn 模块加载预训练模型等。现在让我们讨论实现该程序所遵循的过程。 给定一张灰度照片作为输入,本文…...

从价值的角度看,为何 POSE 通证值得长期看好
PoseSwap 是 Nautilus Chain 上的首个 DEX,基于 Nautilus Chain 也让其成为了首个以模块化构建的 Layer3 架构的 DEX。该 DEX 本身能够以 Dapp 层(Rollup)的形态,与其他应用层并行化运行。...

pytorch的CrossEntropyLoss交叉熵损失函数默认reduction是平均值
pytorch中使用nn.CrossEntropyLoss()创建出来的交叉熵损失函数计算损失默认是求平均值的,即多个样本输入后获取的是一个均值标量,而不是样本大小的向量。 net nn.Linear(4, 2) loss nn.CrossEntropyLoss() X torch.rand(10, 4) y torch.ones(10, dt…...

OKR管理策略:为开发团队注入动力
引言 在这个快速变化的世界中,公司需要迅速应对市场变化,并保持其目标和战略的清晰性和一致性。而OKR(Objectives and Key Results)正是这个挑战的解决方案之一。OKR的实施可以帮助开发团队明确目标,关注关键结果&…...

C++二叉搜索树剖析
目录 🍇二叉搜索树概念🍈二叉搜索树查找🍉二叉搜索树的插入🍊二叉搜索树的删除🍍二叉搜索树的查找、插入、删除实现🍋二叉搜索树的应用🥭二叉搜索树的性能分析🍓总结 🍇二…...

升级你的GitHub终端认证方式:从密码到令牌
升级你的GitHub终端认证方式:从密码到令牌 前言 GitHub官方在2021年8月14日进行了一次重大改变,它将终端推送代码时所需的身份认证方式从密码验证升级为使用个人访问令牌(Personal Access Token)。这个改变引起了一些新的挑战&am…...

【力扣】链表题目总结
文章目录 链表基础题型一、单链表翻转、反转、旋转1.反转链表2.反转链表II——反转部分链表3.旋转链表4.K个一组翻转链表5.反转偶数长度组的节点 二、删除单链表中的结点1.删除链表的结点2.删除未排序链表中的重复节点3.删除已排序链表中的重复元素I——重复元素只剩下一个4.删…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...

(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...