UFT

Undersampled Fourier transform encoding model.

I’m calling “encoding model” how we encode the image domain signal to get to the acquisiton domain. In the case of MR, we measure k-space of the image we want, so the encoding model is simply the Fourier transform (ignoring all the other complications…). This object provides methods to go into k-space and get back out assuming we undersample according to some mask.

forward_ortho, inverse_ortho are probably the ones you want.

class mr_utils.cs.models.UFT.UFT(samp, axes=None, scale=True)[source]

Undersampled Fourier Transform (UFT) data acquisiton model.

samp

Boolean sampling pattern.

Type:array_like
axes

Axes to perform FFT over.

Type:tuple
scale

Whether or not to scale ortho transforms.

Type:bool
forward(x, axes=None)[source]

Fourier encoding with binary undersampling pattern applied.

Parameters:
  • x (array_like) – Matrix to be transformed.
  • axes (tuple) – Dimensions to Fourier transform if x is not 2d.
Returns:

Fourier transform (no fftshift) of x with sampling mask applied.

Return type:

array_like

Notes

This forward transform has no fftshift applied.

forward_ortho(x, axes=None)[source]

Normalized Fourier encoding with binary undersampling.

Parameters:
  • x (array_like) – Matrix to be transformed.
  • axes (tuple, optional) – Dimensions to perform FFT2 over.
Returns:

Fourier transform of x with sampling mask applied and normalized.

Return type:

array_like

Notes

This forward transform applied fftshift before FFT and after.

forward_s(x)[source]

Fourier encoding with binary undersampling pattern applied.

Parameters:x (array_like) – Matrix to be transformed.
Returns:Fourier transform (with fftshift) of x with sampling mask applied.
Return type:array_like

Notes

This forward transform applies fftshift before masking.

inverse(x, axes=None)[source]

Inverse fourier encoding.

Parameters:
  • x (array_like) – Matrix to be transformed.
  • axes (tuple) – Dimensions to Fourier transform if x is not 2d.
Returns:

Inverse fourier transform of x.

Return type:

array_like

inverse_ortho(x, axes=None)[source]

Inverse Normalized Fourier encoding.

Parameters:
  • x (array_like) – Matrix to be transformed.
  • axes (tuple, optional) – Dimensions to Fourier transform if x is not 2d.
Returns:

Inverse fourier transform of x, fftshifted, and normalized.

Return type:

array_like

Notes

This transform applied ifftshift before and after ifft2.

inverse_s(x)[source]

Inverse fourier encoding with fftshift.

Parameters:x (array_like) – Matrix to be transformed.
Returns:Inverse Fourier transform (with fftshift) of x
Return type:array_like

Notes

This inverse transform applies fftshift.