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恢复电极点,最后再重参考后恢复它的数据。