Preserve multi-polygon segmentation and refresh stereo lengths - #1952
Merged
Merged
Conversation
…l points or a tighter box
With auto compute on the other camera, the mapped shape gets the same mask and/or points pass once the transfer succeeds; a derived head/tail follows the source camera's direction.
Lets the VIAME service keep a line-prompted mask in scale with the line.
A box warped to the other camera whose mask overlaps it by less than half its union takes the mask's bounds instead. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The service's polygons list, with holes, is stored as keyed polygons on the detection; a refinement drops the components it no longer has. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
mattdawkins
added a commit
that referenced
this pull request
Sep 21, 2026
… is on A confirmed mask on a brand-new detection now takes the same keypoint pass as a drawn box, on the source camera and on the stereo copy. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
With auto-segmentation on, points inside the source mask are warped instead of the box corners, the other camera is segmented from them, and its box is that mask's bounds. Corner warping remains the fallback. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…moves it The pass runs after each click's prediction on both cameras, replacing only a line it derived itself. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The other camera's mask comes from the service, which seeds from inside the source mask and refuses an out-of-scale result, instead of DIVE warping prompts and predicting itself. Click segmentation sends every source polygon and draws every returned one.
mattdawkins
added a commit
that referenced
this pull request
Sep 22, 2026
# Conflicts: # client/dive-common/use/useModeManager.spec.ts # client/dive-common/use/useModeManager.ts # client/platform/desktop/frontend/components/ViewerLoader.vue # client/src/components/LayerManager.vue # client/src/components/annotators/useMediaController.ts # client/src/layers/EditAnnotationLayer.companion.spec.ts # client/src/layers/EditAnnotationLayer.ts
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
mattdawkins
added a commit
that referenced
this pull request
Sep 22, 2026
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
mattdawkins
added a commit
that referenced
this pull request
Sep 24, 2026
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
BryonLewis
approved these changes
Sep 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Point-click segmentation now retains every mask component and hole on a detection. Adding another polygon or refining the mask also refreshes the stereo counterpart created during that segmentation session, so changes to automatic head/tail points no longer leave the length attribute missing.
Pre-existing counterparts and user-edited counterpart lines are preserved; their length is recomputed after source point extraction finishes. Preview, frame navigation, confirmation, polygon editing, and reset retain the full component list.
The Creating Segment instructions are shorter and use 12px text. The Q button’s missing-SAM3 dialog opens DIVE’s Add-Ons page for direct installation.
Includes the auto-populate dependency from #1941, which supplies the per-click point extraction and stereo mask transfer used by this fix.
Validation: 64 targeted tests passed; ESLint and TypeScript checking passed. The desktop interaction has not been manually verified with a stereo dataset.