Trabajando con imágenes#
Para realizar análisis de datos de imágenes, primero necesitamos ser capaces de realizar algunas operaciones esenciales:
abrir imágenes
mostrar imágenes
examinar las estadísticas de los píxeles
Ver también
Abrir imágenes#
La mayoría de las imágenes con extensiones estándar (tif, png, etc.) se pueden leer utilizando la función skimage.io.imread. En caso de que tu imagen no lo haga, deberías consultar la documentación del formato de archivo correspondiente.
Para usar imread tienes tres posibilidades:
usar la ruta absoluta a un archivo de imagen, por ejemplo
imread('/Users/username/Desktop/blobs.tif')usar una ruta relativa a donde te encuentras actualmente (puedes averiguarlo usando el comando
pwden una celda), es decirimread('../../data/blobs.tif')usar una url que apunte a un archivo de imagen, por ejemplo del repositorio de GitHub
imread('https://github.com/haesleinhuepf/BioImageAnalysisNotebooks/raw/main/data/blobs.tif')
Aquí usamos una ruta relativa. Respecto al cuaderno actual, los datos están dos niveles de carpeta más arriba (../../) en una carpeta llamada data:
from skimage.io import imread
image = imread("../../data/blobs.tif")
Como se mostró anteriormente, las imágenes son simplemente matrices de intensidades. Sin embargo, mostrarlas como tales no es conveniente.
image
array([[ 40, 32, 24, ..., 216, 200, 200],
[ 56, 40, 24, ..., 232, 216, 216],
[ 64, 48, 24, ..., 240, 232, 232],
...,
[ 72, 80, 80, ..., 48, 48, 48],
[ 80, 80, 80, ..., 48, 48, 48],
[ 96, 88, 80, ..., 48, 48, 48]], dtype=uint8)
Mostrar imágenes#
Hay muchas formas de mostrar imágenes 2D simples. En muchos cuadernos y ejemplos en línea, encontrarás ejemplos usando la función imshow de Matplotlib en una matriz:
from matplotlib import pyplot as plt
plt.imshow(image);
Desafortunadamente, la función imshow no es una elección óptima para mostrar imágenes de microscopía: no maneja bien los datos multicanal, es difícil manejar rangos de intensidad, etc. A lo largo de este curso, por lo tanto, favorecemos el uso de la función microshow del paquete microfilm o la función imshow del paquete clesperanto. Aprenderemos sobre la segunda solución en los próximos capítulos. Aquí simplemente usamos microshow:
from microfilm.microplot import microshow
microshow(image);
Tablas de búsqueda (también conocidas como mapas de colores)#
También podemos cambiar la tabla de búsqueda, también conocida como “mapa de colores” para la visualización.
microshow(image, cmaps="hot");
microshow(image, cmaps="pure_cyan");
Ejercicio#
Abre el conjunto de datos banana020.tif, visualízalo en una tabla de búsqueda amarillenta.