2.2 KiB
2.2 KiB
实现方案 - 2026-05-08-03-45-01
方案路径
围绕现有 DICOM 阅览弹窗调整右侧展示逻辑:普通阅览状态继续显示当前 DICOM 图;点击“模型切分”且 STL 已载入后,右侧区域切换为“Mask 展示”,固定展示起点帧和终点帧两张由后端真实 STL mask 生成的图片。
涉及文件
WebSite/src/App.tsx- 优化模型切分启用时的右侧 Mask 展示 UI。
- 明确展示标题、起点帧/终点帧两张图片和各自帧号。
- 避免在 mask 展示中混入单张普通 DICOM 预览。
web_backend.py- 在已有重建预览接口中增加
maskOnly输出模式,用同一 STL/DICOM 切面 mask 生成纯 mask 图片。
- 在已有重建预览接口中增加
工程分析/经验记录.md- 追加本轮关键问题和解决方案。
执行步骤
- 确认现有
modelStartPreview与modelEndPreview已通过modelId请求后端真实 mask 图。 - 调整后端
/api/library/reformat-preview:- 增加
maskOnly=1参数。 - 参数存在且带有
modelId时,输出 STL 切面 mask-only 图片,而不是普通 CT 叠加图。 - 缓存文件名区分 mask-only,避免复用旧 CT 预览缓存。
- 增加
- 调整
App.tsx中右侧预览区域:- 模型切分启用且 STL 存在时,显示 Mask 展示头部。
- Mask 展示内容固定为起点帧、终点帧两张图片。
- 两张图片均使用当前平面、窗宽窗位和范围端点请求结果。
- 空交集或加载失败时,在对应图片区域显示状态。
- 保持未启用模型切分时的普通 DICOM 阅览图不受影响。
- 运行前端类型检查、构建和后端语法检查。
- 重启后端与前端服务,验证部署地址可访问。
- 更新经验记录,提交并推送 Gitea,commit 信息使用
2026-05-08-03-45-01 调整Mask双图展示。
回滚思路
若展示逻辑异常,可回滚 WebSite/src/App.tsx 中右侧预览区域的 JSX 调整,恢复此前模型切分条件渲染逻辑。
风险控制
- 不改 STL 解析和 DICOM mask 计算核心算法,降低医学影像处理链路风险。
- 保留普通 DICOM 阅览路径,避免影响原有冠状位/矢状位查看。
- 使用现有
modelStartPreview、modelEndPreview状态,避免新增并发请求链路。