Article · Wikipedia archive · Last revised Jul 27, 2026

Extended phase graph

In magnetic resonance imaging and nuclear magnetic resonance the extended phase graph (EPG) is a mathematical framework used to track how magnetization evolves in a voxel through a series of radiofrequency (RF) pulses and gradients. While traditional Bloch simulations track individual spins in the spatial domain, EPG operates in the Fourier domain. The magnetization vectors along one dimension of a voxel are stored as Fourier coefficients. Each Fourier coefficient represents the weighting of a helix that twists along one dimension of the voxel with an integer number of twists. Performing a weighted sum of all the helices gives the magnetization vectors in the spatial domain. In this representation, a gradient along one dimension of the voxel that causes an integer number of twists simply shifts the index of each Fourier coefficient by that integer, making EPG very computationally efficient at modeling sequences with many RF pulses and gradients. EPG was first proposed by Jürgen Hennig to model multiecho sequences and is now used to model magnetic resonance fingerprinting, turbo spin echos, and other sequences.

Last revised
Jul 27, 2026
Read time
≈ 13 min
Length
2,957 w
Citations
24
Source
The extended phase graph formalism represents the spin vectors along a voxel as a sum of helices with integer numbers of twists.1 source ↗

In magnetic resonance imaging and nuclear magnetic resonance the extended phase graph (EPG) is a mathematical framework used to track how magnetization evolves in a voxel through a series of radiofrequency (RF) pulses and gradients. While traditional Bloch simulations track individual spins in the spatial domain, EPG operates in the Fourier domain.2 The magnetization vectors along one dimension of a voxel are stored as Fourier coefficients. Each Fourier coefficient represents the weighting of a helix that twists along one dimension of the voxel with an integer number of twists. Performing a weighted sum of all the helices gives the magnetization vectors in the spatial domain. In this representation, a gradient along one dimension of the voxel that causes an integer number of twists simply shifts the index of each Fourier coefficient by that integer, making EPG very computationally efficient at modeling sequences with many RF pulses and gradients. EPG was first proposed by Jürgen Hennig to model multiecho sequences2 and is now used to model magnetic resonance fingerprinting,3 turbo spin echos,4 and other sequences.5

Definition

In the Bloch equations, within a voxel each spin along the dimension z {\displaystyle z} can be described by a magnetization vector [ M x ( z ) , M y ( z ) , M z ( z ) ] T {\displaystyle [M_{x}(z),M_{y}(z),M_{z}(z)]^{T}} where every element is real valued.6 But M x ( z ) {\displaystyle M_{x}(z)} and M y ( z ) {\displaystyle M_{y}(z)} can also be described by the complex number M + ( z ) = M x ( z ) + i M y ( z ) {\displaystyle M_{+}(z)=M_{x}(z)+iM_{y}(z)} .7 Using a similarity matrix S {\displaystyle S} we can convert between the real valued basis and the complex transverse magnetization basis:

S = [ 1 i 0 1 i 0 0 0 1 ] , m ( z ) = [ M + ( z ) M ( z ) M z ( z ) ] = S [ M x ( z ) M y ( z ) M z ( z ) ] {\displaystyle {\begin{aligned}&S={\begin{bmatrix}1&i&0\\1&-i&0\\0&0&1\end{bmatrix}},&\mathbf {m} (z)={\begin{bmatrix}M_{+}(z)\\M_{-}(z)\\M_{z}(z)\end{bmatrix}}=S{\begin{bmatrix}M_{x}(z)\\M_{y}(z)\\M_{z}(z)\end{bmatrix}}\\\end{aligned}}}

where M {\displaystyle M_{-}} is the complex conjugate of M + {\displaystyle M_{+}} . To perform a rotation on the complex magnetization vector m {\displaystyle \mathbf {m} } due to an RF pulse with angle α {\displaystyle \alpha } and phase ϕ {\displaystyle \phi } , we first apply a change of basis with S 1 {\displaystyle S^{-1}} , then apply standard cartesian rotation matrices R z ( ϕ ) {\displaystyle R_{z}(\phi )} , R x ( α ) {\displaystyle R_{x}(\alpha )} ,8 then another change of basis with S {\displaystyle S} :9

