2026-05-20-03-19-25 完善分割结果保存与STL导出
This commit is contained in:
79
工程分析/测试方案-2026-05-20-03-19-25.md
Normal file
79
工程分析/测试方案-2026-05-20-03-19-25.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# 测试方案:导出 STL、保存分割结果与项目库复核
|
||||
|
||||
测试方案文档路径:`工程分析/测试方案-2026-05-20-03-19-25.md`
|
||||
|
||||
## 静态检查
|
||||
|
||||
- 运行 `npm run lint`,确认 TypeScript 类型检查通过。
|
||||
- 运行 `git diff --check`,确认无空白错误。
|
||||
|
||||
结果:已通过。
|
||||
|
||||
## 构建检查
|
||||
|
||||
- 在 `WebSite/` 执行 `npm run build`,确认生产构建通过。
|
||||
|
||||
结果:已通过。Vite 仍有单 bundle 超过 500 kB 的既有提示,不影响本次功能。
|
||||
|
||||
## 关键业务场景验证
|
||||
|
||||
- 调用 `POST /api/projects/head-ct-demo/segmentation-results`,确认返回项目包含保存记录。
|
||||
- 调用 `/api/projects/head-ct-demo/export-bundle?targets=stl`,确认压缩包内包含原始 STL 文件。
|
||||
- 调用 `/api/projects/head-ct-demo/export-bundle?targets=segmentation,pose,stl`,确认分割、位姿与 STL 可共包导出。
|
||||
- 验证项目库 `分割结果` 右侧导出菜单参数与逆向工作区一致。
|
||||
|
||||
结果:已通过。
|
||||
|
||||
- 临时服务 `127.0.0.1:4100` 下保存接口返回 `segmentationResults`,并可看到默认 `最佳位姿`。
|
||||
- `targets=stl` 返回 HTTP 200,压缩包约 `116M`,目录包含 9 个原始 STL:会厌、气管上段、气管狭窄段、气管下段、气管整体、声门、头部、头颅、肿瘤。
|
||||
- `targets=segmentation,pose,stl` 返回 HTTP 200,约 `121433464` bytes,用时约 `7.58s`,包内包含分割 NIfTI、labels JSON、pose JSON 和 STL 原始模型。
|
||||
|
||||
## 医学影像数据相关边界验证
|
||||
|
||||
- 分割导出仍保持 DICOM 同维度 NIfTI。
|
||||
- 保存的分割结果导出时使用保存时位姿。
|
||||
- `visible/all` 分割范围继续影响 Label Map 与 labels JSON。
|
||||
|
||||
结果:已覆盖导出包结构验证;分割 NIfTI 生成逻辑未改变,继续复用上一轮完整 STL 网格实体导出链路。
|
||||
|
||||
## UI 验证
|
||||
|
||||
- 逆向工作区顶部出现 `保存至项目库`。
|
||||
- 三栏布局中左侧融合视角变窄,中部工具栏和右侧映射视图变宽。
|
||||
- 右侧图例只显示当前 slice 中有边或填充像素的构件;无构件时显示空状态。
|
||||
- 项目库分割结果区域显示保存记录和导出入口。
|
||||
|
||||
## 文档验证
|
||||
|
||||
- `Agent.md` 存在。
|
||||
- `Agent.md` 包含当前系统使用方式。
|
||||
- `主要功能` 说明在 500~1300 字范围内。
|
||||
|
||||
结果:已通过。`Agent.md` 总字数约 `1105` 字符,主要功能段落在 500~1300 字范围内。
|
||||
|
||||
## 部署验证
|
||||
|
||||
- 重新部署后验证:
|
||||
- `http://127.0.0.1:4000/api/health`
|
||||
- `http://127.0.0.1:4000/`
|
||||
- 部署后验证导出包接口。
|
||||
|
||||
结果:已通过。
|
||||
|
||||
- `tmux` 会话 `revoxelseg-dicom` 已重启,服务输出 `ReVoxelSeg DICOM server ready at http://0.0.0.0:4000/`。
|
||||
- `/api/health` 返回 `{"ok":true,"service":"revoxelseg-dicom"}`。
|
||||
- 首页 HTTP 200。
|
||||
- 部署后 `targets=stl` 导出返回 HTTP 200,约 `121372189` bytes,压缩包内包含 9 个 STL 原始模型。
|
||||
|
||||
## Git/Gitea 备份验证
|
||||
|
||||
- 提交信息包含 `2026-05-20-03-19-25` 和本次修改摘要。
|
||||
- 推送到 Gitea 成功。
|
||||
|
||||
结果:本地 Git commit 已完成;Gitea 推送重试 2 次均失败,错误为 `No route to host`,说明当前环境到 `192.168.31.5:5002` 网络不可达。待网络恢复后执行 `git push origin main` 即可补推。
|
||||
|
||||
## 风险与回归关注点
|
||||
|
||||
- STL 原始模型打包体积较大,接口验证可先用 `targets=stl` 查看目录,不反复下载全量组合。
|
||||
- 临时保存接口测试会修改 `WebSite/data/state.json`,该运行态文件不纳入提交。
|
||||
- 旧的未暂存历史删除状态不应混入提交。
|
||||
Reference in New Issue
Block a user