Files
Head_CT_Morph/工程分析/需求分析-2026-05-03-22-36-18.md

56 lines
2.8 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-03-22-36-18
## 原始需求
用户提出三项修改:
1. 左侧“下载四状态ZIP”描述变为“下载结果”。
2. “四状态 DICOM 输出结果”中,原始序列、硬边界、高斯平滑、软过渡重建旁边都增加下载按钮,可以下载对应的 DICOM 文件。
3. 在“数据影像库”中,“调阅”描述变为“变换”;右侧增加“阅览”按钮,可以看 CT 冠状位、矢状位,同时可以调节 DCM 影像显示模式。
## 目标
- 调整已有按钮文案,使下载入口和变换入口更符合用户表达。
- 在四状态结果区为每个状态提供独立 DICOM 下载入口。
- 在影像库卡片中新增阅览入口,打开 DICOM 阅览弹层。
- 阅览弹层支持冠状位、矢状位切换,并支持常见 DICOM/CT 显示窗宽窗位模式切换。
## 影响范围
- `WebSite/src/App.tsx`
- 修改按钮文字。
- 增加四状态单项下载按钮。
- 增加影像库阅览弹层状态、UI 和请求逻辑。
- `web_backend.py`
- 复用或扩展现有 DICOM 读取、窗宽窗位、预览缓存能力。
- 增加影像库冠状位/矢状位阅览预览接口。
- `工程分析/经验记录.md`
- 完成后追加关键问题和解决方案。
## 当前定位
- 四状态单状态 ZIP 下载能力后端已存在:`prepare_deformation_zip(job_id, target)` 支持 `original``hard_boundary``gaussian_smooth``soft_transition`
- 前端现有 `handlePackageDownload(target)` 已支持传入 target并会轮询 ZIP job 完成后下载文件;当前仅全量 DICOM ZIP 按钮显式暴露。
- 影像库目前只有轴位切片缩略预览接口 `/api/library/preview`,使用单张 DICOM 像素生成 PNG。
- 影像库信息弹层已存在,可在其旁边新增独立阅览弹层,不必复用信息弹层。
## 约束
- 修改业务代码前必须先等待用户确认实现方案和测试方案。
- 不改变 DICOM 形变算法。
- 单状态下载应下载对应状态完整 DICOM 序列的 ZIP而不是仅下载截图。
- 阅览功能应尽量轻量,不引入大型医学影像前端库。
## 风险点
- 冠状位/矢状位预览需要读取整套 DICOM 体数据,可能比单张轴位预览更耗时;需要做缓存。
- DICOM 切片排序、窗宽窗位和方向显示若处理粗糙,可能导致阅览体验不稳定。
- 四状态卡片空间有限,新增下载按钮需要避免文字拥挤或遮挡。
- 单状态 ZIP job 与全量 ZIP job 共用 `zipJobs` 状态,需避免 target key 冲突。
## 待确认事项
建议实现为:四状态卡片标题旁增加图标下载按钮;影像库卡片按钮区从“调阅/信息/删除”调整为“变换/阅览/信息/删除”,阅览弹层支持冠状位、矢状位,以及默认/骨窗/软组织/脑窗/肺窗等显示模式。待用户确认后执行。