Interpolation: Edge Modes#

This example illustrates the different edge modes available during interpolation in routines such as skimage.transform.rescale() and skimage.transform.resize().

constant, edge, wrap, reflect, symmetric
import numpy as np
import matplotlib.pyplot as plt


img = np.zeros((16, 16))
img[:8, :8] += 1
img[:4, :4] += 1
img[:2, :2] += 1
img[:1, :1] += 2
img[8, 8] = 4

modes = ['constant', 'edge', 'wrap', 'reflect', 'symmetric']
fig, axes = plt.subplots(2, 3)
ax = axes.flatten()

for n, mode in enumerate(modes):
    img_padded = np.pad(img, pad_width=img.shape[0], mode=mode)
    ax[n].imshow(img_padded, cmap=plt.cm.gray)
    ax[n].plot(
        [15.5, 15.5, 31.5, 31.5, 15.5],
        [15.5, 31.5, 31.5, 15.5, 15.5],
        'y--',
        linewidth=0.5,
    )
    ax[n].set_title(mode)

for a in ax:
    a.set_axis_off()
    a.set_aspect('equal')

plt.tight_layout()
plt.show()

Total running time of the script: (0 minutes 0.343 seconds)

Gallery generated by Sphinx-Gallery