Repository navigation
Add OME-Zarrs to an already open BigDataViewer - #150
Merged
Merged
Conversation
stefanhahmann
force-pushed
the
127-add-to-open-bdv
branch
8 times, most recently
from
October 12, 2026 09:56
9211a8f to
abe44ad
Compare
stefanhahmann
force-pushed
the
127-add-to-open-bdv
branch
from
October 12, 2026 15:10
f698958 to
f27d1ff
Compare
stefanhahmann
force-pushed
the
127-add-to-open-bdv
branch
6 times, most recently
from
October 13, 2026 18:59
4ed8a1f to
be870d1
Compare
xulman
reviewed
Oct 21, 2026
stefanhahmann
added a commit
that referenced
this pull request
Oct 23, 2026
It becomes the only focus listener, so PyramidalService and the BDV opener share one precedence rule (review of #150). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
stefanhahmann
added a commit
that referenced
this pull request
Oct 23, 2026
PyramidalBdv.getBdvHandle() knew only the last of several BDVs, so a window could check the wrong viewer (review of #150). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
stefanhahmann
force-pushed
the
127-add-to-open-bdv
branch
from
October 23, 2026 11:24
134b84a to
06b5505
Compare
stefanhahmann
added a commit
that referenced
this pull request
Oct 23, 2026
It is now the only AWT focus listener. PyramidalService follows it instead of listening itself, so it and the BDV opener share one rule for which viewer is active (review of #150). OmeZarr reports viewers it opens itself, since their focus events arrive late. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
stefanhahmann
added a commit
that referenced
this pull request
Oct 23, 2026
PyramidalBdv.getBdvHandle() knew only the last of several BDVs, so a window could check the wrong viewer (review of #150). The opener now asks ActiveViewerService for the active viewer and BdvUtils.bdvHandleOf for its handle, a client property mirroring bigdataviewer-core#227. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
stefanhahmann
force-pushed
the
127-add-to-open-bdv
branch
from
October 23, 2026 11:25
06b5505 to
ce957be
Compare
stefanhahmann
added a commit
that referenced
this pull request
Oct 23, 2026
It is now the only AWT focus listener. PyramidalService follows it instead of listening itself (review of #150). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
stefanhahmann
added a commit
that referenced
this pull request
Oct 23, 2026
PyramidalBdv.getBdvHandle() knew only the last of several BDVs, so a window could check the wrong viewer (review of #150). The opener now asks ActiveViewerService for the active viewer and BdvUtils.bdvHandleOf for its handle. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
stefanhahmann
force-pushed
the
127-add-to-open-bdv
branch
from
October 23, 2026 11:29
ce957be to
1aa50a2
Compare
BdvUtils had four similarly named show/register methods which become one show method with an optional BDVHandle param (null handle = new window, else add to that BDV). Some helpers are no longer public. The omeroChannels test moves to BdvUtilsTest. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Adds the image to an already open BDV instead of opening a new one. null opens a new window, and showInBdv() now delegates to it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The label "BigDataViewer" becomes "BigDataViewer (new window)", so it stays distinguishable from an opener that adds to an open BDV. Its name bdv-multi-resolution stays, as it is persisted. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Adds the image to the BDV holding the active pyramidal via OmeZarr.showInBdv(BdvHandle), or opens a new one if there is none. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
OmeZarrOpenActions gets showInBdv(BdvHandle), mirroring OmeZarr (null opens a new window), and showInBdv() delegates to it. Both BDV openers now go through the class OmeZarrOpenActions (like all other openers). This allows to add UI behaviour for BDV windows in one place (#127). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Dropping files, folders or URLs onto the image area of a BDV windows that were opened through this plugin before adds them to that window, regardless of the configured opener (#127). OmeZarrDropListener parses them like pasted text, checks them with isZarr and reads them with the user's settings. The reading happens in a separate thread. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
OmeZarrDropListener had no test. This one opens logo_spots with the "add to active window" opener, drops logo_labels onto the window's real DropTarget (only the transferable is faked) and checks that BDV then shows both. droppedLocations is unit tested for file lists, text and unreadable drops. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Opening logo_spots and then logo_labels: "add to active window" opens a new window only for the first and adds the second to it, while "new window" opens one window per image. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Lists the OME-Zarrs that are open, once per PyramidContents Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A dialog to choose from a subset from a list of given OME-Zarrs based on PyramidContents Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Shows several OME-Zarrs in one new BDV window, one pyramidal each, so callers no longer thread the BdvHandle through a loop themselves. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…OME-Zarr images at once. The command previously opened only the active OME-Zarr. With more than one open, in ImageJ or BDV, it now asks which to show, via OmeZarrImagesChooser, and shows them in one new BDV window, like BigDataViewer's own "Open Current Image" does. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
It is now the only AWT focus listener. PyramidalService follows it instead of listening itself (review of #150). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
PyramidalBdv.getBdvHandle() knew only the last of several BDVs, so a window could check the wrong viewer (review of #150). The opener now asks ActiveViewerService for the active viewer and BdvUtils.bdvHandleOf for its handle. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Named like withDefaultBackend Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Not once per dropped location (review of #150). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
It reports the data transfer, not the opening (review of #150). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
It only works on BDV windows (review of #150). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
stefanhahmann
force-pushed
the
127-add-to-open-bdv
branch
from
October 26, 2026 14:25
d005bb4 to
bc40c4d
Compare
|
xulman
approved these changes
Oct 27, 2026
xulman
left a comment
Contributor
There was a problem hiding this comment.
Clarified in a Zoom call. Now I'm happy :)
This was referenced Oct 27, 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.



Lets a second OME-Zarr, e.g. a segmentation, be added to a BigDataViewer window this plugin opened (part of #127):
OmeZarr.showInBdv(BdvHandle)andOmeZarrOpenActions.showInBdv(BdvHandle)(null= new window).BdvUtils' show/register methods are merged intoshow;showBdvAndRegisterWindowand the helpers are no longer public.bdv_testing/withlogo_spots(spots laid out like our logo, plus the Zarr wordmark) and their segmentationlogo_labels(including OMERO colors and contrast limits).BDV windows opened outside of this plugin are not covered by this PR; see the sketch in #127 and bigdataviewer/bigdataviewer-core#227.
🤖 Generated with Claude Code