Files
csaxs_bec/tests
Mirko HollerandClaude Sonnet 5 b48aaa6ade
CI for csaxs_bec / test (push) Successful in 2m10s
feat(vision): make edge detection tunable (thresholds + pre-Canny blur)
Real captures (a photo of the gripper/sample gap against a CNC-machined metal
background, and the existing flomni reference_images/ set) show dense machining
scratches registering as Canny edges as strongly as the actual object boundary,
at any threshold -- verified on one real capture: low=50/high=150 finds ~203k
edge pixels, low=150/high=250 still ~76k, both dominated by texture rather than
the gripper. Raising thresholds alone can't separate "faint real edge" from
"strong but irrelevant texture" when both survive at the same gradient
magnitude.

vision_toolkit.detect_edges() gains a blur_ksize parameter (Gaussian blur before
Canny, 0 = off) for exactly this: blurring suppresses fine texture while leaving
the coarser real edge mostly intact. On the same capture, adding blur_ksize=9 on
top of low=150/high=250 drops the edge count to ~5k; blur_ksize=15 to ~1.8k.

VisionInterface exposes this as live device state (set_edge_params()/
get_edge_params(), used by "edges" mode), and VisionTuning gains edge low/high/
blur spin boxes (enabled only in "edges" mode) next to the existing mode/ROI
controls, so tuning is visual and interactive rather than a blind parameter
sweep. VISION_PIPELINE_TESTING_HOWTO.md's manual edge-inspection section is
extended accordingly.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DQpiwJcJZJKGo6Pzozfsi1
2026-09-07 07:47:21 -03:00
..
2026-06-24 12:55:32 +02:00