This tutorial was originally presented at the ninth edition of the Astronomical Data Analysis (ADAIX) summer school held in Valencia in 2018. The objective is to provide a beginner level introduction to the concept of sparsity, in particular as a regularisation method for solving linear inverse problems. The tutorial does not provide an in-depth mathematical background nor detailed explanations for every topic. Tutees should supplement this tutorial with further reading of the various references provided in the notebooks for a more comprehensive understanding of the subject. More information about how cutting-edge sparsity techniques are being applied to astrophysical data is available on the CosmoStat website.
This tutorial is comprised of a series of Jupyter notebooks that demonstrate how the tools implemented in sparsity work as well as showing the applicability of these tools to various simple problems.
All code blocks are provided in Python (support for both 2.7 and 3.6+) and the number of external packages required to run the examples has be kept to a minimum. With the exception of plotting routines, all of the code has been clearly presented inside the notebooks at least once to avoid the use of any "black boxes" for solving the problems presented.
In order to run the tutorial notebooks tutees will need to have the following installed:
- Python (2.7 or 3.6+, users are recommended to use Python 3.6)
- NumPy (recommend v1.14.1+)
- SciPy (recommend v1.0.0+)
- Matplotlib (recommend v2.1.0+)
- Jupyter (recommend v1.0.0+)
Python 2.7 users should additonally install:
- Future (recommend v0.16.0+)
All of the packages listed above can easily be installed using either
pip or Anaconda.
$ pip install numpy scipy matplotlib jupyter
$ conda install numpy scipy matplotlib jupyter
- Introduction to Inverse Problems
- Introduction to Sparsity I
- Introduction to Sparsity II: Compressed Sensing
- Introduction to Sparsity III: Deconvolution
- Introduction to Wavelets
- Exercise Solutions
S. Farrens would like to acknowledge the following people for helpful feedback and ideas for producing this tutorial: Fred Ngolè-Mboula and Jean-Luc Starck.