Common Data Structures#

Hard RF Pulse#

class sycomore.Pulse#

RF pulse

__init__(self: sycomore._sycomore.Pulse, angle: sycomore._sycomore.Quantity, phase: sycomore._sycomore.Quantity = 0[]) None#
property angle#

Flip angle of the pulse

property phase#

Phase of the pulse

Shaped RF Pulse#

class sycomore.HardPulseApproximation#

Small tip angle approximation of a shaped pulse

__init__(self: sycomore._sycomore.HardPulseApproximation, model: sycomore._sycomore.Pulse, support: List[sycomore._sycomore.Quantity], envelope: Callable[[sycomore._sycomore.Quantity], sycomore._sycomore.Quantity]) None#

Create a shaped pulse with a flip angle equivalent to given hard pulse

property duration#

Return the duration of a hard pulse

property phase#

Return the phase of the shaped pulse

property pulses#

Return the hard pulses approximating the shaped pulse

Envelopes#

sycomore.apodized_sinc_envelope(arg0: sycomore._sycomore.Quantity, arg1: int, arg2: float) Callable[[sycomore._sycomore.Quantity], sycomore._sycomore.Quantity]#

Create an apodized sinc envelope

sycomore.hann_sinc_envelope(arg0: sycomore._sycomore.Quantity, arg1: int) Callable[[sycomore._sycomore.Quantity], sycomore._sycomore.Quantity]#

Create an Hann-apodized sinc envelope

sycomore.hamming_sinc_envelope(arg0: sycomore._sycomore.Quantity, arg1: int) Callable[[sycomore._sycomore.Quantity], sycomore._sycomore.Quantity]#

Create an Hamming-apodized sinc envelope

sycomore.sinc_envelope(arg0: sycomore._sycomore.Quantity) Callable[[sycomore._sycomore.Quantity], sycomore._sycomore.Quantity]#

Create a sinc envelope

Time Interval#

class sycomore.TimeInterval#

Time interval, with or without magnetic field gradient.

__eq__(self: sycomore._sycomore.TimeInterval, arg0: sycomore._sycomore.TimeInterval) bool#
__hash__ = None#
__init__(*args, **kwargs)#

Overloaded function.

  1. __init__(self: sycomore._sycomore.TimeInterval, duration: sycomore._sycomore.Quantity, gradient: sycomore._sycomore.Quantity = 0 [ L^-1 M T^-2 I^-1 ]) -> None

Constructor, gradient may be specified as amplitude (in T/m), area (in T/m*s) or dephasing (in rad/m).

  1. __init__(self: sycomore._sycomore.TimeInterval, duration: sycomore._sycomore.Quantity, gradient: numpy.ndarray[sycomore._sycomore.Quantity]) -> None

Constructor, gradient may be specified as amplitude (in T/m), area (in T/m*s) or dephasing (in rad/m).

__ne__(self: sycomore._sycomore.TimeInterval, arg0: sycomore._sycomore.TimeInterval) bool#
property duration#

Duration

property gradient_amplitude#

Gradient amplitude.

property gradient_area#

Gradient area.

property gradient_dephasing#

Gradient dephasing

set_gradient(self: sycomore._sycomore.TimeInterval, arg0: object) None#

Set gradient amplitude (in T/m), area (in T/m*s) or dephasing (in rad/m).

static shortest(*args, **kwargs)#

Overloaded function.

  1. shortest(k: sycomore._sycomore.Quantity, G_max: sycomore._sycomore.Quantity) -> sycomore._sycomore.TimeInterval

Shortest possible time interval given 3D gradient area (T/m*s) or dephasing (rad/m) and maximum gradient amplitude

  1. shortest(k: numpy.ndarray[sycomore._sycomore.Quantity], G_max: sycomore._sycomore.Quantity) -> sycomore._sycomore.TimeInterval

Shortest possible time interval given 3D gradient area (T/m*s) or dephasing (rad/m) and maximum gradient amplitude

Species#

class sycomore.Species#

Species described by its NMR parameters

property D#

Diffusion tensor.

property R1#

Longitudinal relaxation rate.

property R2#

Transversal relaxation rate.

property T1#

Longitudinal relaxation time.

property T2#

Transversal relaxation time.

__init__(self: sycomore._sycomore.Species, R1: sycomore._sycomore.Quantity, R2: sycomore._sycomore.Quantity, D: object = 0 [ L^2 T^-1 ], delta_omega: sycomore._sycomore.Quantity = 0 [ T^-1 ]) None#
property delta_omega#

Frequency offset.