The m files haned in contains SSD, NCC and NCC with Pyramid implementations. The pyramid is automatically invoked on images that the script deems too big. You can also parameterize the amount of margin to ignore when processing the images. The pyramid can also be parameterized so that it'll stop scaling down at a certain point. There are also some extra stuff there that produces intermediate images for the fun of it (i.e. r, g, b channels separately and the non-translated composite image.
To run, simply start up matlab in the directory in which the m files reside, then type main
Example
>> main
Enter the path to the grayscale image you want processed: 'data/01656v.jpg'
01656v.jpg G by 0,2 R by -1,12 01167v.jpg G by 0,5 R by 0,12 00153v.jpg G by 0, 6 R by 0, 13 00398v.jpg G by 0,5 R by 0,11 00149v.jpg G by 1, 4 R by 1, 9 00952v.jpg G by -2, 2 R by -4, 8 00194v.jpg G by 2,4 R by 4,8 00163v.jpg G by 1, -2 R by 1, -4 These bigger images used margins between 100 and 150. Being the impatient guy that I am I also stopped the pyramid at 1/2 scale 01047u.tif G by 20, 24 R by 32, 72 00458u.tif G by 0, 44 R by 28, 88 01043u.tif G by 8, -16 R by 12, 12 01657u.tif G by 0, 56 R by -4, 116 dj.jpg G by 8, -10 R by -44, 8 my filters through the red filter through the green filter through the blue filter processed image whitebalance attempt what it was supposed to look like, dammit!