Interpolation
Interpolation is how new pixel intensities are estimated when an image transformation is applied. It is implemented in SciPy using sets of spline functions.
Editing the interpolation order when using a function such as ndi.zoom() modifies the resulting estimate: higher orders provide more flexible estimates but take longer to compute.
For this exercise, upsample im and investigate the effect of different interpolation orders on the resulting image.
This exercise is part of the course
Biomedical Image Analysis in Python
Exercise instructions
- Use
ndi.zoom()to upsampleimfrom a shape of128, 128to512, 512twice. First, use an interpolationorderof 0, then setorderto 5. - Print the array shapes of
imandup0. - Plot close-ups of the images. Use the index range
128:256along each axis.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Upsample "im" by a factor of 4
up0 = ndi.zoom(____, zoom=____, order=____)
up5 = ____
# Print original and new shape
print('Original shape:', ____)
print('Upsampled shape:', ____)
# Plot close-ups of the new images
fig, axes = plt.subplots(1, 2)
axes[0].imshow(up0[128:256, 128:256])
axes[1].imshow(____)
format_and_render_plots()