R z ( ϕ ) = [ cos ϕ sin ϕ 0 sin ϕ cos ϕ 0 0 0 1 ] , R x ( α ) = [ 1 0 0 0 cos α sin α 0 sin α cos α ] T ϕ ( α ) = S R z ( ϕ ) R x ( α ) R z ( ϕ ) S 1 T ϕ ( α ) = [ cos 2 α 2 e 2 i ϕ sin 2 α 2 e i ϕ sin α e 2 i ϕ sin 2 α 2 cos 2 α 2 i e i ϕ sin α i 2 e i ϕ sin α i 2 e i ϕ sin α cos α ] m + ( z ) = T ϕ ( α ) m ( z ) {\displaystyle {\begin{aligned}&R_{z}(\phi )={\begin{bmatrix}\cos \phi &-\sin \phi &0\\\sin \phi &\cos \phi &0\\0&0&1\end{bmatrix}},\;\;R_{x}(\alpha )={\begin{bmatrix}1&0&0\\0&\cos \alpha &-\sin \alpha \\0&\sin \alpha &\cos \alpha \end{bmatrix}}\\&\\&T_{\phi }(\alpha )=SR_{z}(\phi )R_{x}(\alpha )R_{z}(-\phi )S^{-1}\\&\\&T_{\phi }(\alpha )={\begin{bmatrix}\cos ^{2}{\frac {\alpha }{2}}&e^{2i\phi }\sin ^{2}{\frac {\alpha }{2}}&-e^{i\phi }\sin \alpha \\e^{-2i\phi }\sin ^{2}{\frac {\alpha }{2}}&\cos ^{2}{\frac {\alpha }{2}}&ie^{-i\phi }\sin \alpha \\-{\frac {i}{2}}e^{-i\phi }\sin \alpha &{\frac {i}{2}}e^{i\phi }\sin \alpha &\cos \alpha \end{bmatrix}}\\&\\&\mathbf {m} ^{+}(z)=T_{\phi }(\alpha )\mathbf {m} (z)\end{aligned}}}

Where m + {\displaystyle \mathbf {m} ^{+}} denotes the magnetization vector after the rotation. In the EPG representation we perform a Fourier decomposition of each element of the complex magnetization vector:2

M + ( z ) = k = F + ( k ) e i 2 π k z F + ( k ) = 0.5 0.5 M + ( z ) e i 2 π k z d z M ( z ) = k = F ( k ) e i 2 π k z F ( k ) = 0.5 0.5 M ( z ) e i 2 π k z d z M z ( z ) = k = Z ( k ) e i 2 π k z Z ( k ) = 0.5 0.5 M z ( z ) e i 2 π k z d z {\displaystyle {\begin{aligned}&M_{+}(z)=\sum _{k=-\infty }^{\infty }F_{+}(k)e^{i2\pi kz}\;\Leftrightarrow \;F_{+}(k)=\int _{-0.5}^{0.5}M_{+}(z)e^{-i2\pi kz}dz\\&M_{-}(z)=\sum _{k=-\infty }^{\infty }F_{-}(k)e^{i2\pi kz}\;\Leftrightarrow \;F_{-}(k)=\int _{-0.5}^{0.5}M_{-}(z)e^{-i2\pi kz}dz\\&M_{z}(z)=\sum _{k=-\infty }^{\infty }Z(k)e^{i2\pi kz}\;\Leftrightarrow \;Z(k)=\int _{-0.5}^{0.5}M_{z}(z)e^{-i2\pi kz}dz\\\end{aligned}}}

If F + ( k ) = 0 {\displaystyle F_{+}(k)=0} , F ( k ) = 0 {\displaystyle F_{-}(k)=0} , and Z ( k ) = 0 {\displaystyle Z(k)=0} when k > n {\displaystyle k>n} or k < n {\displaystyle k<-n} . We can write the summations as being from k = n {\displaystyle k=-n} to n {\displaystyle n} . We can also write the Fourier coefficients as a vector valued function:

