53 lines
3.2 KiB
Markdown
53 lines
3.2 KiB
Markdown
# 需求分析 - 2026-05-08-03-57-51
|
||
|
||
## 原始需求
|
||
|
||
【需求模块】:逆向工作区 -> 右侧“Mask 展示”面板
|
||
|
||
【触发条件】:用户在可视化工具栏点击执行“模型切分”操作后。
|
||
|
||
【当前表现】:“Mask 展示”区目前显示的仍是切分后的三维模型外壳/点云,呈半透明或空心状态。
|
||
|
||
【期望表现】:“Mask 展示”区需要切换显示为二维的实心截面图像。需要同时展示模型被切开处上、下两个视角的切面。
|
||
|
||
【数据源要求】:这两个实心切面不能仅仅是 3D 模型的截面封顶 Cap,而必须直接映射并渲染对应的 DICOM 语义分割影像 Segmentation Mask。
|
||
|
||
## 目标
|
||
|
||
- 模型切分执行后,右侧“Mask 展示”不再显示 3D 外壳、半透明点云、空心模型或几何封顶。
|
||
- “Mask 展示”改为二维图像区域,并同时展示切分位置上侧、下侧两张实心截面图。
|
||
- 两张截面图的数据源必须来自 DICOM 语义分割影像/Segmentation Mask,而不是由 STL 外壳临时封顶生成。
|
||
- 截面图需与当前 DICOM 切分范围和显示平面保持一致。
|
||
|
||
## 影响范围
|
||
|
||
- 前端:
|
||
- 逆向工作区或 DICOM 阅览弹窗中的“Mask 展示”条件渲染。
|
||
- 模型切分执行后的右侧双图布局、加载状态和无 mask 状态展示。
|
||
- 后端:
|
||
- 当前 `web_backend.py` 已有 STL 上传、STL 与 DICOM 切片平面求交 mask 生成逻辑。
|
||
- 需要新增或接入真实 DICOM Segmentation Mask 数据读取、缓存和二维切片渲染能力。
|
||
- 数据:
|
||
- 需要确认工程中是否已有 DICOM SEG、RTSTRUCT、NIfTI/NRRD mask、PNG mask 序列或其他语义分割数据源。
|
||
|
||
## 约束
|
||
|
||
- 必须遵循仓库 `AGENTS.md` 中的项目修改工作流。
|
||
- 本轮使用统一开始时间戳 `2026-05-08-03-57-51`。
|
||
- 实现方案和测试方案写完后,必须等待用户二次人工审核确认;未经确认不得修改业务代码。
|
||
- 不得用 STL Cap、几何封闭面、点云投影或装饰性填充冒充 DICOM Segmentation Mask。
|
||
- 不得提交 DICOM 原始数据、STL 模型、mask 缓存图、构建产物或凭据。
|
||
|
||
## 风险点
|
||
|
||
- 当前仓库现有 mask 逻辑主要来自 STL 三角面与 DICOM 平面的交线填充,不等同于真实 DICOM Segmentation Mask。
|
||
- 如果本项目数据目录中没有现成 segmentation mask 数据源,则仅靠 STL 无法满足“直接映射 DICOM 语义分割影像”的要求,需要先补充数据上传/关联入口。
|
||
- DICOM SEG、RTSTRUCT、NIfTI、NRRD、PNG mask 序列的数据坐标系和 CT 坐标系可能不同,必须处理 spacing、origin、orientation、slice order 和标签值映射。
|
||
- “上、下两个视角”需要在实现中落到明确的切片端点:通常对应当前切分范围的起点帧和终点帧,或当前切割平面的上下两侧相邻 mask 切片。
|
||
|
||
## 待确认事项
|
||
|
||
- 当前项目是否已有真实 DICOM Segmentation Mask 文件或目录。如果没有,应由本次新增上传/关联入口,还是由用户先提供数据路径。
|
||
- “上、下两个视角”是指切分范围的起点帧/终点帧,还是同一切割平面上下两侧相邻切片。
|
||
- 需要展示的 mask 标签是否只有一个目标结构,还是多标签语义分割并按标签分别着色。
|