apps.pocsense

Contents

apps.pocsense#

bartorch.apps.pocsense()#

POCSENSE reconstruction by projections onto convex sets.

The steps of BART’s POCSENSE application: data scaling, the sampling pattern read off the k-space, modulation into BART’s uncentred convention, and bartorch.optim.POCS sweeps of the projections onto data consistency, the range of the coil sensitivities and, with alpha, a sparsity projection.

Parameters:
  • kspace (torch.Tensor) – Cartesian k-space (coils, z, y, x), C order.

  • sensitivities (torch.Tensor) – Normalized coil sensitivities (coils, [1,] z, y, x), as ecalib() returns them.

  • maxiter (int, default=None) – Sweeps; None is BART’s 50.

  • alpha (float, default=0.0) – Regularization weight; zero omits the sparsity projection.

  • wavelet (bool, default=False) – Soft-threshold the Daubechies-2 wavelet coefficients of the coil images (-l 1) rather than apply the L2 proximal operator to the samples.

  • robust (float, default=None) – Soft-threshold the residual at measured positions by this amount instead of replacing it with the measurement (-o).

  • scaling (float, default=None) – Data scaling; None estimates it with bartorch.optim.data_scaling(). The result is in the units of kspace either way.

Returns:

Coil k-space of kspace’s shape, centred convention; the image is the coil combination of its inverse Fourier transform.

Return type:

torch.Tensor

Examples

>>> samples = pocsense(kspace, maps)
>>> image = bartorch.rss(bartorch.ifft(samples, (-1, -2, -3), unitary=True), axes=(0,))