Saturday, December 6, 2008

Colored geese

When I did my first steps in image processing, researching new algorithms was not for the faint of heart. First you had to be a maestro programmer (a.k.a. wizard) because to get the algorithm to run with a usable performance on a sub MHz processor with 64K bytes of memory you had to write a paging algorithm to fit it all in memory and code the inner loops in octal code so not to miss any clock cycles and work directly on the barrel shifter. You also had to stick an exception handler at the beginning of the boot loader to catch processor faults and get a chance at debugging your algorithm.

A first quantum leap happened when Photoshop came out, because you could first try out things interactively, then you could write a plug-in with your algorithm.

The next quantum leap happened with MatLab, which contains well programmed image processing libraries that allow you to quickly implement your algorithm expressing it as a linear algebra problem.

A new quantum leap is happening now with Mathematica, which now allows images as parameters, contains an image processing library, and gives you the full power of symbolic computing. Read more about it in this blog post by Theodore Gray. [Click the image to view the movie.]

Colored geese--click to view movie

Many thanks to Don O'Shea for the pointer.