56 lines
2.8 KiB
Markdown
56 lines
2.8 KiB
Markdown
# 需求分析
|
||
|
||
开始时间: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 冲突。
|
||
|
||
## 待确认事项
|
||
|
||
建议实现为:四状态卡片标题旁增加图标下载按钮;影像库卡片按钮区从“调阅/信息/删除”调整为“变换/阅览/信息/删除”,阅览弹层支持冠状位、矢状位,以及默认/骨窗/软组织/脑窗/肺窗等显示模式。待用户确认后执行。
|