Interpolation
Interpolation är metoden för att uppskatta nya pixelintensiteter när en bildtransformation tillämpas. I SciPy implementeras detta med hjälp av en uppsättning splinefunktioner.
Att ändra interpolationens order när du använder en funktion som ndi.zoom() påverkar den resulterande uppskattningen: högre ordning ger mer flexibla uppskattningar men tar längre tid att beräkna.
I den här övningen ska du sampla upp im och undersöka hur olika interpolationsordningar påverkar den resulterande bilden.
Den här övningen är en del av kursen
Biomedicinsk bildanalys i Python
Övningsinstruktioner
- Använd
ndi.zoom()för att sampla uppimfrån formen128, 128till512, 512två gånger. Använd först interpolationsordningenorder0, och sätt sedanordertill 5. - Skriv ut arraysformerna för
imochup0. - Plotta närbild på bilderna. Använd indexintervallet
128:256längs varje axel.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()