Advanced plotting

Biomedical Image Analysis in Python

Stephen Bailey

Instructor

To plot N-dimensional data slice it!

loaf-bread

sliced-bread

Biomedical Image Analysis in Python

Plotting multiple images at once

plt.subplots: creates a figure canvas with multiple AxesSubplots objects.

Plot-of-figure-canvas

import imageio
vol = imageio.volread('chest-data')
fig, axes = plt.subplots(nrows=1,
                         ncols=3)

axes[0].imshow(vol[0],cmap='gray')
axes[1].imshow(vol[10],cmap='gray') axes[2].imshow(vol[20],cmap='gray')
for ax in axes: ax.axis('off')
plt.show()
Biomedical Image Analysis in Python

Plotting multiple images at once

subplot-set of sequential chest volume images

Biomedical Image Analysis in Python

Non-standard views

import imageio

vol = imageio.volread(
      'chest-data')

view_1v2 = vol[pln, :, :] view_1v2 = vol[pln]

$$Axial$$

views-axial

Biomedical Image Analysis in Python

Non-standard views

import imageio

vol = imageio.volread(
     'chest-data')

view_1v2 = vol[pln, :, :] view_1v2 = vol[pln]
view_0v2 = vol[:, row, :]

$$Coronal$$

views-coronal

Biomedical Image Analysis in Python

Non-standard views

import imageio

vol = imageio.volread(
     'chest-data')

view_1v2 = vol[pln, :, :] view_1v2 = vol[pln]
view_0v2 = vol[:, row, :]
view_0v1 = vol[:, :, col]

$$Sagittal$$

views-sagittal

Biomedical Image Analysis in Python

Modifying the aspect ratio

Pixels may adopt any aspect ratio:

aspect-ratios

im = vol[:,:,100]
d0, d1, d2 = vol.meta['sampling']
d0, d1, d2
(2, 0.5, 0.5)
asp = d0 / d1
asp
3
plt.imshow(im, cmap='gray',
           aspect=asp)
plt.show()
Biomedical Image Analysis in Python

Modifying the aspect ratio

sagital slice

Biomedical Image Analysis in Python

Let's practice!

Biomedical Image Analysis in Python

Preparing Video For Download...