2026-05-24-15-37-16 修正mask线条桥接与DICOM复位入口

This commit is contained in:
2026-05-24 15:47:59 +08:00
parent f279770a0e
commit e9f0823281
7 changed files with 515 additions and 86 deletions

View File

@@ -1675,3 +1675,21 @@ C. 解决问题方案
D. 后续如何避免问题
凡是新增位姿字段,必须同时检查前端类型、默认状态、保存/导入、三维渲染、二维映射、服务端归一化、导出坐标变换和项目库回放,不能只改一个界面。涉及 DICOM 层号时要明确区分“数组索引”和“对用户显示的医学层号”。导出压缩包如果包含中文或深层路径,必须用 `tar -tzf` 验证路径完整,不要依赖 100 字节 tar name 字段。分割显示的视觉修正也应同步确认导出数据路径,避免 UI 看似实体而 NIfTI 仍是轮廓。
## 2026-05-24-15-37-16 STL 切面填充不能跨断开轮廓全局配对
A. 具体问题
用户反馈逆向分割映射视图中仍有 mask 呈线条状,导出的 `label.nii``liver_artery` 等构件出现不规则相连长线和内部黑色线条。项目库 DICOM 影像的“位置重置”也需要放到左转、右转同一工具组,减少查找成本。
B. 产生问题原因
检查 `project-mpea0n3e-akbpn``liver_artery.stl`,其二进制 STL 约 220920 个三角面、331119 条量化边,其中边界边为 0非流形边约 27 条,占 0.008%,说明它不是大面积开口模型。主要问题来自旧体素化逻辑:同一切片上把全部相交线段按扫描行收集后全局排序并两两配对。如果同一行存在多个断开的轮廓、孤立碎片或少量非流形小片,就会把不同连通区域的交点配成一条长桥;内部横向黑线则来自相邻扫描行之间的 1-2 像素细缝没有闭合。
C. 解决问题方案
前端 overlay 与服务端 NIfTI 导出均改为先按线段端点近邻关系做连通分组,每个连通组独立扫描线填充和闭合外轮廓兜底,避免跨断开轮廓配对。对已生成的二值 mask 增加小缝隙闭合,再执行内部孔洞填充,用于减少实体区域内部横向黑线。项目库 DICOM 画布增加外部 reset token把“位置重置”按钮放到左转、右转旁边直接复位缩放和平移。
D. 后续如何避免问题
后续做 STL 到 Label Map 的切面填充时,不能只按全局行交点两两配对,必须先按轮廓连通性分组。遇到长线桥接,应同时检查源 STL 的边界边/非流形边和体素化配对策略;如果 STL 是真实中心线或开口片面,只能近似显示,不能承诺恢复真实医学实体。每次修改导出算法后,至少用包含中文构件名和复杂肝脏血管的项目执行一次 `separate + all` 导出,并用 `tar -tzf` 验证文件完整。