Finjustera en mask
Ofullständiga masker kan justeras genom att lägga till eller ta bort pixlar. SciPy innehåller flera användbara metoder för detta:
binary_dilation: Lägg till pixlar längs kanterbinary_erosion: Ta bort pixlar längs kanterbinary_opening: Erodera sedan dilatera, vilket "öppnar" områden nära kanterbinary_closing: Dilatera sedan erodera, vilket "fyller i" hål
I den här övningen skapar du en benmask och justerar den sedan för att inkludera fler pixlar.
För de återstående övningarna har vi kört följande import åt dig:
import scipy.ndimage as ndi
Den här övningen är en del av kursen
Biomedicinsk bildanalys i Python
Övningsinstruktioner
- Skapa en benmask genom att välja pixlar från
imsom är större än eller lika med145. - Använd
ndi.binary_dilation()för att öka storleken påmask_bone. Sätt antaletiterationstill5för att utföra dilateringen flera gånger. - Använd
ndi.binary_closing()för att fylla i hål imask_bone. Sätt antaletiterationstill5för att fylla hål upp till 10 pixlar breda. - Plotta den ursprungliga och den justerade masken.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()