During our talk about “Reprojecting equirectangular images for a printed presentation” in Palmela and Vienna we presented two scripts you can use to reproject images using a so called Droste – effect. See some examples in these posts.
Here is a short overview over the software we used, you can consider this as the required runtime environment for the scripts:
|The Gimp||2.6.11||Windows; Linux; Mac|
|Mathmap Plugin for The Gimp||1.5.3||Windows; Linux; Mac|
|Adobe Pixel Bender Toolkit||2.5.449694||Windows; Mac|
One of these is a script for the Gimp’s Mathmap Plugin. The other one is a script for the Pixel Bender Toolkit. The problem with the original two scripts is, that the parameters they use have different names and they are implemented differently! E.g. sizes are pixel sizes in one script and percentages of the image size in the other script. I wanted to be able to use the same parameters in both environments. So I started to bring the scripts back together.
The main motivation for this was to be able to work on large files. The Pixel Bender stand alone version has a size limitation depending on your graphics card. This may be a maximum of 2048×2048 pixels or like in my case 4096×4096 pixels. When you want to process larger images you have to switch to The Gimp. These size limitations do not apply there! The Mathmap rendering on the other hand is really slow compared to the Pixel Bender. This is because Mathmap renders the final image and the preview on a single core of your CPU. The Pixel Bender toolkit renders both on the GPU!
This table shows links to the original scripts (Mathmap V10 and Pixel Bender V1.1) and the modified versions with exchangable parameters (Mathmap V11 and Pixel Bender V2).
|Script (Download link)||Version||Link|
|Droste for Mathmap (Original)||V10||–|
|Droste for Mathmap (PixelBender compatible Version)||V11||This article|
|Droste for PixelBender (Original)||V1.1||Homepage|
|Droste for PixelBender (Mathmap compatible version)||V2||This article|
See two screenshots of some sample settings using Mathmap and Pixel Bender and the original and transformed image:
For an example workflow on how to generate a Droste spiral effect from a 360° panoramic (or equirectangular) image image read this post.
Acknowledegements go to the following persons, who started the first versions of the scripts: Mathmap: breic, Josh Sommers; Pixel Bender: Tom Beddard
You find further information about the Math behind the Droste effect here and here.