Polynomials Bloch Equations

polynomials Schroedinger equation. .... Optimization + Bloch Equation: weeks to months. J.B.Murdoch,A.H. Lent ...... FIR filter design for quadratic phased.
215KB taille 4 téléchargements 311 vues
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