Inizia subitoInizia gratis

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 bordi
  • binary_erosion: rimuove pixel lungo i bordi
  • binary_opening: erode e poi dilata, "apre" le aree vicino ai bordi
  • binary_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

Visualizza corso

Istruzioni dell'esercizio

  • Crea l'osso selezionando i pixel di im maggiori o uguali a 145.
  • Usa ndi.binary_dilation() per aumentare le dimensioni di mask_bone. Imposta iterations a 5 per eseguire la dilatazione più volte.
  • Usa ndi.binary_closing() per riempire i buchi in mask_bone. Imposta iterations a 5 per 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()
Modifica ed esegui il codice