Interpolation
Unter Interpolation versteht man, wie neue Pixelintensitäten geschätzt werden, wenn auf ein Bild eine Transformation angewendet wird. In SciPy ist sie mithilfe von Mengen von Splines implementiert.
Wenn du bei einer Funktion wie ndi.zoom() den Interpolations-order änderst, beeinflusst das die Schätzung: Höhere Ordnungen liefern flexiblere Schätzungen, benötigen aber mehr Rechenzeit.
Upsample für diese Übung im und untersuche den Effekt verschiedener Interpolationsordnungen auf das resultierende Bild.
Diese Übung ist Teil des Kurses
<Kurs>Biomedizinische Bildanalyse mit Python</Kurs>Übungsanweisungen
- Verwende
ndi.zoom(), umimvon der Form128, 128auf512, 512hochzusampeln – zweimal. Nutze zuerst einen Interpolations-ordervon 0, setze dannorderauf 5. - Gib die Array-Formen von
imundup0aus. - Plotte vergrößerte Bildausschnitte. Verwende entlang jeder Achse den Indexbereich
128:256.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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()