Skip to content

Merge Zarrv3#165

Open
indecisiveuser wants to merge 11 commits into
masterfrom
zarrv3
Open

Merge Zarrv3#165
indecisiveuser wants to merge 11 commits into
masterfrom
zarrv3

Conversation

@indecisiveuser

Copy link
Copy Markdown
Collaborator
  • Depends on Multiview-Reconstruction 9.0.1-SNAPSHOT
  • Adds on-the-fly BDV opening mode (for datasets with large number of tiles)
  • Now builds using Java 21
  • minor bug fixes

StephanPreibisch and others added 11 commits May 30, 2026 17:43
Bump multiview-reconstruction 8.1.2 -> 9.0.0-SNAPSHOT and mirror MVR's
zarrv3 dependency overrides (n5 4.0.0-alpha-12 & friends, imglib2 8.0.1,
imglib2-algorithm 0.18.3, imglib2-realtransform 4.0.5, imglib2-cache
1.0.0-beta-20, bigdataviewer-core 10.6.5, mpicbg 1.6.6) so the transitive
n5/imglib2 versions match what MVR was compiled against. Without these the
shared pom-scijava 43.0.0 BOM would force MVR's transitive n5 back to 3.x.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
MVR 9.0.0 (zarrv3) moved two things BigStitcher depends on:
- ColorStream: net.preibisch.mvrecon.fiji.spimdata.explorer.util -> util
- 5 static BDV helpers (getBDVSourceIndex, whiteSources, setFusedModeSimple,
  sameColorSources, resetBDVManualTransformations) from
  FilteredAndGroupedExplorerPanel -> util.BDVTools

Update imports and the corresponding call sites. StitchingExplorerPanel keeps
its own local setFusedModeSimple/whiteSources/getBDVSourceIndex copies, so only
its inherited resetBDVManualTransformations call needed BDVTools. updateBDV and
addListener remain on FilteredAndGroupedExplorerPanel (unchanged).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Mirror MVR's Data_Explorer "Large dataset" flow in BigStitcher's opener and
support an on-the-fly BDV mode for large/heavily-split datasets:

- plugin/BigStitcher.java: add a "Show advanced options" checkbox and a
  "Large dataset" dialog (thresholds: warn >100 views, lazy recommended >=1000,
  BDV-at-startup default off >=10000) that sets BDVPopup.useLazyMode, the
  open-BDV-at-startup choice, and the alignment log-line caps.
- StitchingExplorer: thread an openBDV flag through a new 4-arg constructor
  (3-arg delegates to true, preserving existing callers).
- StitchingExplorerPanel.initPopups(): register LazyBDVPopupStitching when
  BDVPopup.useLazyMode is set, else the eager BDVPopupStitching; branch the
  constructor auto-open accordingly.
- LazyBDVPopupStitching: a BDVPopup subclass (so the inherited bdvPopup()
  accessor and its many call sites keep working) that opens an empty BDV and
  adds/removes sources as views are selected (logic ported from MVR's
  LazyBDVPopup), rendered with MaximumProjectorARGB and the stitching
  LinkOverlay. Per-channel coloring is intentionally skipped in lazy mode.

No multiview-reconstruction changes are required; lazy support is fully
self-contained in BigStitcher.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The install script hardcoded VERSION=2.1.1-SNAPSHOT, so the generated
./bigstitcher launcher loaded a stale BigStitcher jar on the classpath. Against
multiview-reconstruction 9.0.0-SNAPSHOT this caused a NoSuchMethodError
(FilteredAndGroupedExplorerPanel.setFusedModeSimple, which moved to
util.BDVTools). Derive the version from the pom via 'mvn help:evaluate' so the
launchers always point at the freshly built jar (now 2.6.2-SNAPSHOT).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
After Global Optimization, ExecuteGlobalOpt only called bdvPopup().updateBDV()
(reloads transforms / repaints) but never reset which BDV sources are visible.
If the user had inspected links in preview mode, BDV was left showing only that
tile pair even though all stitched views remained selected in the explorer
(observed: 6 of 18 views visible).

Re-apply visibility for the full current selection via the new
StitchingExplorerPanel.showSelectedInBDV() so the complete stitched result is
shown. Pre-existing behavior (identical in MVR 8.1.2); surfaced now that the
opener defaults BigDataViewer-at-startup on.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…peg to runtime so the release javadoc jar builds
@ctrueden

Copy link
Copy Markdown
Collaborator

@cgoina @StephanPreibisch Thanks for the multiview-reconstruction 9.0.1 release supporting the new N5! I gather that this PR is necessary for BigStitcher to play nicely with those new releases? Is this PR almost ready to go? Or is there more to do?

@cgoina

cgoina commented Jun 20, 2026

Copy link
Copy Markdown
Collaborator

@ctrueden you are correct - this is just to make BigStitcher work with the latest MVR and zarrv3.

@ctrueden

Copy link
Copy Markdown
Collaborator

@cgoina Thanks. Once this merges and a new BigStitcher is released containing the update, I will be able to update Fiji as a whole to ship the new N5 libraries. Exciting! ✨

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants