microsoft / PhysioPro

A deep learning framework for physiological data processing and understanding.
MIT License
55 stars 9 forks source link

How Coordination Get #25

Open XiaoZhangYES opened 2 weeks ago

XiaoZhangYES commented 2 weeks ago

Thanks for excellent work first! There's a little question about the coordination arrays: How did you get those EEG's coordinations, is that a fixed position? https://github.com/microsoft/PhysioPro/blob/098c23a48698e8c023beb46e1bf68dcf8958b123/physiopro/dataset/SEED.py#L166 Thanks 👍

victorywys commented 3 days ago

Hi, thanks for asking and sorry for the late reply. We were trying to find the original coordination calculation file but unfortunately we can't retrieve that. But I can mention how we get there as following:

The basic idea to get these coordinates is to put the scalp into the 3-d space and use the Cartesian coordinate system to represent the electrodes. We roughly view a unified brain as a sphere and the center is assigned with (0, 0, 0). x-axis points from the center to the right ear, y-axis points from the center to the nasion, and z-axis points vertically to the top of your head. The values are normalized to [-90, 90], providing the fair comparison with other kinds of coordinates such as spherical coordinate system.

After defining the coordinates, the 10-20 system or the 10-10 system define where every electrode should be set by giving the ratio of separation. Then we can obtain the coordinates for every electrode.

As an example, the first electrode is Fp1, which is at the front-most of our head, slightly toward left and below the center, so we can calculate the coordinate as (-27, 83, -3). And the 28th electrode is Cz, which is at the top-center of our scalps. Therefore, it is assigned the coordinate (0, 0, 88).

We only provided the coordinates with this setting in our file since this is the best-performed setting in our experiments, but it's likely that in other tasks, some other coordinate system may yield a better performance. You can try to calculate the coordinates as you like and modify the code accordingly.