CS 736 : Assignment 1 solution


Original Work


5/5 - (1 vote)

1. (20 points) X-Ray Computed Tomography : Radon Transform. Generate an image of the Shepp-Logan phantom using the Matlab function call “phantom (128)”. Call this f(x,y). Associate (logically) a coordinate frame with the image with the origin located at the center pixel.
(a) (5 points) Given an image, implement a function (named myIntegration()) to perform integration of the image intensities along lines Lt,θ that are parametrized by t and θ, where t ∈ (−∞,∞) is the (signed) distance of the line from the origin and θ ∈ [0,180) is the angle (in degrees) made by the upward-pointing normal to the line with the +X axis. You may use the “interp2()” function in Matlab. Choose a suitable value for the step size ∆s for the discrete/summation approximation of the integral. Justify your choice. Choose a suitable image-interpolation scheme. Justify your choice. (b) (5 points) Use the function you implemented in the previous question to implement another function (named myRadonTrans()) that computes the Radon transform Rf(t,θ) for the discrete set of values t = −90,−85,··· ,85,90 (∆t = 5 pixel-width unit) and the discrete set of values θ = 0,5,10,··· ,175 (∆θ = 5 degrees). (c) (5 points) Compare Radon transforms computed with different choices of parameters (during the integration). Specifically, compute and show the Radon-transform images with the following3 ∆s values: ∆s = 0.5 pixel-widthunit, ∆s = 1 pixel-widthunit, ∆s = 3 pixel-width units. Showthe1DfunctionplotsfortheRadon-transformimagevaluesforthefollowingvalues θ : 0 degree, 90 degrees. Which 1D plot appears the smoothest/roughest and why ? Which image appears the smoothest/roughest and why ? (d) (2.5 points) If you were to design a CT scanner, what parameter settings (for ∆t,∆θ) would you use or not use ? Justify your choice (using suitable images / plots) and describe the underlying trade-offs. (e) (2.5 points) If you were to design a CT reconstruction software relying on the algebraic reconstruction technique (ART), then how would you choose the number of pixels in the grid and ∆s ? For a chosen image pixel grid, describe the effects of choosing ∆s >> 1 pixel width and ∆s << 1 pixel width. 2. (20 points) X-Ray Computed Tomography : Filtered Backprojection. 1 Generate an image of the Shepp-Logan phantom using the Matlab function call “phantom (256)”. Call this f(x,y). Associate (logically) a coordinate frame with the image with the origin located at the center pixel. (a) (8 points) Use the Matlab function “radon()” to compute a Radon transform of f(x,y) with the values of θ = 0,3,6,··· ,177 degrees. Use the Matlab function “iradon()”, with suitable parameters, to compute the backprojection of the Radon transform. Now, implement the Ram-Lak filter, Shepp-Logan filter, and the Cosine filter (in the Fourier domain; use Matlab functions “fft()” and “ifft()”), where L is a user-controlled parameter. Name the function as myFilter(). Use your function to filter (in all 3 ways) the Radon-transform data for 2 different values of L, i.e., L = wmax and L = wmax/2, where wmax is the highest frequency in the (discrete) Fourier representation. Use the “iradon()” function to compute the backprojection of the filtered data. Show the resulting images and justify the similarities and the differences observed between the different combinations of filters and parameter values. (b) (8 points) Generate a blurred version of the Shepp-Logan image by convolving it with a Gaussian. Use the Matlab function calls “mask = fspecial (’gaussian’, 11, 1)” to create a convolution mask and then use “conv2 (image, mask, ’same’)” for the smoothing. Generate another blurred image by using “mask = fspecial (’gaussian’, 51, 5)”. Show the 3 different versions of the Shepp-Logan images, say S0,S1,S5. For all these, compute the radon transform with θ = 0,3,6,··· ,177 degrees, apply the Ram-Lak filter with L = wmax, and compute the backprojection. For all 3 filtered backprojections, say, R0,R1,R5, compute the relative root-mean-squared errors (RRMSE) RRMSE(Si,Ri), where the RRMSE for 2 images A and B is defined as : RRMSE(A,B) =qPp(A(p)−B(p))2/qPp A(p)2, where the summation is over all pixels p. In which of the 3 cases is the RRMSE the highest and the lowest ? Explain theoretically. (c) (4 points) For each of the 3 examples (i.e., Shepp-Logan phantoms S0,S1,S5 and their filtered backprojections R0,R1,R5 using the Ram-Lak filter), plot the RRMSE values as a function of L with L = 1,2,··· ,wmax. Explain your findings. 3. (10 points) X-Ray Computed Tomography : Incomplete Data. Loadground-truthimagesofattenuationcoefficientsfromhttp://www.cse.iitb.ac.in/~suyash/ cs736/CT\_Chest.mat.zipandhttp://www.cse.iitb.ac.in/~suyash/cs736/myPhantom.mat. zip Consider a CT imaging scenario where data can be acquired over 150 angles spanned over 150 degrees (not 180 degrees), in increments of 1 degree. That is, you can acquire data at the angles [θ,θ +1,··· ,θ +150] degrees, for any given θ. For each of the given two datasets, which contigous set of 150 angles will you acquire the data to minimize the error in reconstruction ? (a) (5 points) For each dataset, plot the RRMSE values between the ground-truth images and the reconstructed images for θ ∈ [0,1,··· ,180]. (b) (5 points) For each dataset, show the reconstructed image for that value of θ that gives the least RRMSE.