Small Tip Angle Approximation
Based on the results in page 41 of the book "Handbook of MRI Pulse Sequences" by Bernstein et al.
In this example, we will showcase a common approximation in MRI, the small tip angle approximation. For this, we will simulate a slice profile for spins with positions
B1 = 4.92e-6
Trf = 3.2e-3
zmax = 2e-2
fmax = 5e3
z = range(-zmax, zmax, 400)
Gz = fmax / (γ * zmax);The designed RF pulse is presented in the figure below, where the additional gradient refocuses the spins' phase after the excitation.
seq = PulseDesigner.RF_sinc(B1, Trf, sys; G=[0;0;Gz], TBP=8)
p2 = plot_seq(seq; height=380, max_rf_samples=Inf, slider=false)Now we will perform the simulation using the function simulate_slice_profile. Note that we modified Δt_rf in sim_params to match the resolution of the waveform.
sim_params = Dict{String, Any}("Δt_rf" => Trf / length(seq.RF.A[1]))
M = @suppress simulate_slice_profile(seq; z, sim_params)As you can see, for a flip angle of 30 deg, the slice profile is very close to the small tip angle approximation (the Fourier transform of
But what will happen if we use a flip angle of 120 deg instead?
α_desired = 120 + 0im # The multiplication of a complex number scales the RF pulse of a Sequence
α = get_flip_angles(seq)[1] # Previous FA approx 30 deg
seq = (α_desired / α) * seq # Scaling the pulse to have a flip angle of 120
M = @suppress simulate_slice_profile(seq; z, sim_params);For this case, the small tip angle approximation breaks 😢, thus, the reason for its name!
This basic sinc pulse is not designed to be
This page was generated using Literate.jl.