enero 21, 2006

Mi visor volumétrico de imágenes médicas

Este proyecto es un visor volumétrico de imágenes médicas, realmente a este proyecto no se le ha dedicado el tiempo que se debiera porque han habido otros proyectos que han ido surgiendo y han hecho que este se vea pospuesto y tambien el tiempo de desarrollo hasta ahora ha sido muy corto (Solo me llevó alrededor de un mes y medio desarrollarlo). De lo que se trata es de que recibe como entrada una serie de imágenes DICOM de un estudio de algun paciente y este programa construye un modelo 3D de lo que esas imágenes y ese estudio representan. Originalmente fué desarrollado sobre Delphi 6, pero ahora compila sin problemas sobre Delphi 2006, usa como motor gráfico a OpenGL y como motor de BD a Firebird.

Esta dividido en dos partes, la parte de analisis bidimensional de las imágenes, en donde se puede de una manera muy simple y práctica adecuar los niveles de brillo y contraste en los colores de la imágen, efectuar mediciones milimétricas dentro de la imagen al tamaño real del objeto del que fue tomada, cambiar los tonos y los niveles, efectuar acercamientos a ciertas areas (Zoom), etc...

Y la parte de vision volumétrica, la cual es la que permite hacer la exploración 3D de los cuerpos que se representan en dichas imágenes médicas, pudiendose aplicar, planos de corte, transparencias, eliminacion de cuerpos basado en la densidad mostrada en las imágenes, rotaciones, traslaciones, etc...

Aquí algunos screenshots de la aplicación. Pueden dar click en las imágenes para verlas en tamaño completo.


La vista 2D permite efectuar mediciones milimétricas sobre el modelo

La vista 3D del estudio anterior; es una resonancia magnetica de una cabeza humana, aqui la vemos de perfil, pero puede ser rotada en tiempo real en cualquier sentido.

El mismo modelo anterior aplicandole 2 cortes en 2 ejes; aqui se puede ver el interior del craneo, los cortes se aplican dinamicamente a gusto del usuario.

Un pie humano con un factor de transparencia alta, lo cual permite ver los huesos a travez de la piel del sujeto.

El mismo pie variando los niveles del umbral visible con lo cual se permite descartar la piel del modelo y mostrar solo los huesos. Este proceso actualmente trabaja sobre las densidades de los objetos, permitiendo hacer la descartación en el modelo final basandose solo en que tan denso aparece el objeto en la imágen, este proceso se piensa modificar para hacerlo mucho mas selectivo y significativo.


DICOM es un estandar en la medicina en cuanto a la forma en como se almacenan y tratan las imágenes médicas, y practicamente todos los equipos modernos de radiografía, tomografía, ultrasonido o resonancia magnética trabajan con imágenes en formato DICOM, por lo que ahora es muy común que al paciente se le entregue ademas o en vez de las tradicionales placas de sus estudios, un CD con las imágenes en formato DICOM, con lo cual este programa puede construir todo el modelo tridimensional sin problema alguno y mostrarselo al paciente en el propio consultorio del médico.

Generalmente esto es posible solo con equipos y software muy caro y el ambito esta restringido a los radiologos que cuentan con este equipo, pero ahora con esta aplicación, la idea es que cualquier médico en su consultorio pueda obtener la imágen volumetrica de los analisis que reciben sus pacientes. y asi incluso mostrarle al paciente el modelo real en 3D de su propio cuerpo en el mismo consultorio, tal vez para mostrar la evolución de alguna fractura o algún otro padecimiento.

Otra aplicación que se me ocurrió es en el ámbito académico, con esta aplicación los alumnos podrán obtener una mejor idea de lo que significan las imágenes médicas así como poder hacer exploraciones mas a detalle de sus estudios pues las posibilidades son infinitas cuando se tiene una vision tridimensional de las cosas a verse forzado a hacer un análisis puramente en 2D.

En este momento nos encontramos al final de la etapa de desarrollo de este producto, pero aún tenemos espectativas que se pueden contemplar para este, tales como el reconocimiento de organos automático dentro del volumen para poder hacer discriminaciones basadas no solo en la densidad de lo que se ve sino en las texturas de los tejidos, etc... asi como la construccion biplanar de modelos para simplificar y abaratar aun mas el proceso para un radiologo de obtener el estudio.

En fin, esas son solo algunas cosas que se me han ocurrido, espero que a partir de esto se me ocurran mas. Y estoy ávido tambien de que quienes lean esto me puedan dar más ideas de todo tipo, de programación, estilo, cientificas, comerciales, etc. Así que pueden sentirse con entera libertad de publicar sus comentarios al respecto.

