From c4c70b2ff661df3a445baee88825d07e88bffc15 Mon Sep 17 00:00:00 2001 From: duxin Date: Tue, 28 Jul 2026 17:42:12 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=80=80=E6=96=91=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=85=B3=E9=97=AD=E5=A4=A7=E9=9D=A2=E7=A7=AF?= =?UTF-8?q?=E8=BF=9E=E9=80=9A=E5=9F=9F=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - max_area 默认值 50 → 0(不过滤),大范围耀斑区域不再被误删 - 原逻辑: Otsu → 移除 >50px 连通域 → 扔掉浅水/岸边大亮斑 - 现逻辑: Otsu → 跳过面积过滤 → 保留所有亮斑区域 - 用户可手动调大 max_area 重新启用过滤 --- src/gui/panels/step2_panel.py | 2 +- src/new/services/step2_service.py | 2 +- src/new/views/step2_view.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/panels/step2_panel.py b/src/gui/panels/step2_panel.py index 657fb71..3172e07 100644 --- a/src/gui/panels/step2_panel.py +++ b/src/gui/panels/step2_panel.py @@ -84,7 +84,7 @@ class Step2Panel(QWidget): self.max_area = QSpinBox() self.max_area.setRange(0, 100000) - self.max_area.setValue(50) + self.max_area.setValue(0) self.max_area.setSpecialValueText("不过滤") self.max_area.setButtonSymbols(QSpinBox.NoButtons) # 移除居中对齐,恢复为默认的左对齐 diff --git a/src/new/services/step2_service.py b/src/new/services/step2_service.py index 9d1df34..4df2cb4 100644 --- a/src/new/services/step2_service.py +++ b/src/new/services/step2_service.py @@ -15,7 +15,7 @@ Step2 后端计算服务(耀斑区域识别) "img_path": "D:/ref.bsq", # 输入影像 "glint_wave": 750.0, # 耀斑检测波长 (nm) "method": "otsu", # otsu/zscore/percentile/iqr/adaptive/multi_band - "max_area": 50, # 最大连通域面积(可选,0 表示不过滤) + "max_area": 0, # 最大连通域面积(0 = 不过滤) "buffer_size": 10, # 岸边缓冲区大小(可选,0 表示不设置) "water_mask_path": "D:/mask.dat", # 水域掩膜(可选) "output_path": "D:/severe_glint_area.dat", # 耀斑掩膜输出 diff --git a/src/new/views/step2_view.py b/src/new/views/step2_view.py index 16baea4..2f5e0af 100644 --- a/src/new/views/step2_view.py +++ b/src/new/views/step2_view.py @@ -77,7 +77,7 @@ class Step2View(BaseView): self.max_area = QSpinBox() self.max_area.setRange(0, 100000) - self.max_area.setValue(50) + self.max_area.setValue(0) self.max_area.setSpecialValueText("不过滤") params_layout.addRow("最大连通域面积:", self.max_area)