/Sparsity-Tutorial

Materials for tutorial on sparsity by Samuel Farrens

Primary LanguageJupyter Notebook

Sparsity Tutorial

Author: Samuel Farrens
Year: 2018
Email: samuel.farrens@cea.fr
Website: https://sfarrens.github.io

Contents

  1. Objective
  2. Requirements
  3. Notebooks
  4. Acknowledgements

Objective

The objective of this tutorial 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 indepth mathematical background nor detailed explinations for every topic. Tutees should suppliment this tutorial with further reading of the various references provided in the notebooks for a more comprehensive understading 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 the notebooks at least once to avoid the use of any "black boxes" for solving the problems presented.

Requirements

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:

All of the packages listed above can easily be installed using either pip or Anaconda.

e.g.

$ pip install numpy scipy matplotlib jupyter

or

$ conda install numpy scipy matplotlib jupyter

Notebooks

  1. Introduction to Inverse Problems

  2. Introduction to Sparsity I

  3. Introduction to Sparsity II: Compressed Sensing

  4. Introduction to Sparsity III: Deconvolution

  5. Introduction to Wavelets

  6. Exercise Solutions

Acknowledgements

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.