Showing content from http://reference.wolfram.com/language/ref/ImageDeconvolve.html below:
Deconvolve an image using a point spread function (PSF)—Wolfram Documentation
WOLFRAM Consulting & Solutions
We deliver solutions for the AI eraâcombining symbolic computation, data-driven insights and deep technology expertise.
- Data & Computational Intelligence
- Model-Based Design
- Algorithm Development
- Wolfram|Alpha for Business
- Blockchain Technology
- Education Technology
- Quantum Computation
WolframConsulting.com
BUILT-IN SYMBOL
ImageDeconvolve[image,ker]
gives a deconvolution of image using kernel ker.
Details and Options
- The deconvolution kernel is given as a numerical matrix or as an image and cannot be larger than image in any dimension.
- The kernel represents the point spread function, which is assumed to model the blur present in the image.
- ImageDeconvolve[image,ker] always gives an image of a real type of the same dimensions as image.
- ImageDeconvolve operates separately on each channel in image.
- The deconvolution kernel must have a single channel or the same number of color channels as the image.
- The following options can be specified:
- Possible settings specifying spectral deconvolution methods are:
- "DampedLS" damped least squares, generalized Tikhonov regularization "Tikhonov" Tikhonov regularization method "TSVD" truncated singular value decomposition "Wiener" Wiener deconvolution
- For spectral deconvolution methods, a regularization parameter p can be given with a setting Method->{"method",p}. For non-negative deconvolution kernels in which the sum of all elements is equal to 1, the regularization parameter is typically in the range from 0 to 1.
- With a setting Method->{"method",{p1,p2,…}}, separate regularization parameters can be given for each color channel.
- The following settings for the Method option specify iterative deconvolution methods:
- "Hybrid" Tikhonov–Golub–Kahan bidiagonalization regularization "RichardsonLucy" Richardson–Lucy iterative deconvolution "SteepestDescent" modified residual norm steepest descent
- The "SteepestDescent" and "RichardsonLucy" methods always return non-negative pixel values.
- Iterative deconvolution methods typically provide better results than spectral methods but are computationally more expensive. By default, preconditioned versions of the iterative methods are used. Preconditioning can be disabled by setting Method->{"method","Preconditioned"-> False}, resulting in slower convergence.
- The classical Richardson–Lucy deconvolution method does not use preconditioning.
- ImageDeconvolve also supports an iterative "TotalVariation" method that effectively implements an iterative total variation regularization algorithm.
- The following suboptions can be specified with a setting Method->{"TotalVariation",subopt}:
- "NoiseModel" "Gaussian" noise model "Regularization" Automatic regularization parameter
- Possible settings for "NoiseModel" are "Gaussian", "Laplacian", or "Poisson".
- Note that ImageDeconvolve and ImageConvolve use different default settings for Padding.
- ImageDeconvolve works with Image3D objects.
Background & Context
- ImageDeconvolve performs deconvolution, which is typically used to enhance local details and edges in an image. Deconvolution is the converse operation to convolution, but unlike convolution, it is nonlinear, ill-posed, and non-unique.
- Images may be blurred due to camera motion, object motion, lens defects, or—in the case of astronomical images—atmospheric turbulence. Deconvolution can sometimes be used to partially reverse the effects of these and other undesirable convolution-type processes in an image.
- A kernel used for deconvolution is often referred to as a "point spread function" (commonly abbreviated "psf") and is assumed to model the blur whose removal from an image is being attempted. If the point spread function does not match the blur actually present in an image, deconvolution will fail to recover details and may even add spurious artifacts. Furthermore, even if a representative point spread function is chosen, deconvolution may still not recover all details in the original image.
- The converse operation to ImageDeconvolve is performed by ImageConvolve. Sharpen is another simple way of enhancing edges.
Examplesopen allclose all Scope (5) Data (3)
Remove blur from a grayscale image:
Remove Gaussian blur:
Deconvolve a 3D image:
Parameters (2)
The point spread function can be given as an image:
Options (7) Method (6)
Deblur a Snellen chart:
Comparison of spectral deconvolution methods:
Comparison of iterative deconvolution methods:
Iterative methods with preconditioning:
Total variation method with explicit regularization parameter:
Total variation method with a specified noise model:
MaxIterations (1)
By default iterative methods run 10 iterations:
Specify maximum number of iterations:
Applications (3)
Remove out-of-focus blur:
Recover license plate numbers from blurred images:
Guess an appropriate PSF for removing motion blur:
Properties & Relations (3) Possible Issues (5)
The PSF should always be normalized so that the total of the weights is 1:
Use a normalized PSF:
If the PSF does not match the blur, deconvolution fails to enhance details and it may add artifacts:
Preconditioned methods may introduce more artifacts than non-preconditioned:
Preconditioned methods are sensitive to boundary conditions:
Even a small amount of noise in a blurred image can reduce the quality of reconstruction:
Wolfram Research (2010), ImageDeconvolve, Wolfram Language function, https://reference.wolfram.com/language/ref/ImageDeconvolve.html (updated 2012). Text
Wolfram Research (2010), ImageDeconvolve, Wolfram Language function, https://reference.wolfram.com/language/ref/ImageDeconvolve.html (updated 2012).
CMS
Wolfram Language. 2010. "ImageDeconvolve." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2012. https://reference.wolfram.com/language/ref/ImageDeconvolve.html.
APA
Wolfram Language. (2010). ImageDeconvolve. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ImageDeconvolve.html
BibTeX
@misc{reference.wolfram_2025_imagedeconvolve, author="Wolfram Research", title="{ImageDeconvolve}", year="2012", howpublished="\url{https://reference.wolfram.com/language/ref/ImageDeconvolve.html}", note=[Accessed: 12-July-2025 ]}
BibLaTeX
@online{reference.wolfram_2025_imagedeconvolve, organization={Wolfram Research}, title={ImageDeconvolve}, year={2012}, url={https://reference.wolfram.com/language/ref/ImageDeconvolve.html}, note=[Accessed: 12-July-2025 ]}
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4