user3914258
user3914258

Reputation: 21

Scipy blind deconvolution

I am working on a pipeline to process microscopy images. Each image is a stack of tiff planes and I would like to run deconvolution on the stack however I don't have the information about the psf. So far I have been using the Matlab function deconvblind. I digged into the scikit-image restoration.modules and the one described works fine but all require the psf. The description of the deconvblind in Matlab says

The algorithm maximizes the likelihood that the resulting image, when convolved with the resulting PSF, is an instance of the blurred image, assuming Poisson noise statistics.

Is there a way I can implement this algorithm in python then estimate the psf and use one of the restoration.modules provided by scikit-image?

Upvotes: 1

Views: 4113

Answers (1)

Eelco Hoogendoorn
Eelco Hoogendoorn

Reputation: 10759

From the description, it is clear that the scipy module implements the Richardson-lucy algorithm. Its pretty easy to implement, and also easy to extend to double-blind iterations. Google for instance the work of Biggs on blind deconvolution. Whether your data is at all amenable to double blind deconvolution is another matter though. unless your data is very sparse, the blind deconvolution problem is very much ill posed.

For related reasons: don't expect much too much of a plain widefield deconvolution. The devil is very much in the details when it comes to doing deconvolution right; who to handle boundary conditions, and so on. The best freeware deconvolution software (unfortunately) comes in the form of imagej plugins, as noted in the comments.

Upvotes: 3

Related Questions