2.3 KiB
2.3 KiB
测试方案:头部 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,poseformat=nii.gzsegmentationScope=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,覆盖 slice13-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/healthhttp://127.0.0.1:4000/
- 对部署后的导出包端点再做一次小样本验证。
Git/Gitea 备份验证
- 提交信息包含
2026-05-20-02-55-11和本次修复摘要。 - 推送到 Gitea 成功。
风险与回归关注点
- 完整 STL 导出比预览抽样更耗时,需要观察请求耗时。
- 多构件重叠时仍按现有顺序写入 label,后写构件会覆盖先写构件。
- 旧的未暂存历史删除状态不应混入提交。