How to regist biopolar EEG chanels to EEG data in Brainstorm?

I am working on the Physionet EEG data, which have the EEG chanels in order:

I have already created the chanels position file for the data:

My problem is: when I regist the chanels to the data file, the time series only show the monopolar chanel and not the bipolar chanel:

How could I add the bipolar chanel to the EEG data? Do I need to convert the bipolar chanel EEG data to monopolar chanel EEg data beforehand?


You can create custom montages for visualization.
In the the Record tab, click on the the list of montages and select the menu “Edit montages”.
Then create a custom montage and edit manually your montage, line by line.
For instance, the first line of your montage could be something like “Fp1-F7: Fp1, -F7”


Thank you for your response. I understand that we can change the montage display. However, my problem is: my input eeg data has bipolar eeg chanel. Because the file do not contain the chanel position file, so I create my own file (the first picture in my last post). From what I guess, when I import my bipolar eeg data, it will cause the chanel díplacement. For example, the first chanel in my eeg data Fp1 - F7 will be marked as the first chanel in my chanel file, which is a unipolar chanel. Does brainstorm have the function to convert the bipolar chanel to unipolar chanel eeg data ?

Does this mean that the recordings were saved in a bipolar mode? ie that instead of the values of “Fp1” and “F7” your file contains directly the values of the subtraction “Fp1-F7”?
I don’t think this is an appropriate way to save the EEG recordings coming from a full EEG cap with a common reference. You will lose less information if first you save “Fp1-Ref”, “F7-Ref”, etc, and then display them as a bipolar montage.

There is currently no way to handle correct such bipolar recordings in Brainstorm: you cannot represent this in the channel file, and you won’t be able to estimate the sources. You need to have access to the position and recordings of each electrode separately, in common or average reference.

Thank you for your response. The eeg data is the Physionet database that saved in bipolar chanel platform. I think I need to use other software to convert the bipolar to unipolar first and then import the converted file in brainstorm

Can you recover the original recordings from these bipolar values?
If you know how to do this in Matlab, you could do it in Brainstorm. Once the recordings are imported in Brainstorm, you just have to modify the .F field in the data file.
(right-click > File > Export to Matlab, modify the structure, then File > Import from Matlab).

Note that it is not very efficient to load the entire file like you did.
You should first use the menu “Review raw file” instead of “Import MEG/EEG”.
I recommend you start by following the introduction online tutorials before trying to use Brainstorm on your own data (all the section “Get started”):

Hi Francios, thank you for your suggestion.
Is it ok if convert the bipolar to unipolar like this? By choosing a ref point O1?

Maybe… but you’ll have to design to re-referencing matrix by yourself.

Hi, I'm also facing this same issue.

It's been a long time coming, but did you succeed in making it unipolar EEG data?
Can you tell us how you did it?


Using the image above as reference. You would need to make a montage with all the required operations to re-reference a channel to O1. But ONLY channels that are connected to O1 can be converted.

Some examples:
To get monopolar F3 as in the right image (i.e. [F3-O1]):

C3 in the right image = [C3-O1] = [C3 - P3] - [P3 - O1]
F3 in the right image = [F3-O1] = [F3-C3] - [C3-O1]

To get monopolar F4 as in the right image (i.e. [F4-O1]):
T7 in the right image = [T7-O1] = [P7-O1] - [P7-T7]
FT9 in the right image = [FT9-O1] = [T7-O1] - [T7-FT9]
FT10 in the right image = [FT10-O1] = [FT9-O1] - [FT9-FT10]
T8 in the right image = [T8-O1] = [FT10-O1] - [FT10-T8]
F8 in the right image = [F8-O1] = [T8-O1] + [F8-T8]
Fp2 in the right image = [Fp2-O1] = [F8-O1] + [Fp2-F8]
F4 in the right image = [F4-O1] = [Fp2-O1] - [Fp2-F4]

1 Like

Got it. Thank you so much!

Now I'm calculating to make unipolar.
May I ask how to make 'FZ-O1', 'CZ-O1', or 'PZ-O1'?

I'm planning to run source localization with unipolar montage, but it seems difficult to do with FZ, CZ, and PZ channels. (Those couldn't be modified to O1-referenced channel 'directly', Interpolation is needed.)

They cannot be obtained as the other channels as they are re-referenced to O1.

You could try interpolate as:
Fz-O1 = [(F3 - O1) + (F4 - O1 )] / 2

Oh I understood. Thank you!