Reconstruction pipelines

Reconstruction pipelines#

bartorch.apps contains selected BART reconstruction applications re-expressed with this package’s operators and solvers. An app takes tensors and Python arguments, performs the application’s preprocessing — sampling pattern, modulation into BART’s uncentred convention, data scaling — in Python, and then runs an encoding from bartorch.linop under a solver from bartorch.optim or bartorch.nlop. The bartorch command line runs an app in place of the BART command where one exists and expresses every option given. The BART commands themselves are not public; the table states how each app relates to its command. Execution model compares apps with the composable interface they are assembled from.

Object

BART command

Relation to the command

pics

pics

Identical output on a Cartesian grid; agrees to floating-point round-off along a trajectory

nlinv_pics

nlinv, pics, homodyne

nlinv_maps, then a wavelet pics solve, then, for Cartesian k-space only, partial_fourier; Cartesian or along a trajectory

nlinv_maps

nlinv

One set of coil sensitivity maps from nlinv -m 1 on a grid of the low-resolution centre of k-space, zero-filled to the image grid and normalized to unit root sum of squares, with nlinv --phase-pole on request; Cartesian or along a two- or three-dimensional trajectory

partial_fourier

homodyne

homodyne -I -C along each axis acquired on one side of k-space only, the side and the acquired fraction read from the sampling mask

pocsense

none

The POCSENSE projections swept by BART’s pocs iteration

mobafit

mobafit

Per-voxel Levenberg-Marquardt over a BlochSim model; returns named parameter maps in physical units

moba

moba

Same Gauss-Newton method over a BlochSim model inside the encoding, with the coils known or estimated jointly under Sobolev weighting; returns named parameter maps in physical units, not held to the command’s output