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:
In addition, we pay attention to writing readable and error-free code, version control, comparing different numerical methods and reproducible numerical experiments.
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).
The grade will be based on 3 aspects:
Content (40%)
Results (40%)
Layout (20%)
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
Matplotlib
cheatsheet (basics)Matplotlib
cheatsheet (advanced)Matplotlib
cheatsheet (expert)NumPy
cheatsheetNumPy
for Matlab usersGithub
repository with the Jupyter notebooksIn 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.
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:
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).
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:
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.
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: