Inleiding Scientific Computing deel 2 - Computed Tomography

Overview

In part 2 of Introduction to Scientific Computing we get started with Computed Tomography; an imaging method used in, for example, a CT scanner. It takes a lot of calculations to process all the data from a CT scanner into a three-dimensional image, and as you can imagine it is important to have a result within a short time.

We learn about:

  • The physics behind X-ray tomography
  • The Radon Transformation and the Fourier Slice Theorem
  • The (discrete) Fourier transform and the non-uniform Fourier transform
  • Discretizing the Radon transformation
  • Various image reconstruction methods, including Filtered Backprojection and Algebraic Reconstruction.

In addition, we pay attention to writing readable and error-free code, version control, comparing different numerical methods and reproducible numerical experiments.

Final report

The assignments you make every week are processed in pairs into a report of approximately 10 pages (including references, excluding code). In addition to the report, you also submit the code (as github link or .zip file).

  • You don’t have to include all the assignments, but you can instead focus on the ones that you found most interesting / instructive. A good way to start is to formulate a research question based on the assignments (e.g., comparing 2 image reconstruction methods and asking which one is more accurate or efficient)
  • Make it a coherent story, (introduction, theory, implementation, results, conclusion and discussion) rather than a chronological overview of the assignments.
  • Discuss the numerical implementation; if you used the example code for the results, state this clearly and explain briefly your efforts in implementing (and why they did not work).
  • If you used your own implementation of the algorithms, briefly explain your approach and motivate the choices you made in the implementation.
  • For numerical experiments, clearly state the parameters used, and carefully discuss the conclusions that can be drawn from them.
  • Make sure figures include labels and captions and are referred to in the text

The grade will be based on 3 aspects:

Content (40%)

  • Is the research questions clearly defined
  • Is the structure clear and is the report complete (introduction, methods, results, conclusion/discussion)
  • Is the explanation of the theory correct
  • Are the algorithms and their implementations discussed in sufficient detail

Results (40%)

  • are the numerical experiments clearly described
  • do the numerical experiments aid in answering the research question
  • are the numerical experiments more than an example, in the sense that they go beyond showing a method works on one particular example
  • do the results support the conclusions and are the limitations discussed

Layout (20%)

  • do all figures have legends, labels, captions and are they referred to in the text
  • are style, spelliing and grammar reasonable

If you have any questions, or would you like to have some feedback on an initial draft you can reach me by mail.

The deadline for the report is Friday June 28th 2024. Mail your report to Tristan van Leeuwen

Useful resources

Week 1

Lectures (Lectures on May 21st 13:15 - 15:00):

In these lectures we learn the basics of Computed Tomography; the underlying physics and the Fourier Slice Theorem, which forms the basis for tomographic image reconstruction.

Assignments (Practical sessions on May 21st 15:15 - 17:00 and May 23rd 11:00 - 12:45):

In these assignments you will investigate the accuracy of the Python method radon and compare different Fourier reconstruction methods for accuracy. After these assignments you will know:

  • how to work with the DFT and FFT in Python
  • how to implement bi-linear interpolation in Python

Week 2

Lectures (Lecture on May 28th 13:15 - 15:00):

This week we are going to discretize the Radon transformation and compare different approaches in efficiency and accuracy. In addition, we are looking at an alternative reconstruction method; Filtered Back Projection (FBP).

Assignments (Practical sessions on May 28th 13:15 - 15:00 and May 30th 11:00 - 12:45):

In this week’s assignments you will investigate which discretization of the Radon transformation is most efficient and how to efficiently implement the FBP algorithm. After these assignments you will know:

  • how to work with sparse matrices in Python
  • how to implement matrix-free linear operators

Week 3

Lectures (Lecture on June 4th 13:15 - 15:00):

This week we look at another class of reconstruction methods; the algebraic methods. Practical matters are also discussed and we get to work with a real dataset.

Assignments (Practical sessions on June 4th 13:15 - 15:00 and June 6th 11:00 - 12:45):

In the assignments we compare different algebraic reconstruction methods and design an efficient and robust algorithm. In addition, we apply this to a real dataset. After these assignments you will know:

  • how to efficiently implement various iterative methods for tomographic reconstruction
  • how to apply the developed methods to a real tomographic dataset