本教程為腦機學習者Rose原創(轉載請聯系作者授權)發表於公眾號:腦機接口社區(微信號:Brain_Computer).QQ交流群:903290195
簡介
本案例主要介紹如何讀取eeglab示例文件.set.
.set文件記錄的是采集的信息,主要內容包括通道數,事件數,開始時間與結束時間等。
知識點
mne中使用mne.io.read_raw_eeglab()讀取.set文件;
read_raw_eeglab()函數介紹:
mne.io.read_raw_eeglab(input_fname,
montage='deprecated',
eog=(),
preload=False,
uint16_codec=None,
verbose=None)
參數解讀
input_fname:.set文件的存放路徑;
montage='deprecated':該參數已經舍棄了。在0.19版本中,它的功能可以通過set_montage方法來實現;
eog:指定eog通道的通道名稱或索引,如果設置為auto,則使用包含eog和eye的通道名稱。默認情況為空元組;
preload:類型 str或者bool 如果為True,則數據將預加載到內存中,以滿足更快速的索引;
uint16_codec:類型 str | None 允許指定讀取字符數組時應用的編解碼器(比如,"latin1"或者"utf-8")
案例
#導入工具庫
import mne
import matplotlib.pyplot as plt
- 利用mne.io.read_raw_eeglab來讀取.set文件
"""
通過mne.io.read_raw_eeglab來讀取.set文件
得到原始數據對象
"""
raw = mne.io.read_raw_eeglab("Eeglab_data.set",preload=False)
- 繪制從第5s開始,5s時間窗口長的原始數據
"""
繪制從第5s開始,5s時間窗口長的原始數據
start:指定開始繪制的時間
duration:要繪制的時間窗口
從該圖中可以看出每個通道的數據波動情況
可以通過設置duration的大小來放大或縮小
這個有點類似於eeglab中,放大縮小功能。
這里相同大小的窗口顯示更短時間的數據,相當於eeglab中的選中數據進行放大,
反之,即縮小。
"""
raw.plot(start=5, duration=5)
plt.show()
"""
設置duration=1,相當於放大
"""
raw.plot(start=5, duration=1)
plt.show()
- 通常raw的數據訪問方式如下:
data, times = raw[picks, time_slice]
picks:是根據條件挑選出來的索引;
time_slice:時間切片
想要獲取raw中所有數據,以下兩種方式均可:
data,times=raw[:]
data,times=raw[:,:]
"""
獲取1-3秒內的EEG數據
獲取前5條 時間從1秒開始到3秒為止的數據
raw[:5,int(sfreq*1):int(sfreq*3)]
"""
sfreq=raw.info['sfreq']
data,times=raw[:5,int(sfreq*1):int(sfreq*3)]
plt.plot(times,data.T)
plt.title("Sample channels")
腦機學習者Rose筆記分享,QQ交流群:903290195
更多分享,請關注公眾號