Visualización de resonancia magnética con EEG

PythonPythonBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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.