这个数据集原始数据是edf格式,先把它转化成mat格式!
import os
import mne
import scipy.io as sio
# 原始数据文件夹路径
input_folder = '.../CHB-MIT' #改成你自己的chb-mit数据集文件夹地址
# 保存MAT数据的文件夹路径
output_folder = '.../CHB-MAT' #改成你自己要保存到的文件夹地址
# 获取所有子文件夹
subfolders = [f for f in os.listdir(input_folder) if os.path.isdir(os.path.join(input_folder, f))]
# 遍历每个子文件夹
for subfolder in subfolders:
# 创建输出子文件夹
output_subfolder = os.path.join(output_folder, subfolder)
os.makedirs(output_subfolder, exist_ok=True)
# 获取子文件夹内的所有EDF文件
edf_files = [f for f in os.listdir(os.path.join(input_folder, subfolder)) if f.endswith('.edf')]
# 遍历每个EDF文件
for edf_file in edf_files:
# 构建EDF文件的完整路径
input_edf_file = os.path.join(input_folder, subfolder, edf_file)
# 读取EDF文件
raw = mne.io.read_raw_edf(input_edf_file, preload=True)
# 获取数据
data = raw.get_data()
# 创建MAT文件名,将EDF扩展名替换为MAT
mat_file = os.path.splitext(edf_file)[0] + '.mat'
output_mat_file = os.path.join(output_subfolder, mat_file)
# 创建一个MAT文件并保存数据
mat_data = {'data': data} # 使用你的数据变量名
sio.savemat(output_mat_file, mat_data)
print(f"转换后的数据已保存到 {output_mat_file}")
print("转换完成。")