66 lines
3.0 KiB
Markdown
66 lines
3.0 KiB
Markdown
# 需求分析:导出 STL、保存分割结果与工作区布局优化
|
||
|
||
开始时间:2026-05-20-03-19-25
|
||
|
||
## 原始需求摘要
|
||
|
||
用户提出以下修改:
|
||
|
||
1. `导出全部 NII.GZ` 增加 `导出 STL 原始模型` 选项。
|
||
2. 逆向工作区 `逆向分割映射视图` 上方增加 `保存至项目库` 按钮,将当前分割结果推送到项目库的 `分割结果` 区域;项目库分割结果右侧需要具备与 `导出全部 NII.GZ` 一致的导出功能。
|
||
3. `影像与模型融合视角` 仍占地过大,需要让 `可视化工具栏` 与 `逆向分割映射视图` 更宽。
|
||
4. `逆向分割映射视图` 下方仅显示当前切片中实际出现的构件,并改为更紧密的表格形式,一行可以显示多个构件提示。
|
||
5. `head-ct-demo-pose-data.json` 是最合适的位姿,需要作为当前系统推荐/默认位姿使用。
|
||
6. 使用 `Agent.md` 撰写当前系统使用方式,并输出 500~1300 字的主要功能说明。
|
||
|
||
## 业务目标
|
||
|
||
- 让导出包成为 DICOM、分割、位姿、原始 STL 的统一归档入口。
|
||
- 将逆向工作区中的分割结果沉淀到项目库,便于后续复核和导出。
|
||
- 提高三栏工作区中操作区和二维校验区的可用宽度。
|
||
- 右侧切片图例只表达当前 slice 实际存在的 Overlay 构件,减少无关干扰。
|
||
- 默认加载最优位姿,降低用户每次进入项目后的手动调整成本。
|
||
- 提供清晰的系统使用说明文档。
|
||
|
||
## 输入与输出
|
||
|
||
- 输入:
|
||
- 当前项目 `head-ct-demo`。
|
||
- 当前模型位姿、构件样式、分割导出范围。
|
||
- `head-ct-demo-pose-data.json` 中的最佳位姿。
|
||
- 输出:
|
||
- 新增 STL 原始模型导出包内容。
|
||
- 项目级保存的分割结果记录。
|
||
- 项目库分割结果区域与导出入口。
|
||
- 优化后的工作区布局和切片构件表格。
|
||
- `Agent.md` 使用说明。
|
||
|
||
## 影响范围
|
||
|
||
- `WebSite/server.ts`
|
||
- `WebSite/src/types.ts`
|
||
- `WebSite/src/lib/api.ts`
|
||
- `WebSite/src/components/ReverseWorkspace.tsx`
|
||
- `WebSite/src/components/ProjectLibrary.tsx`
|
||
- `Agent.md`
|
||
- 工程分析文档与经验记录。
|
||
|
||
## 关键约束
|
||
|
||
- 保存至项目库必须写入后端项目状态,不能只存在组件内存。
|
||
- 导出 STL 原始模型不能把大型 STL 文件提交到 Git,只在运行时打包下载。
|
||
- 继续避免浏览器 blob 下载路径,保持后端附件直链。
|
||
- 文档备份提交只包含本次相关代码和文档,不纳入旧的未确认删除。
|
||
|
||
## 风险点
|
||
|
||
- 原始 STL 总体积较大,选择导出 STL 会明显增加压缩包体积和下载耗时。
|
||
- 保存分割结果若不携带位姿,会导致项目库导出的分割与保存时不一致。
|
||
- 图例改为当前 slice 构件后,需要依赖 Overlay 计算结果,不能只看全局显隐状态。
|
||
|
||
## 默认假设
|
||
|
||
- `保存至项目库` 保存当前位姿、导出范围和当前构件样式快照。
|
||
- 项目库分割结果导出默认使用最新保存结果的位姿与范围。
|
||
- `Agent.md` 放在项目根目录,作为系统使用说明文档。
|