The original script can be found at: http://www.timeguy.com/cradek/image-to-gcode
It is released under the GPL.
The script were modified to support mutiple rough runs and a final fine run. The other feature I added is omitting empty lines and add a seperate feedrate in safetyheight. The step size and other needed variables can be edited in the source file. If you want to use the toolchange you need to save your heightmap in two resolutions, corresponding your step-setting in the image-to-gcode.py. Also you need to compensate the cutter radius, this can be done with the generic Gimp filters.
What a heightmap can look like:
This skulls origin is a GPLd blender model. It is based on medical data.
Read the story of the skull being milled.
Screenshot of the sourcemodel in blender:
And the front of the same model in styrofoam:
3D Mesh-to-Heightmap Generator – Tool for converting a 3D file to a heightmap.
The output is loadable with emc2