日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

脑机接口基础学习19---救救我吧,Evoked数据可视化

發布時間:2024/1/1 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 脑机接口基础学习19---救救我吧,Evoked数据可视化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在這一節的學習中,我遇到了非常大的問題
Evoked potential(EP)誘發電位或誘發反應是指出現在諸如閃光或純音之類的刺激后,從人類或其他動物的神經系統,特別是大腦的特定部分記錄的特定模式的電位。不同形式和類型的刺激會產生不同類型的電位。

誘發電位振幅往往較低,從小于1微伏到數微伏不等,而腦電圖為數微伏,肌電圖為毫伏,心電圖通常接近20毫伏。為了在EEG、ECG、EMG等生物信號和環境噪聲的背景下解決這些低幅度電位,通常需要對信號進行平均。信號被時間鎖定在刺激上,大部分噪聲是隨機產生的,這樣就可以通過對重復響應來平均掉噪聲。

誘發電位(Evoked)結構主要用于存儲實驗期間的平均數據,在MNE中,創建Evoked對象通常使用mne.Epochs.average()來平均epochs數據來實現。
在這篇文章中,著重于mne.Evoked的繪圖功能

#案例介紹:#導入工具包 import os import os.path as op import numpy as np import matplotlib.pyplot as pltimport mne ''' 第一步: 從文件中讀取誘發對象'''data_path=r'E:\腦機接口資料\MNE-sample-data\MEG\sample' fname=data_path+'/sample_audvis-ave.fif' evoked=mne.read_evokeds(fname,baseline=(None,0),proj=True)

#打印evoked print(evoked)


從上面打印信息可以看到,Evoked的內容包含了4個類別的evoked數據,分別是:Left Auditory、Right Auditory、Left visual、Right visual

注意:誘發事件是一系列誘發事件的實例
通過將參數條件傳遞給mne.read_evokeds(),您只能讀取其中一個類別。為了使本教程更簡單,我們將每個實例讀取到一個變量

evoked_l_aud=evoked[0] evoked_r_aud=evoked[1] evoked_l_vis=evoked[2] evoked_r_vis=evoked[3]

下面我們繪制事件相關的電位/場(ERP/ERF)。默認情況下不繪制不良通道,在這里,我們明確設置了exclude參數,以紅色顯示不良頻道。MNE-Python的所有繪圖功能都會返回
圖形實例的句柄。有了句柄后,我們可以自定義繪制效果

fig=evoked_l_aud.plot(exclude=(),time_unit='s')


下面我們將它變得更漂亮一些,僅使用MNE通道。許多mne函數都包含一個pick參數來包含頻道的選擇。pick_types()、mne.pick_channels()/mne.pick_channels_regexp()或可以解釋為通道名稱或通道類型的字符串列表,可以輕松構造這些通道索引。使用spatial_colors=True,對各個通道進行顏色編碼,以顯示傳感器的位置----具體地說,將傳感器的x、y和z位置轉換為R、G和B值

evoked_l_aud.plot(spatial_colors=True,gfp=True,picks='meg')


注意左邊的圖例,這些顏色表明可能有兩個不同的信號來源。從第一個數字來看,這并不明顯。嘗試用鼠標左鍵繪制斜線。它應該打開一個新的窗口,其中topomaps(頭皮區域)是繪制區域的平均值。還有一個單獨繪制topomaps的功能

evoked_l_aud.plot_topomap(time_unit='s')

到了這里我就不行了,一直錯!!!


嘗試修改環境變量名中文為英文,但是還是解決不了這個問題,有大佬知道怎樣做的話可以指點一下我嗎,我被這個問題煩了好久了

#默認情況下,topomaps是從誘發數據上平均分布的時間點繪制的 #我們也可以自己定義時間times=np.arange(0.05,0.151,0.05) evoked_r_aud.plot_topomap(times=times,ch_type='mag',time_unit='s') # 或者我們可以自動選擇峰值。 evoked_r_aud.plot_topomap(times='peaks', ch_type='mag', time_unit='s') #首先,我們在一個圖形中創建一組matplotlib軸,并將所有誘發數據的類別相互繪制在一起fig,ax=plt.subplots(1,5,figsize=(8,2)) kwargs=dict(times=0.1,show=False,vmin=-300,vmax=300,time_unit='s') evoked_l_aud.plot_topomap(axes=ax[0], colorbar=True, **kwargs) evoked_r_aud.plot_topomap(axes=ax[1], colorbar=False, **kwargs) evoked_l_vis.plot_topomap(axes=ax[2], colorbar=False, **kwargs) evoked_r_vis.plot_topomap(axes=ax[3], colorbar=False, **kwargs) for ax, title in zip(ax[:4], ['Aud/L', 'Aud/R', 'Vis/L', 'Vis/R']):ax.set_title(title) plt.show()

上面幾段代碼都是在報這個錯誤,不知道為什么就是用不了plot_topomap()
求大佬拯救!!!

總結

以上是生活随笔為你收集整理的脑机接口基础学习19---救救我吧,Evoked数据可视化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。