python讀取.set文件


本教程為腦機學習者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
  1. 利用mne.io.read_raw_eeglab來讀取.set文件
"""
通過mne.io.read_raw_eeglab來讀取.set文件
得到原始數據對象
"""
raw = mne.io.read_raw_eeglab("Eeglab_data.set",preload=False)
  1. 繪制從第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()

  1. 通常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
更多分享,請關注公眾號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM