Coarse coding is a method of converting a high resolution image into several lower resolution ones. This is done by overlaying the high resolution image with several staggered lower resolution images. If any of the fine pixels are in a coarse pixel, then that pixel turns on. This program takes in an image and outputs its coarse coded representations. Here's an example:
Input:
Output (coarse level 4):
Here, the output images are scaled by a factor of four to be visible on the screen. So, coarse coding greatly reduces the amount of data that the neural net has to process. The image evaluation script produces four 16x16 coarse coded images from a 64x64 original. Other coarse coding levels could produce better results.