Bio-image Analysis Notebooks#


This collection of Python jupyter notebooks are written for Python beginners who are interested in analyzing three dimensional images of cells and tissues acquired using modern fluorescence microscopes. It is written for biologists, biochemists and biophysicists, introducing the technical language computer scientists use when describing image segmentation, scientific computing and image data science. Special emphasis is put on image data showing cells and nuclei forming tissues and organisms. Demonstrations of basic principles are done in two-dimensional image data and more sophisticated examples demonstrate the basic principles in three-dimensional image data, potentially also over time.

Structure of this Jupyter book#

The chapter of this book initially cover basics in Python and image processing. The order of the chapters reflects typical image analysis workflows, starting at image visualization, filtering and segmentation, followed by feature extraction, tabular data wrangling, statistics, plotting and data visualization. At the beginning of every chapter, basic terminology is introduced and installation instructions for the required Python libraries covered in this chapter are presented. The notebooks aim to be self-contained, self-explanatory and fully reproducible. Hence, the reader can download this Jupyter book and execute all notebooks as they are. As a general requirement, a conda environment should be present on the reader’s computer as explained in the first chapter.

Covered Python libraries#

The reader may note that we start with basic python, transit towards standard libraries for image processing such as scikit-image and numpy, and from there use increasingly GPU-acceleration libraries such as pyclesperanto. The more the content shifts towards three dimensional biological image processing and life-sciences specific quantitative analysis, the more we make use of custom open source libraries. These libraries are specialized for processing imaging data showing cells and tissues acquired with fluorescence microscopy.

Material origin#

This repository contains Jupyter notebooks collected from multiple sources. They are maintained here to produce course materials with more streamlined relationships between contents. In case you are interested in specific topics, you may find more recent materials in the notebook source repositories.

Example image data#

We want to acknowledge the people who produced the images we are using for demonstration purposes in this Jupyter book.

  • Anne Carpenter, Broad Institute, Boston, MA, United States

  • Anne Esslinger, Alberti Lab, MPI-CBG, Germany

  • Daniela Vorkel, Myers Lab, MPI-CBG / CSBD, Dresden, Germany

  • David Legland, INRAE, UR BIA, Nantes, France

  • Jean-Karim Hériché, Cell Biology/Biophysics Unit, EMBL Heidelberg, Germany

  • Mauricio Rocha Martins, Norden Lab, MPI-CBG, Germany

  • Nasreddin Abolmaali, OncoRay, TU Dresden, Germany

  • Sascha M. Kuhn, Nadler Lab, MPI-CBG Dresden, Germany

  • Theresa Suckert, OncoRay, University Hospital Carl Gustav Carus, TU Dresden

  • Tony Collins, the creator of ImageJ for Microscopy


R.H. acknowledges support by the Deutsche Forschungsgemeinschaft under Germany’s Excellence Strategy—EXC2068–Cluster of Excellence Physics of Life of TU Dresden. This project has been made possible in part by grant numbers 2021-240341 and 2021-237734 from the Chan Zuckerberg Initiative DAF, an advised fund of the Silicon Valley Community Foundation.


All contents of this Jupyter book and the corresponding Github repository are licensed CC-BY 4.0 and BSD3 by the authors and contributors, unless mentioned otherwise.


Please see our CONTRIBUTING guide for details.

Questions and answers#

If you want to discuss lessons in this Jupyter book, have feedback and/or suggestions, please open a thread on and tag @haesleinhuepf.


In January 2022 I just pulled together all these notebooks in one repository. I will now in the following months reorganize their content and streamline transitions between the topics. I’m doing this in the open because I like receiving feedback early on. If you have interesting notebooks that fit in the topic, your pull-request is very welcome. Also if you experience any issues, please get in touch. I’m just saying, this repository is work-in-progress and it will take some time. :-)


Robert Haase