Affina una maschera
Le maschere imperfette possono essere affinate aggiungendo o rimuovendo pixel. SciPy include diversi metodi utili per raggiungere questi obiettivi, tra cui:
binary_dilation: aggiunge pixel lungo i bordibinary_erosion: rimuove pixel lungo i bordibinary_opening: erode e poi dilata, "apre" le aree vicino ai bordibinary_closing: dilata e poi erode, "riempie" i buchi
In questo esercizio, crea una maschera dell'osso e poi affinala per includere pixel aggiuntivi.
Per i prossimi esercizi, abbiamo già eseguito per te il seguente import:
import scipy.ndimage as ndi
Questo esercizio fa parte del corso
Analisi di immagini biomediche in Python
Istruzioni dell'esercizio
- Crea l'osso selezionando i pixel di
immaggiori o uguali a145. - Usa
ndi.binary_dilation()per aumentare le dimensioni dimask_bone. Impostaiterationsa5per eseguire la dilatazione più volte. - Usa
ndi.binary_closing()per riempire i buchi inmask_bone. Impostaiterationsa5per colmare buchi fino a 10 pixel di larghezza. - Rappresenta graficamente la maschera originale e quella affinata.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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()