2.3 KiB
2.3 KiB
测试方案 - 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。
关键业务场景验证
- 逆向工作区初始 DICOM 切片范围显示最高切片。
- DICOM 切片范围支持
M-N,两个端点可分别调整。 - 改变切片范围后模型不重新居中、不改变原始配准位置。
- 浏览器放大时可滚动看到 DICOM 切片范围。
- 项目库加载项目后后台预加载不会阻塞页面。
- 启用模型切分后,DICOM 帧上可看到切割 Mask 叠加。
医学影像数据相关边界验证
- 任意
dicomCount下maxSlice=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双端点。