Files
REVOXELSEG_DICOM/工程分析/测试方案-2026-05-08-01-53-07.md

2.3 KiB
Raw Permalink Blame History

测试方案 - 2026-05-08-01-53-07

静态检查

  • 执行 npm run lint,确认 TypeScript 类型检查通过。
  • 执行 npm run build,确认生产构建通过。
  • 执行 git diff --check,确认无空白错误。

集成验证

  • GET /api/projects/head-ct-demo/dicom-fusion-volume?start=299&end=299&mode=soft 正常返回最高切片。
  • GET /api/projects/head-ct-demo/dicom-fusion-volume?start=120&end=180&mode=soft 正常返回 start=120/end=180,并保持完整 physical depth。
  • 重新部署后 curl -I http://127.0.0.1:4000/ 返回 200。

关键业务场景验证

  1. 逆向工作区初始 DICOM 切片范围显示最高切片。
  2. DICOM 切片范围支持 M-N,两个端点可分别调整。
  3. 改变切片范围后模型不重新居中、不改变原始配准位置。
  4. 浏览器放大时可滚动看到 DICOM 切片范围。
  5. 项目库加载项目后后台预加载不会阻塞页面。
  6. 启用模型切分后DICOM 帧上可看到切割 Mask 叠加。

医学影像数据相关边界验证

  • 任意 dicomCountmaxSlice=dicomCount-1,不写死 300。
  • sliceStart > sliceEnd 时前端仍按 M-N 排序请求。
  • 当项目没有 DICOM 文件时,预加载和范围控制不报错。

回归风险

  • 后端 physical depth 改为全序列基准后,旧截图中的 DICOM box 深度可能不同,但空间关系更符合配准。
  • 切割 Mask 目前是可视化辅助层,不代表真实分割算法输出。

人工审核状态

用户已声明本次不需要二次人工确认,按默认执行确认规则直接执行。

执行结果

  • npm run lint:通过。
  • npm run build:通过,仅保留 Vite 大 chunk 体积提醒。
  • git diff --check:通过。
  • 重新部署:已通过 tmux 重启 revoxelseg-dicom 服务,运行在 http://0.0.0.0:4000/
  • curl -I http://127.0.0.1:4000/:返回 HTTP/1.1 200 OK
  • GET /api/projects/head-ct-demo/dicom-fusion-volume?start=299&end=299&mode=soft:返回 start=299/end=299/total=300/frames=1/depth=300
  • GET /api/projects/head-ct-demo/dicom-fusion-volume?start=120&end=180&mode=soft:返回 start=120/end=180/total=300/frames=61/depth=300
  • 静态检索确认已移除固定 displayStart=0,切片范围使用 sliceStart/sliceEnd 双端点。