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

49 lines
2.3 KiB
Markdown
Raw Permalink 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.
# 测试方案 - 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 叠加。
## 医学影像数据相关边界验证
- 任意 `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` 双端点。