File Exchange

image thumbnail

Unsupervised Wiener-Hunt deconvolution

version 1.5.0.0 (95.9 KB) by François Orieux
Return the Wiener-Hunt deconvolution of data without tuning parameters.

4 Downloads

Updated 19 Dec 2011

View License

udeconv - Unsupervised Wiener-Hunt deconvolution

xEap = udeconv(data, ir, ...)
[xEap, gnChain, gxChain] = udeconv(data, ir, ...)

return the deconvolution of 'data' by 'ir'. The algorithm is a stochastic iterative process (Gibbs sampler) that allow automatic tuning of regularization parameter, see reference below. There is no specific constraints on the number of dimension.

The call [xEap, gnChain, gxChain, xStd] = udeconv(...) allow to compute the diagonal of the covariance matrix around xEap with the cost of an fft at each iteration.

If you use this work, add a citation of the reference below.

Compatible with octave.

PARAMETERS

data -- the data

ir -- the impulsionnal response

OPTIONNALS

Optionnals argument are in the form (..., 'key', val, ...).

'criterion', val -- if the difference between two successive estimate is less than this value, stop the algorithm. Default is 1e-4.

'burnin', val -- number of iteration to remove at the beginning of the chain to compute the mean of the image. Default is typicaly 30.

'maxIter', val -- maximum number of iteration. Default is 150.

OUTPUTS

xEap -- the estimated result

gnChain, gxChain -- the MCMC chain of the regularisation parameters. See reference below.

xStd -- is the standart deviation around the estimate

FUNCTION CALL

xEap = udeconv(data, ir)

[xEap gnChain, gxChain] = udeconv(...)

[xEap gnChain, gxChain, xStd] = udeconv(...)

REFERENCE

François Orieux, Jean-François Giovannelli, and Thomas Rodet, "Bayesian estimation of regularization and point spread function parameters for Wiener-Hunt deconvolution," J. Opt. Soc. Am. A 27, 1593-1607 (2010)

http://www.opticsinfobase.org/josaa/abstract.cfm?URI=josaa-27-7-1593

Comments and Ratings (6)

Juha Kuortti

Works fine with images, but for any 1D data (like audio) will cause an error.

Alexander

Is there any suitable replacement for gamrnd function? Just to try. Thank you.

You right, this is a mistake in 'test.m'. It should be

udeconv(lena_blurred, ir)

Nevertheless, the displayed image are correct. I will try to fix that as soon as possible.

Andrei

Andrei (view profile)

why in test.m you have placed lena and not lena_blurred, i.e. lena_deconvolued = udeconv(lena, ir), as the image to be deconvolved? From what I see, in a practical situation we have access only to the convolved data and not to the original data and also, from my point of view, it makes little sense to apply the deconvolution method on the original data.

Cheers!

The gamrnd function is necessary and come with Statistics toolbox.

Mathias Anton

Would nice to be able to test this apparently nice program. Unfortunately, it appears to be compatible with octave, but not with matlab - couldn't find gamrnd.m in matlab...

Updates

1.5.0.0

Update presentation

1.4.0.0

Update presentation

1.2.0.0

hpFilter no more necessary. Some argument are no optionnal. Demonstration file is included.

MATLAB Release Compatibility
Created with R2008a
Compatible with any release
Platform Compatibility
Windows macOS Linux

MATLAB Online Live Editor Challenge

View the winning live scripts from faculty and students who participated in the recent challenge.

Learn more

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

package/