Inspeccionando datos de imágenes 3D con pyclesperanto#
Este notebook demuestra cómo navegar a través de imágenes 3D.
import pyclesperanto_prototype as cle
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from skimage.io import imread
# Cargar datos de ejemplo
input_image = imread('../../data/Haase_MRT_tfl3d1.tif')
Copiar Corte#
Para visualizar cortes específicos sin que la imagen salga de la memoria de la GPU, utilice el método copy_slice.
# Copiar Corte
image_slice = cle.create([256, 256]);
slice_z_position = 40.0;
cle.copy_slice(input_image, image_slice, slice_z_position)
# mostrar resultado
cle.imshow(image_slice)
# Alternativamente, no entregue la imagen de salida y recupérela
another_slice = cle.create_2d_xy(input_image)
cle.copy_slice(input_image, another_slice, slice_index = 80)
# mostrar resultado
cle.imshow(another_slice)
Proyección#
pyclesperanto ofrece proyecciones de mínimo/media/máximo y suma en x, y y z.
# Proyección Z Máxima
projection = cle.maximum_z_projection(input_image)
# mostrar resultado
cle.imshow(projection)
Si pasa una pila de imágenes a cle.imshow, realizará la proyección de intensidad máxima a lo largo de Z por usted:
cle.imshow(input_image)
# Proyección Z Suma
projection = cle.sum_z_projection(input_image)
# mostrar resultado
cle.imshow(projection)
# Proyección Y Media
projection = cle.mean_y_projection(input_image)
# mostrar resultado
cle.imshow(projection)
Transposición XZ#
Para transponer los ejes de las imágenes en la GPU, utilice los métodos de transposición
# Transponer X contra Z
transposed_image = cle.create([256, 256, 129]);
cle.transpose_xz(input_image, transposed_image)
# mostrar resultado
cle.imshow(transposed_image[126])
cle.imshow(transposed_image[98])
Utilice subplots para ponerlos uno al lado del otro
fig, axs = plt.subplots(1, 4, figsize=(15, 7))
cle.imshow(transposed_image[75], plot=axs[0])
cle.imshow(transposed_image[100], plot=axs[1])
cle.imshow(transposed_image[125], plot=axs[2])
cle.imshow(transposed_image[150], plot=axs[3])