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 max. 20 pages (including references and figures). In addition to the report, you also submit the code (as github link or .zip file).

  • You combine all the assignments (lecture 1, lecture 2, lecture 3, lecture 4, lecture 5) in to one report.
  • 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%)

  • Are the answers to the assignments correct
  • Are the algorithms and their implementations discussed in sufficient detail

Results (40%)

  • Are the numerical experiments discussed in detail
  • Are the their results interpreted correctly

Layout (20%)

  • do all figures have legends, labels, captions and are they referred to in the text
  • are style, spelling 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 20th 2025. Mail your report to Tristan van Leeuwen

Useful resources

Week 1

Lectures (Lecture on May 26th 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 26th 15:15 - 17:00):

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 (Lectures on June 2nd 13:15 - 15:00 and June 5th 09:00 - 10:45):

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 June 2nd 15:15 - 17:00 and June 5th 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 12th 09:00 - 10:45):

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 12th 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

Week 4

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

  • No new material will be covered, but there will be time for questions

Assignments (Practical sessions on June 16th 15:15 - 17:00 and June 19th 11:00 - 12:45):

  • Time to work on your project report and ask questions