Introducción
Esta práctica te guiará a través de la creación de una visualización de una imagen de resonancia magnética con trazas de EEG utilizando Python Matplotlib. Aprenderás a cargar y mostrar datos de resonancia magnética y EEG, trazar un histograma de intensidad de la imagen de resonancia magnética y trazar las trazas de EEG con el tiempo en el eje x y los canales de electrodos en el eje y.
Consejos sobre la VM
Una vez finalizado el arranque de la VM, haz clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.
A veces, es posible que tengas que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.
Si tienes problemas durante el aprendizaje, no dudes en preguntar a Labby. Proporciona retroalimentación después de la sesión y resolveremos rápidamente el problema para ti.
Cargar datos de resonancia magnética y mostrar la imagen
El primer paso es cargar los datos de resonancia magnética y mostrar la imagen. Utilizaremos la función imshow() para mostrar la imagen y axis('off') para eliminar las etiquetas de los ejes.
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure("MRI_with_EEG")
## Cargar los datos de resonancia magnética (enteros de 16 bits de 256x256)
im = np.load('mri_data.npy')
## Graficar la imagen de resonancia magnética
ax0 = fig.add_subplot(2, 2, 1)
ax0.imshow(im, cmap='gray')
ax0.axis('off')
Graficar el histograma de la intensidad de la resonancia magnética
A continuación, graficaremos el histograma de la intensidad de la resonancia magnética utilizando la función hist(). Normalizaremos los valores de intensidad para que estén en el rango entre 0 y 1.
## Graficar el histograma de la intensidad de la resonancia magnética
ax1 = fig.add_subplot(2, 2, 2)
im = np.ravel(im)
im = im[np.nonzero(im)] ## Ignorar el fondo
im = im / im.max() ## Normalizar
ax1.hist(im, bins=100)
ax1.set_xlabel('Intensidad (a.u.)')
ax1.set_ylabel('Densidad de resonancia magnética')
Cargar datos de EEG y graficar trazas
El siguiente paso es cargar los datos de EEG y graficar las trazas. Utilizaremos la función fromfile() para cargar los datos de un archivo y LineCollection() para graficar las trazas. También estableceremos las etiquetas de las marcas de la escala en el eje y para los canales de electrodos.
## Cargar los datos de EEG
n_samples, n_rows = 800, 4
data = np.load('eeg_data.npy')
t = 10 * np.arange(n_samples) / n_samples
## Graficar los datos de EEG
ax2 = fig.add_subplot(2, 1, 2)
ax2.set_xlim(0, 10)
ax2.set_xticks(np.arange(10))
dmin = data.min()
dmax = data.max()
dr = (dmax - dmin) * 0.7 ## Apretarlas un poco.
y0 = dmin
y1 = (n_rows - 1) * dr + dmax
ax2.set_ylim(y0, y1)
segs = []
for i in range(n_rows):
segs.append(np.column_stack((t, data[:, i])))
offsets = np.zeros((n_rows, 2), dtype=float)
offsets[:, 1] = np.arange(n_rows) * dr
lines = LineCollection(segs, offsets=offsets, transOffset=None)
ax2.add_collection(lines)
## Establecer las marcas de la escala en el eje y para usar coordenadas de los ejes en el eje y
ax2.set_yticks(offsets[:, 1])
ax2.set_yticklabels(['PG3', 'PG5', 'PG7', 'PG9'])
ax2.set_xlabel('Tiempo (s)')
Mostrar la visualización
Finalmente, mostraremos la visualización utilizando la función show().
plt.tight_layout()
plt.show()
Resumen
En este laboratorio, aprendiste cómo crear una visualización de una imagen de resonancia magnética con trazas de EEG utilizando Matplotlib de Python. Cargaste y mostraste la imagen de resonancia magnética, graficaste un histograma de intensidad de la imagen de resonancia magnética y graficaste trazas de EEG con el tiempo en el eje x y los canales de electrodos en el eje y.