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恢复参考电极数据的更多相关文章

  1. MYSQL数据库根据data文件中的.frm和ibd文件恢复单表数据

    数据库误操作,把表的字段删除了,关键是被删除的字段的数据很重要,现在想要恢复数据,下面说说是怎么操作的. 数据库只剩.frm和.ibd文件了,按照网上的做法分如下两步来进行:一.找回表结构,二.找回数 ...

  2. oracle_How to Recover Data (Without a Backup!)

    How to Recover Data (Without a Backup!) It's the classic career-limiting maneuver(职业限制机动): accidenta ...

  3. var dataObj=eval("("+data+")");//转换为json对象(解决在ajax返回json格式数据的时候明明正确的获取了返回值但是却就是进不去success方法的问题。格式错误)

    一,原理 1.1,解析1 将字符串解析为JavaScript代码,比如:var a = "alert('a');";这里的a就只是一个字符串而已,输出的话也是alert(a);这句 ...

  4. Loading Data into a Table;MySQL从本地向数据库导入数据

    在localhost中准备好了一个test数据库和一个pet表: mysql> SHOW DATABASES; +--------------------+ | Database | +---- ...

  5. MySQL LOAD DATA INFILE—批量从文件(csv、txt)导入数据

    最近做的项目,有个需求(从Elastic Search取数据,业务运算后),每次要向MySQL插入1300万数据左右.最初用MySQL的executemany()一次插入10000条数据,统计的时间如 ...

  6. mysql数据恢复 根据旧备份的sql文件和当前data下的ibd文件恢复innodb引擎数据

    1.使用navicat fro mysql数据库工具进行恢复 2.将原有备份的sql文件导入数据库 3.新建一个空数据库 4将备份数据库的数据表复制到新建数据库(只复制表格式) 5.在命令行模式中 u ...

  7. 【RMAN】TSPITR--RMAN表空间基于时间点的自动恢复

    [RMAN]TSPITR--RMAN表空间基于时间点的自动恢复 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其 ...

  8. grootJs的vm结构

    按看这段代码生成的vm groot.view("myview", function (vm, ve) { vm.say = "hello word!"; }) ...

  9. 《MySQL数据库》MySQL主从复制搭建与原理

    前言 主从复制:两台或者更多的数据库实例,通过二进制日志,实现数据同步.为什么需要主从复制,主从复制的作用是什么,答:为了预防灾难. 搭建 第一步:准备多实例环境.如何创建多实例见: 第二步:确保每一 ...

随机推荐

  1. 【JAVA并发编程实战】3、同步容器

    同步容器包括Vector和Hashtable,还有一些由Collections.synchronizedXxx等工厂方法创建的 1.同步容器类的问题 同步容器类都是线程安全的,但是有些时候还是要客户端 ...

  2. linux下tomcat安全配置

    转:http://www.tuicool.com/articles/R7fQNfQ 0x00 删除默认目录 安装完tomcat后,删除 $CATALINA_HOME/webapps 下默认的所有目录文 ...

  3. iOS Block简介

    Block是对象,它封装了一段代码,这段代码可以在任何时候执行.block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值.它和传统的函数指针很类似,但是有区别:block是inli ...

  4. Solr实现Low Level查询解析(QParser)

    Solr实现Low Level查询解析(QParser) Solr基于Lucene提供了方便的查询解析和搜索服务器的功能,可以以插件的方式集成,非常容易的扩展我们自己需要的查询解析方式.其中,Solr ...

  5. 【代码笔记】iOS-可以向左(右)滑动

    一,效果图. 二,代码. RootViewController.m - (void)viewDidLoad { [super viewDidLoad]; // Do any additional se ...

  6. C语言的泛型编程

    1 问题引入 首先引入一个问题,实现一个泛型的swap函数,分别使用C++和C实现. 2 C++的泛型 C++有良好的泛型编程机制,所以我很快就写出了C++版的泛型swap函数. template&l ...

  7. 微软源代码管理工具TFS2013安装与使用详细图文教程(Vs2013)

    这篇文章联合软件小编主要介绍了微软源代码管理工具TFS2013安装与使用图文教程,本文详细的给出了TFS2013的安装配置过程.使用教程,需要的朋友可以参考下 最近公司新开发一个项目要用微软的TFS2 ...

  8. Linq专题之提高编码效率—— 第一篇 Aggregate方法

    我们知道linq是一个很古老的东西,大家也知道,自从用了linq,我们的foreach少了很多,但有一个现实就是我们在实际应用中使用到的却是屈指可数 的几个方法,这个系列我会带领大家看遍linq,好的 ...

  9. sql server2014不允许保存更改。阻止保存要求重新创建表的更改

    错误描述: SQL Server2014在原有的数据表中修改表结构后,保存数据表,提示错误如下: 不允许保存更改.您所做的更改要求删除并重新创建以下您对无法重新创建的表进行了更改或启用了"阻 ...

  10. 烂泥:dnsmasq搭建简易DNS服务器

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 今天我们来介绍一个比较简单的DNS服务器dnsmasq.这款软件,已经被我成功使用到公 ...