Viewing ImagesΒΆ

nuts-ml provides functions to show images on the fly. The following example reads two images using ReadImage and then displays the loaded images in column 0 of the samples via ViewImage:

>>> samples = [('nut_color.gif', 'color'), ('nut_monochrome.gif', 'mono')]
>>> imagepath = 'tests/data/img_formats/*'
>>> samples >> ReadImage(0, imagepath) >> ViewImage(0, pause=1) >> Consume()

The output is a viewer window that displays the images with a pause of 1 second:


Sometimes samples contain multiple images. For instance, an input image and an output mask for segmentation tasks. ViewImage allows to display the multiple images of a sample at the same time by providing the column indices (here 0 and 1) of the sample that contain the images:

>>> samples = [('color.jpg', 'monochrome.jpg'), ('color.png', 'monochrome.png')]
>>> imagepath = 'tests/data/img_formats/nut_*'
>>> samples >> ReadImage((0,1), imagepath) >> ViewImage((0,1), pause=1) >> Consume()

Per default multiple images are display in a single row. The parameter layout allows to specify the rows and columns the images are arranged in, e.g. a layout of (2,1) states that 2 images are to be arranged in 2 rows and 1 column:

>>> (samples >> Print() >> ReadImage((0,1), imagepath) >>
...  ViewImage((0,1), layout=(2,1), pause=1) >> Consume())
('color.jpg', 'monochrome.jpg')
('color.png', 'monochrome.png')

Often we want to show the class label in addition to the image and ViewImageAnnotation(imgcol, annocol) is designed for this purpose. In addition to a column index for the image (imgcol) it also takes an index for the sample column that contains the class label (here 1) and the viewer displays the image with an overlay-ed text for the label:

>>> samples = [('nut_color', 'color'), ('nut_monochrome', 'mono')]
>>> imagepath = 'tests/data/img_formats/*.gif'
>>> samples >> ReadImage(0, imagepath) >> ViewImageAnnotation(0, 1, pause=1) >> Consume()

In the following sections we will introduce the functions for image transformation and augmentation.