
Carga y visualización de DICOM
Digital Imaging and Communications in Medicine (DICOM) es la normativa más adoptada para imágenes médicas. Antiguamente, los fabricantes de aparatos de tomografía computarizada y resonancia magnética ofrecían sus propias soluciones para el almacenamiento y la transmisión de imágenes médicas. DICOM fue el primer esfuerzo del sector por crear un protocolo normalizado que todos pudieran adoptar.
Desde que se publicó la primera norma DICOM, la especificación ha ido creciendo para satisfacer las necesidades de fabricantes y profesionales médicos. Hoy, en 2025, la especificación DICOM es muy extensa, con más de 6000 páginas en 22 capítulos.
Dispositivos de captura de imágenes médicas
Aunque existen muchos tipos diferentes de dispositivos de captura, DICOM es el protocolo común para todos ellos.
Máquinas de Rayos X
Utiliza radiaciones ionizantes para captar imágenes de los huesos y determinados tejidos. Se utiliza ampliamente para diagnosticar fracturas, infecciones y otras afecciones.
Tomografía computarizada (TC)
They use X-rays and computer processing to create cross-sectional images (slices) of the body. CT scans provide detailed images of bones, blood vessels, and soft tissues, making them valuable in diagnosing a variety of conditions, such as cancers, cardiovascular disease, and trauma.
Imágenes por resonancia magnética (IRM)
Utiliza campos magnéticos intensos y ondas de radio para generar imágenes detalladas de órganos y tejidos. La IRM es especialmente útil para obtener imágenes del cerebro, la médula espinal, las articulaciones y los tejidos blandos sin utilizar radiaciones ionizantes.
Máquinas de ultrasonidos o ecografías
Utiliza ondas sonoras de alta frecuencia para producir imágenes en tiempo real de órganos y estructuras internas. Se utiliza habitualmente en obstetricia, cardiología e imagen abdominal. La ecografía no es invasiva y no utiliza radiaciones ionizantes.
Tomografía por emisión de positrones (PET)
Utilizan trazadores radiactivos para visualizar los procesos metabólicos del organismo. Los escáneres PET se combinan a menudo con escáneres CT (PET-CT) para proporcionar información tanto funcional como anatómica, lo que los hace valiosos para el diagnóstico y seguimiento del cáncer.
Tomografía computarizada por emisión de fotón único (SPECT)
Al igual que la PET, la SPECT utiliza rayos gamma y trazadores radiactivos para crear imágenes tridimensionales de los procesos funcionales del organismo. La SPECT se utiliza habitualmente en cardiología y neurología.
Máquinas de fluoroscopia
Utiliza rayos X para proporcionar imágenes en tiempo real. La principal ventaja frente a otros métodos de captura es que podemos obtener imágenes en movimiento e información inmediata, por lo que es especialmente adecuado para monitorizar al paciente durante las cirugías.
DICOM en la industria médica y dental: No un simple formato de imagen
La especificación DICOM no se limita a las imágenes, sino que abarca mucho más. Puede representar extensos metadatos y protocolos de comunicación.
Estos son algunos ejemplos de información que puede almacenarse en DICOM, pero hay muchos más:
- Imágenes de múltiples fotogramas: puede almacenar múltiples imágenes captadas con dispositivos que proporcionan cortes del cuerpo, como los dispositivos de TC y RM. También contiene información sobre la posición de esas imágenes, el espaciado entre cortes y mucho más.
- Información del paciente: como nombre, DNI, fecha de nacimiento, sexo, historial médico, enfermedades, etc.
- Información del estudio: como la fecha del estudio, el hospital o la universidad, los médicos, la descripción, etc.
- Parámetros de adquisición: dispositivo de captura, modelo junto con sus parámetros de configuración, fabricante, versiones de software, protocolos y otros detalles técnicos.
- Anotaciones: podemos almacenar las anotaciones realizadas por los médicos sobre las imágenes (flechas, líneas, texto, manuscritos, etc.).
Renderizado volumétrico
Cuando los dispositivos de captura generan múltiples cortes 2D de un cuerpo, podemos ordenarlos para construir un volumen 3D. En esta sección, explicaremos los fundamentos del algoritmo de renderizado volumétrico que utilizamos en Evergine.
Paso 1: Generar textura 3D
Nuestro algoritmo de renderizado necesita una textura 3D como entrada. Por lo tanto, el primer paso será generar esta textura 3D.
Las imágenes que se encuentran en los archivos DICOM pueden tener diferentes disposiciones. Pueden ser cortes perdidos posicionados en el espacio 3D. Pueden tener diferentes orientaciones y resoluciones. Así que debemos reunir todas estas imágenes, filtrarlas, procesarlas y clasificarlas en un orden coherente. Es un paso muy complicado y, como la especificación DICOM es muy compleja y flexible, no es fácil tratar todos los casos posibles. Aun así, hemos comprobado que nuestro algoritmo parece funcionar en la mayoría de los casos, y poder generar una única textura 3D es una gran ventaja para un renderizado 3D eficaz.
Paso 2: Trazado de rayos volumétrico iterativo
Una vez que tengamos lista nuestra textura 3D, asignaremos esta textura a una geometría para dibujar, por ejemplo, una caja, o un cilindro. La forma de la geometría debe ser convexa e, idealmente, debe aproximarse a la forma de los píxeles de la textura. Elegir una forma más pequeña y ajustada puede ayudar a mejorar el rendimiento, ya que reduce el número de píxeles que originan rayos.
Por ejemplo, los escáneres de TC tienen forma cilíndrica y, por lo tanto, los píxeles DICOM de salida siempre se distribuyen dentro de un cilindro. Por tanto, en esos casos tiene sentido utilizar un cilindro como geometría de elección.
El algoritmo proyecta rayos contra la geometría. Como la geometría debe ser convexa, el rayo devolverá dos puntos de intersección, por donde entra en el volumen, y por donde sale.
Partiendo del punto de entrada, nos moveremos a lo largo del rayo hacia el punto de salida, muestreando los píxeles de nuestra textura 3D.
Cada rayo lleva la cuenta de la densidad acumulada, que aumentará en función de la densidad de los píxeles muestreados (y de la ventana de rango de densidad configurada). Una vez que la densidad acumulada alcanza un umbral especificado, podemos considerar que la densidad es lo suficientemente alta como para que la luz no pueda pasar, por lo que dejamos de iterar.
En realidad, todo este proceso se aprovecha mediante la rasterización. El punto de salida se calcula escribiendo las caras posteriores de nuestra geometría convexa en la memoria de profundidad. Escribir en la memoria de profundidad también nos permite considerar otros objetos en la escena. Esto tiene sentido ya que si encontramos un objeto antes de que el rayo salga de la geometría DICOM, deberíamos dejar de iterar de todos modos.
Después de escribir las caras traseras del DICOM en el buffer de profundidad, dibujamos las caras delanteras, pero esta vez con el shader que hará todo el trabajo pesado, y terminaremos escribiendo en el buffer de color. Este shader muestreará el buffer de profundidad para calcular el final del rayo (pero no escribirá en el buffer de profundidad).
Para el rayo correspondiente de cada píxel, haremos muchas iteraciones de paso. El tamaño del paso es, en nuestra implementación, igual al tamaño del píxel, por lo que el número de iteraciones será del orden de cientos.
El tamaño del paso podría aumentarse para dispositivos de gama baja (con una reducción de la calidad). Sin embargo, nuestras pruebas demuestran que el rendimiento es bueno (por encima de 60 fps) incluso con GPU integradas.
Evergine Add-On
Hemos desarrollado un nuevo complemento DICOM para Evergine. Este add-on ha sido desarrollado para satisfacer las necesidades de nuestros clientes en la industria médica y dental.
Su uso es completamente gratuito, y puede comprobar todas las características y detalles en la última release de Evergine.
Además, puede leer la documentación relacionada si desea aprender a utilizarlo. ¡Es muy fácil crear tu propio visor DICOM en Evergine!