apps.nlinv_maps

Contents

apps.nlinv_maps#

bartorch.apps.nlinv_maps()#

Coil sensitivity maps fitted to the low-resolution centre of k-space.

One set of maps from bart nlinv -m 1, normalized to unit root sum of squares over the coils (unit sensitivity for one coil). The maps are fitted on a grid of the low-resolution centre alone, with the Sobolev weighting of the sensitivities scaled to that grid, and zero-filled in k-space to the image grid.

Parameters:
  • kspace (torch.Tensor) – Complex k-space. Cartesian: (coils, [z,] y, x) on the reconstruction grid. Non-Cartesian: (coils, shots, samples).

  • traj (torch.Tensor, default=None) – Trajectory (shots, samples, 3) in units of the image grid; None for Cartesian data. Its kz may be nonzero.

  • size (int, default=24) – Cartesian: lines of every encoded axis, around the centre, the maps are fitted to.

  • radius (float, default=12.0) – Non-Cartesian: distance from the k-space centre, in grid units, within which samples are fitted, on a grid of 2 ceil(radius) points an axis.

  • shape (tuple of int, default=None) – Non-Cartesian: image grid of the maps, (y, x) or (z, y, x); None for the one BART estimates from traj.

  • phase_pole (int, default=None) – Gauss-Newton step after which the phase poles the maps share are detected and moved into the image (nlinv --phase-pole); 0 after every step, None never. At a shared phase pole the smoothness of the maps drives every coil’s sensitivity towards zero, and a coil combination over them goes dark there. BART refuses the detection on a grid with an axis no longer than a twentieth of its longest, rounded up: the grid of the central lines, so a volume of fewer than 3 partitions at the default size.

Returns:

Complex maps: of the shape of kspace for Cartesian data, (coils, *shape) otherwise.

Return type:

torch.Tensor

Raises:

BartError – If phase_pole is set for a grid too thin for BART’s detection.