Positivity constraint and deconvolving data with negative values
5 views (last 30 days)
Show older comments
I have a 3-D (150x150x150 matrix) set of signal data that has values with range from -3000 to 5000 (integers).
I am attempting to deconvolve this data with a known PSF (type double) using the Lucy-Richardson methods built in MATLAB. i.e. basically I am doing a 3D deconvolution.
The issue is that the deconvlucy function has an inherent positivity constraint... i.e. the algorithm ends up clipping any negative values to zero in the resulting deconvolved results set. This would be ok if my data did not have negative values (such as in an RGB image), but this positivity constraint is a very significant corruption of my data. The negative values in my data have real world meaning, and it does not make sense to have the positivity constraint applied.
Please let me know if you know a work around this. I can just add a large DC shift to my signal (so that it all becomes positive), deconvolve, and then subtract the DC shift again, but I rather avoid this non-elegant solution... also because I am not sure if adding a DC shift actually impacts the deconvolution or not.
0 Comments
Answers (2)
Image Analyst
on 13 Jul 2012
A 150x150x150 array is a 3D array, not a 4D array. Try casting both your input array and PSF to single or double and see if that works.
Bjorn Gustavsson
on 13 Jul 2012
Edited: Bjorn Gustavsson
on 13 Jul 2012
Well, why not just try to add slightly different offsets to your data and see if the deconvolution is invariant to that. And if you have negative values maybe you'd be better off with one of the other deconvolution functions - they shouldn't differ all that much.
And the LR-deconvolution is, as far as I understood it, designed with data with positivity implicitly assumed (maybe even with Poisson counting statistics).
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!