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

62 lines
2.6 KiB
Markdown
Raw 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-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 能完成本次显示和缓存目标;后续真实体素化再引入更合理。
## 待确认问题
- 本次用户已明确无需二次确认,直接执行。