views:

1015

answers:

4

I was studying deconvolution,
and stumbled upon Richardson-Lucy deconvolution,
I was thinking of writing a simple program to do post-processing using this method,
does anybody know where I can find complete implementable algorithms or source code that I can study and play around with?

Preferably in C++ language or matlab.

I have read a few books but they are a little general and too theoretical.

thanks, Charles Mawby.
but i'm still having problems looking for the .m files online,
all i get are reference form a reference not a real file.
really appreciate if you can provide more details.
thanks in advance!

+1  A: 

I would suggest using MATLAB, or the F/OSS alternative GNU Octave. They're much better for this sort of thing, as they have libraries of image processing routines, and convolution is a heavily-optimized built-in function.

Adam Rosenfield
A: 

You can find some here

MahdeTo
+2  A: 

MATLAB has a decent implementation (search for corelucy.m and deconvlucy.m on Google, or download the MATLAB and image processing toolbox demos).

MathWorks has documentation on their website:

http://www.mathworks.com/access/helpdesk/help/toolbox/images/bqqhld4.html

The outer loop (setting up the deconvolution point spread function, doing iterations) is here:

http://ecco2.jpl.nasa.gov/data1/matlab/images/images/deconvlucy.m

The inner loop (the core part of the LR algorithm):

http://ecco2.jpl.nasa.gov/data1/matlab/images/images/private/corelucy.m

Awefully nice of NASA to host parts of MATLAB!

thanks! does corelucy.m and deconvlucy.m produce output? like de-blurred image from blurred image? that way i will really see how it works.
noob88
I just had to fix that link. It was trailing way off my screen and was driving me nuts. =) For future reference, MATLAB links don't look good when copying and pasting from the top browser line. You can either use the hyperlink tool to attach the link to a word or phrase, or right click the web page, go to properties, and copy that link.
gnovice
A: 

If you want to use the Richardson-Lucy deconvolution algorithm that comes in the MATLAB Image Processing toolbox (DECONVLUCY), you need to first get the Image Processing toolbox =). In another answer I gave for an SO question, I mentioned how you can get trials of MATLAB and its various toolboxes, if you don't already have them. Once you get the toolbox, you will probably be able to look at the source code for DECONVLUCY (either .m or .c files) to study the algorithm and figure out how it works.

gnovice