Machine Learning (120 minutes)

We will first cover some machine learning (ML) basics and discuss the tradeoffs between traditional image analysis approaches and ML-based ones. This session will focus on the tasks of image restoration and segmentation, for which we'll explore classic machine learning methods, as well as recent approaches based on deep learning (e.g. CARE, StarDist). Examples will be demonstrated via Jupyter notebooks using Python, which you can follow along if you install the necessary software.

Python scikit-image (90 minutes)

As the name suggests, this session will be about demonstrating how typical image processing and analysis tasks can be accomplished with scikit-image. I will prepare examples that I think are relevant, but this session could be more interactive based on the interests of the participants.

Homework

Please install Anaconda or Miniconda, then make a new environment (here called ts13) and install the necessary packages, e.g. like this:

$ conda create --name ts13 python=3.6
$ conda activate ts13
$ conda install numpy ipython jupyter matplotlib pandas scipy scikit-image scikit-learn seaborn tqdm

Deep Learning

I'll look into getting the deep learning examples to run on Google Colab, but can't promise that it'll work.

If you want to follow along the deep learning examples on your own computer, please first install TensorFlow 1.x (not TensorFlow 2) by following the official instructions.

It is strongly recommended to use TensorFlow with GPU support if you have a compatible GPU from Nvidia. Note that it is very important to install the specific versions of CUDA and cuDNN that are compatible with the respective version of TensorFlow.

The packages for Content-aware Image Restoration (CARE) and StarDist - Object Detection with Star-convex Shapes can then be installed with pip:

$ pip install csbdeep
$ pip install stardist

Note that the stardist package relies on a C++ extension, which needs a suitable compiler to be installed on your system. Please read this if you run into compilation problems.

If time permits, we'll also cover Noise2Void - Learning Denoising from Single Noisy Images. Please install it like this:

$ pip install git+https://github.com/juglab/n2v.git@master