This work is licensed by Anna Poetsch, Biotec Dresden and Robert Haase, PoL Dresden under a Creative Commons Attribution 4.0 International License.
This repository contains training resources for Python beginners who want to dive into image processing with Python. It specifically aims for students and scientists working with microscopy images in the life sciences. We start with Python basics, image processing, dive into descriptive statistics for working with measurements and matplotlib and seaborn for plotting results. Furthermore, we will process data and images with numpy, scipy, scikit-image and clEsperanto. We will explore napari for interactive image data analysis and scikit-learn and apoc for processing image using machine learning.
The material will develop between April and July 2023. The materials from former years are linked below.
You can browse the material online for taking a quick look.
If you want to do the exercises, it is recommended to download the whole repository, e.g. by hitting the code
button in the top right corner and clicking on download.
Unzip the downloaded zip-file and navigate inside the sub folders, e.g. using the command prompt.
In order to execute code and do the exercises, you need to install conda, which will be explained in the first lesson.
This course explains everything in very detail. Every lesson ends with an exercise and it is recommended to do it before moving on to the next lesson. If you have Python basics knowledge already, test yourself by doing these exercises before starting with an advanced lesson.
-
Introduction + Python Programming I (2023-Apr-04)
-
Python programming II (2023-Apr-11)
-
Image Processing (2023-Apr-18)
-
Image Segmentation + Quality Assurance (2023-Apr-25)
- Image Segmentation, Surface Reconstruction and Quality assurance (slides)
- Terminology
- Image processing workflow design using Napari
- Generating Jupyter Notebooks
- Gauss-Otsu-Labeling
- Voronoi-Otsu-Labeling
- 3D Segmentation
- Watershed-based segmentation
- Morphological operations on label images
- Segmentation Quality Estimation
- Surface reconstruction
- Quality Assurance of Segmentation Results (Focalplane blog post by Mara Lampert)
-
Feature extraction (2023-May-2)
-
Introduction to Biostatistics (2023-May-9)
-
Descriptive Statistics (2023-May-16)
-
Hypothesis Testing (2023-May-23)
-
Introduction to Machine Learning + Random Forest Classifiers (2023-Jun-6)
-
Unsupervised Machine Learning (2023-Jun-13)
-
Supervised Machine Learning / Deep Learning + Large Language Models (2023-Jun-20)
-
Dimensionality reduction (2023-Jun-27)
-
Summary, exam preparation (2023-Jul-11)
- Bio-image Analysis, programming, bio-statistics and machine learning 2022
- Bio-image Analysis, programming, bio-statistics and machine learning 2021
- Bio-image Analysis, programming, bio-statistics and machine learning 2020
- Bio-image Analysis, ImageJ Macro programming 2019
- Bio-image Analysis Notebooks
- Introduction to Bioimage Analysis
- Basics of Image Processing and Analysis by Kota Miura
- Classic ImageJ training resources
- Bioimage Data Analysis Workflows edited by Kota Miura and Nataša Sladoje
- Python cheat sheet
- Python/Conda environments
- Scientific data analyis in Python, Biotec lecture
- Python for Microscopists, video series by Sreeni
- Managing Conda environments, online documentation
- Bio-image Analysis using Scikit-Image in Python, Biotec lecture
- Python for Bio-image Analysis by the Image Analysis Focused Interest Group of the Royal Microscopical Society
- Interactive Bioimage Analysis with Python and Jupyter, NEUBIAS academy webinar, Part 2
- Multi-dimensional image visualization in Python using napari, NEUBIAS Academy webinar
Contributions to this repository are welcome! If you see typos, bugs or have general feedback, please create a github issue to let us know. If you would like to add additional lessons or want to suggest improvements to existing ones, pull-requests are very welcome!
Some of the materials in this repository originate from the BioImageAnalysis Notebooks, were written by Robert Haase Guillaume Witz and were licensed CC-BY 4.0. Robert Haase acknowledges funding by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany’s Excellence Strategy – EXC2068 - Cluster of Excellence Physics of Life of TU Dresden.