My question might be simple but I really need to make sure that the process I am doing is valid.
The MRI scanner acquires k-space data, S
, and then takes 3D inverse Fourier Transform to reconstruct the actual image in the spatial domain, which is in the form of M.exp(j.P)
, in which M
is the magnitude image and P
is the phase image.
Now imagine what I have is being the magnitude and phase image and I want to generate S
from them.
Now I checked my phase image and has values between 0 and 4096; So, first I have to normalize it to the [-pi,pi]
range. Then, I can calculate S
as the 3D Fourier Transform of the I = M.*exp(j.*P)
.
Is there anything else that I should consider in this process?
Now, how can I calculate phase image, P
, from the complex/raw image, I
? I tried MATLAB's built-in function, angle
; So, P1 = angle(I)
, but I noticed P1
and P
are not equal, even exp(j*P1)
is not equal to exp(j*P)
. However, when I ignore the magnitude image, I1 = exp(j*P)
, and calculate P2
from that (P2 = angle(I1)
), then the exp(j*P2)
is equal to exp(j*P)
!! I think the reason is the zero values of M
, but I don't what is the correct way to regenerate P
when I have I = M.*exp(j.*P)
.