05/08/2004: Replaced images with better ones.
05/05/2004: Created the page.
As I'm studying about astronomy, it is very usual for me to process observational data with deconvolution program. The deconvolution, as some people may know, is a method to restore the image which is blurred by a bad optical system or vibrations of cameras. It is not possible to retrieve original images perfectly, usually, because of noise, however, it is possible, to some extent, to improve images carefully selecting point spread functions (PSF), the blurring patterns.
The most common algorithm in astronomy is so called Richardson-Lucy algorithm. You can easily find literatures on Internet if you want to study about it. I use the algorithm for my study and the program releasing in this page is the one. Although the astronomical data are, in the most cases, mono-chromatic it is very easy to extend the algorithm to deal with ordinary color images.
All copyrights of the program is abandoned because the algorithm is not mine and making such this program is not difficult if you know about the algorithm. Using the program is free in any forms and any methods. I am very appreciated if you write me before you use it.
How to use
Using the program is quite simple. Only you have to do is just specify (1) iteration times, (2)kernel BMP image file name, (3) source BMP image file name and (4) output BMP image name. There are a couple of options to control the behavior of the program. Just start the program with "-?" then you can have help message.
The most important thing to restore images successfully is to select PSFs carefully. It is sometimes easy, but, usually, it is not easy.
Download of the Program
To download, .... click!!
Examples of Image Data
Here I give some examples to show how the program works.
The first example is a typical one: a night view. Usually, night view images are easily blurred because of the long exposure time. The important point of successful restoration is to find out good PSF. In case of night views you can select an isolated point light. The blurring pattern of the point source is the one you need.
The left is a picture of Opera House (Sydney) and the right is the result after 10 times iteration.
The original is not very bad (because I reduced the size). However the deconvoluted one is much sharper... also the noise is emphasized, though.
The PSF image I selected is a point source, which is 7x9 pixels in the image:
The next example is also a night view, but very bad one because I moved camera during the exposure. Even thought, finding the PSF is rather easy since there are many light sources.
The left is a picture of The Rocks (Sydney) and the right is the result after 10 times iteration.
10 times of iteration makes deconvolution effect very strong and, usually, emphasizes noise very much. As you can see, the result image is still not good. But, if you carefully check the result, you find that some of the part are retrieved well. Since the PSF image is a bit large and the deconvolution is strong, we see a side effect: the horizontal lines at around the edge of the image.
The PSF image I selected is a point source, which is 11x19 pixels in the image:
The last one is a picture taken by an WebCam. Since the webcam I have used was a CMOS camera, the quality is very bad. Even I fixed the camera position, pictures were blurred and satulated at brighter regions.
The left is a picture of the room where I work every day and the right is the result after 5 times iteration.
I have compared the deconvoluted images processed with a variety of iteration times and I have found that even one iteration makes the picture better.
The PSF image I selected is the artificial one I made myself:
There are a couple of point like glitter in the image and I have tried to deconvolute with some of them. But, they did not work for some reason. So, I made the PSF myself.