At 10mx100m, the Murten Panorama was too big to install. Now, the world can explore its digital twin.
WHO
The Terapixel Panorama project is led by the Laboratory for Experimental Museology (eM+) at EPFL, in Switzerland, in collaboration with historians, technologists, and cultural institutions. The project centres on Louis Braun’s 1893 panoramic painting of the 1476 Battle of Murten—an enormous 10×100 metre artwork that has been inaccessible to the public for over a century.
NEED
This unique cultural artifact was at risk of fading into obscurity, stored away in a military depot after only a few public exhibitions. Scholars lacked digital access to the painting’s fine detail, and the general public had no way to experience its historical and artistic richness. There was a need to preserve the artwork and make it accessible for research, education, and public engagement.
SOLUTION
The eM+ team conducted an unprecedented digitisation of the painting using a Phase One iXH 150MP camera, capturing over 27,000 images and assembling them into a 1.62 terapixel digital twin—the largest image ever created of a single object.
Boojum created a website so that the panorama can be viewed at any time as well as outside of Switzerland.
Technical aspects of this project included:
No external libraries. Everything was written from scratch in vanilla Javascript and Django.
Panorama web explorer using an image tiling pyramid that supports:
- Clickable points of interest
- Controlled cache invalidation for smooth transitions between layers
- Automatic selection of closest image server
- Anti scraping using nginx secure links
- Preloading relevant portions of the panorama
- Mobile gestures for pan and zoom.Story player that supports:
- Front-end camera keyframe editor
- Audio in multiple languages
- SRT subtitles
- Time-triggered inline video and 3D assets in webgl.Audio:
- One-shot foley samples with audio panning synced to camera
- Ambient sound channels for different areas of the panorama mixed by sampling a colored image map.CMS:
- To support text-content in multiple languages, we used a flat data structure that enabled an immediate and predictable authoring experience
- Audio and video files use Django file fields served by nginx
- Django views are cached using Django's built in cache, so the entire site becomes static once the cache is hydrated.