import pyedflib
import numpy as np
import os
def upload_brain_wave_file():
brain_wave_list = []
# brain_wave = os.path.join(os.getcwd(), f"datasets/brain_wave")
brain_wave='chb01_01.edf'
f = pyedflib.EdfReader(brain_wave)
n = f.signals_in_file
print("signal numbers:", n)
signal_labels = f.getSignalLabels()
print("Labels:", signal_labels, len(signal_labels), sep="\n==========\n")
sample_signal=f.getSampleFrequencies()
print('sample_signal',sample_signal.shape)
signal_headers = f.getSignalHeaders()
print("Headers:", signal_headers, len(signal_headers), sep="\n===\n")
sigbufs = np.zeros((n, f.getNSamples()[0]))
timestart=f.getFileDuration()
print('timestart',timestart)
for i in np.arange(n):
sigbufs[i, :] = f.readSignal(i)
print('ooo',sigbufs)
label = f.getLabel(i)
sample_rate=f.getSampleFrequency(i)
# print('sample_rate',sample_rate)
d = list(enumerate(sigbufs[0, 0:sample_rate]))
print('da',d)
# print({label: sigbufs[0, 0:10]})
# return {label: sigbufs[0, 0:256]}
# print(sigbufs.shape)
# return sigbufs
sigbufs = upload_brain_wave_file()
print(sigbufs)
import matplotlib.pyplot as plt
# # 绘图
plt.plot(*np.array(list(enumerate(sigbufs[0, 0:256]))).T, linestyle='-', linewidth=1, color='dodgerblue')
# 显示
plt.show()
pyedflib 解析edf文件
最新推荐文章于 2024-05-09 22:06:18 发布