**Description** This function will Wiener filter the input DIB by the degradation function DIB in the frequency domain. It works with 4, 8 or 24 bits/pixel images. Inverse filtering of an image is processed by dividing the input image by the degradation function image to obtain the original noiseless image. The noise must be characterizable by a Fourier spectrum (typically linear motion blur). The input is the degraded image and the image of the degradation function. The filter will first process the spectras of both images, after computing a complex division using the transformed images by the following equation:

_{}

, where G(u,v) is the degraded spectrum, H(u,v) is the degradation function spectrum, and * means complex conjugation. Finally the filtering returns with the inverse transformed, filtered image. The degradation spectra is multiplied by the SpectMul parameter, so normalization problems can be solved by tuning this parameter. In case of 4 or 8 bits/pixel, the source DIB must contain grayscale images and the palette values in the source DIB must be monotone increasing. It makes no sense to use this function in case of 1 bits/pixel. If the source DIB size is not power of two, zero padding is used.

**Examples**

**Syntax** lRet = [*BIFilter*.]**FreqDIBWiener** SrcDib DFDib NSR bFFTMethod SpectMul

**Remarks** **lRet** LONGLONG Handle of the newly created DIB on success or 0 on failure.

** SrcDib ** LONGLONG Source DIB.

** NSR ** Long Inverse of the Signal-Noise Ratio.

** DFDib ** Long Degradation function DIB.

** bFFTMethod ** BOOL Fast Fourier Transform method

** SpectMul ** Long Degradation function multiplying factor

**bFFTMethod**If bFFTMethod = TRUE, then the Fourier transformed of the image will be processed by Sin and Cos functions, if bFFTMethod = FALSE, then it will be processed by square root functions.

**NSR**The inverse of the Signal-Noise Ratio. If NSR parameter is zero, the wiener filter reduces to the inverse filter.

**See Also**