Files
Head_CT_Morph/工程分析/需求分析-2026-05-08-02-36-12.md

54 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 需求分析
开始时间2026-05-08-02-36-12
## 原始需求
用户要求严格使用代码编纂工作流,并在最开始确认整体流程。本次需求分析、实现方案、测试方案和执行修改都不需要人工二次确认。
本次具体需求:
1. 起点、终点合并到一个进度条里,进度条有两个端点,起点和终点可以调整顺序。
2. 模型切分启用后,不能只是象征性画圈,而要真正判断 STL 模型穿透 DICOM 的位置,并用颜色标出形成 mask。
3. 模型切分下方的帧进度栏没有实际意义。模型切分开启后,不需要在最后一张显示 CT也不需要当前无意义的 CT MASK 图片;应像之前一样用 DICOM 起点帧、终点帧对模型切两刀,并在这两个特定帧上显示 mask。这个 mask 代表重建 STL 模型原始语义分割的大致切片形态。
## 目标
- 在 DICOM 阅览中新增真实 STL 模型切分能力。
- 上传 STL 后,后端解析 STL 三角面片,按当前 DICOM 平面和起点/终点帧计算切片相交区域。
- 模型切分开启时,前端显示起点帧和终点帧两张 DICOM 切片,并叠加真实 STL 切面 mask。
- 用一个双端点进度条控制起点和终点,允许两个端点交叉,交叉后按数值顺序用于切分。
- 删除/不再显示无意义的 CT MASK 图片或伪 mask。
## 影响范围
- `web_backend.py`
- STL 上传接口。
- STL 解析、缓存。
- DICOM 阅览切片接口叠加真实 STL 切面 mask。
- `WebSite/src/App.tsx`
- DICOM 阅览弹层新增 STL 上传、模型切分开关、双端点进度条和双帧 mask 展示。
- 移除模型切分状态下无意义的单帧 CT/MASK 展示。
- `工程分析/经验记录.md`
## 当前定位
当前仓库主线中没有已有 `STL/模型切分/MASK` 代码,只有 DICOM 阅览和冠状/矢状重建预览。因此本次不是修补已有“画圈”代码,而是在现有 DICOM 阅览里补上真实 STL 切片 mask 能力。
## 约束
- 不引入大型前端 3D 库。
- 不改变真实 DICOM 形变算法。
- 不提交 STL、DICOM、mask 缓存图片、ZIP 或构建产物。
- STL 与 DICOM 的空间配准优先按 DICOM `ImagePositionPatient``ImageOrientationPatient``PixelSpacing` 转换;若元数据不足,则降级假设 STL 坐标已在体素坐标系中。
## 风险点
- STL 与 DICOM 是否同一坐标系直接决定 mask 是否对齐;若输入 STL 未配准到 DICOM patient 坐标mask 位置仍会偏。
- 不同 STL 拓扑可能导致切面轮廓不闭合mask 填充可能只显示轮廓或局部区域。
- 大 STL 模型解析和多切片 mask 计算可能耗时,需要缓存解析后的三角面。
## 待确认事项
用户已明确本次不需要二次人工确认,因此文档写完后直接执行。