Kom igångKom igång gratis

Använd en mask

Även om masker är binära kan de appliceras på bilder för att filtrera bort pixlar där masken är False.

NumPys funktion where() är ett flexibelt sätt att använda masker. Den tar tre argument:

np.where(condition, x, y)

condition, x och y kan vara antingen arrayer eller enskilda värden. Det gör det möjligt att behålla de ursprungliga bildvärdena och samtidigt sätta maskerade värden till 0.

Låt oss öva på att använda masker genom att välja ut benliknande pixlar från handens röntgenbild (im).

Den här övningen är en del av kursen

Biomedicinsk bildanalys i Python

Visa kurs

Övningsinstruktioner

  • Skapa en boolesk benmask genom att välja pixlar som är större än eller lika med 145.
  • Applicera masken på bilden med np.where(). Värden som inte ingår i masken ska sättas till 0.
  • Skapa ett histogram över den maskerade bilden. Använd följande argument för att välja ut enbart pixlar som inte är noll: min=1, max=255, bins=255.
  • Plotta den maskerade bilden och histogrammet. Det är redan gjort åt dig.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod