Začněte nyníZačněte zdarma

Aplikování masky

Masky jsou sice binární, ale lze je aplikovat na obrázky a filtrovat tak pixely, kde má maska hodnotu False.

Flexibilním způsobem, jak masky aplikovat, je funkce where() z NumPy. Přijímá tři argumenty:

np.where(condition, x, y)

condition, x a y mohou být pole nebo jednotlivé hodnoty. Díky tomu můžeš zachovat původní hodnoty pixelů a maskované pixely nastavit na 0.

Pojďme si aplikování masek procvičit – vybereme pixely připomínající kost z rentgenového snímku ruky (im).

Toto cvičení je součástí kurzu

Biomedical Image Analysis in Python

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř booleovskou masku kostí výběrem pixelů s hodnotou větší nebo rovnou 145.
  • Aplikuj masku na snímek pomocí np.where(). Pixely mimo masku nastav na 0.
  • Vytvoř histogram maskovaného snímku. Použij následující argumenty pro výběr pouze nenulových pixelů: min=1, max=255, bins=255.
  • Vykresli maskovaný snímek a histogram. Tento krok je již hotový za tebe.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód