Practical course: Applied Optimization Methods for Inverse Problems

Administrative information

Practical course for Bachelor students (IN0012) and Master students (IN2106).

  • Organizers: David Frank, Tobias Lasser
  • Sessions: weekly in presence sessions during the lecture period
    • Tuesdays, 9:00 - 12:00, in the MIBE auditorium (E.126, Boltzmannstr. 11)
  • Course language: English

Pre-course meeting

A pre-course meeting will take place on Monday, February 6, 2023, at 13:00 in the MIBE auditorium (E.126, Boltzmannstr. 11). You can also join this pre-course meeting online via BBB.


Registration is closed.

Course overview

Inverse Problems turn up very often in signal and image processing, for example in image denoising, machine learning, or tomographic reconstruction. Central to solving those inverse problems are optimization methods of various kinds. In this practical course, we will study applied optimization methods for inverse problems, ranging from gradient-based methods, proximal methods to subgradient methods, both in theory and practice. The course will be based on the lecture "Optimization Methods for Signal and Image Processing" by Jeffrey Fessler.

Course modalities

The course consists of 10 sessions in presence during the lecture period. These sessions consists of an interactive lecture-like part to discuss and learn about the optimization methods, as well as a practical part, where we will discuss partical programming exercises about these methods. Additionally, there will be homework assignments for each student to solve on their own. There will be a running leaderboard tracking the performance of each student using the example of the Helsinki Tomography Challenge.

Aims of the course

After participating in this practical course, students will have working knowledge on typical optimization methods as applied to inverse problems. They will have implemented and tested these methods in toy examples, as well as on a public challenge dataset in X-ray CT.


Basic mathematical knowledge from Bachelor studies is required, along with programming experience in a language such as Python.