Skip to content

bigdataviewer-core-10.4.1

Latest
Compare
Choose a tag to compare
@tpietzsch tpietzsch released this 23 Jun 11:28
· 105 commits to master since this release

What's Changed

Tiled Renderer

The rendering logic was revised to better handle situations where a lot of partially overlapping sources are rendered (for example, arrangements of many images in BigStitcher). The new renderer splits the target area into tiles, aligned along projected source bounding boxes. Every tile is set up to contains only the sources that overlap the tile. This dramatically reduces the number of sources that have to be blended at every output pixel.

Preferences Dialog

A "Preferences..." dialog was added, with "Appearance" and "Keymap" sections. The PreferencesDialog can be extended with new SettingsPages and/or existing SettingsPages can be re-used in other projects. Settings are stored as .yaml files in the platform-specific default locations (using https://github.com/dirs-dev/directories-jvm).

The "Keymap" page allows defining and switching between different keymap profiles. Actions and behaviours that should be configurable by keymaps can be declared in an annotated CommandDescriptionsProvider subclass. See for example CloseWindowActions.java. Annotated actions and default bindings will be harvested automatically.

The "Appearance" page allows showing/hiding various overlays and switching the UI Look-and-Feel.

Support modern scaled high-dpi LAFs

Support for the excellent FlatLaf was added. These Look-and-Feels work correctly on high-dpi displays on all platforms. Most BDV Overlays and UI elements were adapted to support this, by removing assumptions such as hard-coded colors or font-sizes, etc.

AbstractViewerPanel

The abstract base class AbstractViewerPanel was lifted from ViewerPanel. Where possible, AbstractViewerPanel is now used.
This will eventually allow to re-use the Bookmark, Bounding-Box, and Manual-Transform tools in BigVolumeViewer.
This may cause binary incompatibilities that should be fixed by just recompiling.

Minor changes

  • ViewerPanel now uses scijava-listeners for listeners. New methods transformListeners(), timePointListeners(), and interpolationModeListeners() were added, and old add/remove... methods were deprecated.
  • Usage of deprecated bdv.viewer.state.ViewerState was further reduced. The only usage left is de/serializing .settings.xml files.

Merged PRs:

  • Tiled renderer for more efficient rendering of many partially overlapping sources by @tpietzsch in #134
  • improve support for modern scaled high-dpi LAFs by @axtimwalde in #116
  • AbstractViewerPanel by @tpietzsch in #132

Full Changelog: bigdataviewer-core-10.3.1...bigdataviewer-core-10.4.0