Skip to content

Omegalib based viewer for gigapixel images on tiled displays

Notifications You must be signed in to change notification settings

mivp/gigapixel-viewer

Repository files navigation

gigapixel-viewer

Omegalib based viewer for gigapixel images on tiled displays

gigaview.py

Omegalib script to run image viewer

  • loads webView components on each tile
  • passes tile information on url (config currently hard-coded for CAVE2, need to fix this)
  • calls pan and zoom functions on wand controller button presses
  • Analog stick (or d-pad): pans
  • Trigger buttons: zoom in/out
  • Can also use WASD keys to pan, ZX to zoom for testing

webView.cpp Slightly modified version of the webView module https://github.com/omega-hub/webView

  • Don't flag events processed so they can still be acted on in the python script
  • WebGL/hardware acceleration optional (extra parameter when creating view): this is because the libawesomium/chromium browser would go glitchy and spit out GLES errors after a while, disabling GPU use in the browser seems to fix the problem.

server.sh

Launch the deepzoom viewer server for the image tiles, set to accept connections from all IP ranges

  • Pass image resource as first command line arg

Uses openslide + slightly hacked demo from openslide-python

http://openslide.org/ https://github.com/openslide/openslide-python

Key modifications:

examples/deepzoom/templates/slide_tiled.html

  • Modified copy of slide_fullpage.html to hide most UI components
  • Receives tiled display parameters from url x,y,w,h
  • Sets initial pan based on tile info
  • zoomBy/zoomTo/panBy/panTo functions to simplify calling API from Omegalib

examples/deepzoom/deepzoom_tiled.py

  • Modified deepzoom_server.py to use slide_tiled.html

Testing Currently will only run on a 20 node setup like the CAVE test/cave2-emu.cfg contains an example config to emulate this on a desktop See README.md in test/ for how to use

TODO

  • Start and stop the server from the gigaview.py script
  • Add a menu to the script with different example images, when selected stop the server and start with a new image resource
  • Add an Omegalib module to allow retrieval of the tile information instead of hard coding it in gigaview.py

About

Omegalib based viewer for gigapixel images on tiled displays

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published