Jon Cohrs and Adina Renner of the Neue Zürcher Zeitung team have detailed how they built Gaussian splats of the restricted Samos asylum center from drone footage and residents' phone video.
The NZZ story ran in February. The Samos center, built in 2021 with European Union funding, is closed to media and the public, and Greek authorities denied every access request. Cohrs was technical lead and Renner project lead, and the research was supported by the Innovation Fund for Multimedia Journalism.
The first test was the Leros camp, trained in Postshot from around 600 images extracted from Greek government promotional footage. For Samos, an anonymous source supplied drone footage flown outside the perimeter, since flights over the site are prohibited, and strong winds limited the angles covered. Two residents filmed the interiors of their own containers after the team sent short instructional videos showing a pattern of moving slowly along the walls while changing viewing angle. Resident capture was limited to living quarters, and the published story uses pseudonyms and shows no faces.
Frames were culled for sharpness in SharpFrames and color adjusted in Lightroom, with AI upscaling avoided because invented detail degraded alignment. RealityScan handled alignment, with manual control points where needed, and exported the registration and sparse point cloud in COLMAP format. Postshot trained each splat from 4K images, cut from more than 1,000 source images down to around 600 to 700. Cleanup ran in SuperSplat, and splat-transform compressed the results to SOG. The final set is three splats, one aerial model of the camp and two container interiors.
Developer Michel Grautstück built the scrollytelling and its editing tool as a Svelte app on Three.js and Spark, hosted on NZZ's Q platform, with a JSON configuration that let editors adjust camera positions, per step object visibility and transitions without touching code. At startup, a Three.js scene had to hold 60 fps and a bandwidth test a steady 8 Mbps. Devices that failed received a video synced to scroll position instead.
Highlighting parts of the camp proved harder. Spark's SplatEdit tools required splitting the model into components, and custom GLSL shaders injected through Spark's Dyno API cost too much on mobile, so the published piece uses 2D overlays locked to the viewport. Cian Jochem rebuilt the Samos landscape in Blender from QGIS elevation and satellite data via BlenderGIS, then placed the camp splat by hand because it carried no georeferencing.
Cohrs has published the full breakdown on Medium.




