python地形图渲染_Python-Evoked地形图可视化
更多技術干貨第一時間送達
今天接著介紹Evoked數據的地形圖可視化。
首先還是先介紹一下Evoked結構:
Evoked結構
Evoked potential(EP)誘發電位或誘發反應是指在出現諸如閃光或純音之類的刺激后,從人類或其他動物的神經系統,特別是大腦的特定部分記錄的特定模式的電位。不同形式和類型的刺激會產生不同類型的電位。
誘發電位振幅往往較低,從小于1微伏到數微伏不等,而腦電圖為數十微伏,肌電圖為毫伏,心電圖通常接近20毫伏。為了在EEG、ECG、EMG等生物信號和環境噪聲的背景下解決這些低幅度電位,通常需要對信號進行平均。信號被時間鎖定在刺激上,大部分噪聲是隨機產生的,這樣就可以通過對重復響應來平均掉噪聲。
誘發電位(Evoked)結構主要用于存儲實驗期間的平均數據,在MNE中,創建Evoked對象通常使用mne.Epochs.average()來平均epochs數據來實現。
本示例中,我們著重于mne.Evoked的地形圖可視化繪圖功能。
案例介紹# 導入工具包import os.path as opimport numpy as npimport matplotlib.pyplot as pltimport mne'''第一步:從文件中讀取誘發對象'''# 獲取數據文件默認春芳地址data_path = mne.datasets.sample.data_path()# 構建文件存放的具體路徑fname = op.join(data_path, 'MEG', 'sample', 'sample_audvis-ave.fif')# 根據文件存放的具體路徑evoked?=?mne.read_evokeds(fname,?baseline=(None,?0),?proj=True)
注意,誘發事件是一系列誘發事件的實例。
通過將參數條件傳遞給mne.read_evokeds(),您只能讀取其中一個類別。為了使本教程更簡單,我們將每個實例讀取到一個變量。evoked_l_aud = evoked[0]evoked_r_aud = evoked[1]evoked_l_vis = evoked[2]evoked_r_vis = evoked[3]
我們可以使用Evoked對象的mne.Evoked.plot_joint()方法在一張圖中組合兩種圖形。按原樣調用(evoked.plot_joint()),此函數應提供時空動態的信息顯示。可以使用topomap_args和ts_args參數直接設置圖的時間序列部分和topomap部分的樣式。也可以將鍵值對作為Python字典傳遞。
然后將它們作為參數傳遞給聯合繪圖的mne.Evoked.plot_topomap()和時間序列(mne.Evoked.plot())。
對于使用這些topomap_args和ts_args參數的特定樣式的示例,此處顯示了特定時間點(90和200 ms)的topomaps,未繪制傳感器(通過轉發到plot_topomap的參數),并且顯示了Global Field Power:ts_args = dict(gfp=True, time_unit='s')topomap_args = dict(sensors=False, time_unit='s')evoked_r_aud.plot_joint(title='right auditory', times=[.09, .20],ts_args=ts_args, topomap_args=topomap_args)
如果想要比較兩個或多個傳感器的選擇條件,或例如,為全局場功率。為此,可以使用函數mne.viz.plot_compare_evokeds()。最簡單的方法是創建一個Python字典,其中鍵是條件名,值是mne誘發對象。
如果你提供了多個誘發對象的列表,比如那些多被試的對象,總平均值連同一個置信區間帶被繪制出來——這可以用來對比整個實驗的條件。
首先,我們將誘發對象加載到字典中,將鍵設置為‘/’分隔的標記(就像我們可以對epochs中的event_id所做的那樣)。
然后,我們使用mne.viz.plot_compare_evokeds()進行繪圖。該圖表使用dict參數進行樣式化,同樣使用“/”分隔的標記。我們繪制了一個具有強烈聽覺反應的腦磁圖MEG通道。conditions = ['Left Auditory', 'Right Auditory', 'Left visual', 'Right visual']evoked_dict = dict()for condition in conditions:evoked_dict[condition.replace(' ', '/')] = mne.read_evokeds(fname, baseline=(None, 0), proj=True, condition=condition)print(evoked_dict)
對于移動高級繪圖使用mne.viz.plot_compare_evokeds()。'''設置 evoked 類別顏色,左聽覺和左視覺的線條顏色為:Crimson右聽覺和右視覺的線條顏色為:CornFlowerBlue'''colors = dict(Left='Crimson', Right='CornFlowerBlue')'''設置 evoked 繪制 線型,聽覺的線型為:-視覺的線型為:--'''linestyles = dict(Auditory='-', visual='--')#pick = evoked_dict['Left/Auditory'].ch_names.index('MEG 1811')mne.viz.plot_compare_evokeds(evoked_dict, picks=pick, colors=colors,linestyles=linestyles, split_legend=True)
也可以用圖像來描繪這些活動。時間沿著x軸,通道沿著y軸。振幅是彩色編碼的,所以振幅從負到正轉換成從藍色到紅色。白色表示零振幅。您可以使用cmap參數自己定義顏色映射。接受的值包括所有matplotlib顏色映射。evoked_r_aud.plot_image(picks='meg')
最后將傳感器數據繪制成地形圖。在簡單的情況下,我們只繪制左聽覺反應,然后我們把它們都繪制在同一個圖中進行比較。單擊各個圖,將它們放大。title = 'MNE sample data\n(condition : %s)'evoked_l_aud.plot_topo(title=title % evoked_l_aud.comment,background_color='k', color=['white'])mne.viz.plot_evoked_topo(evoked, title=title % 'Left/Right Auditory/Visual',background_color='w')
對于少量傳感器,也可以創建更精細的彈出窗口。同樣,單擊傳感器可打開一個單傳感器圖。mne.viz.plot_compare_evokeds(evoked_dict, picks='eeg', colors=colors,linestyles=linestyles, split_legend=True,axes='topo')
總結
以上是生活随笔為你收集整理的python地形图渲染_Python-Evoked地形图可视化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安全漏洞评分系统(CVSS)
- 下一篇: SDR原理--AM部分