Medical ImagingMedical Imaging
Image Reconstruction from Projections
Prof Ed X. Wu
Transmission MeasurementTransmission Measurement
µ(x,y)
unknownabsorption cross-section
X-r
ay s
ou
rce
( measurable attenuation,
shadowgram )
I = Ioexp − A(x, y)dl
L∫
⎛ ⎝ ⎜
⎞ ⎠ ⎟
I(ϕ,
ξ)
XX--Ray TomographyRay Tomography
I(ϕ,
ξ)
X-r
ay s
ou
rce
Uses X-rays to generate several shadowgrams I(ϕ,ξ).
XX--Ray TomographyRay Tomography
I(ϕ,ξ)
X-ray source
XX--Ray TomographyRay Tomography
I(ϕ,ξ)
X-ray so
urce
XX--Ray TomographyRay Tomography
I(ϕ,
ξ)
X-r
ay s
ou
rce
To obtain image from projection datause inverse radon transform.
µ(x,y)
unknownabsorption cross-section
Image Reconstruction from Projections:
• Radon Transform
• Projection Slice Theorem
• Image Reconstruction from Projection Data- Method I: Fourier Reconstruction- Method II: Backprojection Filtering- Method III: Fourier Filtered Backprojection- Method IV: Convolution Filtered Backprojection
OverviewOverview
Radon TransformRadon Transform
I = Ioexp − µ(x, y)dlL∫
⎛
⎝ ⎜
⎞
⎠ ⎟
g ≡ lnIoI
⎛ ⎝ ⎜
⎞ ⎠ ⎟ (Signal)
X-ra
y so
urce
The Radon transform g(s,θ) of a function µ(x,y) is defined as its line integral along a line inclined at an angle θ from
the y-axis and at a distance s from the origin.
x’
x
y
θs
g(s,θ)
µ(x,y)unknown
absorption
y’
g(s,θ ) = µ(x, y)dlL∫
µ(x,y) g(s,θ)
θ
Radon TransformRadon Transform
The Radon transform g(s,θ) of a function µ(x,y) is the one-dimensional projection of µ(x,y) at an angle θ.
g(s,θ ) = µ(x, y)dlL∫
The Radon transform maps the spatial domain (x,y) to the domain (s,θ).
Each point in the (s,θ) space corresponds to a line in the spatial domain (x,y).
x’
x
y
θ
sg(s,θ)
µ(x,y)unknownabsorption
y’s
µ(x,y) g(s,θ)
Radon TransformRadon Transform
θ
s
cos sin 0
( , ) ( , ) ( , )
( , ) ( cos sin )
L x y s
g s x y dl x y dl
x y x y s dxdy
θ θ
θ µ µ
µ δ θ θ
+ − =
∞ ∞
−∞ −∞
= =
= + −
∫ ∫
∫ ∫
Equation of line (red) given s and θ;
y(x) = m x + c
m = - cosθ / sinθc = y(0) = s/cos(90- θ)
= s/sinθ=> y = - cosθ /sinθ x + s/sinθ
0 = - sin θ y - cosθ x + s
0 = x cosθ + y sinθ - s
s cosθ
s si
nθs
/ sin
θ
y
x
L
More Radon TransformMore Radon Transform
'
( , ) ( , ) ( cos sin )
( 'cos 'sin , 'sin 'cos ) ( ' ) ' '
( 'cos 'sin , 'sin 'cos ) '
( cos 'sin , sin 'cos ) '
x s
g s x y x y s dxdy
x x y y x y x s dx dy
x x y y x y dy
s y s y dy
θ µ δ θ θ
µ θ θ θ θ δ
µ θ θ θ θ
µ θ θ θ θ
=
= + −
= = − = + −
= = − = +
= − +
∫∫∫∫∫
∫
'cos 'sin
'sin 'cos
' cos sin
' sin cos
x x y
y x y
x x y
y x y
θ θθ θ
θ θθ θ
= −= +
= += − +
Achieved by rotating coordinate system so that
the integration line is along y’-axes: x’
x
y
θsy’
Radon Transform: Example 1Radon Transform: Example 1
A(x,y) = δ(x, y) (point at center)
[ ] 0, 0
( , ) ( , ) ( cos sin )
( , ) ( cos sin ) ( ) ( )x y
g s x y x y s dxdy
g s x y s s s
θ δ δ θ θ
θ δ θ θ δ δ= =
= + −
= + − = − =∫∫
SinogramSinogram
Line in Radon spaceLine in Radon space
S=0S=0
x’
x
y
θ
s
y’
δ(x,y)
(s,θ)
Radon Transform: Example 2Radon Transform: Example 2
A(x,y) = δ(x-1,y) (point on x-axis)
[ ] 1, 0
( , ) ( 1, ) ( cos sin )
( , ) ( cos sin ) (cos )
cos
x y
g s x y x y s dxdy
g s x y s s
Non zero s
θ δ δ θ θ
θ δ θ θ δ θ
θ= =
= − + −
= + − = −
− => =
∫∫
SinogramSinogram
-1
-0.5
0
0.5
1
-6 -4 -2 0 2 4 6
s
θ
x’
x
y
θ
s
y’ δ(x-1, y)
Example II: A(x,y) = δ(r,φ) (arbitrary point)
Radon Transform: Example 3Radon Transform: Example 3
-1.5
-1
-0.5
0
0.5
1
1.5
-6 -4 -2 0 2 4 6
s
θ
φ
r
SinogramSinogram
x’
x
y
θ
s
y’φr
[ ] [ ]cos , sin
( , ) ( , ) ( cos sin )
( , ) ( cos sin ) cos( )
cos( )
x r y r
g s A x y x y s dxdy
g s x y s r s
Non zero r s
φ φ
θ δ θ θ
θ δ θ θ δ θ φ
θ φ= =
= + −
= + − = − −
− => − =
∫∫δ(r,φ)
x’
x
yExample III: A(x,y) = δ(r,φ) +
y’
Radon Transform: Example 4Radon Transform: Example 4
φ
r
-1.5
-1
-0.5
0
0.5
1
1.5
-6 -4 -2 0 2 4 6
s
θ
φ
δ(x-1,y)
δ(x-1,y)
δ(r,φ)
Radon TransformRadon Transform
2D Real Space 2D Radon Space
θ(0 to 180 degree)
s
Radon TransformRadon Transform
2D Real Space 2D Radon Space
θ(0 to 180 degree)
s
Where these structures are in Radon space?
Properties of Radon TransformProperties of Radon Transform
Image Reconstruction from Projections:
• Radon Transform
• Projection Slice Theorem
• Image Reconstruction from Projection Data- Method I: Fourier Reconstruction- Method II: Backprojection Filtering- Method III: Fourier Filtered Backprojection- Method IV: Convolution Filtered Backprojection
OverviewOverview
Projection Theorem( also “Central Slice Theorem” or Projection Slice Theorem)
If g(s,θ) is the Radon transform of a function f(x,y), then the one-dimensional Fourier transform G(ωs,θ) with respect to s of the projection g(s,θ) is equal to the central slice, at angle θ, of the two dimensional Fourier transform F(ωx, ωy) of the function f(x,y).
x
y
θ
g(s,θ)
µ(x,y)
2D-space domain of µ(x,y)
ωx
ωy
θ
2D-frequency domain of µ(x,y)
s1D-Fourier
transform F(g(s))
Projection Theorem( also “Central Slice Theorem” or Projection Slice Theorem)
If g(s,θ) is the Radon transform of a function f(x,y), then the one-dimensional Fourier transform G(ωs,θ) with respect to s of the projection g(s,θ) is equal to the central slice, at angle θ, of the two dimensional Fourier transform F(ωx, ωy) of the function f(x,y).
x
y
θ
g(s,θ)
µ(x,y)
Proof: Assignment
ωx
ωy
θ
s1D-Fourier
transform F(g(s))
Projection Theorem( also “Central Slice Theorem” or Projection Slice Theorem)
Clues ?
2D-space domain of µ(x,y) 2D-frequency domain of µ(x,y)
1D-FTF(g(s))
-8 -6 -4 -2 0 2 4 6 8ξ [cm]
0
1
2D-FTF(µ(x,y))
s
under viewing angle θ = 00
g(s,
00 )
ωxωy
ωxωy
Projection Theorem
Projection Theorem( also “Central Slice Theorem” or Projection Slice Theorem)
2D-space domain of µ(x,y) 2D-frequency domain of µ(x,y)
1D-FTF(g(s))
-8 -6 -4 -2 0 2 4 6 8ξ [cm]
0
1
2D-FTF(µ(x,y))
s
under viewing angles θ = 00 &θ = 900
g(s,
0 o
r 90
0)
ωxωy
ωxωy
Projection Theorem( also “Central Slice Theorem” or Projection Slice Theorem)
µ(x,y)
Preparing for Class Project
• Computer skills (MatLab or C from ELEC2201) ?
• Skills in numerical computation ?
Image Reconstruction from Projections:
• Radon Transform
• Projection Slice Theorem
• Image Reconstruction from Projection Data- Method I: Fourier Reconstruction- Method II: Backprojection Filtering- Method III: Fourier Filtered Backprojection- Method IV: Convolution Filtered Backprojection
OverviewOverview
Projection Theorem
How can we use Projection slice theorem to reconstruction
spatial distribution of absorption profile µ(x,y) ?
I. Fourier Reconstruction
Object Spaceµ(x,y)
2 DimensionalFourier-Object SpaceF(ωx,ωy) = FT(µ(x,y))
Radon Spaceg(s,θ)
1 DimensionalFourier-Radon Space
G(ωs, θ) = FT(g(s))
X-ray absorption measurements yield
Radon Transform
1-D Fourier Transform
FT(g(s))
Many slices
at different θ fill 2D Fourier-object space
2-D InverseFourier
Transform
Fourier Image Reconstruction with Projection Theorem
Fourier Reconstruction
x
y
θ
g(s,θ)
µ(x,y)
ωx
ωy
θ
s1D-Fourier
transform F(g(s))
Fourier Reconstruction
1D-Fourier transform F(g(s,θ1))of one projection
2D-Inverse Fourier transform
Fourier Reconstruction
x
y
g(s,θ1,2)
µ(x,y)
ωx
ωys 1D-Fourier transform F(g(s))
Fourier Reconstruction
1D-Fourier transform F(g(s,θ1,2))
of two projection
2D-Inverse Fourier transform
Fourier Reconstruction
x
y
g(s,θ1,2,3,4)
µ(x,y)
ωx
ωy
s
1D-Fourier transform F(g(s))
Fourier Reconstruction
1D-Fourier transform F(g(s,θ1,2,3,4))
of 4 projection
2D-Inverse Fourier transform
Fourier Reconstruction
x
y
θ
g(s,θ1,2, ...8)
µ(x,y)
ωx
ωy
θ
s1D-Fourier
transform F(g(s))
Fourier Reconstruction
1D-Fourier transform F(g(s,θ1,2,... ,8))
of 8 projection
2D-Inverse Fourier transform
Fourier Reconstruction
1D-Fourier transform F(g(s,θ1,2, ... , 16))
of 16 projection
2D-Inverse Fourier transform
Fourier Reconstruction
1D-Fourier transform F(g(s,θ1,2, ... , 64))
of 64 projection
2D-Inverse Fourier transform
Influence of # of Projections
64 projections16 projections8 projections
1 projections 2 projections 4 projections
Fourier Image Reconstruction with Projection Theorem
ωx
ωy
θ
Problem:Points in 2D Fourier Space are not on rectangular grid.
=> Inverse Fourier transform not trivial.
Fourier Image Reconstruction with Projection Theorem
A practical algorithm:
Fourier Image Reconstruction with Projection Theorem
How is the Fourier reconstruction method connected with
the backprojection method?
II. Backprojection FilteringII. Backprojection Filtering
0
ˆ( , ) ( , ) ( cos sin , ) b x y f x y g g s x yB dπ
θ θ θ θ≡ ≡ = = +∫
1 1 2 2( , ) ( ) ( ) ( ) ( )g s g s g sθ δ θ φ δ θ φ= − + −
Example: Backproject 2 projections (g1 and g2) only
2 projections represented in Randon space
Backproject 2 Projections
b(x,y) = g1(s1) + g2 (s2 ) = b(r,φ)
1 1 2 2cos( ), cos( )s r s rφ φ φ φ= − = −
The value of the backprojection Bg is evaluated by integrating g(s,θ) over θ for
all lines that pass through that point.
Backprojection operatorBackprojection operator
Backprojection & Radon TransformBackprojection & Radon Transform
Real Space Radon Space, g(s,θ)
x
y
θ
s
The backprojection at (r, φ ) is the integration of g(s,θ) along the sinusoid s = r cos(θ−φ)
WHY? (Optional)
(r, φ)s = r cos(θ−φ)
•-1.5
•-1
•-0.5
•0
•0.5
•1
•1.5
•-4 •-2 •0 •2 •4
•s
This is why we sawThis is why we saw……
Backprojection & Radon TransformBackprojection & Radon Transform
Object Simple
Backprojection (BP)
Sinogram
Backprojection
Measurement
Difference between
Object & BP image
θ(0 to π)
s
Backprojection Operator: MathematicsBackprojection Operator: Mathematics
It can be shown from
that the backprojected Radon transform data g or Rf (i.e., the simple backprojection image)
2 2
ˆ ( , )
1 ( , )
f x y Bg BRf
f x yx y
≡ =
⎛ ⎞⎜ ⎟= ⊗⎜ ⎟+⎝ ⎠
Therefore backprojection of radon transform gives the original image convolved with 1/sqrt(x2+y2). This results in blurred image.
What could you do to get back f(x,y)?
∫∫
∫−+=
=
dxdysyxyxf
dlyxfsgL
)sincos(),(
),(),(
θθδ
θ
),sincos(),(ˆ0
θθθθπ
dyxsgBgyxf +==≡ ∫
Proof?
Assignment
Image Reconstruction by Backprojection FilteringImage Reconstruction by Backprojection Filtering
( ) 1/ 22 2
ˆ ( , )
( , )
f x y Bg BRf
f x y x y−
≡ =
= ⊗ +
Use a filter! - But what filter?
( ) ( )( ) ( ) ( )( )( ) ( )
1/ 2 1/ 22 2 2 2
1/ 22 2
ˆ ( , ) ( , ) ( , )
( , ) x y
F f x y F f x y x y F f x y F x y
F f x y ω ω−
− −= ⊗ + = +
= +
Use convolution theorem:
( )( ) ( ) ( ) ( )( )),(
),( ),(ˆ 2/1222/1222/122
yxfF
yxfFyxfF yxyxyx
=
++=+−
ωωωωωω
( ) ( )( ) ( )( )1/ 22 2ˆ ( , ) ( , ) ) ( ,x yIF F f x y IF F f x y f x yω ω = =+
SQRT SQRT -- FiltersFilters
Filter
(HP)ω = ω x
2 + ω y2( )1/ 2
ω −1 = ω x2 + ω y
2( )−1/ 2Filter
(LP)
ωx
ωx
ωyωy
Backprojection Filtering Algorithm:
(1) Get Radon transform g(s,θ) of f(x,y)by performing tomographic X-tray imaging.
(2) Backproject the Radon transform data.
(3) Take Fourier transform of backprojected data.
(4) Multiply with filter sqrt(ωx2+ ωy
2)
(5) Perform inverse Fourier Transform to obtain f(x,y)
f (x, y) = IF2 ω • F2 B Rf( )( )( )
Image Reconstruction by Backprojection FilteringImage Reconstruction by Backprojection Filtering
Backprojection Filtering Reconstruction Backprojection Filtering Reconstruction & Fourier Reconstruction& Fourier Reconstruction
f (x, y) = IF2 ω • F2 B Rf( )( )( )
f (x, y) = IF2 PST Rf( )( )( )
= IF2 F1,s g(s,θn )( )n=1
N∑
⎛
⎝ ⎜ ⎜
⎞
⎠ ⎟ ⎟
Backprojection Filtering Method:
Fourier Reconstruction Method:
There are also other techniques !!!!
PST := Projection Slice Theorem or Central Slice Theorem
Note that re-griding is required
Radon TransformRadon Transform2D Real Space 2D Radon Space
θ
s
Why such 2D Radon Transform is important ?- Formulation of x-ray attenuation measurement in CT
- Mathematics for later use in image reconstruction- Inverse Radon Transform possible?
),sincos(ˆ),(0
θθθθπ
dyxsgyxf +== ∫ssss dsiGsgwith ωωθωωθ )exp(),(),(ˆ ∫
∞
∞−
=
with G(ω s ,θ ) = F1,s g(s,θ)( )
III. Fourier Filtered BackprojectionIII. Fourier Filtered Backprojection
The inverse Radon transform is obtained in two steps:
(1) Each projection is filtered by a one dimensional filter whose frequency response is |ωs|.
(2) The result of step (1) is backprojected to yield f(x,y).
),sincos(ˆ),(0
θθθθπ
dyxsgyxf +== ∫
( )
),(),(
)exp(),(),(ˆ
,11
1
θθω
ωωθωωθ
sgFFwith
dsiFsgwith
ss
ssss
=
= ∫∞
∞−
Inverse Radon Transform Theorem:
Proof ?
ProofProof
)](exp[),(),( yxyxyx ddyxiFyxf ωωωωωω += ∫ ∫∞
∞−
∞
∞−
The inverse Fourier transform is given by:
Rewriting in polar coordinates results in:
)]sincos(exp[),(),(2
0 0
θωωθθωθωπ
ddyxiFyxf ssssp += ∫ ∫∞
Changing the limits of integration we get:
)]sincos(exp[),(),(0∫ ∫ +=
∞
∞−
π
θωθθωθωω ddyxiFyxf sssps
Since the Projection Slice Theorem(1D Fourier transform with respect to s of Radon transform equals slice through 2D Fourier transform at angle θ of the object function f)
∫∫
∫ ∫
=+=
⎭⎬⎫
⎩⎨⎧
=∞
∞−
ππ
π
θθθθθθ
θωωθωω
00
0
),(ˆ),sincos(ˆ),(
]exp[),(),(
dsgdyxgyxf
ddsiGyxf ssss
x
y
θ
g(s,θ)
µ(x,y)
ωx
ωy
θ
s1D-Fourier
transform F(g(s))
=
Projection Theorem( also “Central Slice Theorem” or Projection Slice Theorem)
Fourier Filtered Backprojection Reconstruction Fourier Filtered Backprojection Reconstruction && Backprojection Filtering ReconstructionBackprojection Filtering Reconstruction
),sincos(ˆ),(0
θθθθπ
dyxsgyxf +== ∫
( )
),(),(
)exp(),(),(ˆ
,11
1
θθω
ωωθωωθ
sgFFwith
dsiFsgwith
ss
ssss
=
= ∫∞
∞−
f (x, y) = IF2 ω • F2 B Rf( )( )( )
f (x, y) = B IF1,s ωs • F1,s Rf( )( )( )Fourier Filtered Backprojection Method
Backprojection Filtering Method
Fourier Filtered Backprojection ReconstructionFourier Filtered Backprojection Reconstruction
discrete implementation:
basic concept:
||ωω| | -- FiltersFilters
RAM - LAK Shepp-Logan
Hamming Lowpass Cosine
IV. Convolution Filtered BackprojectionIV. Convolution Filtered Backprojection
page 446
),sincos(ˆ),(0
θθθθπ
dyxsgyxf +== ∫
ssss dsiGsgwith ωωθωωθ )exp(),(),(ˆ ∫∞
∞−
= with G(ω s ,θ ) = F1,s g(s,θ)( )
= ω sG(ω s ,θ) sgn(ω s ) exp(iω ss)dωs−∞
∞∫
= IF1 ωsG(ωs ,θ ){ }[ ]⊗ IF1 sgn(ω s ){ }[ ]=
1
i2π⎛ ⎝ ⎜
⎞ ⎠ ⎟
∂g(s,θ )
∂s
⎡ ⎣ ⎢
⎤ ⎦ ⎥ ⊗
−1
iπs
⎡ ⎣ ⎢
⎤ ⎦ ⎥
=1
2π 2
⎛
⎝ ⎜
⎞
⎠ ⎟
∂g(t ,θ )
∂t
⎡ ⎣ ⎢
⎤ ⎦ ⎥
−∞
−∞∫
1
s − tdt Hilbert Transform
convolution theorem
Convolution Filtered BackprojectionConvolution Filtered Backprojection
The inverse Radon transform is obtained in three steps:
(1) Each projection is differentiated with respect to s.
(2) A Hilbert transformation is performed with respect to s.
(3) The result of step (2) is backprojected to yield f(x,y).
f (x, y) = 1 / 2π( )B Hs Ds Rf( )( )( )
convolution
SummarySummary
f (x, y) = 1 / 2π( )B Hs Ds Rf( )( )( )Convolution Filtered Backprojection – Method IV:
f (x, y) = IF2 ω • F2 B Rf( )( )( )
f (x, y) = B IF1,s ωs • F1,s Rf( )( )( )Fourier Filtered Backprojection - Method III
Backprojection Filtering - Method II:
f (x, y) = IF2 F1,s g(s,θn )( )n=1
N∑
⎛
⎝ ⎜ ⎜
⎞
⎠ ⎟ ⎟
Fourier Reconstruction - Method I:
ProjectsProjects
Groups of 3Groups of 3--4 work on the same problem but with 4 work on the same problem but with different approaches. Consult each other and different approaches. Consult each other and
divide work whenever possible. divide work whenever possible.
Presentation in classPresentation in class
Will be graded as ~6 Will be graded as ~6 homeworkshomeworks ( or ~10% Grade).( or ~10% Grade).
Group ProjectsGroup Projects
f (x, y) = 1 / 2π( )B Hs Ds Rf( )( )( )D. Convolution Filtered Backprojection - Method IV:
f (x, y) = IF2 ω • F2 B Rf( )( )( )
f (x, y) = B IF1,s ωs • F1,s Rf( )( )( )C. Fourier Filtered Backprojection - Method III:
B. Backprojection Filtering - Method II
f (x, y) = IF2 F1,s g(s,θn )( )n=1
N∑
⎛
⎝ ⎜ ⎜
⎞
⎠ ⎟ ⎟
A. Fourier Reconstruction - Method I:
25 students => 25 students => 55 groups of groups of 55Each group will write reconstruction program in Each group will write reconstruction program in MatlabMatlab::
E. Iterative Reconstruction