apps.pocsense

Contents

apps.pocsense#

bartorch.apps.pocsense()#

POCSENSE reconstruction: the measured samples, the coils, and sparsity.

The pipeline of BART’s POCSENSE application, assembled here: the scaling the application estimates, the sampling pattern read off the k-space, the modulation into the convention BART iterates in, and then a sweep of three projections from bartorch.linop and bartorch.priors under bartorch.optim.POCS.

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

  • sensitivities (torch.Tensor) – Coil sensitivities, normalized, as ecalib() produces them.

  • maxiter (int, default=None) – Sweeps of the projections; BART’s default is fifty.

  • alpha (float, default=0.0) – Regularization weight. Zero leaves the sparsity projection out entirely, as the application does, and the sweep is then the two projections onto the data and onto the coils.

  • wavelet (bool, default=False) – Threshold the wavelet coefficients of the coil images rather than shrinking the samples towards zero, which is the application’s -l 1.

  • robust (float, default=None) – Soft-threshold the residual at a measured position by this much rather than discarding it, which is the application’s -o.

  • scaling (float, default=None) – The data scaling to divide by; estimated when it is not given, and the answer is put back into the data’s units either way.

Returns:

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

Return type:

torch.Tensor

Examples

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