I'm learning images processing using FFT. In my test example provided below the input pixel values are clamped 0-1 (0-255), but I do eventually want to process floating point heightfield pixel values.
The software I'm using (Houdini v18) provides forward and inverse FFT functions and as a base line I can successfully convert an image to frequency space and back.
However when I look at the 2D representation of the frequency space it looks different to any examples I've found online.
Test image:
This is the result of Houdini's FFT with zero frequencies at center (height offset is pixel intensity):
The function returns 2x "images" representing real an imaginary values.
This however is the frequency space representation I find everywhere online:
From what I understand the radial type FFT images represent frequency between 0-2PI in u and v and the pixel value is the magnitude. And that most images are offset so 0 is centered.
Do I need to convert the real and imaginary components to frequency and magnitude and plot those? If so how?
EDIT: My end goal is to apply radial pass filters to the FFT so I just need to apply any spacial transforms to get the FFT to that state.