Panorama Viewer

Panorama Viewer example

Screenshot of the Panorama Viewer displaying a 360×180° spherical panorama in front of the Semper opera house in Dresden, Germany

Theaterplatz, Semper opera house

Theaterplatz, Semper opera house, 360×180°

Palais Cosel

Palais Cosel, 360×146°

Hofkirche catholic church

Hofkirche catholic church, 360×180°

Elbe river bank, Albrechtsberg castle

Elbe river bank, Albrechtsberg castle, 360×140°

Nymph's Spa, Zwinger

Nymph's Spa, Zwinger, 360×180°

SLUB, saxon state library

SLUB, saxon state library, main reading room, 360×180°

SLUB, saxon state library

SLUB, saxon state library, first sub-level, including me 2×, 360×180°

Palais Taschenberg

Palais Taschenberg, 360×180°

A simple interactive Panorama Viewer for equirectangular panoramas (latitude/longitude maps) based on the mpicbg package. The source is tracked in a topic branch of the mpicbg repository.

For running the panorama viewer, the following packages are required in ImageJ's plugins folder:

Find a selection of example panorama pictures on the right. These images were taken in 2004–2005 in Dresden, Germany.


In the Panorama section, the field of view present in the equirectangular map is defined:

min lambda
longitude of the first pixel column in the equirectangular map
min phi
latitude of the first pixel row in the equirectangular map
horizontal field of view (FOV) in degrees
vertical field of view (FOV) in degrees

In the Viewer Window section, the size of the viewer canvas is defined:

width of the viewer canvas
height of the viewer canvas

Transferring coordinates from an equirectangular into a rectlinear projection includes trigonometric functions. Doing this on a per pixel basis is not particularly fast. Therefore, as a preprocessing step, the equirectangular map is rendered into six orthogonal cube faces surrounding the viewer. That way, each cube-face can be projected into the viewer canvas by a Homography which is a simple matrix multiplication.

In the Miscellaneous section, you can decide whether to show these internally used cube faces as separate windows or not. Modifying the content of these cube faces changes the content of the interactive viewer, which can be sort of fun.


Mouse control:
Pan, tilt and roll the panorama by dragging the image in the canvas and zoom in and out using the mouse-wheel.
Key control:
CURSOR LEFT - Pan left.
CURSOR RIGHT - Pan right.
CURSOR UP - Tilt up.
CURSOR DOWN - Tilt down.
SHIFT - Move 10× faster.
CTRL - Move browse 10× slower.
ENTER/ESC - Leave interactive mode.
I - Toggle interpolation.
V - Toggle FOV visualization.
R - Roll-mode (roll via mouse drag).
P - Pan/Tilt-mode (pan/tilt via mouse drag).