Curso de Introducción al Machine Learning para las Ciencias de la Salud – Versión Verano 2024

El Machine Learning es un área de la Inteligencia artificial que desarrolla modelos computacionales que tienen la capacidad de ajustarse automáticamente a un conjunto de datos o descubrir patrones dentro de ellos. La aplicación de Machine Learning a las ciencias de la salud es una área de alto impacto que puede tener beneficios directos para la salud de las personas.

Cátedras

1.1 - Aprendizaje automático
2.1
leer más

Generador Automático de Diagnósticos

Puedes probar el generador acá.

La narrativa médica es un tema muy estudiado en estos momentos dado el gran advenimiento de la Inteligencia Artificial en la sociedad en general.

Lograr entender cuál es el significado de una narrativa médica es el objetivo principal del Procesamiento de Lenguaje Natural en Medicina, si llegamos a una perfecta representación sistematizada de la información que escriben los profesionales de la salud en las distintas fuentes de datos clínicos, muchos problemas podrían solucionarse en el área de la salud, desde la justa priorización de un paciente dentro de la temida lista de espera hasta la correcta distribución de recursos dentro de un establecimiento de salud.

La narrativa médica o mejor dicho el lenguaje en general no tiene una distribución al azar, sino que podemos encontrar patrones fácilmente de manera casi intuitiva, por ejemplo al explorar diagnósticos nos encontramos con que la palabra caries en la mayoría de los casos está acompañada de palabras que definen más específicamente el diagnóstico, las cuales tienen una distribución predecible, por ejemplo:

Es muy probable que encontremos los siguientes grupos de 2 palabras (bigramas) con mucha frecuencia:

  • caries dentinaria
  • caries penetrante

Pero que nos encontremos con una frecuencia casi nula los bigramas:

  • caries cerebral
  • caries pulmonar

Esto quiere decir que dada una palabra de entrada podemos predecir qué palabras le seguirían con mayor probabilidad.

Uno de los métodos que podemos utilizar para modelar este comportamiento son las Cadenas de Markov, en donde establecemos una matriz de probabilidades en donde como filas tenemos cada una de las palabras de nuestro vocabulario y cada uno de los valores de esta fila nos dice con qué probabilidad aparece una siguiente palabra.

Este modelamiento tiene una desventaja, porque sólo podemos predecir la siguiente palabra dado una única palabra anterior, olvidándonos de todo lo que hayamos escrito antes.

Para modelar el lenguaje utilizado en los diagósticos, se extrajeron las frecuencias de todos los bigramas posibles dentro de alrededor de 2 millones de diagnósticos médicos, el desarrollo del modelo se realizó en Python y el código para poder entrenar tus propios modelos o probar el modelo generado con los 2 millones de diagnósticos se encuentra libre pero los datos de entrenamiento no se encuentran disponibles debido a temas bioéticos.

Ejemplo

