EmpezarEmpieza gratis

Aplicar una máscara

Aunque las máscaras son binarias, se pueden aplicar a imágenes para filtrar los píxeles donde la máscara es False.

La función where() de NumPy es una forma flexible de aplicar máscaras. Acepta tres argumentos:

np.where(condition, x, y)

condition, x y y pueden ser arrays o valores individuales. Esto te permite conservar los valores originales de la imagen mientras estableces los valores enmascarados a 0.

Practiquemos aplicando máscaras seleccionando los píxeles similares a hueso de la radiografía de la mano (im).

Este ejercicio forma parte del curso

Análisis de imágenes biomédicas en Python

Ver curso

Instrucciones del ejercicio

  • Crea una máscara booleana del hueso seleccionando los píxeles mayores o iguales que 145.
  • Aplica la máscara a tu imagen usando np.where(). Los valores que no estén en la máscara deben ponerse a 0.
  • Crea un histograma de la imagen enmascarada. Usa los siguientes argumentos para seleccionar solo píxeles distintos de cero: min=1, max=255, bins=255.
  • Representa la imagen enmascarada y el histograma. Esto ya está hecho por ti.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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()
Editar y ejecutar código