Go to file
2024-05-11 10:56:57 +08:00
ui 完成基本功能,需要对计算相关系数进一步优化避免卡顿 2023-09-22 20:43:58 +08:00
.gitignore 完成基本功能,需要对计算相关系数进一步优化避免卡顿 2023-09-22 20:43:58 +08:00
config.yaml 完成打开、标准化、截断功能 2023-09-21 09:29:08 +08:00
README.md 修改readme 2023-11-01 09:44:29 +08:00
requirements.txt 完成版本v1.0 2023-10-17 18:52:14 +08:00
RespCoarseAlign.py 使用零相移滤波器 2024-05-11 10:56:57 +08:00

预对齐程序使用方法

1. 安装与启动

1.1 下载程序

下载地址:RespCoarseAlignV1.0.exe
下载后直接运行

1.2 从开发环境运行

安装依赖

pip install -r requirementsg.txt

使用到的库有:

numpy        # 矩阵计算 数据处理
pandas       # 数据读取 表格处理
scipy        # 信号处理
pyedflib     # edf文件读取
matplotlib   # 画图
pySide6      # GUI
pyyaml       # 配置文件管理
numba        # 计算加速

2. 使用流程

2.1 默认配置

左上角点击默认配置选择Default Configuration

主要修改PSG文件夹心晓文件夹两个选项

默认设置会保存在config.yaml文件中,下次打开程序会自动读取配置文件

2.2 选择文件

点击刷新自动匹配同时有PSG和心晓数据的患者编号若仅存在与其中一个文件夹则会不可选中 点击打开,读取完成后会分别显示其对应的时长

2.3 信号预处理/标准化

一般保持默认,直接点击应用

2.4 信号手动对齐/截断

本步骤是为了当遇到较长或较不规则信号时进行手动预处理,一般不需要使用

PSG_补零: 在PSG信道前面补充若干个零单位为点的个数对于计算无影响仅为了信号无法自动对齐时进行人眼粗略大体动对齐
心晓_补零: 在心晓信道前面补充若干个零,单位为点的个数,对于计算无影响,仅为了信号无法自动对齐时进行人眼粗略大体动对齐
PSG_Pre: 对PSG前端截断若干个点单位为点的个数仅计算截断点开始到信号结束的部分的互相关取值
心晓_Pre: 对心晓前端截断若干个点,单位为点的个数,仅计算截断点开始到信号结束的部分的互相关取值
PSG_Post: 对PSG后端截断若干个点单位为点的个数仅计算信号开始(截断开始)到截断点结束的部分的互相关取值
心晓_Post: 对心晓后端截断若干个点,单位为点的个数,仅计算信号开始(截断开始)到截断点结束的部分的互相关取值

**_Pre**_Post的修改后点击应用,图上红线包围的内区间即为相关计算片段

点击计算对齐则计算两信号的互相关计算结果会显示在右侧计算时长与电脑性能、信号长度有关一般在1-2分钟左右程序可能进入无响应阶段不要关闭程序等待即可

点击读取对齐,则从保存的结果中读取最近的一次记录进行显示

2.5 选取对齐点

本步骤是选择自动计算或手动输入PSG信号和心晓起始点之间的距离

四个结果数据的集中程度,一定程度上反映了信号是否容易预对齐

  • 正数表示心晓开机比PSG晚PSG需要剔除前面若干个点或者心晓信号需要在前面补充若干个零
  • 负数表示心晓开机比PSG早PSG需要在前面补充若干个零或者心晓信号需要剔除前面若干个点

直接选择出现值较靠近的点,如上图可选择2475024733,可以看到大体动基本对齐,若采样率或其他因素, 会有其他区间不能对齐的情况,或者肉眼不能从大体动分辨出来的情况。接下来进行片段级复核。

2.6 片段级观测

直接点击跳转进行局部观测
左侧从上到下分别为PSG中的胸带信号THO心晓中呼吸努力信号RESPPSG中的腹带信号ABD
右侧从上到下分别为PSG中的胸带信号呼吸间期心晓中呼吸努力信号呼吸间期PSG中的腹带信号呼吸间期
对齐标准有两个取其一或并用即可

  1. 信号体动位置一致(可以存在偏移只要变化一致即可)
  2. 呼吸间期一致(可以存在偏移只要变化一致即可)

2.7 保存结果

在符合上述条件的情况下,点击保存,会在当前程序下同级目录生成或追加RespCoarseAlignInfo.csv文件,记录对齐结果

bug0: setting.yaml 不存在时程序无法打开 已修复
bug1: 预置截断时,选点后图显示不准确 已修复
bug2: 自定义起始位置spinbox编辑未结束会进行计算 已修复

todo1: 将相关计算分段计算,减少程序卡顿 已实现
todo2: 将程序编译为exe文件减少安装依赖的过程 已实现
todo3: 加入可控选择CPU数量或占用百分比避免造成电脑卡顿 后者较难实现,暂行搁置
todo4: 缩小程序文件大小 todo5: 程序退出后,进程清理不干净