From 7e6f761137cdfe7b33081d16a4ee60f4bc078c6e Mon Sep 17 00:00:00 2001 From: Yorusora <2023025086@m.scnu.edu.cn> Date: Thu, 17 Jul 2025 10:57:28 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86<=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=B2=97=E5=90=8C=E6=AD=A5>=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E7=BB=98=E5=9B=BE=E5=9B=BE=E4=BE=8B=E6=9C=AA=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- func/Module_approximately_align.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/func/Module_approximately_align.py b/func/Module_approximately_align.py index 62e8d97..a63268c 100644 --- a/func/Module_approximately_align.py +++ b/func/Module_approximately_align.py @@ -958,7 +958,7 @@ class MainWindow_approximately_align(QMainWindow): # 绘制间期 ax4 = self.fig.add_subplot(322) ax4.plot(linspace(PSG_SP, PSG_EP, len(diff(tho_peaks).repeat(Config["ApplyFrequency"]))), - diff(tho_peaks).repeat(Config["ApplyFrequency"]), alpha=0.5, label="tho") + diff(tho_peaks).repeat(Config["ApplyFrequency"]), label="tho") ax4.plot(linspace(PSG_SP, PSG_EP, len(diff(orgBcg_peaks).repeat(Config["ApplyFrequency"]))), diff(orgBcg_peaks).repeat(Config["ApplyFrequency"]), label="resp") ax4.set_title("tho_interval") @@ -967,18 +967,20 @@ class MainWindow_approximately_align(QMainWindow): ax5 = self.fig.add_subplot(324) ax5.plot(linspace(orgBcg_SP, orgBcg_EP, len(diff(tho_peaks).repeat(Config["ApplyFrequency"]))), - diff(tho_peaks).repeat(Config["ApplyFrequency"])) + diff(tho_peaks).repeat(Config["ApplyFrequency"]), label="tho") ax5.plot(linspace(orgBcg_SP, orgBcg_EP, len(diff(orgBcg_peaks).repeat(Config["ApplyFrequency"]))), diff(orgBcg_peaks).repeat(Config["ApplyFrequency"]), label="resp") ax5.set_title("resp_interval") + ax5.legend() ax5.set_ylim((10, 50)) ax6 = self.fig.add_subplot(326) ax6.plot(linspace(PSG_SP, PSG_EP, len(diff(abd_peaks).repeat(Config["ApplyFrequency"]))), - diff(abd_peaks).repeat(Config["ApplyFrequency"])) + diff(abd_peaks).repeat(Config["ApplyFrequency"]), label="abd") ax6.plot(linspace(PSG_SP, PSG_EP, len(diff(orgBcg_peaks).repeat(Config["ApplyFrequency"]))), diff(orgBcg_peaks).repeat(Config["ApplyFrequency"]), label="resp") ax6.set_title("abd_interval") + ax6.legend() ax6.set_ylim((10, 50)) self.fig.canvas.draw() From fa20d947449d5b0eca381f5ca7b333d52ee65e70 Mon Sep 17 00:00:00 2001 From: Yorusora <2023025086@m.scnu.edu.cn> Date: Wed, 23 Jul 2025 09:42:23 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86<=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=B2=97=E5=90=8C=E6=AD=A5>=E4=B8=AD=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E5=8E=9F=E5=A7=8B=E4=BF=A1=E5=8F=B7=E6=97=B6=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E7=BB=98=E5=9B=BE=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- func/Module_approximately_align.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/func/Module_approximately_align.py b/func/Module_approximately_align.py index a63268c..d4b6589 100644 --- a/func/Module_approximately_align.py +++ b/func/Module_approximately_align.py @@ -1116,6 +1116,9 @@ class Data: int(Config["orgBcg_seconds"] * Config["ApplyFrequency"])) self.processed_Tho = resample(self.raw_Tho, int(Config["PSG_seconds"] * Config["ApplyFrequency"])) self.processed_Abd = resample(self.raw_Abd, int(Config["PSG_seconds"] * Config["ApplyFrequency"])) + self.processed_downsample_orgBcg = self.processed_orgBcg.copy() + self.processed_downsample_Tho = self.processed_Tho.copy() + self.processed_downsample_Abd = self.processed_Abd.copy() except Exception as e: return Result().failure( info=Constants.APPROXIMATELY_ONLY_ALIGN_RESAMPLE_FAILURE + Constants.FAILURE_REASON[ From 24ec83cd25d5ec0eac66479ee858f34719067b4e Mon Sep 17 00:00:00 2001 From: Yorusora Date: Sat, 9 Aug 2025 15:04:17 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BA=86<=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=B2=97=E5=90=8C=E6=AD=A5>=E4=B8=AD=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=E8=AF=BB=E5=8F=96=E7=9A=84=E4=B8=80?= =?UTF-8?q?=E5=A4=84=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- func/Module_approximately_align.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/func/Module_approximately_align.py b/func/Module_approximately_align.py index d4b6589..74069d5 100644 --- a/func/Module_approximately_align.py +++ b/func/Module_approximately_align.py @@ -1310,9 +1310,10 @@ class Data: def get_epoch(self): # 获取epoch try: - epoch_min = max(0, Config["pos"] // 30 // Config["ApplyFrequency"] + 1) - epoch_max = min(len(self.processed_downsample_Tho) // 30 // Config["ApplyFrequency"] - 1, - (len(self.processed_downsample_orgBcg) + Config["pos"]) // 30 // Config[ + epoch_second = Params.APPROXIMATELY_ALIGN_CONFIG_NEW_CONTENT["Second_PerEpoch"] + epoch_min = max(0, Config["pos"] // epoch_second // Config["ApplyFrequency"] + 1) + epoch_max = min(len(self.processed_downsample_Tho) // epoch_second // Config["ApplyFrequency"] - 1, + (len(self.processed_downsample_orgBcg) + Config["pos"]) // epoch_second // Config[ "ApplyFrequency"] - 1) result = {"epoch_min": epoch_min, "epoch_max": epoch_max} From 8f0f3f03656b5bf7d36f5b142ff1902f2e7aaf49 Mon Sep 17 00:00:00 2001 From: Yorusora Date: Mon, 11 Aug 2025 17:17:30 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BA=86<=E8=A3=81?= =?UTF-8?q?=E5=88=87PSG=E4=BF=A1=E5=8F=B7=E5=92=8C=E6=A0=87=E7=AD=BE?= =?UTF-8?q?=E6=98=A0=E5=B0=84>=E4=B8=AD=E9=85=8D=E7=BD=AE=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E8=AF=BB=E5=8F=96=E7=9A=84=E4=B8=80=E5=A4=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- func/Module_cut_PSG.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/func/Module_cut_PSG.py b/func/Module_cut_PSG.py index 882f241..38aaf75 100644 --- a/func/Module_cut_PSG.py +++ b/func/Module_cut_PSG.py @@ -274,7 +274,7 @@ class Data: # 转换切割点 ECG_freq = Config["ECGFreq"] raw_freq = self.freq[key] - duration_second = ((self.alignInfo["cut_index"]["back_ECG"] - self.alignInfo["cut_index"]["front_ECG"]) // 1000) + 1 + duration_second = ((self.alignInfo["cut_index"]["back_ECG"] - self.alignInfo["cut_index"]["front_ECG"]) // ECG_freq) + 1 start_index_cut = floor(self.alignInfo["cut_index"]["front_ECG"] * (raw_freq / ECG_freq)) end_index_cut = start_index_cut + (duration_second * raw_freq)