This InverseRestore Method restores an image using inverse filtering in the frequency domain. The idea is to deconvolve PSF from the blurred data to extract the original image.
The deconvolution involves dividing the Fourier transform of the blurred image by the Fourier transform of PSF. If the transform of PSF has very small values, then the division result from those small values could easily dominate the entire result. The approach used to get around this issue is to limit the smallest value of the transform of PSF, thus we require a threshold value, dThreshold, to be passed in as a parameter. Ideally, this value will be just above the noise level in the image. This method places zeros in the output for those data points where the magnitude of PSF transform is below the threshold. In this respect, InverseRestore is actually an implementation of a pseudo-inverse filter.
Before using this method, like other frequency processing methods, ImGearFrequencyProcessing.InitializeFFTW Method() must be called first to enable the support for FFTW.
Can be applied only to 8-bit grayscale images with one channel.
ImGearFrequencyProcessingVerifier.CanApplyInverseRestore Method can be called to check whether the operation can be performed or not.