Files
REVOXELSEG_DICOM/工程分析/需求分析-2026-05-20-15-54-46.md

3.6 KiB
Raw Blame History

需求分析:逆向工作区视图比例、白底控件、平移缩放与三维拉伸

开始时间:2026-05-20-15-54-46

原始需求摘要

用户要求继续优化逆向工作区:

  1. “DICOM 切片位置”展示效果要类似“DICOM 切片范围”,白底、格式统一,不放入 DICOM 图像中,放到图片右侧;Overlay Label Map 也不要放在图片中。
  2. 左侧“模型显示/影像与模型融合视角”略微变小、变窄,为右侧视图留出更多空间。
  3. 右侧 DICOM 影像支持鼠标滚轮放大缩小、鼠标拖拽移动;“逆向分割映射视图”增加位置重置按钮;“影像与模型融合视角”右侧也增加位置重置按钮。
  4. 逆向工作区底部三列不平行,需要拉长“逆向分割映射视图”和“可视化工具栏”,让底部对齐。
  5. “影像与模型融合视角”右侧增加自动拉伸按钮;仅当旋转 XYZ 都为 0 或 90 的整数倍时可用;按特定方向对模型做三维等比例拉伸。当前初始状态若存在自动拉伸导致 DICOM 与模型顶/底不在同一平面,后续以手动选择拉伸方向为准,不再默认自动拉伸。

业务目标

  • 让右侧二维映射视图的控件与中部工具栏控件风格一致,避免深色大面板压缩或遮挡影像。
  • 增强二维映射视图审查能力,支持缩放、拖拽和平移复位。
  • 增强三维融合视图审查能力,提供视角复位和受约束的模型等比例拉伸操作。
  • 优化三列布局比例和底部对齐,使右侧影像审查区更宽、更稳。

输入与输出

输入:

  • WebSite/src/components/ReverseWorkspace.tsx
  • WebSite/src/index.css
  • 复用逆向视图的 WebSite/src/components/ProjectLibrary.tsx

输出:

  • 右侧“DICOM 切片位置”改为白底控制卡片,放在影像右侧外部。
  • Base DICOM / Overlay Label Map 信息移出影像内部,以独立白底图层状态展示。
  • 二维映射视图支持滚轮缩放、拖拽平移、位置复位。
  • 三维融合视图支持位置复位。
  • 模型位姿增加手动三维等比例拉伸控制,旋转角度满足 90 度倍数时可用。
  • 左中右布局比例调整,右侧视图获得更多宽度,底部保持对齐。

影响范围

  • 逆向工作区三列主布局。
  • FusionThreeView 三维场景交互与工具按钮。
  • VoxelizationMappingView 二维映射视图交互、控件样式和白底布局。
  • 项目库中复用的两类视图会同步获得复位/缩放等能力。

关键约束

  • 不改变 DICOM/STL 原始数据和导出算法。
  • 不默认自动拉伸模型,避免再次引入初始错位;自动拉伸由用户手动触发。
  • 三维拉伸只在 XYZ 旋转均为 90 度整数倍时启用。
  • 二维影像缩放和平移只影响浏览视口,不改变切片索引、分割映射和导出结果。
  • 不提交历史删除状态、软著文档和无关运行态文件。

风险点

  • Three.js 场景复位需要在组件内部暴露状态触发,避免影响原有 OrbitControls。
  • 二维 Canvas 缩放和平移需要同时作用于 Base DICOM 和 Overlay Label Map保持叠加严格同步。
  • 三维模型拉伸方向若与医学物理坐标不完全一致,需要在 UI 上做成“手动校正”而非默认自动修正。
  • 调整三列比例可能影响较小视口下的滚动和可用宽度。

默认假设

  • “模型显示”指左侧“影像与模型融合视角”的三维模型/融合视图区域。
  • “自动拉伸”本轮实现为用户手动点击的等比例缩放操作,按 X/Y/Z 方向选择基于 DICOM 体范围估算缩放,不在初始加载时自动执行。