ECE 468: Digital Image Processing Lecture 8 Prof. Sinisa Todorovic sinisa@eecs.oregonstate.edu 1 Image Reconstruction from Projections X-ray computed tomography: X-raying an object from different directions 3D object representation 2
Example: Backprojecting a 1D signal 3...As We Increase the Number of Backprojections halo effect 4
Example: Backprojecting a 1D signal 5 Projection y = ax + b x cos θ + y sin θ = ρ 6
Radon Transform A point in the projection g(ρ j, θ k ) is the ray-sum along x cos θ k + y sin θ k = ρ j 7 Radon Transform g(ρ, θ) = f(x, y)δ(x cos θ + y sin θ ρ)dxdy continuous space coordinates g(ρ, θ) = M 1 x=0 N 1 y=0 f(x, y)δ(x cos θ + y sin θ ρ) discrete space coordinates key tool for reconstruction from projections 8
Example: Radon Transform { A, x 2 + y 2 r 2 0, o.w 9 Sinogram = Image of Radon Transform 10
Properties of Objects from Sinogram Sinogram symmetric = Object symmetric Sinogram symmetric about image center = Object symmetric and parallel to x and y axes Sinogram smooth = Object has uniform intensity 11 Computed Tomography (CT) Key objective: Obtain a 3D representation of a volume from its projections How: Backproject all projections and sum them all in one image By stacking all images we obtain the 3D volume 12
Backprojection from the Radon Transform Given point g(ρ j, θ k ) Backprojection = copy the value of g(ρ j, θ k ) on the entire line ρ f θk (x, y) =g(x cos θ k + y sin θ k, θ k ) π 0 f θ (x, y)dθ 13 Backprojection from the Radon Transform Given point g(ρ j, θ k ) Backprojection = copy the value of g(ρ j, θ k ) on the entire line ρ f θk (x, y) =g(x cos θ k + y sin θ k, θ k ) π 0 f θ (x, y)dθ 13
Laminogram Obtained from Sinogram Backprojection for a specific angle f θk (x, y) =g(x cos θ k + y sin θ k, θ k ) Summation over all theta π f θ (x, y) θ=0 14 Laminogram Obtained from Sinogram Backprojection for a specific angle f θk (x, y) =g(x cos θ k + y sin θ k, θ k ) Summation over all theta π f θ (x, y) θ=0 14
Example Laminograms Significant improvements can be obtained by reformulating backprojections! 15 Relating 1D Fourier Transform of the projection with 2D Fourier Transform of the image from which the projection was obtained. 16
1D Fourier Transform of the Projection g(ρ, θ)e j2πωρ dρ 17 1D Fourier Transform of the Projection g(ρ, θ)e j2πωρ dρ by definition f(x, y)δ(x cos θ + y sin θ ρ)e j2πωρ dx dy dρ 17
1D Fourier Transform of the Projection g(ρ, θ)e j2πωρ dρ by definition f(x, y)δ(x cos θ + y sin θ ρ)e j2πωρ dx dy dρ = f(x, y)e j2πω(x cos θ+y sin θ) dx dy 17 1D Fourier Transform of the Projection g(ρ, θ)e j2πωρ dρ by definition f(x, y)δ(x cos θ + y sin θ ρ)e j2πωρ dx dy dρ = f(x, y)e j2πω(x cos θ+y sin θ) dx dy = F (ω cos θ, ω sin θ) 17
1D Fourier Transform of the Projection g(ρ, θ)e j2πωρ dρ by definition f(x, y)δ(x cos θ + y sin θ ρ)e j2πωρ dx dy dρ = f(x, y)e j2πω(x cos θ+y sin θ) dx dy = F (ω cos θ, ω sin θ) Fourier Slice Theorem 17 Fourier Slice Theorem 1D FT = a slice of 2D FT 18
Reconstruction Using Filtered Backprojections by definition F (u, v)e j2π(ux+vy) du dv 19 Reconstruction Using Filtered Backprojections by definition F (u, v)e j2π(ux+vy) du dv u = ω cos θ, v= ω sin θ, dudv = ωdωdθ 2π 0 0 F (ω cos θ, ω sin θ)e j2πω(x cos θ+y sin θ) ω dω dθ 19
Reconstruction Using Filtered Backprojections by definition F (u, v)e j2π(ux+vy) du dv u = ω cos θ, v= ω sin θ, dudv = ωdωdθ 2π 0 0 F (ω cos θ, ω sin θ)e j2πω(x cos θ+y sin θ) ω dω dθ by Fourier Slice Theorem 2π 0 0 G(ω, θ)e j2πω(x cos θ+y sin θ) ω dω dθ 19 Reconstruction Using Filtered Backprojections G(ω, θ + 180 )=G( ω, θ) 20
Reconstruction Using Filtered Backprojections G(ω, θ + 180 )=G( ω, θ) π 0 0 ω G(ω, θ)e j2πω(x cos θ+y sin θ) dω dθ 20 Reconstruction Using Filtered Backprojections G(ω, θ + 180 )=G( ω, θ) π 0 0 ω G(ω, θ)e j2πω(x cos θ+y sin θ) dω dθ π 0 [ 0 ] ω G(ω, θ)e j2πωρ dω dθ ρ=x cos θ+y sin θ 20
Reconstruction Using Filtered Backprojections G(ω, θ + 180 )=G( ω, θ) π 0 0 ω G(ω, θ)e j2πω(x cos θ+y sin θ) dω dθ π 0 [ 0 ] ω G(ω, θ)e j2πωρ dω dθ ρ=x cos θ+y sin θ 1D filtering 20 Box + Ramp Filter 21
Algorithm for Filtered Backprojection 1. Given projections g(!,") obtained at each fixed angle " 2. Compute G(#,") = 1D Fourier Transform of each projection g(!,") 3. Multiply G(#,") by the filter function # modified by Hamming window 4. Compute the inverse of the results from 3. 5. Integrate (sum) over " all results from 4. 22 Examples naive backprojection zoom ramp filter windowed ramp filter ramp filter windowed ramp filter 23