Polynomials Bloch Equations
Patrick Le Roux Applied Science Lab. General Electric Medical Systems
Polynomials Bloch Equation
Polynomials Bloch equation Shinnar-Le Roux selective pulse design: polynomials Schroedinger equation.
Inverse Scattering Transform M.H. Buonocore: MRM, 1993, V29, N4 (APR),P470-477
Polynomials Bloch Equation
Train of hard pulses T
T
T
Action of here to there
Free precession periods
T
T
T
M x+ = M x cos ωT + M y sin ωT M y+ = − M x sin ωT + M y cos ωT M xy+ = e j ( −ω )T M xy = Z −1M xy −ωT
Z = e jωT
M xy = M x + jM y
Z plane, Z transform Z −1 = e− jωT is the factor of phase advance of the proton (with resonance angular frequency ω ) in a free precession period (it would be Z, for an electron).
ω0
2π ω0 + T
Z
2π ω0 + 2 T
−ω 0T
ω
Nutation (hard pulse)
Rotation around y, of angle
θ
M = cos(θ ) M x + sin(θ ) M z + x
M y+ = M y + z
M = − sin(θ ) M x + cos(θ ) M z
M = cos(θ ) + x
M y+ = M y =
M xy + M xy∗
2 M xy − M xy∗
+ sin(θ ) M z
2 M z+ = − sin(θ ) M x + cos(θ ) M z
θ θ c = cos( ) s = sin( ) 2 2 sin(θ ) = 2cs cos(θ ) = c 2 − s 2 = 2c 2 − 1 = 1 − 2s 2
M xy+ = 2cs M z + c 2 M xy − s 2 M xy* M z+ = (c 2 − s 2 ) M z − cs M xy − cs M xy∗
One period: precession and nutation
M
+ xy + z
= 2cs M z + c Z 2
−1
M xy − s Z M 2
−1
* xy
M = (c − s ) M z − cs Z M xy − cs Z M 2
2
∗ xy
With initial condition: M along Z
0
M xy = 0 Mz =1
1
M xy = 2c1s1 (c02 − s02 ) + 2c12 c0 s0 Z −1 − 2 s12 c0 s0 Z M z = (c12 − s12 )(c02 − s02 ) − 2c1s1c0 s0 Z −1 − 2c1s1c0 s0 Z
M xy = 2c0 s0 M z = (c02 − s02 )
Recursion 0
1
n
M xy = q− n Z n + q−1Z + q0 + q1Z −1 + qn Z − n M z = p− n Z n + p−1Z + p0 + p1Z −1 + pn Z − n M xy = q− n −1Z n +1 + q− n Z n + q−1Z + q0 + q1Z −1 + qn Z − n + qn +1Z − n −1 M z = p− n −1Z n +1 + p− n Z n + p−1Z + p0 + p1Z −1 + pn Z − n + pn +1Z n +1
Polynomials Bloch Equation • •
• •
Useful for Analysis, or simulation: I.e. for knowing the action of a given train of pulses. There is a Synthesis, ‘peel off’ algorithm permitting, in theory, to find the sequence of hard pulses yielding a prescribed response. But the preliminary specification of this response is very hard, and the algorithm itself is numerically unstable for large n, limiting the use to very short sequences. V.H. Subramanian, S.M. Eleff, S.Rehn, J.S. Leigh “An Exact Synthesis procedure for frequency selective pulses” 5th Proceeding of the Magnetic Resonance In Medecine SoC August 1986. Other use: FSE stabilization. P.LeRoux,S.Hinks,MRM 30,183-191,1993 For soft, finite time pulses and without relaxation the SLR algorithm is the choice (Le Roux French Patent 86 10179 July 1986)
Shinnar-Le Roux:Slice Selection • Principle
Gs
Slice Selection • Principle
ω
Gs
z
Selective (soft) Pulse • A b1 waveform (apodized sinc)
Selective (soft) Pulse • Its Fourier transform:
Selective (soft) Pulse • used as a flip pulse, 30 degrees • profile (Mxy):
Selective (soft) Pulse • used as a flip pulse 90 degrees:
Selective (soft) Pulse • used as a SE refocusing pulse (pancake), 180 degress:
Lesson: • The non-linearity of the Bloch equations makes it difficult to tell: – What slice profile an RF pulse produces (analysis) – More importantly: what RF pulse produces a given slice profile (synthesis)
Solution(s) • Optimization + Bloch Equation: weeks to months J.B.Murdoch,A.H. Lent,M.R.Kritzer ‘Computeroptimized Narrowband Oulses for Multislice Imaging’ J.Mag.Res. 74,226-263 (1987) • SLR: seconds to minutes – ‘Parameter Relations for the Shinnar-Le_Roux Selective Excitation Pulse Design Algorithm’,J.Pauly,P.Le_Roux,D.Nishimura,A.Mac ovski,IEEE Trans. Med. Imaging, vol 10, No1,March 1991
SLR, the ingredients: - Discrete Time Approximation : from continous to
discrete time signals.
- SU2/Spinor/Quantum Mechanics/Schroedinger Equation formalism: another way to represent rotations.
Hard Pulse Train Approximation Soft Pulse
Hard Pulse Train
Hard Pulse Train Approximation Precession
ω
Nutation
Precession
ω
Nutation
Precession
Nutation
ω
Precession
ω
Nutation
Nutation
ω1 >> ω
R = Rϕ n (θ n ) Rz (ω T ) Rϕ n−1 (θ n −1 ) Rz (ω T ) Rϕ0 (θ 0 )
Hard Pulse Train Approximation Precession z
Nutation z
R z (ω T )
R ϕ (θ )
θ
ϕ
Rotations Representation • O3 group/ Bloch equation – General rotation: R = Rz (ϕ ) Ry (θ ) Rz (ψ )
+
O3 x 3
cos ϕ cos θ cosψ − sin ϕ sin ψ = sin ϕ cos θ cosψ + cos ϕ sinψ − sin θ cosψ
− cos ϕ cos θ sin ψ − sin ϕ cosψ − sin ϕ cosθ sinψ + cos ϕ cosψ − sin θ sin ψ
cos ϕ sin θ sin ϕ sin θ cosθ
O3 x 3
Rotations Representation • SU2 / Schroedinger Equation – General Rotation R = Rz (ϕ ) Ry (θ ) Rz (ψ ) 2x2 complex matrix; actually 2 complex (α , β ) : spinor α S= β
− j ϕ +2ψ θ ∗ e cos −β 2 = ϕ −ψ ∗ θ α j 2 e sin 2
α α∗ + β β∗ = 1
−e e
−j
j
ϕ −ψ 2
ϕ +ψ 2
θ sin 2 θ cos 2
Density matrix in Q.M. Or from SU2 to O3:
Mz M = M xy
M − Mz ∗ xy
∗ ∗ ∗ ∗ M M α −β α β z xy + ∗ M = SMS = ∗ β α M xy − M z − β α Equivalent to Bloch equations
(density matrix in Quantum Mechanics)
Rotation SU2: precession
• Precession= Nutation of angle around Z: e − jϕ 2 0 S= jϕ 2 e 0 Mz M xy
+
e− j 2 − M xy∗ = − M z 0 ϕ
+ z
0 Mz jϕ 2 e M xy
M = Mz
− M xy∗ e j 2 − M z 0 ϕ
M
+ xy
ϕ
0 Mz = jϕ − jϕ 2 e e M xy jϕ
= e M xy
−(e jϕ M xy )∗ − M z
Rotations: SU2: nutation around y
• Nutation= rotation of angle
c − s S= s c c = cos(θ 2 ) s = sin(θ 2 )
θ
around y
Density Matrix == Bloch ? M z+ + M xy
* c − s M z = * s c M xy
M xy∗ c s − M z − s c
M z+ = (c 2 − s 2 ) M z − cs M xy∗ − cs M xy M
+ xy
∗ xy
= 2cs M z − s M + c M xy 2
2
Rotations: SU2 • Sequence of rotations still represented by matrix multiplication: +
R = R2 R1
M = S2 (S1MS )S Bloch R1 * 1
* 2
Bloch R 2
+
M = ( S 2 S1 ) M ( S 2 S1 )
∗
R = R2 R1 ↔ S = S 2 S1
Rotations: spinors As the SU2 matrices are completely defined by two complex numbers we can even forget the matrix notation, defining the ‘spinors’ as the two components of the first column of the SU2 matrix:
(α , β )
With the ‘multiplication’ operation, corresponding to the multiplication of two SU2 matrix: (α 2 , β 2 ) ∗ (α1 , β1 ) = (α 2α1 − β 2∗ β1 , β 2α1 + α 2∗ β1 ) For all purposes we will keep the matrix notation; knowing that ,when the operations have to be performed, we only need the first column of the result.
SU2 Rotations: general nutation
Nutation
R ϕ (θ ) =
z
Rz (ϕ ) R y (θ ) Rz ( −ϕ ) y
x
θ
ϕ
SU2 rotations: general nutation • Nutation (2): rotation of angle θ around an axis in x,y:
e 0 c − s e 0 c S= = jϕ ϕ − jϕ 2 s j c 0 e 2 se 0 e − jϕ 2
R z (ϕ )
jϕ 2
Ry (θ )
Rz ( − ϕ )
or making s complex:
c − s S= s c ∗
− se − jϕ c
SLR Direct Recursion (Analysis) Precession
e j ωT 2 0
−ωT 0 − j ωT 2 e
Z 1 2 0
−ωT
0 − 12 Z
Nutation
Nutation
ci −1 si −1
Precession
−s ci −1 ∗ i −1
ci si
−s ci ∗ i
Nutation
c i + 1 si + 1
−s ci +1 ∗ i +1
SLR Direct Recursion From after pulse i-1 to after pulse i:
α i β i
− β ci = α si ∗ i ∗ i
1 −s Z 2 ci 0 ∗ i
Z =e
0 − 12 Z
jω T
θ ci = cos( i 2 )
θ si = e jϕ i sin( i 2 )
α i −1 β i −1
− β i∗−1 ∗ α i −1
SLR Direct Recursion α = c Z 12 α − s ∗ Z − 12 β i i i −1 i i −1 1 1 2 β i = si Z α i −1 + ci Z 2 β i −1 i
α i = Z 2 ai i
β i = Z 2 bi
ai = ci ai −1 − si∗ Z −1bi −1 bi = si ai −1 + ci Z −1bi −1
SLR Direct Recursion After first pulse: After second pulse:
a 0 = c0
b0 = s0
a1 = c1c0 − s1∗ s0 Z −1 b1 = s1c0 + c1 s0 Z −1
...................... After pulse # i
Polynomials of order i in
Z
−1
SLR Direct Recursion (Analysis) ai ( Z ) = ai0 + ai1 Z −1 + ai2 Z −2 ++ aii Z − i bi ( Z ) = bi0 + bi1 Z −1 + bi2 Z −2 ++bii Z − i
aik = ci a ik−1 − si∗bik−−11 bik = si a ik−1 + ci bik−−11 a nk , k = 0, n DFT → a(ω ) bnk , k = 0, n DFT → b(ω )
SLR Direct Recursion (Analysis) β
b 0.014
30 degrees 90 degrees 180 degrees
0.012 0.01 0.008 0.006 0.004 0.002 0 -0.002 -0.004 0
50
100
150
200
250
300
350
400
450
500
SLR Direct Recursion (Analysis) α
a 1
Pulse width /2 0.8
0.6
0.4
0.2
0
-0.2 0
50
100
150
200
250
300
350
400
450
500
SLR Direct Recursion (Analysis) 0.8 0.7
β
0.6 0.5
β = sin(θ ) 2
0.4 0.3 0.2 0.1 0 -0.1 -15
-10
-5
0
5
10
15
frequency
1
α = cos(θ ) 2
0.8
a
0.6 0.4 0.2 0 -0.2 -0.4 -15
-10
-5
0
5
10
15
SLR Inverse Recursion Given two polynomials of order n, a and b ∗ ∗ such that aa + bb = 1 Can we find the sequence of
(θ i , ϕ i ) (or equivalently si )
which yields (by the SLR direct recursion) this a and b? The answer is yes
SLR Inverse Recursion ‘Matrix’ inverse the direct recursion: α i β i
− β ci = α si ∗ i ∗ i
1 −s Z 2 ci 0 ∗ i
0 − 12 Z
α i −1 β i −1
− β i∗−1 ∗ α i −1
si∗ α i ci β i
− β ∗i ∗ αi
obtaining: α i −1 β i −1
∗ i −1 ∗ i −1
−β α
−1 Z 2 = 0
0 1 Z 2
ci − si
SLR Inverse Recursion Considering only the first column (spinor) and in terms of a and b ∗ i
a i − 1 = c i a i + s bi b i − 1 = Z −1 ( − s i a i + c i b i ) Order -1 of
bi −1 and order i of a i − 1
should be zeroed !
SLR Inverse Recursion 0 i 0 i
si b ti = = ci a
∗ i
i i i i
s a t = =− ci b ∗ i
2 equations , 1 unknown ! Yes but: ∗
∗
a i a i + bi bi = 1 ⇒ 1 equation, 1 unknown.
a i0∗ a ii + bi0∗bii = 0
Synthesis: filters (polynomials) specifications α S (ω ) = β
jϕα θ ) −e − jϕ β sin(θ ) e cos( −β 2 2 = ∗ α e jϕ β sin(θ ) e − jϕα cos(θ ) 2 2 ∗
sin(θ (ω ) 2) = β
Rz (ϕα )
R β (θ )
Ry (θ )
Rz (ϕα ) OR:
Rz ( −ϕ β )
From Spinor Magnetization • Flip pulse/Inversion/Saturation: Initial Magnetization on Z. Using density matrix equation: + xy
∗
M = 2 α β = 2 β 1− β e + z
∗
2
∗
M = α α − β β = 1− 2 β
2
jϕ β
e − jϕα
From Spinor to Magnetization • Refocusing pulse: initial magnetization in xy ∗ xy
M xy = − β M + α 2
Crush:
M xy = − β M 2
∗2
M xy Rβ (θ )
∗ xy
Rz (ϕα )
Synthesis, 1st step • What β (ω ),α (ω ) should we take as target?
β (ω )
is easy to specify, according to type
of pulses by Outside band:
β = sin( θ 2 )
β (ω )
=0
Synthesis 1st step In Band: flip
saturat
β
sin(θ 2 )
1/ 2
∠β
0
free
Invers.
Refoc.
1
1
free
0
Synthesis b must be polynomial of order n -> FIR filter design algorithm: whether by windowing (a la sinc) or by a more optimal algorithm (Remez,Parks-McClellan)
What about a? if b is chosen, then the magnitude of a is given ∗
aa (ω ) = 1 − bb (ω ) *
But, what phase ?
Minimum phase solution Pulse with minimum energy
polynomials of order 1 amin = 1 − z1Z −1 amax = − z1∗ + Z −1
∗
(= Z −1amin ) → same a(ω )
‘Time’ domain
2
Frequency domain
amin note a0
amax
z1
1
z1∗
Synthesis 2nd step: a a = k (1 − z1Z −1 ) (1 − z 2 Z −1 )
(1 − zn Z −1 )
or ( − z1∗ + Z −1 ) or ( − z2∗ + Z −1 ) or (− zn∗ + Z −1 ) Min phase choice: all zeroes inside the unit circle -> 1) Frequency property: we do not have to know the zeroes to find its phase:
ϕ a (ω ) = Η (log a (ω )) See the companion technote or Oppenheim Schaeffer ‘Digital Signal Processing’ 2) Time domain property: the leading term a0 is MAXIMUM. From the SLR direct recusrion: a0 = c0 c1 cn
1 n 2 θi log a0 = ∑ log(cos( )) − ∑θ i Min Energy 2 8 i =0 i =0 n
Synthesis last step Run the SLR inverse recursion: 10 lines of code.
Example: Pancake Pulse • Design b, by Remez algorithm 1
0.8
b
0.6
0.4
0.2
0
-0.2 -6
-4
-2
0
frequency
2
4
6
Example: Pancake Pulse • Calculate signal a (min-phase) 1 0.8
a
0.6 0.4 0.2 0 -0.2 0
50
100
150
200
250 time
300
350
400
450
500
Example: Pancake Pulse • Run Inverse SLR, obtain b1 0.14 0.12 0.1 0.08 b1
0.06 0.04 0.02 0 -0.02 -0.04 0
50
100
150
200
250 time
300
350
400
450
500
Example: Pancake Pulse • Verify Profile, possibly by running direct 2 SLR and taking − β 1
profile Re,Im
0.8 0.6 0.4 0.2 0 -0.2 -6
-4
-2
0
frequency
2
4
6
Subsequent Developments • Phase massaging by reflecting zeroes, S.Pickup,X.Ding MRM 33:648-655, 1995. • Self refocusing pulses (choice of zeroes of a such that it cancel the phase of b, in the pass-band): J.M. Pauly and A. Macovski.Proc. Tenth SMRM, page 267, 1991. • FIR filter design for quadratic phased β et al JMRI 1998;8:1022-1032.
,P.LeRoux
Challenges 1) Adiabatic (B1 insensitive) pulses 2) Take whether a short train of high energy pulses (around 180 degrees) or a very long train of small pulse, in short a very high energy pulse train: a and b have, in time domain, all their energy centered around the middle: the SLR inversion is numerically unstable. SLR relies on a being min phase or close to min phase !!!
THANK YOU FOR YOUR ATTENTION ! A pdf version of this presentation and some other information is available at: http://plenag.free.fr
Intentionally left blank
Intentionally left blank
Intentionally left blank
Intentionally left blank
Intentionally left blank
Intentionally left blank
Intentionally left blank
Intentionally left blank