2026-05-07-17-28-34 实现DICOM与模型三维融合视角

This commit is contained in:
2026-05-07 17:36:34 +08:00
parent 97f5c78907
commit cbac61eabc
8 changed files with 930 additions and 174 deletions

View File

@@ -0,0 +1,51 @@
# 测试方案 - 2026-05-07-17-28-34
## 静态检查
1. `git status --short --branch`
2. `cd WebSite && npm run build`
3. `cd WebSite && npm run lint`
## 单元或集成测试
当前项目没有独立单元测试体系本次采用构建、类型检查、API 冒烟和页面运行时验证。
## 关键业务场景验证
1. 打开 `http://192.168.3.11:4000/`
2. 进入 `逆向工作区`
3. 验证 `影像与模型融合视角` 出现三维融合场景。
4. 验证 DICOM 体是黑色长方体,体表面显示当前范围最后一张切片。
5. 调整切片起点/终点:
- 显示范围变化。
- 范围文本同步变化。
- 场景重新加载后仍可交互。
6. 验证 STL 模型叠加在 CT 体上。
7. 鼠标拖拽整体场景:
- DICOM 体和 STL 模型一起旋转。
8. 调整模型位姿:
- 只有 STL 模型相对 DICOM 体移动或旋转。
9. 验证 `开始自动配准``导出 NII.GZ` 按钮仍可操作。
## 医学影像数据相关边界验证
- 融合接口最多返回 64 张切片,避免过量纹理。
- 切片起止范围需要 clamp 到 `[0, dicomCount - 1]`
- DICOM spacing 与 physicalSize 需要从现有体数据缓存中输出。
## 回归风险
- Three.js 纹理和 STL 共同渲染会增加 GPU 压力。
- 逆向工作区布局变更可能影响 Mask 选择和导出信息。
- 当前融合为归一化同场景叠加,不是最终医学空间刚性配准矩阵。
## 人工审核状态
- 本次免二次确认。
## 执行记录
- `npm run lint`:通过,实际执行 `tsc --noEmit`
- `npm run build`:通过。
- 重新部署后 `curl -I http://127.0.0.1:4000/`:返回 `HTTP/1.1 200 OK`
- 重新部署后请求 `GET /api/projects/head-ct-demo/dicom-fusion-volume?start=0&end=49&mode=soft`:返回 `width=256``height=256``start=0``end=49``total=300`、50 个切片索引、spacing 和 physicalSize。