Aplică o mască
Deși măștile sunt binare, ele pot fi aplicate pe imagini pentru a filtra pixelii unde masca este False.
Funcția where() din NumPy este o modalitate flexibilă de a aplica măști. Primește trei argumente:
np.where(condition, x, y)
condition, x și y pot fi fie tablouri, fie valori individuale. Astfel, poți păstra valorile originale ale imaginii și, în același timp, să setezi la 0 valorile excluse de mască.
Hai să exersăm aplicarea măștilor selectând pixelii care seamănă cu os din radiografia mâinii (im).
Acest exercițiu face parte din cursul
Analiza imaginilor biomedicale în Python
Instrucțiuni pentru exercițiu
- Creează o mască booleană pentru os, selectând pixelii cu valori mai mari sau egale cu 145.
- Aplică masca pe imagine folosind
np.where(). Valorile care nu se află în mască trebuie setate la0. - Creează o histogramă a imaginii cu mască aplicată. Folosește următoarele argumente pentru a selecta doar pixelii non-zero:
min=1,max=255,bins=255. - Afișează imaginea cu mască și histograma. Acest pas a fost deja realizat pentru tine.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()