# Signal_Label_Reborn

数据结构化-数据标注程序



每个功能运行时，若./Config目录下不存在该功能对应的yaml配置文件，则程序将创建一份默认的配置文件。配置文件的内容主要涉及一些对应功能的界面默认初始值的设置，此配置文件可以根据用户需要自行修改，或是在修改了相应参数后，在导入设置界面中单击“确定”即可保存相关参数到yaml文件中。

## TODO LIST：
~~1、根据选定区域获取峰值时，将绘制的区域设置为有上限和下限的矩形，根据矩形获取到的横纵区域来计算峰值~~

~~2、体动选取区域的判别尚未做的很完整，选中多个已有的体动的区域时可能会出现问题~~

~~3、部分模块在导入失败后重新导入时会出现问题，已知模块有<人工纠正>、<体动标注>、<呼吸可用性及间期标注>、<睡眠呼吸暂停事件标注>，主要是涉及到按钮状态的设置，有待后续优化。当前将这些有涉及到的功能，禁止了导入数据后在不关闭界面的情况下直接重新导入~~

4、在J峰算法定位的时候滤波导致的信号偏移，导致之后的峰值坐标点与实际峰值出现偏移

~~5、写一个脚本，用于直接从ConfigParams.py中读取文件命名规则，并直接自动化写入到一个markdown文件中。目的是方便文件命名的修改~~

~~6、<呼吸可用性及间期标注>的体动显示做一个和<BCG的质量标注>一样的可以根据勾选来显示需要显示的体动~~

~~7、各个模块中的检测父级文件夹是否存在的功能仍存在问题，无法正确创建文件夹~~

~~8、将导入设置中的采样率修改为自动获取数据文件名中的采样率~~

## 1、主菜单

![](/img/0.png)

| 序号 | 主要功能                                                     |
| ---- | ------------------------------------------------------------ |
| 1    | 显示当前选择的数据根目录路径。                               |
| 2    | 显示当前选择的数据根目录路径下存放着的数据编号，获取数据编号的方式是识别./OrgBCG_Text路径下有哪些数据编号的文件夹。 |
| 3    | 单击进入数据根目录选择。                                     |



## 2、数据粗同步

![](/img/1.png)

![](/img/2.png)

| 序号 | 主要功能                                                     |
| ---- | ------------------------------------------------------------ |
| 1    | 打开导入设置面板，设置输入信号和输出信号的路径和采样率，设置采样率时，路径会随之而自动变化。若需要导入自定义名称的数据文件和保存自定义名称的数据文件，请设置采样率后再手动输入路径。<br />导入设置面板中可以设置呼吸提取滤波器的参数和显示数据频率，显示数据频率为绘图所使用的数据频率，一般保持为5Hz，不需要修改。 |
| 2    | 导入设置面板设置正确后，点击即可导入数据。                   |
| 3    | 将数据保存到所设置的保存路径中。                             |
| 4    | 设置信号是否进行去基线处理。                                 |
| 5    | 设置信号是否进行标准化处理。                                 |
| 6    | 设置信号是否不经过处理，直接显示原始信号。若勾选此选项，则去基线和标准化的选择都将失效。 |
| 7    | 导入数据后单击此按钮将开始信号的预处理/标准化并进行绘图。    |
| 8    | 进行信号前补充若干个零的设置。                               |
| 9    | 进行信号前截断若干个点的设置。                               |
| 10   | 进行信号后截断若干个点的设置。                               |
| 11   | 单击此按钮将应用8、9、10设置的选项，绘图区中将绘出对应截断的红色虚线。 |
| 12   | 操作4后单击此按钮应用所设置的参数进行互相关的计算。          |
| 13   | 设置Epoch。                                                  |
| 14   | 单击此按钮将跳转到13中设定的Epoch。                          |
| 15   | Epoch每次以1或10或100为单位进行跳转。                        |



## 3、预处理

![](/img/3.png)

![](/img/4.png)

| 序号 | 主要功能                                                     |
| ---- | ------------------------------------------------------------ |
| 1    | 打开导入设置面板，设置输入信号和输出信号的路径和采样率，设置采样率时，路径会随之而自动变化。若需要导入自定义名称的数据文件和保存自定义名称的数据文件，请设置采样率后再手动输入路径。 |
| 2    | 导入设置面板设置正确后，点击即可导入数据。                   |
| 3    | 将数据保存到所设置的保存路径中。                             |
| 4    | 显示预处理模式，为BCG或ECG。                                 |
| 5    | 带通滤波器参数设置。                                         |
| 6    | 单击即可根据所设置的滤波参数进行结果的输出，结果将输出到绘图区。 |



## 4、BCG的J峰算法定位

![](/img/5.png)

![](/img/6.png)

