Discrete EPG Model#
- class sycomore.epg.Discrete#
Discrete EPG model, where the gradient dephasing may vary across time intervals. In this model, the orders of the model are stored in bins of user-specified width (hence the term “discrete”), expressed in rad/m.
- __init__(*args, **kwargs)#
Overloaded function.
__init__(self: sycomore._sycomore.epg.Discrete, species: sycomore._sycomore.Species, initial_magnetization: numpy.ndarray[numpy.float64] = array([0., 0., 1.]), bin_width: sycomore._sycomore.Quantity = 1 [ L^-1 ]) -> None
__init__(self: sycomore._sycomore.epg.Discrete, species_a: sycomore._sycomore.Species, species_b: sycomore._sycomore.Species, M0_a: numpy.ndarray[numpy.float64], M0_b: numpy.ndarray[numpy.float64], k_a: sycomore._sycomore.Quantity, delta_b: sycomore._sycomore.Quantity = 0 [ T^-1 ], bin_width: sycomore._sycomore.Quantity = 1 [ L^-1 ]) -> None
__init__(self: sycomore._sycomore.epg.Discrete, species_a: sycomore._sycomore.Species, R1_b_or_T1_b: sycomore._sycomore.Quantity, M0_a: numpy.ndarray[numpy.float64], M0_b: numpy.ndarray[numpy.float64], k_a: sycomore._sycomore.Quantity, bin_width: sycomore._sycomore.Quantity = 1 [ L^-1 ]) -> None
- apply_time_interval(*args, **kwargs)#
Overloaded function.
apply_time_interval(self: sycomore._sycomore.epg.Discrete, duration: sycomore._sycomore.Quantity, gradient: sycomore._sycomore.Quantity = 0 [ L^-1 M T^-2 I^-1 ]) -> None
Apply a time interval, i.e. relaxation, diffusion, gradient, and off-resonance effects. States with a population lower than threshold will be removed.
apply_time_interval(self: sycomore._sycomore.epg.Discrete, interval: sycomore._sycomore.TimeInterval) -> None
Apply a time interval, i.e. relaxation, diffusion, gradient, and off-resonance effects. States with a population lower than threshold will be removed.
- property bin_width#
- diffusion(self: sycomore._sycomore.epg.Discrete, duration: sycomore._sycomore.Quantity, gradient: sycomore._sycomore.Quantity) None #
amplitude.
- property orders#
The sequence of orders currently stored by the model, in the same order as the states member. This attribute is read-only.
- shift(self: sycomore._sycomore.epg.Discrete, duration: sycomore._sycomore.Quantity, gradient: sycomore._sycomore.Quantity) None #
Apply a gradient; in discrete EPG, this shifts all orders byspecified value.
- state(*args, **kwargs)#
Overloaded function.
state(self: sycomore._sycomore.epg.Discrete, bin: int) -> numpy.ndarray[numpy.complex128]
Magnetization at a given state, expressed by its index
state(self: sycomore._sycomore.epg.Discrete, order: sycomore._sycomore.Quantity) -> numpy.ndarray[numpy.complex128]
Magnetization at a given state, expressed by its order.