synthesizer = src.utils.DiagnosticGenerator( # Clase para construir el Generador de diagnósticos.
     markov_matrix_file
leer más

Segmentación 3D de Incisivo Central con Calcificación Pulpar

Cone-Beam de Incisivo con Pulpolito

La generación de modelos tridimensionales desde conjuntos de datos de tomografías computarizadas Cone-Beam (CBCT) nos permite entender de mejor manera la anatomía humana.

En este artículo mostraré paso a paso cómo generar un modelo 3D de la anatomía interna de un incisivo central superior con una calcificación pulpar, esto nos permitirá conocer cómo se comporta la pulpa frente a la existencia de un pulpolito.

Conjunto de Datos de la CBCT

Esta es un subconjunto recortado de los cortes tomograficos de una CBCT. Hasta este instante los datos siguen siendo bidimensionales y necesito interpretarlos como un volumen.

Generación del Modelo 3D

Primero debo determinar la región de interés (ROI) en las 3 dimensiones del espacio, la cual utilizaré para la generación del modelo tridimensional.

Después de delimitar la ROI se establece la Speed Image, que es una segmentación preliminar en base a umbrales de densidad ósea, las zonas azules son las regiones que no se van a segmentar.

Ahora se sitúan círculos (esferas volumétricamente) dentro de las zonas que deseamos segmentar, esferas las cuales posteriormente se deformarán automáticamente adoptando la forma de la zona a segmentar (Active Contour Segmentation).

Como ven, la visualización 3D son una serie de esferas situadas donde nosotros quisimos.

Echamos a andar el programa y las esferas comienzan a deformarse para adoptar la forma de diente.

El programa terminó de realizar la Active Contour Segmentation y el diente ya se segmentó.

Realizamos los mismos pasos anteriores para segmentar la pulpa del diente (en rojo) y también se puede observar el diente ya segmentado (Blanco).

Aquí se observan las 3 estructuras de interés, los tejidos duros del diente, la pulpa y el pulpolito. Es curioso observar cómo la pulpa rodea la calcificación pulpar del canal radicular.

Aspecto final de nuestro diente ya con todas las estructuras segmentadas.

Importamos nuestro modelo tridimensional en un software de edición de modelos tridimensionales y realizamos un suavizado de superficie.

Hemos terminado y en la imagen anterior se puede apreciar el aspecto final de nuestro Biomodelo Tridimensional.

Manufactura de Modelo Anatómico a Través de Fabricación con Filamento Fundido

Impresión 3D de Mandíbula Humana

Hemos llegado a la parte final para la generación de un modelo tridimensional tangible con el cual podemos trabajar físicamente, pasamos desde un conjunto de datos radiográficos DICOM, pasando por un modelo tridimensional virtual y ahora vamos a fabricarlo con una impresora 3D.

Posterior a la generación de un modelo tridimensional virtual, sumado al proceso de eliminación de artefactos y suavizado de superficie, el archivo STL debe ser materializado para la obtención de un modelo físico.

En el mercado existen múltiples tecnologías de prototipado rápido o impresión tridimensional, el presente trabajo se enfoca en la tecnología de Fabricación con Filamento Fundido o Fused Filament Fabrication (FFF).

La forma en que la tecnología de manufactura FFF trabaja consiste en la extrusión de plástico fundido desde filamentos sólidos, en donde se van depositando capas de material para así generar un modelo tridimensional (1).

El material empleado por la máquina utilizada (Makerbot Replicator 2) es el Ácido Poliláctico o Polylactic Acid (PLA), este material es un biopolímero termoplástico biodegradable de alta resistencia mecánica y baja toxicidad (2,3)

La tecnología de manufactura FFF junto con PLA ha demostrado tener resultados comparables con soluciones de manufactura más costosas (4).

Cabe mencionar que el archivo en formado STL debe ser interpretado por un programa computacional compatible con la máquina a utilizar, por lo que varía en función de la tecnología y la marca comercial utilizada. En general el pool de programas computacionales presentes en el mercado actual genera a partir de un archivo STL la ruta específica que debe seguir la máquina para lograr materializar el modelo tridimensional virtual.

A continuación se describe el programa computacional que utiliza la marca MakerBot:

Makerbot Desktop

Este programa computacional (www.makerbot.com) especialmente diseñado para funcionar con la marca MakerBot tiene la capacidad de importar archivos en formato STL e interpretarlos para el posterior envío a la impresora.

MakerBot Desktop genera las rutas que debe seguir la impresora además de un sistema de soportes de impresión (Figura 1). Los soportes de impresión tienen la función de impedir que el filamento fundido que se está extruyendo no caiga sobre la base cuando los diseños de la pieza a manufacturar son muy irregulares, el soporte generado por el programa computacional se ajusta precisamente a las características del modelo de máquina específico.

Referencias

  1. Gonzalez SR, Bennett DB. 3D Printing: A Practical Guide for Librarians [Internet].

leer más