im_freqflt(3) filters an image with a float filter mask in the frequency domain


#include <vips/vips.h>

int im_freqflt(in, filtermask, out)
IMAGE *in, *filtermask, *out;


im_freqflt() performs filtering in the frequency domain of the input image held by the image descriptor in with a mask held by the descriptor filtermask and writes the result on the image descriptor out.

Image sizes should be power of two and less or equal to 512. All images should be one channel square images. Image filtermask is a non-complex one channel image created by im_create_fmask(). Input image can be any type. If input is complex, in and filtermask are multiplied using the function im_cmultim(3).

If input is not complex then it is transformed into the frequency domain and then it is multiplied with the filtermask. In the latter case the result is inverse fourier transformed and clipped to the input image format using the function im_clip2fmt(3).


The function returns 0 on success and -1 on error.


The function has not been fully tested.


im_fwfft(3), im_invfft(3), im_create_fmask(3), im_cmultim(3).


N. Dessipris


N. Dessipris - 10/05/1991