python处理脑电信号_用ICA去除脑电信号中的眼球链接
你有沒有注意到你的“組件”完全是原始信號的比例和顛倒?這是因為你不能得到比信號更多的成分。在
您需要執行以下步驟:將所有EEG通道輸入ICA
手動移除包含眨眼或其他偽影的組件
用反變換重構
讓我們詳細了解第2步:為什么要手動刪除組件?
伊卡對眨眼一無所知。它根據統計測量將信號分成不同的分量。如果幸運的話,這些部件中的一些看起來像是眨眼。在
到目前為止還可以,但真正的問題是沒有定義組件的順序。運行ICA,您可能會發現組件1包含眨眼。再次運行它,它們在組件3中。同樣,它們都在第2和第5部分中。。。在
沒有辦法預先知道要移除哪些組件和多少個組件。這就是為什么每次運行時都需要手動告訴算法。在
在類似這樣的代碼中:# Use all channels - they will contain eye blinks to varying degrees
X = f1ep1_data[:, :]
# run ICA on signal
ica = FastICA(n_components=x.shape[1]) # we want *all* the components
ica.fit(X)
# decompose signal into components
components = ica.fit_transform(X)
# plot components and ask user which components to remove
# ...
remove_indices = [0, 1, 3] # pretend the user selected components 0, 1, and 3
# "remove" unwanted components by setting them to 0 - simplistic but gets the job done
components[:, remove_indices] = 0
#reconstruct signal
X_restored = ica.inverse_transform(components)
很可能你對手動步驟不滿意。不幸的是:)2013年還沒有一個健壯的自動算法來標記眨眼成分。我不認為這已經改變,但如果有什么東西你會發現它是一個領域特定的包,如MNE或PyEEG。在
我用模擬的“腦電圖”數據創建了一個工作示例。
數據包括三個通道:額葉、中央和頂葉。10赫茲的阿爾法活動在后面最強,一些眨眼樣的尖峰在前面最強。在
希望這個例子能更好地說明如何從多通道數據中刪除組件。在
^{pr2}$
總結
以上是生活随笔為你收集整理的python处理脑电信号_用ICA去除脑电信号中的眼球链接的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果手机有指纹锁吗
- 下一篇: python简单爬虫课题_VS2019p