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, dive into descriptive statistics for working with measurements and matplotlib for plotting results. Furthermore, we will process images with numpy, scipy, scikit-image and clEsperanto. We will explore napari and Fiji for interactive image data analysis. Finally, we will use scikit-learn, CellPose and StarDist to process images using machine learning techniques.
The material will develop between April and July 2021. Stay tuned for the later lessons.
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.
Instead of downloading this zip file, you can also use the command line tool git for downloading the files. It allows updating a local copy of this online repository but is also a bit more tricky to use. Check out the Carpentries tutorial about git to find out more.
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.
If you have any questions, please use the anonymous etherpad (see email) or open a thread on image.sc, put a link to the lesson or exercise you want to ask a question about and tag @haesleinhuepf.
- Block 1 - Introduction
- Block 2 - Data structures
- Block 3 - Algorithms
- Block 4 - Image processing
- Block 5 - Image segmentation
- Block 6 - GPU-accelerated image processing and quantitative measurements
- Block 7 - Introduction to Biostatistics
- Block 8 - Descriptive statistics
- Block 9 - Method Comparison - Bland-Altman analysis
- Block 10 - Hypothesis testing
- Block 11 - Big data and data visualization
- Block 12 - Machine learning I
- Block 13 - Machine learning II
- Block 14 - Summary
- Analyzing fluorescence microscopy images with ImageJ by Pete Bankhead
- 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!
Robert Haase was supported by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany’s Excellence Strategy – EXC2068 - Cluster of Excellence Physics of Life of TU Dresden.