seaborn-image: image data visualization#
Seaborn-image is a Python image visualization library based on matplotlib and provides a high-level API to draw attractive and informative images quickly and effectively.
It is heavily inspired by seaborn, a high-level visualization library for drawing attractive statistical graphics in Python.
pip install -U seaborn-image
conda install -c conda-forge seaborn-image
First, let’s import the library and make some changes to the visualization settings.
import seaborn_image as isns # this will create thicker lines and larger fonts than usual isns.set_context("notebook") # change image related settings isns.set_image(cmap="deep", despine=True) # set the colormap and despine the axes isns.set_scalebar(color="red") # change scalebar color
This is only a quick look at the settings, see reference for more details. You can also simply use the default settings that come with seaborn_image.
Visualization 2-D images#
A quick way of attractive and descriptive visualization of 2D image data using imgplot.
# example 2D image data pol = isns.load_image("polymer") # image with a scalebar ax = isns.imgplot(pol, dx=0.01, units="um")
In the above example, the image is plotted with a scalebar of length 0.01 um or 10 nm. The dx parameter specifies the physical size of the pixel and the units parameter specifies the units of the scalebar.
You can also pass describe=True to imgplot to get a summary of the image data along with the visualization.
# get basic image stats along with the visualization isns.imgplot(pol, describe=True)
Visualize image distribution#
Sometimes you may want to visualize the distribution of an image. For that, you can use imghist.
f = isns.imghist(pol, dx=0.01, units="um")
There are no changes in the parameters specified in imghist compared to imgplot. For more details on specific parameters, please see reference.
Image data is not always 2D and for those image data there is ImageGrid.
# example 3D image data cells = isns.load_image("cells") g = isns.ImageGrid(cells)
You can also specify the specific slices of the 3D data that you want to visualize. You can also specify the axis along which you want to slice your 3D image data for visualization.
g = isns.ImageGrid(cells, slices=[10, 20, 30, 40], axis=1)
You can also plot a collection of 3D image data.
from skimage.data import astronaut, chelsea g = isns.ImageGrid([astronaut(), chelsea()], origin="upper")