Fingerprints

I wrote a simple but fast image processing library to facilitate investigations in image enhancement. The library is written in C# and runs under the .NET framework. The generic library code is here, and a simple GUI for feeding images and seeing the results of various computations is here. All of the computations, below, involve separable filter kernels, and should be easily implementable at video speeds on embedded hardware.
Original snapshot of finger showing fingerprint. Gradient computation shows tangents & normals at several points.
We blur the image with a Gaussian filter, then apply the Laplacian, followed by a specialized thresholding. The strength of the computed orientation field at each point allows us to mask off areas of the image that are not of interest.
This stable image results from repeatedly feeding back the output image as input.

That the image is a fixed point of this iterated function system suggests that it might be useful to make contraction mappings based on the original input, as a completely different way to proceed.