Files
REVOXELSEG_DICOM/工程分析/测试方案-2026-05-20-02-55-11.md

66 lines
2.3 KiB
Markdown
Raw 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.
# 测试方案:头部 STL 实体导出验证
测试方案文档路径:`工程分析/测试方案-2026-05-20-02-55-11.md`
## 静态检查
- 运行 `npm run lint`,确认 TypeScript 类型检查通过。
- 运行 `git diff --check`,确认无空白错误。
结果:已通过。
## 构建检查
-`WebSite/` 执行 `npm run build`,确认生产构建通过。
结果已通过。Vite 仍提示单个 bundle 超过 500 kB此为既有体积提示不影响本次导出修复。
## 关键业务场景验证
- 启动临时服务或复用部署服务。
- 请求分割导出包:
- `targets=segmentation,pose`
- `format=nii.gz`
- `segmentationScope=visible`
- 解包并检查包含:
- `*-segmentation-label.nii.gz`
- `*-segmentation-labels.json`
- `*-pose-data.json`
结果:已通过。临时服务 `127.0.0.1:4100` 下:
- `segmentationScope=visible`HTTP 200约 431802 bytes用时约 6.56 s。
- `segmentationScope=all`HTTP 200约 667690 bytes用时约 8.51 s。
- 压缩包内包含分割 NIfTI、labels JSON 与 pose JSON。
## 医学影像数据相关边界验证
- 读取导出的 NIfTI header确认维度仍为 DICOM 同维度。
- 统计 label 体素分布,重点检查 `头部` 对应 label 的体素数量和 slice 分布不再表现为极少量散点。
- 检查导出包内 labels JSON 中 `头部.stl` 的 label 对应关系。
结果:已通过。
- NIfTI 维度:`512 x 512 x 300``vox_offset=352`
- `visible` 范围下 `头部.stl` 对应 label 7体素数 `11742597`,覆盖 slice `13-287`,共 `275` 层,最大单层 `83903` 体素。
- `all` 范围下 label 7 体素数 `9845171`label 8 `头颅.stl` 体素数 `1930290`,二者均覆盖 `275` 层。
- labels JSON 中 `头部.stl` 的 label/partId 为 `7`
## 部署验证
- 重新部署后验证:
- `http://127.0.0.1:4000/api/health`
- `http://127.0.0.1:4000/`
- 对部署后的导出包端点再做一次小样本验证。
## Git/Gitea 备份验证
- 提交信息包含 `2026-05-20-02-55-11` 和本次修复摘要。
- 推送到 Gitea 成功。
## 风险与回归关注点
- 完整 STL 导出比预览抽样更耗时,需要观察请求耗时。
- 多构件重叠时仍按现有顺序写入 label后写构件会覆盖先写构件。
- 旧的未暂存历史删除状态不应混入提交。