bdf文件中提取元数据并分成18个channel,特征波分别为delta,theta,alpha,beta波
import pandas as pd
import numpy as np
import mne
from mne.io import concatenate_raws, read_raw_edf
import matplotlib.pyplot as plt
import datetime
from eeg_processing import iir,processing
import os
def mkdir(path_3):
folder = os.path.exists(path_3)
if not folder: # 判断是否存在文件夹如果不存在则创建为文件夹
os.makedirs(path_3) # makedirs 创建文件时如果路径不存在会创建这个路径
print("--- new folder... ---")
print("--- OK ---")
else:
print("--- There is this folder! ---")
def read_file(eeg_path):
raw = mne.io.read_raw_edf(eeg_path, preload=True)
raw.pick_types(meg=False, eeg=True, eog=False)
eeg, times = raw[0:18]
fs = raw.info['sfreq']
ch_names = raw.info['ch_names'][0:18]
return eeg, times, fs, ch_names
def csv_read():
raw = read_raw_edf(eeg_path, preload=False)
print(raw)
data = pd.DataFrame(pd.read_csv(eeg_path, encoding="utf-8", engine='python'))
Fp2= np.array(data['EEG Fp2-Cz']) # data length : 60fps * time (video time)
print(len(Fp2))
def start_time():
eeg_time_filename = mid_path + '/eeg/read me.txt'
for line in open(eeg_time_filename, encoding='utf-8').readlines():
url = line.rstrip() # 去掉末尾隐藏的\n,避免出现空行。
data = url.split('\t')[0]
startime = data.split('time:')[-1]
start_eeg = datetime.datetime.strptime(startime, "%Y-%m-%d %H:%M:%S.%f")
print('startime:',startime)
print('start:',start_eeg)
return start_eeg
def