frames
-> mask (glare, optional tools)
-> SLAM (camera path + 3D points)
-> voxel coverage (visited / not visited)
-> coverage.ply, metrics.json, minimap.png
| Path | Job |
|---|---|
datasets/ |
Load C3VD, EndoSLAM, etc. |
segmentation/ |
Masks before SLAM |
slam/ |
ORB-SLAM3 or fallback VO |
coverage/ |
Voxel visited flags |
eval/ |
ATE and recall numbers |
capture/ |
Live webcam / capture card |
viz/ |
PLY and minimap images |
Main script: src/scope_coverage_map/pipeline.py
- Fallback VO: OpenCV features. Runs on Windows without C++ build. Weaker on long clips.
- ORB-SLAM3: Build on WSL2. Better tracking when set up.
- Shiny tissue: few features, drift.
- Moving tissue: map warps.
- Tools in view: can confuse tracking (mask helps).
- One camera: scale can be wrong until aligned to ground truth.