nlop.Bloch

Contents

nlop.Bloch#

bartorch.nlop.Bloch()#

Signal model of any BlochSim simulator.

For sequences without a closed-form signal equation, such as a fast spin-echo train, a fingerprinting schedule or a bSSFP sweep.

Parameters:
  • acquisition (blochsim.Simulator) – The sequence, with every property not solved for fixed on it; a property given as a map (a measured B1, a known T1) has one value per voxel.

  • *unknown (str) – Properties solved for, in channel order.

  • shape (tuple of int, default=()) – Voxel shape, C order.

  • bounds (dict, default=None) – {name: (low, high)}, either end None for unbounded. A bounded parameter is solved for in a transformed variable, so no iterate leaves the bound.

  • amplitude (bool, default=True) – Include a complex amplitude multiplying the signal.

  • subspace (blochsim.Subspace, default=None) – Temporal basis the prediction is projected through.

  • contrasts (int, default=None) – Number of contrast images; evaluated from the model when None.

  • **scale – name=value: step size of an unbounded parameter.

Returns:

Domain (channels, *shape), codomain (contrasts, *shape).

Return type:

ModelOperator

Examples

>>> from blochsim.simulators import FSESimulator
>>> M = Bloch(
...     FSESimulator(flip=train, ESP=8.0, TR=3000.0),
...     "T1", "T2",
...     shape=(128, 128),
...     bounds={"T1": (100.0, 4000.0), "T2": (5.0, 500.0)},
... )