f ( k ) = [ F + ( k ) F ( k ) Z ( k ) ] , m ( z ) = k = n n f ( k ) e i 2 π k z {\displaystyle {\begin{aligned}&\mathbf {f} (k)={\begin{bmatrix}F_{+}(k)\\F_{-}(k)\\Z(k)\end{bmatrix}},&\mathbf {m} (z)=\sum _{k=-n}^{n}\mathbf {f} (k)e^{i2\pi kz}\\\end{aligned}}}

RF pulses

When performing a rotation, because T ϕ ( α ) {\displaystyle T_{\phi }(\alpha )} is constant across k {\displaystyle k} it can enter the sum:

m + ( z ) = T ϕ ( α ) m ( z ) = k T ϕ ( α ) f ( k ) e i 2 π k z f + ( k ) = T ϕ ( α ) f ( k ) {\displaystyle {\begin{aligned}&\mathbf {m} ^{+}(z)=T_{\phi }(\alpha )\mathbf {m} (z)=\sum _{k}T_{\phi }(\alpha )\mathbf {f} (k)e^{i2\pi kz}\\&\mathbf {f} ^{+}(k)=T_{\phi }(\alpha )\mathbf {f} (k)\end{aligned}}}

It can be seen in the equation above that the rotation matrix can be applied directly to the Fourier coefficients to produce updated Fourier coefficients.1

Gradients

A gradient in the z dimension that creates one twist from z = 0.5 {\displaystyle z=-0.5} to z = 0.5 {\displaystyle z=0.5} can be applied with the matrix:

T ( z ) = S R z ( 2 π z ) S 1 = [ e i 2 π z 0 0 0 e i 2 π z 0 0 0 1 ] {\displaystyle {\begin{aligned}&T(z)=SR_{z}(2\pi z)S^{-1}={\begin{bmatrix}e^{i2\pi z}&0&0\\0&e^{-i2\pi z}&0\\0&0&1\end{bmatrix}}\\\end{aligned}}}

This matrix is independent of k {\displaystyle k} so it can enter the Fourier sum:10

m + ( z ) = T ( z ) m ( z ) = T ( z ) k f ( k ) e i 2 π k z = k T ( z ) f ( k ) e i 2 π k z {\displaystyle {\begin{aligned}&\mathbf {m} ^{+}(z)=T(z)\mathbf {m} (z)=T(z)\sum _{k}\mathbf {f} (k)e^{i2\pi kz}=\sum _{k}T(z)\mathbf {f} (k)e^{i2\pi kz}\\\end{aligned}}}

Looking at each element of m + {\displaystyle \mathbf {m} ^{+}} :

M + + ( z ) = k e i 2 π z F + ( k ) e i 2 π k z = k F + ( k ) e i 2 π ( k + 1 ) z M + ( z ) = k e i 2 π z F ( k ) e i 2 π k z = k F ( k ) e i 2 π ( k 1 ) z M z + ( z ) = M z ( z ) {\displaystyle {\begin{aligned}&M_{+}^{+}(z)=\sum _{k}e^{i2\pi z}F_{+}(k)e^{i2\pi kz}=\sum _{k}F_{+}(k)e^{i2\pi (k+1)z}\\&M_{-}^{+}(z)=\sum _{k}e^{-i2\pi z}F_{-}(k)e^{i2\pi kz}=\sum _{k}F_{-}(k)e^{i2\pi (k-1)z}\\&M_{z}^{+}(z)=M_{z}(z)\\\end{aligned}}}

Performing a substitution with k ^ = k + 1 {\displaystyle {\hat {k}}=k+1} for the first element we get:

M + + ( z ) = k ^ = n + 1 n + 1 F + ( k ^ 1 ) e i 2 π k ^ z {\displaystyle {\begin{aligned}&M_{+}^{+}(z)=\sum _{{\hat {k}}=-n+1}^{n+1}F_{+}({\hat {k}}-1)e^{i2\pi {\hat {k}}z}\\\end{aligned}}}

If F + ( n ) = 0 {\displaystyle F_{+}(n)=0} and F + ( n 1 ) = 0 {\displaystyle F_{+}(-n-1)=0} the above summation is equal to:11