| 序号 | 主要功能                                                     |
| ---- | ------------------------------------------------------------ |
| 1    | 打开导入设置面板，设置输入信号和输出信号的路径和采样率，设置采样率时，路径会随之而自动变化。若需要导入自定义名称的数据文件和保存自定义名称的数据文件，请设置采样率后再手动输入路径。 |
| 2    | 导入设置面板设置正确后，点击即可导入数据。                   |
| 3    | 将数据保存到所设置的保存路径中。                             |
| 4    | 带通滤波器参数设置。                                         |
| 5    | 寻峰参数，一般保持默认值。                                   |
| 6    | 一般保持默认值。                                             |
| 7    | 寻峰参数，一般保持默认值。                                   |
| 8    | 勾选此选项时，将强制使用CPU来进行模型预测，不勾选时，若设备支持CUDA，则默认使用GPU进行模型预测。 |
| 9    | 用于预测的模型列表。                                         |
| 10   | 单击即可根据所设置的滤波参数进行结果的输出，结果将输出到绘图区。 |



## 5、ECG的R峰算法定位

![](/img/7.png)

![](/img/8.png)

| 序号 | 主要功能                                                     |
| ---- | ------------------------------------------------------------ |
| 1    | 打开导入设置面板，设置输入信号和输出信号的路径和采样率，设置采样率时，路径会随之而自动变化。若需要导入自定义名称的数据文件和保存自定义名称的数据文件，请设置采样率后再手动输入路径。 |
| 2    | 导入设置面板设置正确后，点击即可导入数据。                   |
| 3    | 将数据保存到所设置的保存路径中。                             |
| 4    | 带通滤波器参数设置。                                         |
| 5    | 寻峰参数，一般保持默认值。                                   |
| 6    | 用于检测的方法列表。                                         |
| 7    | 单击即可根据所设置的滤波参数进行结果的输出，结果将输出到绘图区。 |



## 6、人工纠正

![](/img/9.png)

![](/img/10.png)

| 序号 | 主要功能                                                     |
| ---- | ------------------------------------------------------------ |
| 1    | 打开导入设置面板，设置输入信号和输出信号的路径和采样率，设置采样率时，路径会随之而自动变化。若需要导入自定义名称的数据文件和保存自定义名称的数据文件，请设置采样率后再手动输入路径。 |
| 2    | 导入设置面板设置正确后，点击即可导入数据。                   |
| 3    | 将数据保存到所设置的保存路径中。                             |
| 4    | 显示人工纠正模式，为BCG或ECG。                               |
| 5    | 寻峰的最小间隔。                                             |
| 6    | 寻峰的最小高度。                                             |
| 7    | 根据所选的自动播放设置向前自动播放。                         |
| 8    | 暂停自动播放。                                               |
| 9    | 根据所选的自动播放设置向前自动播放。                         |
| 10   | 设置自动播放的参数。<br />自定义的参数未经程序校验，不合理的值或许会导致程序出错而崩溃。 |
| 11   | 勾选时绘图区会实时绘制光标所处位置的横纵参考线。<br />此功能在绘图横纵坐标尺度较大时使用会导致卡顿，因此一般在尺度较小的情况下使用。 |
| 12   | 显示当前处理的信号的长度（点数）。                           |
| 13   | 显示纠正前的峰值个数。（即算法定位后的峰值个数）             |
| 14   | 显示纠正后的峰值个数。                                       |
| 15   | 纠正前的峰值列表，双击某一行的峰值所在行，将跳转到对应的峰值所在的位置并绘图。 |
| 16   | 纠正后的峰值列表，双击某一行的峰值所在行，将跳转到对应的峰值所在的位置并绘图。 |
| 17   | 单击激活批量更改标签后，即可使用批量更改标签的功能。         |



## 7、数据精同步

![](/img/11.png)

![](/img/12.png)

| 序号 | 主要功能                                                     |
| ---- | ------------------------------------------------------------ |
| 1    | 打开导入设置面板，设置输入信号和输出信号的路径和采样率，设置采样率时，路径会随之而自动变化。若需要导入自定义名称的数据文件和保存自定义名称的数据文件，请设置采样率后再手动输入路径。 |
| 2    | 导入设置面板设置正确后，点击即可导入数据。                   |
| 3    | 将数据保存到所设置的保存路径中。                             |
| 4    | 设置选取的前段BCG、ECG和后段BCG、ECG的横坐标。<br />这些参数可以手动输入，也可以配合8中的设置范围工具来辅助获取。 |
| 5    | 根据所设置的前后段坐标进行前后段相关性的计算并绘图。         |
| 6    | 根据5中计算得到的相关性来进行相关对齐并绘图。                |
| 7    | 根据6中获得的相关对齐结果之后的精细对齐结果进行最终对齐并绘图。 |
| 8    | 单击激活设置范围后，即可使用设置范围的功能。                 |

