How is the inverse NUDFT computed in matrix form?

39 Views Asked by At

Using Fessler's NUFFT toolbox, one can obtain something called 'adjoint NUFFT' to obtain a reconstructed image from non-uniformly spaced frequencies (Fourier transform, e.g., MRI measurements along a radial trajectory for example but any other non-uniform trajectory as well). I assume the case where We have the same number of non uniform frequencies than pixel (it is actually a corrupted MRI image because the samples are non uniform (rotated) at some points in k-space (Fourier transform) but most of the others are well aligned on a Cartesian grid). And by applying the inverse NUDFT according to the trajectory we can recover at least partially the image. Now I would like to know if:

  • Such NUDFT matrix is invertible (or approx. invertible)? And considering that we could build it from (rotated/modified Fourier basis vectors), is the adjoint i.e. conjugate transpose directly equal to the inverse NUDFT?

  • Otherwise how is this inverse NUDFT computed?

  • The NUFFT is actually a fast algorithm like FFT, by looking at Fessler's code (https://web.eecs.umich.edu/%7Efessler/code/), is seems that he builds a large spase interpolation matrix that performs interpolation in k-space! So this is not really an inverse i think? But it is difficult to understand and Prof Fessler does not seem to aswer questions.

In summary, the main question is : in matrix form, how is the inverse NUDFT computed and what relationship with "adjoint NUDFT"? by NUDFT i mean non-uniform discrete Fourier transform matrix i.e. some basis vectors are rotated/not aligned on a Cartesian grid