Files
Head_CT_Morph/工程分析/实现方案-2026-05-03-22-36-18.md

79 lines
3.1 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
## 本次方案路径
`工程分析/实现方案-2026-05-03-22-36-18.md`
## 实现目标
完成下载文案、四状态单项 DICOM 下载、影像库阅览入口和冠状/矢状 DICOM 显示模式切换。
## 涉及文件
- `WebSite/src/App.tsx`
- `web_backend.py`
- `工程分析/经验记录.md`
## 执行步骤
1. 前端文案调整:
- 将左侧工作站区域的“下载四状态ZIP”改为“下载结果”。
- 将影像库卡片中的“调阅”改为“变换”。
2. 四状态单项下载:
- 在四状态结果卡片中,为原始序列、硬边界、高斯平滑、软过渡重建标题旁增加下载图标按钮。
- 点击按钮调用已有 `handlePackageDownload(t.key)`,复用后端现有 `prepare_deformation_zip(job_id, target)`
- 按钮在形变任务未完成、对应状态 ZIP 正在打包时禁用,并显示简短状态。
3. 后端新增影像库重建阅览接口:
- 新增 `/api/library/reformat-preview`,参数包含 `id``plane``index``window`
- `plane` 支持 `coronal``sagittal`
- `window` 支持 `default``bone``soft_tissue``brain``lung` 等固定窗宽窗位模式。
- 读取影像库 DICOM 序列为体数据,根据平面切片后用窗宽窗位转 PNG缓存到 `web_library/_preview_cache/<item_id>/reformat/`
4. 前端新增影像库阅览弹层:
- 增加 `libraryViewerItem``viewerPlane``viewerWindow``viewerSliceIndex``viewerPreview` 等状态。
- 新增“阅览”按钮,打开弹层。
- 弹层提供冠状位/矢状位分段按钮、显示模式选择、切片滑杆、当前切片计数和预览图。
- 按切片、平面、显示模式请求 `/api/library/reformat-preview`
5. 保持现有“信息”“删除”“变换”行为不变,避免影响数据选择和工作站流程。
6. 执行测试方案。
7. 将关键问题和解决方案追加到 `工程分析/经验记录.md`
8. 提交并推送 Giteacommit 信息使用 `2026-05-03-22-36-18 增加DICOM阅览和单项下载`
9. 重新部署到 `http://192.168.3.11:3005/`
## 预期实现细节
- 单项下载 target 使用现有键:
- `original`
- `hard_boundary`
- `gaussian_smooth`
- `soft_transition`
- 阅览接口返回:
- `imageUrl`
- `index`
- `count`
- `plane`
- `window`
- `patientId`
- 窗宽窗位建议:
- default沿用现有 `ct_window` 默认范围。
- bone骨窗。
- soft_tissue软组织窗。
- brain脑窗。
- lung肺窗。
## 回滚思路
如阅览接口或 UI 不符合预期,可回滚 `web_backend.py` 的新接口和 `WebSite/src/App.tsx` 中的阅览弹层及按钮;四状态单项下载和文案调整可单独保留或回退。
## 风险控制
- 不引入新的前端依赖。
- 不修改真实 DICOM 形变与输出目录结构。
- 后端预览只输出 PNG不暴露额外 DICOM 文件写操作。
- 缓存文件写入现有 `_preview_cache` 下,删除影像库条目时继续随缓存目录清理。
## 人工审核状态
待用户二次人工审核确认。未经确认不得修改业务代码。