Files
REVOXELSEG_DICOM/工程分析/需求分析-2026-05-04-04-58-36.md

2.6 KiB
Raw Blame History

需求分析

时间戳2026-05-04-04-58-36

原始需求摘要

用户要求严格使用代码编纂工作流处理本次修改,并在开始时确认工作流整体流程;本次需求分析、实现方案、测试方案和执行修改均不需要人工二次确认。

具体需求:

  1. 项目列表旁边的 + 和向内收缩按钮重叠。
  2. 逆向工作区需要显示当前项目;影像与模型融合视角应显示 DICOM 与 STL 等比例拉伸到同种形状、中心对齐后的效果。
  3. 项目列表中矢状面和冠状面看起来不动;应在最早创建/载入项目时把图像处理并预存;同时 DICOM 应支持多种显示模式。
  4. 3D 模型页面为空;如果正在加载,应显示加载进度条;如果当前方法不可行,可调用 Python 现成包。
  5. 控制台出现 THREE.Clock: This module has been deprecated. Please use THREE.Timer instead. 和 OrbitControls 非 passive wheel 事件警告。

业务目标

  • 优化项目库左侧标题区布局,避免操作按钮重叠。
  • 让逆向工作区明确显示当前项目,并提供直观的 DICOM/STL 融合对齐预览。
  • 提升 DICOM 三方向浏览性能和可用性,支持缓存和显示模式。
  • 确保 3D 模型预览可见,并提供清晰的加载状态。
  • 尽量消除由 React Three Fiber / Drei 引入的 Three.js 弃用警告。

输入与输出

输入:

  • 当前项目 ID。
  • 默认 DICOM 序列与 STL 文件。
  • 用户选择 DICOM 平面、切片与显示模式。
  • 用户调整 STL 显示颜色、透明度和可见性。

输出:

  • 项目列表标题区不重叠。
  • 逆向工作区顶部和内容区显示当前项目。
  • 融合视图显示 DICOM 背景和 STL 归一化叠加效果。
  • DICOM 三方向预览来自后端缓存,支持窗宽窗位、骨窗、软组织、高对比模式。
  • 3D 模型显示加载进度,模型加载完成后可见。
  • 控制台不再出现 THREE.Clock 警告。

影响范围

  • WebSite/server.ts
  • WebSite/src/lib/api.ts
  • WebSite/src/types.ts
  • WebSite/src/components/ProjectLibrary.tsx
  • WebSite/src/components/ReverseWorkspace.tsx
  • 工程分析/经验记录.md

风险点

  • DICOM 三方向缓存会增加运行态内存和首次请求计算量。
  • 用原生 Three.js 替换 React Three Fiber 可减少依赖警告,但需要手动管理 renderer/camera/geometry 生命周期。
  • 当前融合视图仍是演示级对齐,不等同真实医学配准矩阵。
  • Python 本次暂不引入,因为 Node/Three.js 能完成本次显示和缓存目标;后续真实体素化再引入更合理。

待确认问题

  • 本次用户已明确无需二次确认,直接执行。