Hands on …Reconstruction From Projection
Shireen Y. ElhabianAmal A. FaragAly A. Farag
University of LouisvilleJanuary 2009
An Analogy
Agenda
• Reconstruction from projections (general)
– projection geometry and radon transform
• Reconstruction methodology
– Backprojection, (Fourier slice theorem), FilteredBackprojection.
• Reconstruction examples
Introduction
• Only photography (reflection) and planar x-ray (attenuation) measure spatial propertiesof the imaged object directly.
• Otherwise, measured parameters are somehow related to spatial properties of imagedobject.
– CT, SPECT and PET (integral projections ofparallel rays), MRI (amplitude, frequency andphase) etc...
• Objective: We want to construct the object(image) which creates the measured parameters.
Problem Statement
• Given a set of 1-Dprojections and the angles atwhich these projectionswere taken.
• How do we reconstruct the2-D image from which theseprojections were taken?
• Lets look at the nature ofthose projections … L
Parallel Beams Projections
),( yxgy
x
)(tPq
θt
Ray Geometry
• Let x and y be rectilinearcoordinates in a givenplane.
• A line in this plane at adistance t1 from the originis the given by:
where θ is the angle between a unitnormal to the line and the x-axis.
x
yt
Pq (t)
θ
t1
A
B
dsdx
dy
qq sincos1 yxt += g(x,y)
What is Projection ?!!• Let g(x,y) be a 2-D function.
• A line running throughg(x,y) is called a ray.
• The integral of g(x,y) alonga ray is called ray integral.
• The set of ray integralsforms a projection definedas :
x
yt
Pq (t)
θ
t1
A
B
dsdx
dy
g(x,y)
( ) ( )ò ò¥
¥-
¥
¥--+= dxdytyxyxgtP 11 sincos,)( qqdq
Impulse sheath placed at the points constituting the ray
Radon Transform
• Coordinate transformation:
• Radon transform x
yt
Pq (t)
θ
t1
A
B
dsdx
dy
g(x,y)
t
s
úû
ùêë
éúû
ùêë
é-
=úû
ùêë
éyx
st
cossin
sincos
( ) ( )
ò
ò ò¥
¥-
¥
¥-
¥
¥-
=
-+=
.),(
sincos,)(
dsstg
dxdytyxyxgtP qqdq
Radon Space• Projections with different
angles are stored in sinogram(raw data).
• Each vertical line in asinogram is a projectionwith a different angle
Θ : Angles of projections
t : p
roje
ctio
n ra
ys
The Myth Jf
),( yxgy
x
)(tPq
θt
),( yxgy
x
)(tPq
θt
50 100 150 200 250 300 350
50
100
150
200
250
300
350
400
Theta = 180
[ )pq ,0Î
Since Radon transform is a group of projections which are basically line integrals, the difference between the projection at θo and θo +πwill be the direction of the integration.
The Fourier Slice Theorem• This theorem relates the 1D Fourier Transform of a projection and the 2D
Fourier transform of the object. It relates the Fourier transform of the objectalong a radial line.
1D Fourier Transform
)( fSq fu
v
),( vuG
uf =qcosvf =qsin
),( yxgy
x
)(tPq
θt
Frequency DomainSpace Domain
( ){ } ( )ò¥
¥-
-=Á= dtetPtPfS ftjD
pqqq
21)(
( ) ( )q,, fGvuG ºwhere
The Fourier Slice Theorem• This theorem relates the 1D Fourier Transform of a projection and the 2D
Fourier transform of the object. It relates the Fourier transform of the objectalong a radial line.
1D Fourier Transform
),( vuG
),( yxgy
x
)(tPq
θt
Frequency DomainSpace Domain
v
u
The Fourier Slice TheoremFrequency Domain
S(f,θ)Space Domain
A Problem
• All projections contribute tolow freqencies
Solution:
use filtered projection
Filtered Back-projection
Projections (raw data from the scanner)
Fourier Transform of all Projections
Filter Projections
Back-projection to uv-space
Inverse Fourier
Transform
( )!
( ) q
pp
q
q
ddfefSfyxg
yxttQ
ftj
sincos
0
)(
2
ResponseFilter
,
+=
¥
¥-ò ò ú
ú
û
ù
êê
ë
é=
"""" #"""" $%
Estimate of g(x,y)
Tasks :-• Scanner simulation
– Phantom Generation
– Projections computation
• Reconstruction from projections
• Analysis:
– Experiment 1: the effect of filter type.
– Experiment 2: the effect of number of projections.
– Experiment 3: the effect of number of rays
Let’s do it …
Scanner Simulation – Phantom Generation
• Given the spatial support of ourphantom.
• We assume that our phantom isconstructed of a set of ellipses, eachhas the following parameters:
– Intensity, ellipse center (x0,y0), ellipsemajor and minor axes length (a,b), andthe orientation (φ i.e. rotation angle)
X - direction
Y -
dire
ctio
nEllipse Center (x0,y0)
φ
Intensity
Scanner Simulation – Phantom Generation
X - direction
Y -
dire
ctio
n
Scanner Simulation – Phantom Generation
Scanner Simulation – Phantom Generation
Scanner Simulation – Projections Generation
• To be able to study different reconstruction techniques, we first neededto write a program that take projections of a known image.
• Basically, we take the image (which is just a matrix of intensities),rotate it, and sum up the intensities.
• In MATLAB this is easily accomplished with the 'imrotate' and 'sum'commands.
• But first, we zero pad the image so we don't lose anything when werotate.
Scanner Simulation – Projections Generation from 0 to π
Scanner Simulation – Projections Generation from 0 to 2π
Reconstruction From Projections• Given the projections, we first filter them as shown
below.
Reconstruction From Projections• Given the angles where the projections were taken, and the filtered
projections, the following will reconstruct an estimate of the original image.
θ
fPoint on the current radial line which corresponds to the 1D fourier transform of the current projection
( ) ( ) q
pp
q
q
ddfefSfyxg
yxttQ
ftj
sincos
0
)(
2,
+=
¥
¥-ò ò ú
û
ùêë
é=
!!! "!!! #$
Experiment One
Studying the effect of using different filter types compared to the unfiltered
case.
Reconstruction using unfiltered projections
Reconstruction using Ramp filter
Reconstruction using LPF filter
Reconstruction using Butterworth filter
Reconstruction using Sinusoidal filter
Reconstruction using Ramp filter vs unfiltered caseOriginal image
50 100 150 200 250 300
50
100
150
200
250
300
Reconstructed - unfiltered
50 100 150 200 250 300 350 400
50
100
150
200
250
300
350
400
Reconstructed - ramp filter
50 100 150 200 250 300 350 400
50
100
150
200
250
300
350
400
-4 -3 -2 -1 0 1 2 3 40
0.5
1
1.5
2
2.5
3
3.5
w
H(w)
Ramp filter frequency response
Original image
50 100 150 200 250 300
50
100
150
200
250
300
Reconstructed - unfiltered
50 100 150 200 250 300 350 400
50
100
150
200
250
300
350
400
Reconstructed - LPF filter
50 100 150 200 250 300 350 400
50
100
150
200
250
300
350
400
-4 -3 -2 -1 0 1 2 3 40
0.5
1
1.5
2
2.5
3
3.5
w
H(w)
Low pass filter frequency response
Reconstruction using LPF filter vs unfiltered case
Original image
50 100 150 200 250 300
50
100
150
200
250
300
Reconstructed - unfiltered
50 100 150 200 250 300 350 400
50
100
150
200
250
300
350
400
Reconstructed - butterworth filter
50 100 150 200 250 300 350 400
50
100
150
200
250
300
350
400
-4 -3 -2 -1 0 1 2 3 40
1
2
3
4
5
6
7
8
w
H(w)
Butterworth filter frequency response
Reconstruction using Butterworth filter vs unfiltered case
Original image
50 100 150 200 250 300
50
100
150
200
250
300
Reconstructed - unfiltered
50 100 150 200 250 300 350 400
50
100
150
200
250
300
350
400
Reconstructed - sinusoidal filter
50 100 150 200 250 300 350 400
50
100
150
200
250
300
350
400
-4 -3 -2 -1 0 1 2 3 40
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
w
H(w)
Sinusoidal filter frequency response
Reconstruction using Sinusoidal filter vs unfiltered case
Experiment Two
Studying the effect of reconstruction using different number of projections
Reconstruction using different number of projections
Using sinusoidal filter and number of rays equal to image number columns
Quantifying the reconstruction error
20 40 60 80 100 120 140 160 1800
1
2
3
4
5
6
7
Number of Projections
Mea
n Sq
uare
Err
orMean square error using different number of projections
Experiment Three
Studying the effect of reconstruction using different number of rays
Reconstruction using different number of rays
Using sinusoidal filter and fixed number of projections
Quantifying the reconstruction error
0 50 100 150 200 250 300 350 400 4500
20
40
60
80
100
120
140
160
180
Number of rays
Mea
n Sq
uare
Err
or
Mean square error using different number of rays
Thank You