ToepNufft¶
-
class
ToepNufft
[source]¶ Forward/backward NUFFT with Toeplitz embedding.
This module applies \(Tx\), where \(T\) is a matrix such that \(T \approx A'A\), where \(A\) is a NUFFT matrix. Using Toeplitz embedding, this module approximates the \(A'A\) operation without interpolations, which is extremely fast.
The module is intended to be used in combination with an FFT kernel computed as frequency response of an embedded Toeplitz matrix. You can use
calc_toeplitz_kernel()
to calculate the kernel.The FFT kernel should be passed to this module’s forward operation, which applies a (zero-padded) FFT filter using the kernel.
Examples
>>> image = torch.randn(1, 1, 8, 8) + 1j * torch.randn(1, 1, 8, 8) >>> omega = torch.rand(2, 12) * 2 * np.pi - np.pi >>> toep_ob = tkbn.ToepNufft() >>> kernel = tkbn.calc_toeplitz_kernel(omega, im_size=(8, 8)) >>> image = toep_ob(image, kernel)