EEG处理方法与技巧(随时更新)

2024-01-22 11:20

本文主要是介绍EEG处理方法与技巧(随时更新),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

科研,思想(道)是首位,其次才是方法(手段)。在思想和方法都还欠缺的时候,一定要保持冷静和清醒,一步一步来。从简单的方法入手吧。

一、使用Brainstorm进行EEG源定位

导入数据后,源定位流程:脑电电极定位->计算头模->源估计->源分析

(1)脑电电极定位,选择标准后,记得查看电极位置;

(2)计算头模,这步时间比较长。计算完头模,一般数据已经进行过预处理,所以不进行噪声协方差矩阵的计算。

(3)进行源估计。

(4)进行源分析。

二、使用EEGLAB进行EEG处理

EEGLAB好的一点就是,可以通过写matlab调用。这里记录以下几个常用的函数以及用法。

(1)pop_eegplot( EEG ),查看脑电波形图。EEG是通过pop_loadset读出来的脑电数据,一般为结构体。

(2)pop_loadset([path]),导入set文件。如:

data = pop_loadset(['D:\2_chenfang_labs\brain_heart\1_subjects\s41.set']);

(3)pop_importevent(),打入marker到脑电数据中。如:

    latency=max_loc';latency=1000*latency;type=char(zeros(length(max_loc),1)); % 清空数据position=char(zeros(length(max_loc),1));for i = 1:length(max_loc)type(i,1) = 'P';position(i,1)=1;end  events_P = table(latency,type,position);writetable(events_P,['PMarker.txt'],'Delimiter',' ','WriteRowNames',true)%将Rmarker文件 打入EEGeeg_31 = pop_importevent(eeg_31, 'event',['PMarker.txt'],'fields',{'latency' 'type' 'position'},'skipline',1,'timeunit',1E-3);

生成的Pmarker.txt

(4)pop_epoch(),根据打入的marker对数据进行分段。如:

% 根据峰值点的 [-1,5] 确定一个 epoch
eeg_epoP= pop_epoch( eeg_31_PT, {'P'}, [-0.5 6.5], 'newname', ' resampled pruned with ICA epochs', 'epochinfo', 'yes');% 下降段

其中,P是marker的名字,[-0.5 6.5]是时间,P对应的位置一致时0点。

(5)pop_saveset(),把处理好的结构体保存为set文件。如:

EEG3 = pop_saveset( eeg_avep, 'filename','down_ave.set','filepath','D:\\2_chenfang_labs\\brain_heart\\xsw_40subject_rest_precessed\\single_sub_ave\\set_files\\');

其中,eeg_avep是我自己处理好的结构体。

当不知道使用哪个函数进行处理以及怎么使用时,可以:

(1)第一种方法:matlab命令行输入:doc eeglab,可以找到EEGLAB的函数以及使用说明;

(2)第二种方法:在EEGLAB的操作页面,进行想要的操作之后,如下图,相应操作的代码就会生成。

这篇关于EEG处理方法与技巧(随时更新)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/632806

相关文章

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

使用Python实现大文件切片上传及断点续传的方法

《使用Python实现大文件切片上传及断点续传的方法》本文介绍了使用Python实现大文件切片上传及断点续传的方法,包括功能模块划分(获取上传文件接口状态、临时文件夹状态信息、切片上传、切片合并)、整... 目录概要整体架构流程技术细节获取上传文件状态接口获取临时文件夹状态信息接口切片上传功能文件合并功能小

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

Java 枚举的常用技巧汇总

《Java枚举的常用技巧汇总》在Java中,枚举类型是一种特殊的数据类型,允许定义一组固定的常量,默认情况下,toString方法返回枚举常量的名称,本文提供了一个完整的代码示例,展示了如何在Jav... 目录一、枚举的基本概念1. 什么是枚举?2. 基本枚举示例3. 枚举的优势二、枚举的高级用法1. 枚举