M + + ( z ) = k ^ = n n F + ( k ^ 1 ) e i 2 π k ^ z {\displaystyle {\begin{aligned}&M_{+}^{+}(z)=\sum _{{\hat {k}}=-n}^{n}F_{+}({\hat {k}}-1)e^{i2\pi {\hat {k}}z}\\\end{aligned}}}

and it can be seen that F + + ( k ) = F + ( k 1 ) {\displaystyle F_{+}^{+}(k)=F_{+}(k-1)} . By the same logic F + ( k ) = F ( k + 1 ) {\displaystyle F_{-}^{+}(k)=F_{-}(k+1)} . So gradients in the EPG formalism simply shift the indices of the Fourier coefficients.121

Relaxation

The relaxation and recovery matrices given by the Bloch equations for a real valued magnetization vector v {\displaystyle \mathbf {v} } are:7 E = [ e t / T 2 0 0 0 e t / T 2 0 0 0 e t / T 1 ] , r = [ 0 0 M 0 ( 1 e t / T 1 ) ] v + = E v + r {\displaystyle {\begin{aligned}&E={\begin{bmatrix}e^{-t/T2}&0&0\\0&e^{-t/T2}&0\\0&0&e^{-t/T1}\end{bmatrix}},&\mathbf {r} ={\begin{bmatrix}0\\0\\M_{0}(1-e^{-t/T1})\end{bmatrix}}\\&\\&\mathbf {v} ^{+}=E\mathbf {v} +\mathbf {r} \end{aligned}}}

Substituting with v = S 1 m {\displaystyle \mathbf {v} =S^{-1}\mathbf {m} } :

S 1 m + = E S 1 m + r m + = S E S 1 m + S r {\displaystyle {\begin{aligned}&S^{-1}\mathbf {m} ^{+}=ES^{-1}\mathbf {m} +\mathbf {r} \\&\mathbf {m} ^{+}=SES^{-1}\mathbf {m} +S\mathbf {r} \end{aligned}}}

S {\displaystyle S} and E {\displaystyle E} are commutative so S E S 1 = E S S 1 = E {\displaystyle SES^{-1}=ESS^{-1}=E} . Also S r = r {\displaystyle S\mathbf {r} =\mathbf {r} } , so:

m + ( z ) = E m ( z ) + r = E k f ( k ) e i 2 π k z + r = k E f ( k ) e i 2 π k z + r {\displaystyle {\begin{aligned}&\mathbf {m} ^{+}(z)=E\mathbf {m} (z)+\mathbf {r} =E\sum _{k}\mathbf {f} (k)e^{i2\pi kz}+\mathbf {r} =\sum _{k}E\mathbf {f} (k)e^{i2\pi kz}+\mathbf {r} \\\end{aligned}}}

r {\displaystyle \mathbf {r} } is a constant vector but we can still Fourier decompose it to r ( z ) = k g ( k ) e i 2 π k z {\displaystyle \mathbf {r} (z)=\sum _{k}\mathbf {g} (k)e^{i2\pi kz}} where g ( k ) = r {\displaystyle \mathbf {g} (k)=\mathbf {r} } if k = 0 {\displaystyle \mathbf {k} =0} else g ( k ) = 0 {\displaystyle \mathbf {g} (k)=\mathbf {0} } , so:13

m + ( z ) = k E f ( k ) e i 2 π k z + k g ( k ) e i 2 π k z = k ( E f ( k ) + g ( k ) ) e i 2 π k z {\displaystyle {\begin{aligned}&\mathbf {m} ^{+}(z)=\sum _{k}E\mathbf {f} (k)e^{i2\pi kz}+\sum _{k}\mathbf {g} (k)e^{i2\pi kz}=\sum _{k}(E\mathbf {f} (k)+\mathbf {g} (k))e^{i2\pi kz}\\\end{aligned}}}

So it can be seen that to apply a relaxation, you can multiply every Fourier coefficient with the relaxation matrix E {\displaystyle E} and then add the recovery vector r {\displaystyle \mathbf {r} } to the 0th coefficient.14

