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主从复制搭建与原理
前言 主从复制:两台或者更多的数据库实例,通过二进制日志,实现数据同步.为什么需要主从复制,主从复制的作用是什么,答:为了预防灾难. 搭建 第一步:准备多实例环境.如何创建多实例见: 第二步:确保每一 ...
随机推荐
- java——获取从控制台输入的数据的方法
一.使用标准输入串System.in System.in.read(); //一次只读入一个字节数据,但是我们往往希望获得的是一个字符串或者一组数字 二.使用Scanner获得一个字符串或一组 ...
- GridView嵌套在ScrollView里只有一行的问题
遇到这个问题 网上找到的解决办法: 方法一:就是上面说的通过计算出来ListView或者GridView中的子列高度和 进行显示:public void setListViewHeightBasedO ...
- 16、ASP.NET MVC入门到精通——MVC过滤器
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在ASP.NET MVC中有四种过滤器类型
- C# Cache 设定缓存过期时间方法 绝对过期时间 和 相对过期时间(即:访问激活后不过期)
摘自: http://www.cnblogs.com/zj1111184556/p/3493840.html 1. 设定绝对过期时间 /// <summary> /// 设定绝对的过期时间 ...
- jquery在线五子棋
在线五子棋试玩地址:http://keleyi.com/game/12/ 以下是完整代码,保存到html文件打开也可以玩: <!DOCTYPE html> <html> < ...
- SharePoint 2013 图文开发系列之可视化WebPart
有了WebPart开发的基础,再进行可视化WebPart开发,就容易多了.创建和开发过程,两者非常相似,下面,我们简单介绍下可视化WebPart的开发. 1.添加新项目,选择SharePoint 20 ...
- Android数据存储方式--SharedPreferences
Android数据存储方式有如下四种:SharedPreferences.存储到文件.SQLite数据库.内容提供者(Content provider).存储到网络服务器. 本文主要介绍一下Share ...
- 字典转模型框架 Mantle的使用:国外程序员最常用的iOS模型
Mantle简介 Mantle 是iOS和Mac平台下基于Objective-C编写的一个简单高效的模型层框架. Mantle能做什么 Mantle可以轻松把JSON数据.字典(Dictionary) ...
- [Unity游戏开发]向量在游戏开发中的应用(三)
本文已同步发表在CSDN:http://blog.csdn.net/wenxin2011/article/details/51088236 在上一篇博客中讲了利用向量点乘在游戏开发中应用的几种情景.本 ...
- 活用UML-软件设计高手(深圳 2014年4月26-27日)
我们将在深圳为您奉献高级技术课程”活用UML-软件设计高手“,首席专家张老师将会为您分享软件架构设计.数据库设计.用户体验设计及详细设计的最佳实践,帮助您成为优秀的软件设计师! 时间:2014.0 ...