Description
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
properties.