Total signal in voxel

The total transverse signal in the voxel is obtained by integrating over M + ( z ) {\displaystyle M_{+}(z)} :

M + t o t a l = 0.5 0.5 k = n n F + ( k ) e i 2 π k z d z = k = n n ( F + ( k ) 0.5 0.5 e i 2 π k z d z ) = k = n n F + ( k ) 1 i 2 π k ( e i π k e i π k ) {\displaystyle {\begin{aligned}&M_{+total}=\int _{-0.5}^{0.5}\sum _{k=-n}^{n}F_{+}(k)e^{i2\pi kz}\;dz=\sum _{k=-n}^{n}(F_{+}(k)\int _{-0.5}^{0.5}e^{i2\pi kz}dz)=\sum _{k=-n}^{n}F_{+}(k){\frac {1}{i2\pi k}}(e^{i\pi k}-e^{-i\pi k})\\\end{aligned}}}

so when k {\displaystyle k} is nonzero, F + ( k ) {\displaystyle F_{+}(k)} is multiplied by zero and doesn't end up in the sum. If k = 0 {\displaystyle k=0} the inner integral is 1. So the total transverse signal in the voxel is just F + ( 0 ) {\displaystyle F_{+}(0)} . By the same logic the total longitudinal signal is Z ( 0 ) {\displaystyle Z(0)} .11

Coefficient redundancy

It can be proven that F + ( k ) = F ( k ) {\displaystyle F_{+}(k)=F_{-}(-k)^{*}} :1315

F ( k ) = M + ( z ) e i 2 π k z d z F ( k ) = M + ( z ) e i 2 π k z d z = ( M + ( z ) e i 2 π k z ) d z = F + ( k ) {\displaystyle {\begin{aligned}&F_{-}(k)=\int M_{+}(z)^{*}e^{-i2\pi kz}dz\\&F_{-}(-k)=\int M_{+}(z)^{*}e^{i2\pi kz}dz=\int (M_{+}(z)e^{-i2\pi kz})^{*}dz=F_{+}(k)^{*}\\\end{aligned}}}

and so in practice only coefficients with k 0 {\displaystyle k\geq 0} are stored and if a gradient occurs that would shift a coefficient to having a negative index, instead that coefficient is conjugated and stored at a non-negative index.

Computation

In practice, a discrete number of Fourier coefficients are tracked. A matrix can be set up with n + 1 {\displaystyle n+1} frequencies tracked like so:14

[ F + ( 0 ) F + ( 1 ) . . . F + ( n ) F ( 0 ) F ( 1 ) . . . F ( n ) Z ( 0 ) Z ( 1 ) . . . Z ( n ) ] {\displaystyle {\begin{bmatrix}F_{+}(0)&F_{+}(1)&...&F_{+}(n)\\F_{-}(0)&F_{-}(1)&...&F_{-}(n)\\Z(0)&Z(1)&...&Z(n)\\\end{bmatrix}}}

This matrix can be multiplied by the RF pulse rotation matrix T ϕ ( α ) {\displaystyle T_{\phi }(\alpha )} , or multiplied by the relaxation matrix E {\displaystyle E} and then have r {\displaystyle {\textbf {r}}} added to the first column, to update the coefficients. A gradient that adds one twist along the z dimension will result in the first row being shifted right by one, and the second row being shifted left. Then F + ( 0 ) {\displaystyle F_{+}(0)} can be set to F ( 0 ) {\displaystyle F_{-}(0)^{*}} .16

References

