GrogLinearPhysics

GrogLinearPhysics#

class pygrog.interop.GrogLinearPhysics(op, noise_model=None)[source]#

Bases: object

Wrap a pygrog operator as a deepinv.physics.LinearPhysics.

Because deepinv is an optional dependency, the concrete subclass is built lazily on first instantiation.

Parameters:
  • op (SparseFFT-like) – Any operator with forward(kspace) -> image and adjoint(image) -> kspace methods.

  • noise_model (deepinv.physics.NoiseModel or None, optional) – Noise model to attach. Defaults to deepinv.physics.ZeroNoise().

Raises:

ImportError – If deepinv is not installed.

Examples

from pygrog.operator import SparseFFT
from pygrog.interop import GrogLinearPhysics

op = SparseFFT(plan=grog.plan, smaps=smaps)
physics = GrogLinearPhysics(op)

# x: (B, 1, H, W) complex,  y: (B, n_coils, n_samples) complex
y = physics(x)
x_hat = physics.A_dagger(y)

Methods

__init__