INTRODUCTION
Resolution of an image can be improved, sometimes dramatically, by using a method called deconvolution (or inversion). In some cases, considerably better than diffraction limited resolution can be achieved ("superresolution"), usually when the original resolution is not too far from the limit (e.g., see "Superresolution three-dimensional [deconvolution microscopy] images of fluorescence in cells with minimal light exposure", W. A. Carrington, et al., SCIENCE, 286, 9 June 1995, pp. 1483-1487). Other techniques, such as an Unsharp filter, while often quite useful, perform only a partial deconvolution.
A full deconvolution algorithm requires the point spread function (the blurring) for each pixel. Achieving superresolution also requires:
I have recently written a 2-D prototype
version to demonstrate performance on blurred images. The links below
show performance examples for different types of blur (the same blur for
each subpixel). These examples show:
1) Standard out-of-focus blur plus a small amount of astigmatism. This case also represents blur due to insufficient depth-of-field.
2) Generic blur including substantial astigmatism.
3) Blur due to camera or object motion.
Currently STWOM finds the smoothest positive result that fits within the specified noise (error), so that the result is always considerably smoother than the initial sharp-edged image. Still, the examples above show remarkably good reconstruction given the highly blurred actual image; subpixel resolution is achieved even in these cases: the squares separated by 2 subpixels are clearly separated in the recovered image. Note that the true center subpixel of each square is recovered exactly.
This algorithm not only can be programmed to run quite fast, but also automatically. In addition, it adjusts its resolution based on the image noise (a user input) so that noise is actually filtered out instead of added. Edge detection can be added with additional programming. However, the proper Unsharp mask should work quite well since smoothed edges result in a characteristic brightness profile.
I have tried to specify the noise in these examples to be reasonably representative of actual good imagery. The noise (error tolerance) is 1 + 1.5% of the blurred pixel value. The original image squares have a value of 230, unless noted otherwise (pure black is 256), and are 5x5 subpixels on edge.
How well the image is reconstructed depends on the noise level and the accuracy of the blur function. The result is not sensitive to small errors in the blur function and only moderately sensitive to the noise level. (If the noise level is specified too small, the routine tends to fit to the noise.) The routine when programmed for optimal speed runs quickly enough that it can be used to find the blur function if the general form of the blur is known. Normally the blur function can be easily obtained from measuring the blurring of a known point, or point-like, feature in the imaged scene.
For further information, please write to:
Gregory Markowski, Ph.D.
Consulting Scientist
306 Walton Dr.
College Station, TX 77840
Commercial inquiries encouraged. Please include an email address or phone number for reply.