References

  1. Matthias Weigel (2015). "Extended phase graphs: dephasing, RF pulses, and echoes - pure and simple". J Magn Reson Imaging. doi:10.1002/jmri.24619.
  2. Jürgen K. Hennig (1988). "Multiecho Imaging Sequences with Low Refocusing Flip Angles". Journal of Magnetic Resonance. 78: 397–407. doi:10.1016/0022-2364(88)90128-X.
  3. Jiang, Yun; Ma, Dan; Seiberlich, Nicole; Gulani, Vikas; Griswold, Mark A. (2015). "MR fingerprinting using fast imaging with steady state precession (FISP) with spiral readout: MR Fingerprinting with FISP". Magnetic Resonance in Medicine. 74 (6): 1621–1631. doi:10.1002/mrm.25559. PMC 4461545. PMID 25491018. Retrieved 2026-01-21.
  4. Weigel, Matthias; Hennig, Juergen (2006). "Contrast behavior and relaxation effects of conventional and hyperecho‐turbo spin echo sequences at 1.5 and 3 T". Magnetic Resonance in Medicine. 55 (4): 826–835. doi:10.1002/mrm.20816. ISSN 0740-3194. Retrieved 2026-01-21.
  5. Sobol, Wlad T.; Gauntt, David M. (1996). "On the stationary states in gradient echo imaging". Journal of Magnetic Resonance Imaging. 6 (2): 384–398. doi:10.1002/jmri.1880060220. ISSN 1053-1807. Retrieved 2026-01-21.
  6. Bloch, F. (1946). "Nuclear Induction". Physical Review. 70: 4604–73. doi:10.1103/PhysRev.70.460. ISSN 0031-899X.
  7. Jaynes, E. T. (1955-05-15). "Matrix Treatment of Nuclear Induction". Physical Review. 98 (4): 1099–1105. doi:10.1103/PhysRev.98.1099. ISSN 0031-899X. Retrieved 2026-01-25.
  8. Hahn, E. L. (1950-11-15). "Spin Echoes". Physical Review. 80 (4): 580–594. doi:10.1103/PhysRev.80.580. ISSN 0031-899X. Retrieved 2026-01-25.
  9. Woessner, D. E. (1961-06-01). "Effects of Diffusion in Nuclear Magnetic Resonance Spin-Echo Experiments". The Journal of Chemical Physics. 34 (6): 2057–2061. doi:10.1063/1.1731821. ISSN 0021-9606. Retrieved 2026-01-25.
  10. Lukzen, N.N.; Savelov, A.A. (2007). "Analytical derivation of multiple spin echo amplitudes with arbitrary refocusing angle". Journal of Magnetic Resonance. 185 (1): 71–76. doi:10.1016/j.jmr.2006.11.010. Retrieved 2026-01-25.
  11. Hennig, Jürgen (1991). "Echoes—how to generate, recognize, use or avoid them in MR‐imaging sequences. Part I: Fundamental and not so fundamental properties of spin echoes". Concepts in Magnetic Resonance. 3 (3): 125–143. doi:10.1002/cmr.1820030302. ISSN 1043-7347. Retrieved 2026-01-25.
  12. Zur, Yuval (2004). "An algorithm to calculate the NMR signal of a multi spin-echo sequence with relaxation and spin-diffusion". Journal of Magnetic Resonance. 171 (1): 97–106. doi:10.1016/j.jmr.2004.07.018. Retrieved 2026-01-25.
  13. Scheffler, Klaus (1999). "A pictorial description of steady-states in rapid magnetic resonance imaging". Concepts in Magnetic Resonance. 11 (5): 291–304. doi:10.1002/(SICI)1099-0534(1999)11:5<291::AID-CMR2>3.0.CO;2-J. ISSN 1043-7347. Retrieved 2026-01-25.
  14. Weigel, M.; Schwenk, S.; Kiselev, V.G.; Scheffler, K.; Hennig, J. (2010). "Extended phase graphs with anisotropic diffusion". Journal of Magnetic Resonance. 205 (2): 276–285. doi:10.1016/j.jmr.2010.05.011. Retrieved 2026-01-25.
  15. Sodickson, A (1998-08-31). "A generalized k-space formalism for treating the spatial aspects of a variety of NMR experiments". Progress in Nuclear Magnetic Resonance Spectroscopy. 33 (2): 77–108. doi:10.1016/S0079-6565(98)00021-1. Retrieved 2026-01-25.
  16. Hargreaves, Brian; Miller, Karla (2013). Using extended phase graphs: review and examples. Proceedings of the 21st Annual Meeting of ISMRM. Salt Lake City.