When a user's callback accidentally runs inference on the full image instead of the provided slice, detections get incorrect offsets applied, causing a repeating grid pattern. Add a validation check in _run_callback that emits a SupervisionWarnings warning when any detection coordinate exceeds the slice dimensions or is negative. An instance flag prevents repeated warnings across many slices. - Wrap _out_of_slice_bounds_warned check-and-set in threading.Lock to prevent duplicate warnings under ThreadPoolExecutor with thread_workers > 1 - Change stacklevel=2 to stacklevel=1 — under executor.submit the stacklevel=2 frame points into concurrent.futures internals, not user code - Assert exactly 1 warning fires with thread_workers=4 (validates Lock fix) - Assert no warning for detection touching but not exceeding slice boundary (pins > vs >= semantics) - Assert second slicer call does not re-warn (documents once-per-instance semantic) - Extract warning message into `msg` variable to satisfy E501 line-length limit --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Borda <6035284+Borda@users.noreply.github.com> Co-authored-by: Claude Code <noreply@anthropic.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| tools | ||
| utils | ||
| __init__.py | ||
| test_core.py | ||
| test_csv.py | ||
| test_from_adapters.py | ||
| test_from_sam.py | ||
| test_json.py | ||
| test_line_counter.py | ||
| test_polygon_zone_annotator.py | ||
| test_polygonzone.py | ||
| test_vlm.py | ||