Intensidad
En este capítulo vamos a trabajar con una radiografía de mano procedente de una competición de 2017 de la Radiological Society of North America. La absorción de rayos X es mayor en tejidos densos como el hueso, por lo que las intensidades resultantes deberían ser altas. Por ello, imágenes como esta pueden usarse para predecir la «edad ósea» en niños.
Para empezar, carguemos la imagen y comprobemos su rango de intensidades.
El tipo de dato de la imagen determina el rango de intensidades posibles: por ejemplo, los enteros sin signo de 8 bits (uint8) pueden tomar valores entre 0 y 255. Una barra de color puede ayudarte a relacionar estos valores con la imagen visualizada.
Todos los ejercicios de este capítulo incluyen las siguientes importaciones:
import imageio.v2 as imageio
import numpy as np
import matplotlib.pyplot as plt
Este ejercicio forma parte del curso
Análisis de imágenes biomédicas en Python
Instrucciones del ejercicio
- Carga la imagen "hand-xray.jpg" usando
imageio. - Imprime el tipo de dato (
dtype), el mínimo (min()) y el máximo de intensidad (max()) de la imagen. - Representa la imagen con
plt.imshow(). Define explícitamente el mínimo (0) y el máximo (255) del mapa de color usando los argumentosvminyvmax. - Añade una barra de color con
plt.colorbar()y, después, muestra la figura usando la función personalizadaformat_and_render_plot(). Esto ya está preparado para ti.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Load the hand radiograph
im = ____
print('Data type:', ____)
print('Min. value:', ____)
print('Max value:', ____)
# Plot the grayscale image
____
plt.colorbar()
format_and_render_plot()