# Do I have to flip my kernel when performing an FFT-based convolution?

I have a 2D image and I convolve it with a 2D kernel image using FFT. So far I was always using symmetric kernels (e.g., Gaussian with stddev_x = stddev_y). As a result, I never bothered thinking whether I have to flip my kernel image or not because it wouldn't have made any difference. However, now I want to convolve my image using an elliptical Gaussian kernel with stddev_x != stddev_y and an arbitrary angle. Now, do I have to flip my kernel image prior the FFT convolution? Or the flipping is required only when using the usual convolution algorithm and not the FFT-based one?

Thank you.

• I don't know what I was thinking when I asked this question. An elliptical Gaussian kernel will always look the same if you flip it on both axes, regardless the x/y stddev and position angle. So, I really don't have to care about flipping the kernel or not. Nevertheless, the reply I got answered my question, and I will keep that in mind for the future! :) – AstrOne Feb 28 '16 at 2:07

Flipping & dragging is an animative method used in graphical computation of convolution in time (or space) domain. It is the result of an argument manipulation in $h[n-k]$ (or $x[n-k]$) signal animated as a function of n, but drawn on an axis of k, in the convolution sum: $$y[n] = x[n]*h[n]=\sum {x[k]h[n-k] }$$ On the other hand in frequency domain DFT (FFT) based convolution implementations you don't need it as you simply multiply the two DFTs.