What are the pros and cons of options 1 and 2? Is option 2 faster with FFT and multiplication vs convolution?

Hi! I was wondering how we might determine the filter kernel, f(i, j) ~ and also would we apply this in both the spatial and frequency domains, and what would our matrix values represent?

Going off on @mapqh's question, I'm also wondering which is used more commonly? What applications call for option 1 vs option 2 and vice versa?

@mapqh, @pslui88 FFT speed, as implemented with modern packages like FFTW (Fastest Fourier Transform in the West), varies quite a bit based on what the underlying signal is is, if the sampling frequency is a multiple of nyquist frequency, etc, it is not an easy time complexity mapped function, so I would imagine the speed of option 1 and 2 depends on the underlying signal you are filtering and if you have access to a GPU to compute the matrix multiplication.

I think option 2 is also more intuitive, for example convolving with a sinc is not as intuitive to me as multiplying by a box (even though they are identical). Option 2 might be used for constructing more complex filtering functions.

Please log in to leave a comment.

My understanding here is that use fourier transfrom to transform the spatial domain(3D) to frequency domain(2d), because it's easier do the filtering in the frequency domain(2d), then transform it back to the spatial domain(3D) after filtered.