2026-05-19-23-47-31 优化逆向分割映射视图

This commit is contained in:
2026-05-19 23:56:24 +08:00
parent f730a1c48b
commit 2e04e2d5f9
6 changed files with 671 additions and 10 deletions

View File

@@ -0,0 +1,57 @@
# 需求分析-2026-05-19-23-47-31
## 开始时间
2026-05-19-23-47-31
## 原始需求摘要
用户要求对逆向工作区右侧视图做产品润色将“Mask 展示”重命名为“逆向分割映射视图”或“体素化映射视图”;明确该区域以二维 DICOM 切片为底图,叠加由三维 STL 模型逆向推导生成的二维分割掩码 Label Map覆盖层颜色、透明度、显示隐藏状态必须与中间“可视化工具栏”的“构件层级”实时联动右侧视图还需要独立 Slice Navigator支持逐层浏览当前 Z 轴 DICOM 切片及对应分割结果。
## 业务目标
- 将右侧结果区从“STL 实体切面”语义升级为“DICOM + STL 逆向体素化映射”的二维校验视图。
- 让医生或标注人员能在同一个二维视图中核对原始 CT 灰度影像和由 STL 构件层级推导出的 Label Map。
- 保证构件层级面板中的颜色、透明度和显隐状态立即反映在右侧叠加层中。
- 让右侧视图拥有独立于左侧 DICOM 范围控件的逐层切片浏览能力。
## 输入与输出
- 输入:
- 默认项目的 DICOM 切片预览接口 `/api/projects/:projectId/dicom-preview`
- STL preview 接口 `/api/projects/:projectId/models/:fileName/preview`
- 项目级 `moduleStyles`
- 用户选择的独立映射切片序号
- 输出:
- 右侧“逆向分割映射视图”
- DICOM Base Layer
- STL 逆向投影 Overlay Label Map
- 与构件层级联动的颜色、透明度、显示隐藏状态
- 独立 Slice Navigator
## 影响范围
- 主要影响 `WebSite/src/components/ReverseWorkspace.tsx`
- 可能需要补充 `WebSite/src/index.css` 的滑条样式。
- 不改变后端 API、不改变项目状态结构、不改变导出格式。
- 文档会新增本次需求、实现、测试方案,并更新经验记录。
## 关键约束
- 历史经验要求不要伪造无来源 Mask。本次覆盖层必须从 STL preview 几何数据推导,且每个覆盖区域对应具体 STL 构件与 `partId`
- DICOM 原始影像必须作为底层常驻显示。
- Overlay 可视属性必须直接读取 `moduleStyles`,避免右侧另建一套独立状态。
- Slice Navigator 必须独立于左侧 DICOM 切片范围,不应破坏左侧三维融合和模型切分流程。
- 当前工作区已有历史工程分析文档删除状态,本次提交不能混入这些删除。
## 风险点
- 当前后端尚未提供医学级真实体素化 Label Map本次前端只能基于 STL preview 三角面做浏览器侧逆向投影映射,精度取决于 STL 预览采样与配准状态。
- 高频拖动 Slice Navigator 会触发 DICOM 预览请求,需要防止旧请求覆盖新结果。
- Canvas 图层尺寸必须保持一致,否则 DICOM 和 Overlay 会错位。
- 构件数量和 STL 采样量较大时Overlay 绘制可能有性能压力。
## 默认假设
- 本次按已有确认执行,不在方案阶段等待二次确认。
- 右侧视图标题采用“逆向分割映射视图”,在界面中辅以 Label Map、Slice Navigator 等短标签。