9 comentarios:

  1. Anónimo5:15 p.m.

    Hola carlos, soy Leonardo silva de chile, muy bueno tu blogger de verdad.

    Queria saber si me podias entrgar mas informacion de como realizaste el software de visualizacion 3d. es que estoy recien empezando a utilizar el gl scene y necesito realizar eso urgentemente.

    gracias.
    leo.

    ResponderEliminar
  2. Bueno. Ánimo con el proyecto, que se ve muy bien. Yo no entiendo mucho del tema, la verdad, y, acaso me parezca que se ve bien porque se utizan imágenes que relaciono con la ciencia ficción, con películas y cosas así, vamos, con mi imaginación.

    Pero, ya se ve que no, que es algo "real", que estás llevando a cabo con Delphi y que además te está quedando, a tenor de las capturas de pantalla, muy curioso. Así que ánimo con el proyecto y mucha suerte con este y con todos los que lleves a cabo.

    Hasta otra. ;)

    ResponderEliminar
  3. Gracias por los comentarios, si, mucha gente me ha dicho que esto parece salido del "Discovery Channel", pero si es algo tangible y funcional, y lo mejor de todo es que no exige nada super extraordinario para correr (nada de máquinas de miles de dolares ni esas cosas raras).

    Estoy preparando un video con el Camstasia para ponerlo en linea y lo puedan apreciar funcionando en "tiempo real" y vean lo rápido y sencillo que funciona y todas las bondades que ahora tiene.

    Nuevamente muchas gracias y espera noticias pronto.

    ResponderEliminar
  4. Anónimo4:20 p.m.

    Hola Carlos,
    soy Luis Alberto, me parece muy interesante tu proyecto,
    es alguna especie de vcl.
    quisiera me pudieras mandar mas informacion y si lo vendes o como pretendes comercializarlo, tengos algunos proyctos y me interesaria hablar con tigo hacerca de eso, mi correo es betocaldel@hotmail.com, te agradesco de antemano tu atencion

    ResponderEliminar
  5. Buenos dias Carlos. Soy Fisico Nuclear del area de Fisica Medica e Radioterapia.Soy cubano y trabajo en una universidad en Brasil. Tengo un proyecto de calculos dosimetricos y casualmente estaba necesitando un programa como el suyo que pudiera separar los organos de las imagenes DICOM y exportarlos separadamente nuevamente en forma de voxels. De esta forma puedo simular la dosis en cada organo por separado. Programo tambien en Delphi y me gustaria saber si estaria interasado en colaborar con este proyecto. Muy agradecido por su atencion.
    Felix
    felix_mas_milian@yahoo.com

    ResponderEliminar
  6. Anónimo12:04 p.m.

    Hola Carlos,
    Ese projecto de visor 3D de imagenes médica poderia ser mejorado com alguinas aplicaciones específicas en estudios de resonancia amgnéticas funcional, electroencefalografia e magnetoencefalografia. Por ejemplos, en el primer caso, poderia ser presentado como resultado de la aplicacion de um algoreitmo matematico (yo te envio e te explico todos los algoritmos tb programo um poco em Delphi) las regioens activas desde un set de imagenes de Resonancia Magnética Nuclear. En los segundos casos, obtendriamos una estimativa de la distribución e intensidad de las fuentes eléctricas que generan los Eelctroencefalogramas (EEG) y magnetoencefalogramas (MEG). Otra aplicación seria encontrar la distribuición de las dosis de radiación en un cierto boxel (pixel en 3D)dentro del cerebro ou outro organo del interior del cuerpo.
    Un abraço,
    mi msn es: juancito.cruz@hotmail.com
    Ai poderemos hablar mas directo,
    Un fuerte abrazo,
    Muchas Felicidades por tu blog, Nunca desanime porque personas como tu hacen este mundo un mejor lugar para se vivir,
    Juan
    jalbertoleyva@yahoo.com.br

    ResponderEliminar
  7. Anónimo2:49 p.m.

    Hola Carlos:

    Mi nombre es Osvaldo y soy Ingeniero en Ciencias Informáticas, graduado de la UCI en la Habana Cuba y me gustaría saber si tu herramienta es Opensource y Multiplatafoma? En nuestra universidad se está desarrollando algo muy parecido a tu visor, quizás pudíeramos desarrollar un proyecto conjunto entre ambos grupos de investigación con el fin de proveer a tu software de otras funcionalidades profescionales que le den mayor valor agregado al mismo.

    Si te interesa esta propuesta por favor respondeme a: opereira@uci.cu

    Saludos Osvaldo.

    ResponderEliminar
  8. Anónimo12:47 a.m.

    Checando mi correo vi la sugerencia que lanzaste sobre el desarrollo de este programa (hace ya un buen tiempo de esto) y dandole al google encontre este blog.

    Te felicito y tambien me gustaria que publicaras algo sobre la realizacion de esto.

    Saludos desde Mexico.

    ResponderEliminar
  9. Anónimo11:13 p.m.

    Hola,

    Felicidades por tu Trabajo, te agradecería que me enviaras información sobre este visor de imágenes DICOM. Te dejo mi correo comercial@tecnolog.com

    ResponderEliminar