Recover data from reference electrode via EEGLab 用EEGLab恢复参考电极数据
The data of scanning reference electrode will not show initially. Here is a summary of recovering its data using EEGLab.
Firstly, official website of EEGLab has given a detailed method: Chapter_04:_Preprocessing_Tools.
Below is some discussions on the issue.
https://sccn.ucsd.edu/pipermail/eeglablist/2015/009611.html
I'm using a 32 channel brain vision system and am recording withPyCorder. When I import my data using the brain vision recorder plugin,only 31 channels are present. I'm > recording with Cz as an online referenceand Cz is the channel that is missing. I can re-reference, but Cz is still absent.
Has anyone had an issue with recording with an online reference and not having that data import into EEGlab? Or does anyone have a different way to import brain vision > data?
This sounds like two different problems:
If you record from 32 channels + Ref + Ground the imported file should have 32 channels (but not your Cz Ref channel). Please reconfirm that your Pycorder setup really records from 32 data channels (34 electrodes). In case there is really a channel missing, please, submit a bug report to the bugtracker including a short sample file.
If you want to keep the implicit online reference (Cz) as a new channel after re-referencing the data to another channel you have to use the 'Add current reference channel back to the data' - option (GUI; 'refloc‘ on command line). To use this option you have to first append a (Cz-) channel in the GUI channel editor (appearing in EEG.chaninfo.nodatchans) which you can subsequently select during re-referencing. The 'new' Cz-channel is the inverse of the channel the data were re-referenced to (now missing in the data or being flat if "Retain old reference channels in data“ was selected).
Please note that the 'Add current reference channel back to the data' - option should not be used for systems where common mode rejection isn applied offline (e.g. Biosemi).
To clarify, I have 31 channels + ref (Cz) + ground. So 33 in total.
Good!
I added Cz to my channel locations and selected "add current reference channel back to data" without re-referencing to anything else.
Sorry, could you please clarify how you use the 'add current reference channel back to data' - option without actually re-referencing? To my understanding this should be impossible. Either the 'Compute average reference' or the 'Re-reference data to channel(s)' - option is always selected in the pop_reref GUI. In case 'Compute average reference' was selected, the data were re-referenced to the mean of all channels.
I can now see Cz, but it isn't a flat line. Am I incorrect in thinking that it should be totally flat?
Without re-referencing the implicit reference should indeed be a flat line/zero.
You're right. I forgot that compute average reference is automatically checked, so I was looking at the data with the average reference instead of a Cz reference.
Physically, 'add current reference channel back to data' actually adds a channel with zero potential to current configuration, then you may re-reference to any other configuration, such average, linked ears reference.
The best re-reference is the "zero reference" realized by "REST" (reference electrode standardization technique) at www.neuro.uestc.edu.cn/rest , where free-software is available, and it may interpolate bad channel the same time.
https://sccn.ucsd.edu/pipermail/eeglablist/2012/005585.html
I am new to the EEGLab. Now I am trying to analyze data that were recorded using the BrainVision recorder, but I never find the reference electrode. Going to "Channel > > Locations" only shows me the EEG electrodes. It is a problem for me because I want to re-reference the eeg signal to the linked-ears. The second reference electrode is > always there (once it was recorded as a regular eeg electrode), but not the actual reference.
The reference of the recording is implicit in all EEG systems I know. The potential difference of the reference electrode site to itself is always zero, thus, it does not make to much sense to store this as a separate signal channel.
As the implicit reference is zero re-referencing to linked/averaged mastoids is trivial on the command line:
EEG.data = EEG.data - repmat(EEG.data(, :) * 0.5, [EEG.nbchan 1]);
or
EEG.data = EEG.data - repmat(EEG.data(, :, :) * 0.5, [EEG.nbchan 1 1]);
for epoched data. Do not forget to store back into ALLEEG.
Using the GUI it is somewhat more complicated:
(1) Add an empty reference channel LM using the channel location tool with "Append chan" button. Set the reference of the other channels to the new channel LM with the "Set reference" button.
(2) Re-reference to any channel ticking "Retain old reference channels in data" and selecting your new appended channel LM in "Add current reference channel back to the data". This will result in a dataset with the channel you re-referenced to being zero and your new channel LM showing the inverted signal of this channel.
(3) Now you can select both mastoids in the re-reference tool.
You first need to define your reference in the channel editor. If the reference is not in the list of channels, first add the reference channel. Then press the button "Set reference" and enter your new channel label.
After you are done, go to the menu "Tools > Re-reference". You will be able to select your new reference channels, exclude some channels etc...
Note that Andreas code below will work although it will not update the channel location structure and perform other checks.
http://home.52brain.com/thread-26436-1-1.html
re-reference由于一般使用双侧乳突做参考,这里采集数据的时候以TP9为参考电极,导入EEGLab的时候没有TP9数据。所以在重参考时,将TP10作为重参考电极。这样能达到以TP9和TP10双侧乳突做为参考吗?
有两种方法可供选择。
其一是把Tp9的数据补上。具体步骤是:
(1)先在channel location那个界面插入一个新的电极,即Tp9,并把它设置为参考电极。但是此时Tp9数据还不存在。
(2)之后在重参考界面设置重参考,并点上下面选项,补上参考电极也就是Tp9数据。此时数据是平均参考,但是Tp9的数据出来了。这时你再选择重参考。这次是Tp9和Tp10
其二是通过写语法。也就是每个电极的数据减去Tp10/2。
Tp9参考的时候,就是没有这个点,需要自己恢复,我也不清楚别的实验室是怎么做的,我们是:
在eeglab的数据结构中加一个全是0的参考电极点:(EEG.data(64, :) = 0,表示第64个电极位置所有的信号都为0;再恢复它的名称。
你的数据就是EEG.chanlocs(64).label = 'Tp9',然后load channel location恢复电极点,最后再重参考后恢复它的数据。
Recover data from reference electrode via EEGLab 用EEGLab恢复参考电极数据的更多相关文章
- MYSQL数据库根据data文件中的.frm和ibd文件恢复单表数据
数据库误操作,把表的字段删除了,关键是被删除的字段的数据很重要,现在想要恢复数据,下面说说是怎么操作的. 数据库只剩.frm和.ibd文件了,按照网上的做法分如下两步来进行:一.找回表结构,二.找回数 ...
- oracle_How to Recover Data (Without a Backup!)
How to Recover Data (Without a Backup!) It's the classic career-limiting maneuver(职业限制机动): accidenta ...
- var dataObj=eval("("+data+")");//转换为json对象(解决在ajax返回json格式数据的时候明明正确的获取了返回值但是却就是进不去success方法的问题。格式错误)
一,原理 1.1,解析1 将字符串解析为JavaScript代码,比如:var a = "alert('a');";这里的a就只是一个字符串而已,输出的话也是alert(a);这句 ...
- Loading Data into a Table;MySQL从本地向数据库导入数据
在localhost中准备好了一个test数据库和一个pet表: mysql> SHOW DATABASES; +--------------------+ | Database | +---- ...
- MySQL LOAD DATA INFILE—批量从文件(csv、txt)导入数据
最近做的项目,有个需求(从Elastic Search取数据,业务运算后),每次要向MySQL插入1300万数据左右.最初用MySQL的executemany()一次插入10000条数据,统计的时间如 ...
- mysql数据恢复 根据旧备份的sql文件和当前data下的ibd文件恢复innodb引擎数据
1.使用navicat fro mysql数据库工具进行恢复 2.将原有备份的sql文件导入数据库 3.新建一个空数据库 4将备份数据库的数据表复制到新建数据库(只复制表格式) 5.在命令行模式中 u ...
- 【RMAN】TSPITR--RMAN表空间基于时间点的自动恢复
[RMAN]TSPITR--RMAN表空间基于时间点的自动恢复 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其 ...
- grootJs的vm结构
按看这段代码生成的vm groot.view("myview", function (vm, ve) { vm.say = "hello word!"; }) ...
- 《MySQL数据库》MySQL主从复制搭建与原理
前言 主从复制:两台或者更多的数据库实例,通过二进制日志,实现数据同步.为什么需要主从复制,主从复制的作用是什么,答:为了预防灾难. 搭建 第一步:准备多实例环境.如何创建多实例见: 第二步:确保每一 ...
随机推荐
- HBase数据库集群配置
0,HBase简介 HBase是Apache Hadoop中的一个子项目,是一个HBase是一个开源的.分布式的.多版本的.面向列的.非关系(NoSQL)的.可伸缩性分布式数据存储模型,Hbase依托 ...
- 从“黑掉Github”学Web安全开发
Egor Homakov(Twitter: @homakov 个人网站: EgorHomakov.com)是一个Web安全的布道士,他这两天把github给黑了,并给github报了5个安全方面的bu ...
- 超简洁的CSS下拉菜单
效果体验:http://hovertree.com/texiao/css/3.htm HTML文件代码: <!DOCTYPE html> <html xmlns="http ...
- 【再探backbone04】单页应用的基石-路由处理
前言 首先发一点牢骚,互联网公司变化就是快,我去一个团队往往就一年时间该团队就得解散,这不,公司居然把无线团队解散了,我只能说,我那个去!!! 我去年还到处让人来呢,一个兴兴向荣的团队说没就没了啊!我 ...
- 如何合理优化WEB前端 高效提升WEB前端性能
对前端开发工程师来说,前端性能优化的重要性是不言而喻的,最为大家所知的是YSLOW的23条优化规则,在我的理解中,性能优化不纯粹是指用户访问网站的速度,也包括开发的效率,这里我总结下我理解中的WEB前 ...
- React Native之FlexBox介绍和使用
# 前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会 ...
- iOS开发之功能模块--Apns推送中的的json格式介绍
在开发向苹果Apns推送消息服务功能,我们需要根据Apns接受的数据格式进行推送.下面接受我在进行apns推送时候总结的一点apns服务接受的Json数据格式 示例 1: 以下负载包含哦一个简单的 a ...
- 请问utf-8的中文是一个汉字占三个字节长度吗?
这是个好问题,可以当作一个笔试题.先从字符编码讲起. 1.美国人首先对其英文字符进行了编码,也就是最早的ascii码,用一个字节的低7位来表示英文的128个字符,高1位统一为0: 2.后来欧洲人发现尼 ...
- [Java编程思想-学习笔记]第2章 一切都是对象
2.1 创建新的数据类型:类 通过第一章掌握了面向对象的理论后,我们知道每个对象必定属于一个类型,那么Java如何创建新的数据类型?如下程序所示: class Circle { // 属性 // 方 ...
- Play Framework 完整实现一个APP(十一)
添加权限控制 1.导入Secure module,该模块提供了一个controllers.Secure控制器. /conf/application.conf # Import the secure m ...