Aan de slagBegin gratis

Een masker toepassen

Hoewel maskers binair zijn, kun je ze op afbeeldingen toepassen om pixels weg te filteren waar het masker False is.

NumPy's where()-functie is een flexibele manier om maskers toe te passen. Deze neemt drie argumenten:

np.where(condition, x, y)

condition, x en y kunnen ofwel arrays of enkele waarden zijn. Daardoor kun je de oorspronkelijke beeldwaarden behouden terwijl je gemaskeerde waarden op 0 zet.

Laten we oefenen met het toepassen van maskers door de botachtige pixels te selecteren uit de röntgenfoto van de hand (im).

Deze oefening maakt deel uit van de cursus

Biomedische beeldanalyse met Python

Bekijk cursus

Oefeninstructies

  • Maak een booleaans botmasker door pixels te selecteren die groter dan of gelijk aan 145 zijn.
  • Pas het masker toe op je afbeelding met np.where(). Waarden die niet in het masker vallen moeten op 0 worden gezet.
  • Maak een histogram van de gemaskeerde afbeelding. Gebruik de volgende argumenten om alleen niet-nulpixels te selecteren: min=1, max=255, bins=255.
  • Plot de gemaskeerde afbeelding en het histogram. Dit is alvast voor je gedaan.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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()
Code bewerken en uitvoeren