100% found this document useful (11 votes)
7K views15 pages

Filtered Backprojection Algorithm in MATLAB

1) The document describes the filtered backprojection algorithm used to reconstruct an image from its projections. 2) The key steps are: measuring projections from different angles, applying the Fourier transform, multiplying by a filter, inverse Fourier transform, and backprojecting to reconstruct the image. 3) Common filters mentioned include Ram-Lak, Shepp-Logan, cosine and various windowing functions like Hanning, Hamming, and Blackman.

Uploaded by

sultanprince
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
100% found this document useful (11 votes)
7K views15 pages

Filtered Backprojection Algorithm in MATLAB

1) The document describes the filtered backprojection algorithm used to reconstruct an image from its projections. 2) The key steps are: measuring projections from different angles, applying the Fourier transform, multiplying by a filter, inverse Fourier transform, and backprojecting to reconstruct the image. 3) Common filters mentioned include Ram-Lak, Shepp-Logan, cosine and various windowing functions like Hanning, Hamming, and Blackman.

Uploaded by

sultanprince
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 15

The Filtered Backprojection

Algorithm in MATLAB
Greg Gallardo
51:185

Filtered Backprojection Algorithm
1. Measure the family of projections

K = # of projections (angles), N=# of rays (detector size)
2. Perform FFT[ ]
3. Multiply FFT[ ] by FFT[ ].
4. Perform IFFT[ product from step 3]
5. Perform backprojection as:
( ) N n K i n P
i
,..., 2 , 1 ; ,..., 2 , 1 , = = t
u
( ) K i n P
i
,..., 2 , 1 , = t
u
( ) t
u
n P
i
( ) t n h
( ) ( )

=
+ =
K
i
i i
y x Q
K
y x f
i
1
sin cos , u u
t
u
1) Measure the family of projections
[R,Xp] = RADON(...) returns
two variables
Matrix R columns are the
Radon transform for the angles
. Rows are detector position
Vector Xp - containing the
radial coordinates
corresponding to each row of R.
1) Measure the family of projections
Function parameters
size(): gets N and K
nextpow2(): get width for FFT
2) Perform FFT[ ]
MATLAB stands for MATrix LABoratory
Matrix operations are faster than visiting
each element in a loop.
( ) K i n P
i
,..., 2 , 1 , = t
u
3) Multiply FFT[ ] by FFT[ ]
Backprojection filters
Shepp-Logan: Ram-Lak
multiplied by sinc
function (see iradon
help)
Cosine: Ram-Lak
multiplied by cosine
Hamming: Ram-Lak
multiplied by Hamming
window
Hanning, Blackman, etc.


( ) t n h
( ) t
u
n P
i
3) Multiply FFT[ ] by FFT[ ]
Ram-Lak, Shepp-Logan and Cosine filters in frequency
domain
( ) t n h
( ) t
u
n P
i
3) Multiply FFT[ ] by FFT[ ]
FIR Filters. Commonly used Windows
( ) t n h
( ) t
u
n P
i
Figure from Discrete-Time Signal Processing, Oppenheim & Schafer, Prentice-Hall
3) Multiply FFT[ ] by FFT[ ]
Rectangular

Bartlett (triangular)

Hanning (von Hann)

Hamming

Blackman
( ) t n h
( ) t
u
n P
i

s s
=
otherwise
M n
n w
, 0
, 0 , 1
] [

s <
s s
=
otherwise
M n M M n
M n M n
n w
, 0
2 / , / 2 2
2 / 0 , / 2
] [

s s
=
otherwise
M n M n
n w
, 0
, 0 ), / 2 cos( 5 . 0 5 . 0
] [
t

s s
=
otherwise
M n M n
n w
, 0
, 0 ), / 2 cos( 46 . 0 54 . 0
] [
t

s s +
=
otherwise
M n M n M n
n w
, 0
, 0 ), / 4 cos( 08 . 0 ) / 2 cos( 5 . 0 42 . 0
] [
t t
from Discrete-Time Signal Processing, Oppenheim & Schafer, Prentice-Hall
3) Multiply FFT[ ] by FFT[ ]
( ) t n h
( ) t
u
n P
i
3) Multiply FFT[ ] by FFT[ ]
( ) t n h
( ) t
u
n P
i
3) Multiply FFT[ ] by FFT[ ]
Filter step. Element by element multiplication





( ) t n h
( ) t
u
n P
i
4) IFFT[product from step 3]
5) Perform Backprojection as:
( ) ( )

=
+ =
K
i
i i
y x Q
K
y x f
i
1
sin cos , u u
t
u
Results
Results

You might also like