Images are an ubiquitous form of data in various fields of science and industry. Images often need to be transformed and processed, for example for helping medical diagnosis by extracting regions of interest or measures, or for building training sets for machine learning. In this talk, I will present and discuss several tools for automatic and interactive image processing with Python. I will start by a short introduction to scikit-image, the open-source image processing toolkit of the Pydata ecosystem, which aims at processing images from a large class of modalities (2-D, 3-D, etc.) and strives to have a gentle learning curve with pedagogical example-based documentation. scikit-image provides users with a simple API based on a large number of functions, which can be used to build pipelines of image processing workflows. In a second part, I will explain how to use Dash for building interactive image processing operations. Dash is an open-source Python web application framework developed by Plotly. Written on top of Flask, Plotly.js, and React.js, Dash is meant for building data visualization apps with highly custom user interfaces in pure Python. The dash-canvas component library of Dash is an interactive component for annotating images with several tools (freehand brush, lines, bounding boxes, ...). It also provides utility functions for using user-provided annotations for several image processing tasks such as segmentation, transformation, measures, etc. The latter functions are based on libraries such scikit-image and openCV. A gallery of examples showcases some typical uses of Dash for image processing on https://dash-canvas.plotly.host/. Also, other components of Dash can be leveraged easily to build powerful image processing applications, such as widgets to tune parameters or data tables for inspecting object properties. |