Hacker News new | ask | show | jobs
by dafelst 1264 days ago
It has been a long time since I have done anything in this domain (20+ years), but if I understand correctly, the original article author is essentially filtering out high frequency signals by painting over the bright FFT spots, essentially creating a localized low-pass filter or maybe band-pass filter.

FFT essentially just transforms data into its frequency domain, so I assume the representation shown in the article is just that, brighter spots indicate higher frequency information (which would come from all the little spaced dots), so killing those essentially smooths the noise out of the data.

I imagine that the same effect could be automatically achieved by identifying which frequencies to filter out to get the desired effect.

1 comments

I dont believe that by painting over the bright FFT spots you are necessarily removing the high frequencies. Instead, you are removing the strong frequencies from the image. The strong frequencies cause peaks in the FFT image. Its the repetitive nature of the moire effect that cause peaks in the FFT image.
Indeed, the frequencies get higher further away from the center of the FFT image with the center being the "DC" component of the signal. The brightness, as you note, correspond to the amplitude of a given frequency.

you can think of it as a polar plot where: radius = frequency, angle = angle (as in points along the horizontal direction in the FFT correspond to e.g. vertical stripes in the image), brightness = power

There is an imaginary part to the FFT that contains the phase-shifts needed to add everything back up into the original image. You may have noticed that the "FFT of the image" is symmetric, so something else should be needed to compute the inverse.

Ahhh, so perhaps the position indicates the frequency and the brightness indicates the magnitude of the frequency? That makes sense - in that case the atricle's approach feels more like you said, a manually applied band pass or comb filter, i.e. it either removes or attenuates signals within certain frequency ranges.
Another nice property of the FFT is that convolution in image space is multiplication in frequency space, so multiplying the FFT with an image of a Gaussian (or any other linear kernel such as an edge detector) is exactly equivalent to applying the filter on the original image.