GIMP

how to

An image of an image in the same image....

a search for information

Escher started all of this. The phrase Droste effect comes from a box of dutch chocolate (which leads me to consider that my problems getting my head to work right so I could make the plug-in work right are more due to having too much coffee and not enough of my favorite dutch treat).

desktop

There are some collections on Flickr of modern day geniuses using their cameras and GIMP with the mathmap plug-in. This set of bookshelf images dated September 1, 2006 are there. Then, dated September 30, 2006 there are these chess set and board images. Both of these photographers have an enormous amount of very beautiful mathmapped images there -- these in particular compare well with the Escher inspired grids here and with these on the same web site and also with these -- lauded mathematical studies of Ecsher. The mathmap gurus on Flickr also provided these urls along with their images there. This was perhaps the first time that I was able to find anything useful in that web forum format. One of the more interesting things I found in all the "whatever" that so many forum messages are made of is this comment made in November 2006 by the author of the ninth (and current) version of the Droste Effect script and the giver of forum commenter help for installing Mathmap on Windows(tm).

You have the option right now to forego this how-to and allow yourself the experience of figuring out how to make these images from those people. It was a web style journey that I will never forget, as the pages opened and fanned out not unlike what the plug-in does to pixels. I am writing this now because I honestly believe that the software known as GIMP can demonstrate with its own tools better how to use a computer to generate these images than all the best photographers and mathematicians with all the best equipment and skills and thoughtfully created psd's can via web forum displays and the conversations/comments that follow those displays.

ugly beginnings

flickr-droste2

After looking at a lot of Mathmapped images and clicking on several links and looking again at many of the same Mathmapped images and finding some that were not in the usual pools and reading and reading and reading so many comments about how beautiful the image on that page was and about how it was being invited into a "by invite only" pool and finding several helpful things here and there on all of those web pages -- I felt too good when I made this image and the corners fit into where they were supposed to....

The key or the trick or the thing that needs to be paid careful attention to is the width of the transparent window....

This image did look cool when I uploaded it to Flickr. It looks like it is spinning into the page that contains it because of Flickr's tools that appear right above the image window where my screenshot of their tools seem to start to spin into their page layout. This all happened at the end of a long day as well....

drostr

I am embarrassed to say that I spent more than a few minutes admiring this thing on that page....

getting started

After you install the Mathmap Plug-in the plug-in should appear in the Image menu at Generic/Mathmap/Mathmap. Paste version 9 of the Droste script into the Expression Tab:

mathmap-DE

Touch the Preview button with the mouse and the gui for that script will appear in the User Values tab. Touch the Save As button and save this either in Mathmaps "Distorts" or "Map" directory and the script will always appear there after that.

mathmap-DE-uv

Mathmap should be ready to map your image for you. After some adjusting of the User Values I was able to map this beautiful image of an eye from the wikimedia collection into this stunning thing:

Eye_iris

Eye iris.jpg from commons.wikimedia.org, provided by Che.

Things start to make sense with this stuff if you start with images that are extremely predictable and easy to control, like your desktop and GIMP image windows....

A GIMP image window which recursively contains the desktop it is working upon

This is a good project to start with because the image and transparent window proportions are very important for the success of the Droste Effect. You don't even have to know the dimensions of your desktop for GIMP to make everything come out right.

Construct a screenshot that will work

For an image to work for one of these Droste image within an image within an image effects -- the area within the image to be filled must meet these two conditions: first, the inner window (or space) must have the same proportions as the bigger/outer image and second, the inner window should also be in the center of the bigger/outer image. GIMP makes it easy to construct a screenshot that meets these criterion.

the first screenshot

Get a screenshot of your desktop the way you want it to appear in the image without the containing window. From the Toolbox: Acquire/Screenshot.

screenshot-1

Save this screenshot with an interesting name, if the name of it is going to appear in title your Droste Mapped screenshot. I chose "Desktop.xcf", leaving the interesting titles for those following this how-to. For instance, you could opt to call this image "Desktop.psd" if you prefer to limit your options for later.

decorate your Image Window for a second screenshot

I titled this image "Desktop.xcf" so that this would appear in GIMP's image window title. I dressed GIMP's image windows temporarily for the second screenshot by changing things in Preferences/Image Windows/Title and Status Bar Format.

If you are running GIMP on an operating system that gives you access to a commandline, you can find all of the GIMP Image Window "entitlement" options by typing man gimprc and reading about these things there. If you don't have access to this information, a lot of what is there is somewhat self describing by fiddling with that stuff in the Preferences dialog.

Image-CanvasSize
Either change the Canvas Size

Let GIMP change the dimensions of the window correctly for you by using Image/Canvas Size.... I made my canvas size 800 pixels wide and GIMP adjusted the height to be 500 pixels. It is not necessary to center the image in resized Image Window, but it looks better for these how-to screenshots if you do.

Here is a 'scaled for a web page' screen shot of how I dressed my window decorations for this image:

image-window scaled

Add a new solid color layer to this temporary image that is not black or not yellow, so that making the image area of that window transparent in the constructed screenshot will be easier.

Now you can get a screenshot of this image window.

image-window scaled

view-menu
Or Change the Image Window View

