2026-05-18-17-40-02 构建导丝分割Web系统

This commit is contained in:
2026-05-18 17:49:30 +08:00
commit debd0bfd50
22 changed files with 1349 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
# 实现方案
开始时间2026-05-18-17-40-02
## 总体架构
- `backend/`Python FastAPI 服务,负责文件上传、帧抽取、导丝分割、结果落盘和静态文件服务。
- `frontend/`:单页 Web 操作台,使用原生 HTML/CSS/JS避免额外前端构建依赖。
- `storage/`:运行时存放上传文件、处理帧、掩膜、叠加图和输出视频。
- `scripts/`:生成演示视频、启动服务和测试辅助脚本。
- `tests/`:算法与 API 的基础回归测试。
## 分割方法
1. `hessian_ridge`
- 对灰度图做 CLAHE 增强。
- 使用 `skimage.filters.frangi` 进行多尺度细线/管状结构增强。
- 自适应阈值与形态学清理后输出掩膜。
2. `edge_morphology`
- 对反相增强图执行黑帽/顶帽和 Canny 边缘提取。
- 结合细长形态学核连接断裂线段。
- 用连通域面积过滤去除噪声。
3. `temporal_difference`
- 视频场景下利用相邻帧差分提取移动细线候选。
-`hessian_ridge` 的结构响应相交/相并,降低静态骨骼假阳性。
- 图片场景无前一帧时自动退化为 `hessian_ridge`
4. `fusion`
- 将 Hessian、边缘形态学、时序差分结果按权重融合。
- 提供更稳定的第一版默认结果。
5. `compare`
- 对同一批帧运行多种方法,前端以矩阵方式对比。
## Web 交互
- 上传图片区和算法参数面板置于首屏,面向工程调试而非营销页。
- 结果区显示原帧、叠加图、掩膜覆盖率、细线骨架长度等指标。
- 提供输出视频与单帧结果链接。
- 页面风格采用冷静的医学影像工作台:深色背景、清晰边界、克制高亮。
## 部署方式
- 使用 Python 虚拟环境安装依赖。
- `scripts/run_dev.sh` 启动 FastAPI默认监听 `0.0.0.0:8000`
- FastAPI 直接服务前端静态文件,访问 `http://127.0.0.1:8000`
## 后续扩展路径
- 增加 PyTorch/ONNX 模型适配器,接入训练好的 U-Net/FRA-Net/MSLNet 类模型。
- 接入 CathAction 或自有标注数据训练流程。
- 增加人工修正、导丝中心线导出、端点定位和时序跟踪。