CellProfiler/CellProfiler — Issue #180: JIRA [IMG-841] Add spatial deconvolution algorithms to CellProfiler
Author: thouis
Created: 2011-11-23 20:50:31+00:00
State: open

As a beginning step towards offering some 3D algorithms, let's add deconvolution as requested on the Forum (and post to the Forum when this is complete). Note that deconvolution is a technique whereby a blurry 3D stack of images is converted to a nonblurry stack of 3D information. We might ask Andrew Belmont (Anne's PhD advisor) for advice on what's the best algorithm lately.
-----------------
http://cellprofiler.org/forum/viewtopic.php?f=4&t=868&p=3520#p3520
Hi!
I was thinking about using deconvolution on my images prior to analysis.
Have you ever thought about adding a deconvolution module?
I've seing some phyton libraries for deconvolution that may not be very hard to import.
My programming knowledge is very poor so sorry if I'm asking about something pretty hard.
What do you think?

Original reporter: anne
Jira link: https://jira.broadinstitute.org/browse/IMG-841
Assignee: leek

**Comment from anne on Wed, 23 Jun 2010 16:46:14 -0400:**
You probably want several flavors depending on several issues:
1. Speed for high throughput cell imaging- better algorithms are also slower. There are a range of alternatives based on compromises for speed.
a. The fastest would be something like a nearest neighbor approach which is essentially done without any iteration an using just the section above and below the current section to guess at the out of focus blur. Even faster is a one section algorithm which in fact uses a low pass version of that section to guess at our of focus blur- it essentially acts as a high pass filter.
b. The second choice would be a 3D deconvolution using FFTs but essentially just calculating the inverse problem. In Fourier space this corresponds to a division of the FFT of the observed data by the FFT of the psf and then an inverse FFT. To deal with noise you have to add a factor to the FFT of the psf before division. There is a simple formula which gives the least squares best answer given knowledge of the power spectrum of the noise (which is usually guess at)- I think what people have used is a Wiener filter type approach for this.
c, The third approach would be an iterative deconvolution approach which would take longer.
d. Even longer I think is a maximum entropy type approach.
For reference, the Agard and Sedat software we used typically used one of the iterative algorithms. I haven't kept up to date with which one is currently used. To put this in perspective, a 2 color 512 square image with 20-40 optical sections in two colors takes on the order of a minute on a Linux PC for this approach.
2. Knowledge of the psf: whatever algorithm you use you probably want to have two options with regard to the psf: a. theoretical based on NA and mag of objective lens and wavelength of emitted light, b. experimentally measured psf.
I haven't kept up to date with this and don't know off hand what is available as pubic domain. As long as you have a FFT routine the first two are not hard to code for sure. You might approach people to get the others if they are not available as public domain. However I think NIH Image already has at least a couple of these available.
Andy
--
Andrew Belmont, Professor	217-244-2311(Office)
Department of Cell and Developmental Biology	217-244-1648 (Fax)
University of Illinois, Urbana-Champaignasbel@uiuc.edu
B107 CLSL, 601 S. Goodwin Ave.
Urbana, IL 61801