zoom-ratio

There is also the option to change the View to get a proportionally sized Image Window for your constructed screenshot. The layer added (to ease in making the image area transparent later) will need to be the size of the desktop for this method. With this method of making a proportional Image Window, it doesn't matter so much when this layer is added.

image-window other

Both methods will maintain the proportions of the original desktop screenshot, and are good for constructing a workable screenshot.

The difference between my two image windows is what is reported in the lower part of the window. The image size and the percent of the view. They are different in these ways, so that is good.

layers
Finish the Construction

Getting the image window to be just right is more difficult to write about (and probably read about) than it is to do it -- and this step is similar.

In GIMP's Image menu select Image/Fit Canvas to Layers. My layers dialog (since I made the image window both ways) looks like this one. The single color layers that were added for simplicity can be deleted or the view toggled to off.

Edit/Copy the screenshot of the Image Window then with the original desktop screenshot highlighted in the Layers Dialog, Edit/Paste and then Layer/New Layer. This new layer is perfectly centered but the area which is to be deleted isn't since the Image Window decorations are not proportional like the image area is. Your desktop theme might be different than that. It is simple enough to check this though....

Use the Image/Canvas Size dialog to resize the canvas again. Tell it to resize the canvas to the same size you chose for the image window area when making this window and this time, be sure to center the image into the new canvas size. The yellow and black layer boundry lines should be visible all around the image area.

not-centered

For my theme, I had to move the pasted Image window 5 pixels. Your theme will probably be different. Move the pasted layer until you can see the screenshots "layer boundries" at the edges of the real windows view.

centered

One last time, in GIMP's Image menu select Image/Fit Canvas to Layers. Since I am not always confident that I have made the image perfectly or that I completely know what I am going to want to do with my GIMPed images in the future, instead of flattening or merging the visible layers together -- I tend to Edit/Copy Visible then Edit/Paste and Layer/New Layer then save the whole thing right then (just in case). However you go about things, all that needs to be done now (to make finish this image that the Droste script will be able to function perfectly with) is to make that first screenshot and the pasted and location adjusted image window one layer.

desktop-ready

Your image should look like this one, only it should be your desktop and your theme and an image size that you chose. And you should know more about the theme your desktop is using than you did before you started this how-to.

Use the Fuzzy Select Tool to select the color area that is within the black and yellow boundry lines and Edit/Cut that area from your Constructed Desktop Screenshot image and you are ready to use Mathmap.

Mathmap and the Droste Effect script
inner and outer radii

Mathmap needs to know a percentage for the outer and inner radii for mapping this image. The outer radius is simple since the whole image should fit inside of the transparent area in the center of the image, the outer radius will be 100%. For the inner radius, use GIMP's measure tool just to make sure that the transparent area is the same area that you made it:

measure-tool

It is a simple calculation. The width (or height) of the transparent area divided by the width (or height) of the whole image. For my constructed screenshot, this is 800 pixels/1680 pixels. The 'pixels' cancel each other out leaving the unitless number .4762 which falls on the number line that I usually use between 0 and 1 and is probably what I need (47 or 48%).

mathmap-defaults

Pisco Bandito suggested that when using Mathmap, that it is better to toggle the Auto Preview (found in the Settings tab) off. That was good advice, especially for an image like this where you know the numbers that the User Values needs to get. Things can get a little slow while Mathmap is automatically updating her preview for every single value change. The auto preview can be kind of nice when you get to the point where you are refining a not so clear cut image.

Shown here are the settings that the Droste Effect script starts out with. The preview looks like this:

mathmap-default-preview

Change the InnerRadius to 47 and the strands to 0. There are other User Values which the plug-in can use that are not shown in the screenshot here; the defaults for those just work, so don't worry about them right for this exercise. Using an InnerRadius of 48 made the black and yellow layer border disappear. I used Edit/Undo and started the Mathmap plug-in over again once I saw that.

a perfect Droste Effected image

desktop

The same thing only with Strands not equal to 0

Using the same constructed desktop image and changing the strands makes this image get a little weird. Also, none of these images are what I would call 'perfect'.

The xcf for this project is not included here on purpose. If you have GIMP installed then you have everything that you need to make your own mathmapped desktop image like this one. The numbers below are provided to show how they changed the effect. It should be much more fun to work on your own unique screenshot -- especially since the GNU/Linux desktop is still so easy to make to be yours and yours alone.

layers
Strands = 1

Filling in the StartingLevel with AutoPreview toggled on allows you to see the center fill in with the recursive image as you add levels. It is not super cpu intensive and if you have gotten to this point in this how to, then you might enjoy this. I know I did.

layers
Strands = 2
layers
Strands = 3
minefield-flickr-drost

other screenshot images

It was not so easy to get the browser window (okay, maybe my browser window since it seems that many of the start up options mentioned in firefox --help did not seem work as suggested.

I made a separate how-to page for making a Droste Effected Browser window.

Also, making this desktop screenshot was not as simple as I wrote about here. I recently read about an 'off by one' problem with SVN GIMP selection and maybe that was my problem. I still wrote about the extra work I had to do to make the subject image of this how to.

whirlpool-M51

files related to subject