# 需求分析:修复头部 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 分割质量,而不是只解释原因。 - 头部散点的主要原因是后端导出使用了预览抽样网格,导致实体轮廓无法闭合。