pulpy.grad.optim.min_time_gradient
- pulpy.grad.optim.min_time_gradient(c: ndarray, g0=0, gfin=None, gmax=4, smax=15, dt=0.004, gamma=4.257)[source]
Given a k-space trajectory c(n), gradient and slew constraints. This function will return a new parametrization that will meet these constraint while getting from one point to the other in minimum time.
- Parameters:
c (array) – Curve in k-space given in any parametrization [1/cm] Nx3 real array
g0 (float) – Initial gradient amplitude (leave empty for g0 = 0)
gfin (float) – Gradient value at the end of the trajectory. If not possible, the result would be the largest possible ampltude. (Leave empty if you don’t care to get maximum gradient.)
gmax (float) – Maximum gradient [G/cm] (3.9 default)
smax (float) – Maximum slew [G/Cm/ms] (14.5 default)
dt (float) – Sampling time interval [ms] (4e-3 default)
gamma (float) – Gyromagnetic ratio
- Returns:
(g, k, s, t) tuple containing
g - (array): gradient waveform [G/cm]
k - (array): exact k-space corresponding to gradient g.
s - (array): slew rate [G/cm/ms]
time - (array): sampled time
- Return type:
tuple
References
Lustig M, Kim SJ, Pauly JM. A fast method for designing time-optimal gradient waveforms for arbitrary k-space trajectories. IEEE Trans Med Imaging. 2008;27(6):866-873. doi:10.1109/TMI.2008.922699