MRITensorflowNUFFT#

class mrinufft.operators.interfaces.tfnufft.MRITensorflowNUFFT(samples, shape, n_coils=1, density=False, smaps=None, eps=1e-06)[source]#

Bases: FourierOperatorBase

MRI Transform Operator using Tensorflow NUFFT.

Parameters:
  • samples (Tensor) – The samples location of shape Nsamples x N_dimensions. It should be C-contiguous.

  • shape (tuple) – Shape of the image space.

  • n_coils (int) – Number of coils.

  • density (bool or Tensor) –

    Density compensation support.
    • If a Tensor, it will be used for the density.

    • If True, the density compensation will be automatically estimated, using the fixed point method.

    • If False, density compensation will not be used.

  • smaps (Tensor)

Methods

__init__

adj_op

Backward Operation.

check_shape

Validate the shapes of the image or k-space data against operator shapes.

compute_density

Compute the density compensation weights and set it.

compute_smaps

Compute the sensitivity maps and set it.

data_consistency

Compute the data consistency.

get_lipschitz_cst

Return the Lipschitz constant of the operator.

make_autograd

Make a new Operator with autodiff support.

op

Forward operation.

pipe

Estimate the density compensation using the pipe method.

with_autograd

Return a Fourier operator with autograd capabilities.

with_off_resonance_correction

Return a new operator with Off Resonnance Correction.

Attributes

autograd_available

available

backend

cpx_dtype

Return complex floating precision of the operator.

density

Density compensation of the operator.

dtype

Return floating precision of the operator.

interfaces

n_coils

Number of coils for the operator.

n_samples

Return the number of samples used by the operator.

ndim

Number of dimensions in image space of the operator.

norm_factor

Norm factor of the operator.

samples

Return the samples used by the operator.

shape

Shape of the image space of the operator.

smaps

Sensitivity maps of the operator.

uses_density

Return True if the operator uses density compensation.

uses_sense

Return True if the operator uses sensitivity maps.

op(data)[source]#

Forward operation.

Parameters:

data (Tensor)

Return type:

Tensor

adj_op(coeffs)[source]#

Backward Operation.

Parameters:

coeffs (Tensor)

Return type:

Tensor

property norm_factor#

Norm factor of the operator.

data_consistency(data, obs_data)[source]#

Compute the data consistency.

Parameters:
  • data (Tensor) – Image data

  • obs_data (Tensor) – Observed data

Returns:

The data consistency error in image space.

Return type:

Tensor

classmethod pipe(samples, shape, num_iterations=10, osf=2, normalize=True)[source]#

Estimate the density compensation using the pipe method.

Parameters:
  • samples (Tensor) – The samples location of shape Nsamples x N_dimensions. It should be C-contiguous.

  • shape (tuple) – Shape of the image space.

  • n_iter (int) – Number of iterations.

  • osf (int, default 2) – Currently, we support only OSF=2 and this value cannot be changed. Changing will raise an error.

Returns:

The estimated density compensation.

Return type:

Tensor