53 lines
2.5 KiB
Markdown
53 lines
2.5 KiB
Markdown
# 实现方案
|
||
|
||
开始时间:2026-05-03-22-02-15
|
||
|
||
## 本次方案路径
|
||
|
||
`工程分析/实现方案-2026-05-03-22-02-15.md`
|
||
|
||
## 实现目标
|
||
|
||
将硬边界、高斯平滑预览图中的黄色分界线由形变后的 Y 字视觉改为单条线,同时不改变真实 DICOM 形变输出。
|
||
|
||
## 涉及文件
|
||
|
||
- `head_extension_app.py`
|
||
- `web_backend.py`,视调用兼容性决定是否需要小幅调整
|
||
- `工程分析/经验记录.md`
|
||
|
||
## 执行步骤
|
||
|
||
1. 在 `head_extension_app.py` 中保留现有 `draw_cutoff_line`,用于原始图水平分界线。
|
||
2. 新增或调整一个预览线绘制辅助函数,用于在已经完成形变的预览图上叠加单条黄色线。
|
||
3. 修改快速预览生成逻辑:
|
||
- 原始图:仍按现有方式绘制水平分界线。
|
||
- 硬边界、高斯平滑:先对无黄线 CT 图执行 `preview_deform_2d`,再叠加单条斜向黄色分界线。
|
||
- 软过渡:保持现有视觉为单线;如实现上更简洁,可改为同一套“形变后叠线”的方式,但不得重新出现 Y 字。
|
||
4. 修改四状态过程预览生成逻辑,保证导出的 `process_comparison_4states.png` 和 `process_screenshots/hard_boundary.png`、`process_screenshots/gaussian_smooth.png` 中也是单条分界线。
|
||
5. 检查桌面预览入口是否复用同一逻辑,避免网页和桌面行为不一致。
|
||
6. 执行测试方案中的检查。
|
||
7. 修改完成后,将关键问题和解决方案追加到 `工程分析/经验记录.md`。
|
||
8. 提交并推送 Gitea 备份,commit 信息使用 `2026-05-03-22-02-15 调整预览分界线绘制`。
|
||
9. 重新部署后端和前端服务到 `http://192.168.3.11:3005/`。
|
||
|
||
## 预期实现细节
|
||
|
||
- 避免把带黄线的图片传入硬边界/高斯平滑的 `preview_deform_2d`。
|
||
- 将黄线作为预览标注层绘制在形变结果上,使标注层不再被硬边界形变撕裂。
|
||
- 单条线的位置以当前分界线高度和旋转角度估算,保持和原有预览语义一致。
|
||
|
||
## 回滚思路
|
||
|
||
如效果不符合预期,可回滚本次对 `head_extension_app.py` 或 `web_backend.py` 的修改,恢复“先画线再形变”的旧逻辑;文档记录保留问题原因和回滚说明。
|
||
|
||
## 风险控制
|
||
|
||
- 不触碰 `run_deformation` 的真实 3D 形变字段生成逻辑。
|
||
- 不修改前端交互状态和接口参数,降低联动风险。
|
||
- 测试时覆盖快速预览接口、四状态过程图、前端类型检查和构建。
|
||
|
||
## 人工审核状态
|
||
|
||
待用户二次人工审核确认。未经确认不得修改业务代码。
|