Dice with customizable images which are engraved on each side. The size of the dice, the size of the images, the depth of the engraving, the curvature of the corners, and of course the images are all customizable.
To get this to work offline, any image must be converted to a .dat file using the tool at http://customizer.makerbot.com/image_surface. That will output an array of values from 0-1 corresponding to the grayscale values 0-255 of the image. Inverting the colors of the image will ensure that the recessed image gets subtracted from other objects properly. Copy the array to a text file. IMPORTANT: be sure that your file is actually a dat file and not e.g. foo.dat.txt. Some operating systems (like Windows 7 by default) hide the actual extension. Once the dat files are in the same directory as the .scad file, and are named properly the surface() function should work.
The way I prepared my image files was to:
1 Import the image into gimp.
2 Crop the image as tightly as possible
3 Right click on the image: Image>Scale Image
4 With the aspect ratio locked, change the Higher of the width and height to 100 pixels.
5 Right click on the image: Image>Canvas Size
6 With the aspect ratio UNlocked, change the Lower of the width and height to 100 pixels. Click "Center". Click "Resize".
7 Right click on the image: Colors>Brightness-Contrast
8 Increase the contrast to remove the effects of the resize, and get sharper edges.
9 Export the file to jpg/gif/bmp/png (it doesn't really matter as long as the customizer tool can read the file).
10 Open http://customizer.makerbot.com/image_surface in a web browser.
11 Select the file you want to convert. Click "Invert Colors".
12 Copy the array of numbers to a text file.
13 File>Save As. In the drop-down menu "Save as type:" select "All files". This will allow you to actually set the extension to ".dat". Name the file .dat.
Your image should now create a surface() as intended.
EDIT 9-11-2014: A user noted that the printed dice are not fair with certain infill patterns. Recommend 100% infill.
EDIT 2-25-2015: A user reported a server error in customizer if one side is left without an image. Either use a null image for any blank side, or download the code and compile offline.