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

3.0 KiB
Raw Permalink Blame History

测试方案 - 2026-05-04-05-56-34

静态检查

  • 执行 npm run lint,确认 TypeScript 类型检查通过。
  • 执行 npm run build,确认生产构建通过。

集成测试

  • DICOM preview API
    • 验证 axial/sagittal/coronal 均返回。
    • 验证 sagittal/coronal 返回的 spacingphysicalSizewidth/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 返回 384x421spacing.slice=1mmdisplayY=0.78125mm,物理尺寸约 300mm x 328.906mm
    • coronal 返回 384x512spacing.slice=1mmdisplayY=0.78125mm,物理尺寸约 300mm x 400mm
  • DICOM info API 验证:
    • 返回患者 WANG FANGCT、文件数 300、矩阵 512x512
    • 返回 row/column spacing=0.781mmslice=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