Eine Maske abstimmen
Unvollkommene Masken lassen sich durch das Hinzufügen und Entfernen von Pixeln nachjustieren. SciPy bietet dafür mehrere hilfreiche Methoden:
binary_dilation: Fügt entlang der Kanten Pixel hinzubinary_erosion: Entfernt entlang der Kanten Pixelbinary_opening: Erodieren und dann Dilatieren, „öffnet" Bereiche an Kantenbinary_closing: Dilatieren und dann Erodieren, „füllt" Löcher
Erstelle in dieser Übung zunächst eine Knochenmaske und stimme sie dann so ab, dass zusätzliche Pixel eingeschlossen werden.
Für die restlichen Übungen haben wir den folgenden Import bereits für dich ausgeführt:
import scipy.ndimage as ndi
Diese Übung ist Teil des Kurses
<Kurs>Biomedizinische Bildanalyse mit Python</Kurs>Übungsanweisungen
- Erzeuge eine Knochenmaske, indem du Pixel aus
imauswählst, die größer oder gleich145sind. - Verwende
ndi.binary_dilation(), um die Größe vonmask_bonezu erhöhen. Setzeiterationsauf5, um die Dilatation mehrfach auszuführen. - Verwende
ndi.binary_closing(), um Löcher inmask_bonezu füllen. Setzeiterationsauf5, um Löcher bis zu 10 Pixel Breite zu schließen. - Plotte die ursprüngliche und die abgestimmte Maske.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Create and tune bone mask
mask_bone = ____
mask_dilate = ndi.binary_dilation(____, ____)
mask_closed = ____
# Plot masked images
fig, axes = plt.subplots(1,3)
axes[0].imshow(mask_bone)
axes[1].imshow(mask_dilate)
____
format_and_render_plot()