Python中MNE库的脑电地形图绘制
腦電地形圖在進行和“源”相關的分析時很有用,可以直觀的看出各個電極的激活情況以及其隨時間的變化。在標準的腦電數據中都是有電極的坐標位置的,會用EEGLab的可能對這塊比較熟悉了,實際MNE庫中也有相關的定義和實現,可以導入外部的電極數據,或者使用一些標準的位置信息如:10-20電極分布。
電極的坐標以及坐標系:
腦電電極的分布可以根據實際情況設計不同的位置,以標準的1020為例。
https://www.diytdcs.com/2012/07/1020-system-electrode-distances/
實際上標準的10-20只有21個通道,隨著通道需求的增加,基于10-20 有了很多的變形,通道數也增加了很多。不過通道的位置一般都是由采集設備固定的,了解就好。
如果你有EEGLab的數據,在轉換為MNE使用的時候我們只需要關心笛卡爾坐標系的XYZ就可以了。下面的兩張圖是EEGLab中的坐標描述,和后面內容沒什么關系,只是為了說明有3種不同的坐標系之間的轉換。
https://cloud.tencent.com/developer/article/1521031
https://atonal.ucdavis.edu/resources/docs/matlab/public/eeg/fixes/readlocs.html
?
MNE中的topomap
推薦一個連接,也是官方的一個例子,把這個例子搞明白應該就夠用了,例子中的內容比較多,這里只挑選示例中的幾個函數。
https://mne.tools/stable/auto_tutorials/intro/plot_40_sensor_locations.html#sphx-glr-auto-tutorials-intro-plot-40-sensor-locations-py
?
1、沒有電極位置信息,只有通道名稱。
大部分的情況下,你可能有一些腦電數據,但是沒有電極的位置信息,只要你的通道名稱是標準的命名規則就可以直接使用默認的位置信息,相當方便,這個函數就是set_montage;這是epochs的一個方法epochs.set_montage('standard_1020'),這里的使用的10-20的分布規則,還有一些其他的規則可以選擇。MNE中的10-20支持94+3通道,一般情況夠用了 。
epochs.set_montage('standard_1020')https://mne.tools/stable/generated/mne.Epochs.html?highlight=set_montage#mne.Epochs.set_montage:
?
2、有電極位置信息
有電極位置信息是最好的了,因為有些時候由于一些特殊原因可能沒有按照標準的分布規則部署電極,只要有位置信息就可以在任何平臺使用了。在MNE中這種情況通過兩個步驟來處理,首先make_dig_montage,然后set_montage就可以了。這種方式還能解決通道命名不規范的問題,只要make_dig_montage中ch_pos的key和通道名對應即可,并不要求一定是標準的命名方式,還有一點需要注意MNE中的單位是米,可能會需要換算。
make_dig_montage:https://mne.tools/stable/generated/mne.channels.make_dig_montage.html?highlight=make_dig_montage#mne.channels.make_dig_montage
sensorPosition={ch_names:position} montage = mne.channels.make_dig_montage(ch_pos=sensorPosition) epochs.set_montage(montage)然后你就可以繪制這種腦電地形圖了。。。
?
總結
以上是生活随笔為你收集整理的Python中MNE库的脑电地形图绘制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据实战电信客服
- 下一篇: websocket python爬虫_p