While doing some more research on CFD and the Lattice Boltzman method I came across the following paper (December 19 - 2008) which covers the basics of the method and an efficient GPU (CUDA) implementation.
Unfortunately I have done little in the way of my own implementation as I have been playing with collapsing our galactic centre. So far I have modified some of my code which usually looks for letters in a scanned document to finding stars in the bitmap. The next stage is to assign a z coordinate to the point based on its size / whiteness value and an x,y based on the original image coordinates and then the collapsing can begin :p Hardly scientific but particle simulations are always so much fun.
As part of my actual job I've been trying to align a document template (for a form) with actual documents using a cross-correlation. Cross correlation performs really well in determining offsets between the two images. I'm using a vertical and horizontal projection histograms to get some initial data to align with. Usually this method works very well in DSP tasks for aligning similar waveforms that are offset from each other. After initial success with the method I have been getting strange alignment results on some newer test documents. It turns out that the form although visually similar can actually vary a lot in scale, and even worse, the scale across the document is not uniform. As a result the cross-correlation is falling over as it doesn't handle different scaling of signals well at all. I'm still investigating ways of doing this reliably and hopefully will be allowed to post my results here.