2026-05-20-02-55-11 修复头部STL实体导出
This commit is contained in:
51
工程分析/需求分析-2026-05-20-02-55-11.md
Normal file
51
工程分析/需求分析-2026-05-20-02-55-11.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# 需求分析:修复头部 STL 导出后仍呈散点
|
||||
|
||||
开始时间:2026-05-20-02-55-11
|
||||
|
||||
## 原始需求摘要
|
||||
|
||||
用户反馈在 ITK-SNAP 中打开导出的 `head-ct-demo-segmentation-label.nii` 后,“头部”类别仍呈散点形式;用户指出 STL 本体不是散点,头部 STL 在三维查看器中是完整实体表面,因此导出的分割影像也不应呈点云。
|
||||
|
||||
## 业务目标
|
||||
|
||||
- 分割影像导出必须基于真实 STL 网格生成实体 Label Map。
|
||||
- 大面数构件(尤其 `头部.stl`、`头颅.stl`)不能因预览抽样导致闭合轮廓断裂。
|
||||
- ITK-SNAP 中轴向、冠状、矢状视图应显示连续实体分割,而不是稀疏点云。
|
||||
|
||||
## 输入与输出
|
||||
|
||||
- 输入:
|
||||
- 默认项目 `head-ct-demo`。
|
||||
- DICOM 原始序列。
|
||||
- `Head_CT_ReConstruct/头部.stl` 等二进制 STL。
|
||||
- 当前模型位姿、构件显隐与导出范围。
|
||||
- 输出:
|
||||
- 修复后的分割 NIfTI / NIfTI.GZ / 导出包。
|
||||
- 工程分析文档与经验记录。
|
||||
|
||||
## 影响范围
|
||||
|
||||
- 后端 `WebSite/server.ts` 中 STL 到 NIfTI Label Map 的生成逻辑。
|
||||
- 导出接口:
|
||||
- `/api/projects/:projectId/export-mask`
|
||||
- `/api/projects/:projectId/export-nifti`
|
||||
- `/api/projects/:projectId/export-bundle`
|
||||
- 前端下载入口原则上不需要改变,除非发现参数传递问题。
|
||||
|
||||
## 关键约束
|
||||
|
||||
- 保持 DICOM 维度、spacing、slice 数量与当前导出逻辑一致。
|
||||
- 保持 labels JSON、位姿 JSON、压缩包结构兼容。
|
||||
- 不将大型 DICOM/STL 数据或运行态导出文件纳入 Git 提交。
|
||||
- 最终仍需重新部署并验证服务。
|
||||
|
||||
## 风险点
|
||||
|
||||
- 完整 STL 面数较大,不能把所有顶点长期存为大型 JS 数组造成内存膨胀。
|
||||
- 需要避免继续复用预览抽样数据做医学导出。
|
||||
- 若 STL 存在非闭合切口,仅靠扫描线偶奇填充可能仍出现孔洞,需要补充连通域填补。
|
||||
|
||||
## 默认假设
|
||||
|
||||
- 用户希望本次直接修复导出的 NIfTI 分割质量,而不是只解释原因。
|
||||
- 头部散点的主要原因是后端导出使用了预览抽样网格,导致实体轮廓无法闭合。
|
||||
Reference in New Issue
Block a user