Inizia subitoInizia gratis

Applica una maschera

Anche se le maschere sono binarie, possono essere applicate alle immagini per filtrare i pixel in cui la maschera è False.

La funzione where() di NumPy è un modo flessibile per applicare maschere. Accetta tre argomenti:

np.where(condition, x, y)

condition, x e y possono essere sia array sia singoli valori. Questo ti permette di mantenere i valori originali dell'immagine impostando a 0 i valori mascherati.

Facciamo pratica applicando maschere selezionando i pixel simili all'osso nell'radiografia della mano (im).

Questo esercizio fa parte del corso

Analisi di immagini biomediche in Python

Visualizza corso

Istruzioni dell'esercizio

  • Crea una maschera booleana dell'osso selezionando i pixel maggiori o uguali a 145.
  • Applica la maschera all'immagine usando np.where(). I valori non inclusi nella maschera devono essere impostati a 0.
  • Crea un istogramma dell'immagine mascherata. Usa i seguenti argomenti per selezionare solo i pixel diversi da zero: min=1, max=255, bins=255.
  • Traccia l'immagine mascherata e l'istogramma. Questo è già stato fatto per te.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# Import SciPy's "ndimage" module
____

# Screen out non-bone pixels from "im"
mask_bone = ____
im_bone = np.where(____, ____, ____)

# Get the histogram of bone intensities
hist = ____

# Plot masked image and histogram
fig, axes = plt.subplots(2,1)
axes[0].imshow(im_bone)
axes[1].plot(hist)
format_and_render_plot()
Modifica ed esegui il codice