0%

一次多模态edf数据可视化练习(02)

EDF(European Data Format)是用来存储生物电信号(如 EEG/ECG/EMG)的标准格式。
以下是一份系统化的 EDF 脑电数据可分析清单,覆盖数据理解、可视化、预处理、特征提取、模型建立与展示。


🟢 第一阶段:基本信息与波形可视化

项目 说明 工具/函数
📋 通道列表 查看通道名、数量、单位 raw.ch_names, raw.info
⏱ 时长与采样率 了解数据总长度、每秒采样数 raw.info['sfreq'], raw.times
📈 波形图 绘制多通道 EEG 波形 raw.plot()
🎚 滤波前后比较 高频滤波(除肌电)、低频滤波(除漂移) raw.filter(l_freq, h_freq)

多通道波形图

多通道波形图

事件图

事件图


🟡 第二阶段:频域分析与热图

项目 说明 工具/函数
📊 PSD 功率谱图 观察 δ~γ 各频段强度 raw.plot_psd()
🌡 时频热图 短时傅里叶、小波变换等频谱变化 tfr_multitaper()
🌈 频段能量提取 计算特定频段平均能量 bandpower()(自定义)

PSD功率谱图

PSD 功率谱图

Topomap

alt text


🔵 第三阶段:空间分布与伪迹剔除

项目 说明 工具/函数
🧭 Topomap 头皮地形图 可视化某频段功率在空间分布 raw.compute_psd().plot_topomap()
👁 ICA 去伪迹 去除眼动、肌电等干扰 ICA().fit(raw)ica.exclude
🔗 通道间连接 查看脑区同步(相干性) spectral_connectivity()

Topomap 头皮地形图/ICA 去伪迹

Topomap 头皮地形图/ICA 去伪迹

ICA 去伪迹

ICA 去伪迹


🟠 第四阶段:事件与标签分析(如睡眠、任务段)

项目 说明 工具/函数
📝 标注提取 查看文件中有无注释/事件 raw.annotations
⏳ 分段 Epochs 基于标注/事件将数据切分 mne.Epochs()
📉 ERP 分析 计算时间锁定电位 evoked = epochs.average()
🛏 Hypnogram 睡眠图 绘制睡眠阶段标注图 自定义 plot or yasa.plot_hypnogram()

ERP 分析

ERP 分析

Hypnogram 睡眠图

Hypnogram 睡眠图


🔴 第五阶段:特征提取与机器学习

项目 说明 工具/函数
🧮 时间域特征 均值、峰度、方差、过零点数 numpy / tsfresh
📶 频域特征 α、β波功率,频谱斜率 psd, bandpower
🔢 非线性特征 熵、复杂性、样本熵 antropy / entropy()
🤖 分类建模 睡眠分期、情绪识别、状态识别 sklearn, xgboost, cnn, lstm

🟣 第六阶段:交互式可视化仪表盘

项目 说明 工具
📊 通道切换查看 可选通道查看波形 Plotly, Dash
🎛 多图联动 左侧时频图,右侧 Topomap Dash, Streamlit, Panel
🧭 交互头皮图 鼠标悬停查看每个电极数据 mne interactive, plotly