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, tissues, organoids and organisms acquired using modern fluorescence microscopes. Basic principles are demonstrated in two-dimensional image data and more sophisticated examples applied to three-dimensional image data and time-lapse data sets. This book is written for biologists, biochemists and biophysicists. We introduce the technical language computer scientists and data scientists use when describing image segmentation, scientific computing and image data science. In case you see room for improvement, please create a github issue and/or consider contributing.

Structure of this Jupyter book#

The chapters of this book initially cover basics in Python, image processing and image analysis. Afterwards more advanced topics are covered including machine learning and statistics. 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 notebooks cover basic python topics and afterwards transit towards standard libraries for image processing such as scikit-image, scipy and numpy. In the advanced topics we make use increasingly of GPU-acceleration libraries such as pyclesperanto and apoc. 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 maintained by us and our collaborators.

Bio-image Analysis GPT#

This collection of Jupyter notebooks serves to create the Bio-image Analysis GPT, some chatGPT based chat bot specialized in Bio-image Analysis using Python.

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 source repositories.

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.


We also thank authors who shared their teaching materials openly so that we could reuse and modify them:

  • Anna Poetsch, Biotec, TU Dresden

  • Dominik Waithe, University of Oxford

  • Guillaume Witz, University of Bern

  • Johannes Müller, PoL, TU Dresden

  • Laura Žigutytė, PoL, TU Dresden

  • Pete Bankhead, University of Edinburgh

  • Ryan George Savill, MPI-CBG Dresden / PoL, TU Dresden

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

  • Alba Villaronga Luque, MPI-CBG Dresden

  • Alexandr Khrapichev, University of Oxford, UK

  • 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

  • Jesse Veenvliet, MPI-CBG Dresden

  • 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

We acknowledge 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, 2021-237734 and 2022-252520 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.