fix(demo): clear stale classification overlay after tracking loss

This commit is contained in:
2026-03-02 16:45:20 +08:00
parent f6859cfa79
commit ab738c1615
2 changed files with 25 additions and 16 deletions
+11 -7
View File
@@ -438,18 +438,22 @@ class ScoliosisPipeline:
copy_method = cast(
Callable[[], object] | None, getattr(v, "copy", None)
)
if copy_method is not None:
if copy_method is not None and callable(copy_method):
cached[k] = copy_method()
else:
cached[k] = v
self._last_viz_payload = cached
# Use cached payload if current is None
viz_data = (
viz_payload
if viz_payload is not None
else self._last_viz_payload
)
if viz_payload is not None:
viz_data = viz_payload
elif self._last_viz_payload is not None:
viz_data = dict(self._last_viz_payload)
viz_data["bbox"] = None
viz_data["bbox_mask"] = None
viz_data["label"] = None
viz_data["confidence"] = None
else:
viz_data = None
if viz_data is not None:
# Cast viz_payload to dict for type checking