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

2.3 KiB
Raw Permalink Blame History

测试方案:头部 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=visibleHTTP 200约 431802 bytes用时约 6.56 s。
  • segmentationScope=allHTTP 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 300vox_offset=352
  • visible 范围下 头部.stl 对应 label 7体素数 11742597,覆盖 slice 13-287,共 275 层,最大单层 83903 体素。
  • all 范围下 label 7 体素数 9845171label 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后写构件会覆盖先写构件。
  • 旧的未暂存历史删除状态不应混入提交。