# eeg-ai-process **Repository Path**: halfskywalker/eeg-ai-process ## Basic Information - **Project Name**: eeg-ai-process - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-16 - **Last Updated**: 2024-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 使用文档 python version: 3.9.20 需求库:见目录下requirement.txt 关键需求库: - mne == 1.8.0 - matplotlib == 3.9.2 - matplotlib-inline == 0.1.7 - pandas==2.2.3 - numpy==2.0.2 - PyQt5==5.15.11 - torch==2.0.1 - tk==0.1.0 各个文件作用: main.py:测试用 subfun.py: 辅助函数 EEGINFO.py:保存常量 models file: 保存去噪用深度学习模型 --- #### myfun.py: 主要需要调用的函数都在里面,下面给出各个函数作用 使用方法: import - select_file_from_os(): 从系统选取文件 返回文件路径 - ##### select_open_method(path) 判断csv还是edf文件,返回对应文件生成的eeg数据raw 用法如下 ```python raw = select_open_method(select_file_from_os()) ``` - ##### def save_eeg_to_csv(raw): 保存raw到本地csv文件 ``` save_eeg_to_csv(raw) ``` - open_eeg_from_csv(path) 读取csv文件 无需调用 - open_eeg_from_edf(path) 读取edf文件 无需调用 --- 以上是文件读取用函数 --- - ##### eeg_plot(raw, scalings=80, start_time=-1, end_time=-1, start_point=-1, end_point=-1, picks =[]) 绘制raw的图像,scalings表示灵敏度, 单位为$\mu V$,默认80 支持两种索引方式: 按时间索引和按数据点索引,都为空时默认索引全部数据 1. 时间索引 start_time: 开始时间 end_time: 结束时间 2. 数据点索引 start_point: 开始数据点 end_point: 结束数据点 ​ picks: 索引通道, 不填写该参数时索引raw中全部通道 - ##### eeg_spectrum_plot(raw, picks='all') 绘制功率谱密度图, 用于帮助手动剔除坏道 picks: 索引通道, 不填写该参数时索引raw中全部通道 --- 以上是图像绘制类函数 --- - ##### eeg_filter(raw, highpass, lowpass) 带通滤波函数 highpass: 高通滤波:过滤频率低于该数值的波 如不需要,请填写None lowpass: 低通滤波:过滤频率高于该数值的波 如不需要,请填写None ```pyhton #只进行高通滤波 eeg_filter(raw, 0.5, None) #只进行低通滤波 eeg_filter(raw, None, 80) ``` - ##### eeg_notch_filter(raw, notchpoint) ​ 陷波滤波 ​ notchpoint: 在该点进行陷波滤波 通常为50,用法如下 ```python eeg_notch_filter(raw, 50) ``` - ##### eeg_removeEOG(raw) 使用模型对EEG数据中的EOG伪影进行去除 , 返回一个新的raw ```python raw = eeg_removeEOG(raw) ``` - ##### eeg_removeEMG(raw) 使用模型对EEG数据中的EMG伪影进行去除 ``` raw = eeg_removeEMG(raw) ``` --- 以上是波形处理函数 --- - ##### eeg_find_bad_channels(raw) 自动检测坏道, 无返回值 ```python eeg_find_bad_channels(raw) ``` - ##### eeg_select_bad_channels(raw, scalings=80) 手动检测坏道, scalling为检测坏道时使用的灵敏度 默认为 80$\mu V$ 标记坏道方法:点击左侧对应通道名称,如下图所示 ![image-20241122153625937](E:\graduate_student\program1\py_program\Annotation\code\eeg_processor\showpicture\image-20241122153625937.png) ``` eeg_select_bad_channels(raw) ``` - ##### eeg_bad_channel_remove(raw) 删除筛选出来的坏道 ``` eeg_bad_channel_remove(raw) ``` --- - ##### 标注部分 annotation_open_csv(raw) 嵌套使用 annotation_open_csv(select_file_from_os()) 来读取annotation部分 - ##### eeg_annotation(raw) **按键盘“a”键标注** 标注内容会保存在raw中 - ##### annotation_save_csv(raw) 将标注数据保存到csv中