simulate#
- pulserver.virtual.simulate()[source]#
Return what each coil receives at every ADC sample the cache beside a sequence file plays on isochromats.
One
(coils, samples)complex64 array per readout, in play order, demodulated. The blocks the cache plays (pulserver.ir.playout()) advance the magnetization ofisochromats, whose positions are along the physical axes, from where it stands, across the files of a chain as one scan. Each block’s gradients, its own rotation in them, are turned by the prescription’srotationfrom logical to physical axes, a reflection included, except in blocks labelledNOROT. Its RF pulse and ADC play asIsochromats.play()plays RF and ADC events, with the frequency and phase offsets the playout sets. Withdefault_shim, the channel weights of a coil of several transmit channels, a single-channel pulse plays on every channel, weighted by its block’s RF shim or, without one, bydefault_shim.Runs of repetitions of blocks that differ only in their phase offsets, phase encodings and turned readouts play from each isochromat’s map over one repetition, as
Isochromats.repetitions()plays them to withintolerance; at zero, their samples are those of the blocks played one by one, to rounding. Isochromats that move or diffuse play every block one by one. The other blocks read their ADC windows asIsochromats.play()reads them to withintolerance.The virtual scanner states the signal model.