Fractal Mosaics is a rotation, scale, and translation invariant photomosaic algorithm (i.e., the images can be placed at arbitrary locations, can be scaled to any size, and can be rotated by any angle).

Fractal Mosaics is implemented in Matlab. You’ll need a copy of Matlab with the Signal Processing toolbox installed (any version should work, most should come with the Signal Processing toolbox).
The demo example creates a black and white mosaic. This is because color takes ~3X as long. To create a color mosaic, download the color image set, and set Fractal Mosaics to color mode (see the Variables page for info on this).
# Documentation
Fractal Mosaic “paper”: academic-style paper explaining how the algorithm works
How to create your own mosaic: step-by-step instructions
Variables: how to use the 10 variables Fractal Mosaics uses to tweak mosaic output
Fractal Mosaics is licensed under the GNU General Public License ([GPL](http://www.gnu.org/licenses/gpl.txt)). If you wish to use Fractal Mosaics for proprietary software, let's talk! (seth.benton@gmail.com)