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 (https://scikit-image.org/), 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 (https://dash.plot.ly/) 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 (https://dash.plot.ly/canvas) 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