ASLSimulator#
- class torchsim.simulators.ASLSimulator(*args, **kwargs)[source]#
Bases:
SimulatorThe label-control difference of arterial spin labelling, over time.
The general kinetic model [1]: labelled blood arrives after the arterial transit time
ATT, is delivered at the blood flowCBFfor the labelling duration, and relaxes with the blood’s T1 before it arrives and with the tissue’s apparent T1,1 / (1 / T1 + f / lambda), once it has exchanged into tissue. Continuous and pseudo-continuous labelling deliver a bolus of constant concentration; pulsed labelling one whose tail left the labelling slab earlier and has relaxed for longer. The defaults for the blood’s T1, the partition coefficient and the labelling efficiency are the consensus values at 3 T [2].References
Examples
import torch from torchsim.simulators import ASLSimulator sequence = ASLSimulator(t=torch.linspace(0.0, 5000.0, 51), tau=1800.0) signal = sequence.simulate(CBF=(20.0, 60.0), ATT=1200.0, T1=1400.0) print(signal.shape)
torch.Size([2, 51])
Methods
bindThis simulator with more fixed on it, values or settings alike.
describeReturn the description this protocol plays.
Evaluate the closed form, no state machine and no description.
from_descriptionReturn a simulator over a stream someone else assembled.
from_pulseqReturn a simulator over one repetition of a Pulseq sequence.
jacobianReturn the signal and its derivative with respect to
diff.layoutReturn the operators of one repetition, in the order they play.
playedReturn the protocol as it will be laid out.
repetition_sReturn how long one repetition lasts, given what the layout played.
simulateReturn the recorded signal.