Files
REVOXELSEG_DICOM/工程分析/测试方案-2026-05-04-05-56-34.md

69 lines
3.0 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-04-05-56-34
## 静态检查
- 执行 `npm run lint`,确认 TypeScript 类型检查通过。
- 执行 `npm run build`,确认生产构建通过。
## 集成测试
- DICOM preview API
- 验证 axial/sagittal/coronal 均返回。
- 验证 sagittal/coronal 返回的 `spacing``physicalSize``width/height` 合理。
- DICOM info API
- 验证返回 patient/study/series/image/window/spacing/sequence/source 分组。
- 验证 Pixel Spacing、Slice Spacing、Rows、Columns、文件数量等信息存在。
- STL preview API
- 验证 `limit=6000/16000/36000/72000` 返回不报错。
## 关键业务场景验证
- DICOM 影像页:
- 矢状面/冠状面不再异常扁平。
- 点击信息按钮弹出详情面板。
- 详情面板展示像素间距、切片间距、切片厚度、矩阵、物理尺寸。
- 3D 模型页:
- 不再显示白色实体和自动旋转开关。
- 实体化档位包含“超精细”。
- 默认正向静止摆放。
- 重置位姿按钮位于“整体位姿”标题右侧。
- 左键拖拽旋转,右键/Shift 拖拽平移,滚轮缩放。
- 画布交互后右侧整体位姿滑块数值同步变化。
## 医学影像数据相关边界验证
- DICOM tag 缺失时使用 fallback不导致接口 500。
- 切片间距优先 Image Position Patient 差值,再 fallback 到 Spacing Between Slices、Slice Thickness、1mm。
- 多平面物理比例不改变切片总数和当前切片编号逻辑。
## 回归风险
- 物理比例重采样可能增大图像尺寸,需要限制最大输出尺寸。
- 超精细 STL 预览可能变慢,需要保留低档位。
- 鼠标交互需避免页面滚动和右键菜单干扰。
## 人工审核状态
用户已明确本次无需人工二次确认,按本方案执行验证。
## 执行结果
- `npm run lint`:通过。
- `npm run build`通过Vite 仍提示 bundle 超过 500 kB为现有 Three.js/Recharts 依赖导致的非阻断警告。
- DICOM preview API 验证:
- `sagittal` 返回 `384x421``spacing.slice=1mm``displayY=0.78125mm`,物理尺寸约 `300mm x 328.906mm`
- `coronal` 返回 `384x512``spacing.slice=1mm``displayY=0.78125mm`,物理尺寸约 `300mm x 400mm`
- DICOM info API 验证:
- 返回患者 `WANG FANG``CT`、文件数 `300`、矩阵 `512x512`
- 返回 `row/column spacing=0.781mm``slice=1mm`,来源 `ImagePositionPatient`
- 返回物理尺寸 `400mm x 400mm x 299mm`
- STL preview API 验证:
- `limit=6000/16000/36000/72000` 均返回,首个 STL 在超精细档达到原始 `17384` 个三角面。
- 无头 Chrome 前端验证:
- DICOM 信息按钮存在。
- DICOM 信息弹窗存在,并展示像素行间距、切片间距、物理尺寸。
- 3D 页存在“超精细”,已移除“白色实体”和“自动旋转”。
- 默认位姿滑块为 `0,0,0 / 0,0,0 / 1`
- 页面包含“左键旋转”和“滚轮缩放”提示。
- 已重新部署到 `http://192.168.3.11:4000/`tmux 会话:`revoxelseg-dicom`