SlideShare una empresa de Scribd logo
1 de 33
.NET en la MedicinaDesarrollamosnuestraprimerasoluciónaplicada al diagnósticobioquímicoporimagen. Armando Andrés Meabe MSP – MAP Estudiante UNL Santa Fe capital.
Orígenes de nuestros proyectos Inicio como proyecto de estudiantes de informática, en tiempos libres año 2007: Software capaz de reconocer cartas de póker (y jugar solo). Perfeccionamiento de los métodos del ‘autoPoker’, modelado matemático del algoritmo y ‘evolución’ hacia un sistema de reconocimiento facial (CodeCamp 2008). Ante la determinación de enfocarse a la medicina; se implementaron conceptos equivalentes a los usados en el reconocimiento facial pero aplicados a escala microscópica. 2007 (autoPoker)                2008 (FaceRec)                            2009 (Medicina) Primeros desarrollos en proceso                  Proceso de imágenes según modelado                    Reimplementación de técnicas de digital de imágenes                                        matemático ‘PCA’                                                      ‘faceRec’ aplicadas a tejido humano.
Lógica rudimentaria (2007) Las imágenes eran bitmaps, siempre iguales por lo que la complejidad del problema era baja. Se procedió a comparar pixel por pixel. El rendimiento era muy pobre en tiempo real, generalmente colgando la aplicación por  el ‘solapamiento’ de pasos y por el exceso de recursividades – ‘stackoverflow’. Se procedió a mejorar el algoritmo.
Mejor algoritmo -> Mejores aplicacionesNace ‘faceRec.NET’ (Jidis 08, Ccamp 08) Evolucionamos la lógica ‘por nuestra cuenta’, descartamos regiones muy grandes o muy pequeñas y ‘deducimos’ cuales son los rostros de una imagen. Llegamos a un ‘techo’ en cuanto a la efectividad y encontramos la necesidad de aplicar algoritmos mas complejos.
¿Que hacemos con la imagen?Entra el primer algoritmo matemático complejo: PCA (Principal ComponentsAnalysis) Se considera la imagen como un vector. Un vector cualquiera en un espacio vectorial de n dimensiones X1,X2…Xn se puede representar en términos de cuanto tiene de cada vector-dimensión X1, X2 … Xn. “¿Que “cantidad” tiene el nuevo rostro, de cada rostro existente?” Ej, vector C1 = (2, 3, 5) -> C1 = (2x1, 3x2, 5x3)
Ejemplo para dos rostros humanos que difieren en F’ Dispersión de puntos, cada punto representa una foto de un rostro humano. Las agrupaciones (nubes) de puntos sugieren que son fotos de la misma persona. Cuanto mas cerca están dos puntos, mas similares son dos rostros, hasta que se puede sugerir que son la misma persona. Apliquemos esta teoría a los glóbulos rojos y blancos. F’
Hecho el algoritmo de manera genérica, apuntamos a nuevos problemas. Ante la vocación de desarrollar soluciones orientadas a la medicina, se decide empezar por un problema en el cual tenemos experiencia: El conteo de elementos en sangre mediante análisis de imágenes.
Aplicaciones de nuestro proyectoEscenario ideal; Entidad médica de capacidad adquisitiva reducida (Hospitales regionales o pequeños, consultorios privados…) Principal ventaja; La diferencia de costos con otros métodos de automatización de conteo de elementos en el tejido humano. (~30.000AR$) Estos equipos tienen dimensiones muy grandes y solo cumplen una única función. Con el sistema propuesto, por software, no se necesita implementar ningún tipo de hardware siempre que se cuente con una PC/Notebook adecuada y un microscopio con conector para salida de tv/proyector/video o una buena cámara digital (menor precisión). Costo total; entre 0$ (hardware existente) y no mas de 5.000$ ante la necesidad de implementar hardware específico.
Definición y utilidad Definición: El hemograma completo es la prueba de laboratorio en la se van a cuantificar y evaluar diferentes grupos celulares, las glóbulos rojos (eritrocitos), los glóbulos blancos (leucocitos), las placas, el contenido de hemoglobina, y otros parámetros relacionados con su cantidad, forma y contenido. Utilidad Clínica:  Ayuda a diagnosticar problemas específicos de la sangre como la anemia y otros trastornos como determinados cánceres como las leucemias; permite a monitorizar la pérdida de sangre y la respuesta de un paciente a la terapia contra el cáncer, como la quimioterapia y la radioterapia; permite sospechar cuadros agudos infecciosos y/o inflamatorios,  y así, su utilidad clínica resulta invaluable.
Hardware en el mercado Wienerlab. Counter 19 y Wienerlab. Counter 19 CP ,[object Object]
Ventajas
Muy fácil de usar.
Muy preciso en resultados.
Desventajas
Insumos constantes, provistos por el fabricante.
Precio astronómico.
Es gigante.www.wiener-lab.com.ar – Sitio web del fabricante
La alternativa económicaDesventajas del método ‘a la vieja usanza’. En la ‘vieja escuela’ se cuenta con un método en teoría muy efectivo, que sin embargo puesto en práctica resulta en una alta pérdida de precisión y de tiempo. El bioquímico debería hacer uso de la ‘cámara de Neubauer’ y un microscopio eficaz, y realizar el conteo de glóbulos totalmente ‘a ojo’. Como ventaja, se resalta el hecho de que un profesional entrenado puede detectar casos especiales de inmediato. Este método se considera obsoleto.
La cámara de Neubauer(esquema) ,[object Object]
Luego debe mover la muestra y reiterar los pasos 4 veces mas, 5 en total.
El margen de error por contar elementos diferentes y aleatoriamente dispersos es muy elevado.
Ventaja: Un profesional detecta casos especiales de inmediato, pero este método se considera obsoleto.,[object Object]
Formaciones subdesarrolladas. (Anemia, neonatos, etc.)
Casos de glóbulos blancos. Si bien hay varias formaciones de glóbulos blancos, nos interesa diferenciar entre monocitos y ‘el resto’.
Estandarización y preproceso de una imagen. Se definen los estándares que se consideren mas aptos para facilitar la lógica del algoritmo y lograr robustez en el resultado. Se considera la plataforma en la que se usará el sistema, el hardware de captura, etc. Se eliminan los bordes de imágenes apaisadas. Se calcula la media con la siguiente fórmula Se corrigen los niveles de brillo y contraste de acuerdo a la media [R,G,B] obtenida. Imagen original Imagen redimensionada y ajustada en brillo y contraste.
Definición de colores y tonos. Las imágenes adquiridas no serán como el software las espera. Hay que alterarlas previamente. Estandarización de colores y utilización de algoritmo floodfill. int max = 0;             int min = 0;             int r = 0;             int b = 0;             int g = 0;             for (int x = 0; x < imgOriginal.Width; x++)             {                 for (int y = 0; y < imgOriginal.Height; y++)                 {                     r = imgOriginal.GetPixel(x, y).R;                     g = imgOriginal.GetPixel(x, y).G;                     b = imgOriginal.GetPixel(x, y).B;                     if (r > max) max = r; if (g > max) max = g;                     if (b > max) max = b; if (r < min) min = r;                     if (g < min) min = g; if (b < min) min = b; if !((r > 95 && g > 40 && b > 20) && (Math.Abs(r - g) > 15) && ((r > g) && (r > b)) && ((max - min) > 15) && (r != 0 && g != 0 && b != 0))                     { imgOriginal.SetPixel(x, y, Color.Black);                     }                 }             }             imgNormalizada = new Bitmap(imgOriginal);
Un pequeño paréntesis… ¿Que es el método floodfill? Comparable con la típica herramienta “varita mágica”, nos permite pasar de la imagen A a la imagen B y así discriminar los glóbulos del medio en el que se encuentran. A                     B
Los GR               Los GB  Los glóbulos rojos son particularmente fáciles de encontrar analíticamente: Son todos iguales Forma circular Color constante Tamaño constante ¡No podría ser mejor! ,[object Object]
Núcleos de forma aleatoria
Tamaño variable

Más contenido relacionado

Destacado

Manual de sistema ejemplo
Manual de sistema ejemploManual de sistema ejemplo
Manual de sistema ejemploAnaylen Lopez
 
Pasos para crear un proyecto de visual studio 2008
Pasos para crear un proyecto de visual studio 2008Pasos para crear un proyecto de visual studio 2008
Pasos para crear un proyecto de visual studio 2008vnslgars
 
Programando en microsoft visual studio 2008
Programando en microsoft visual studio 2008Programando en microsoft visual studio 2008
Programando en microsoft visual studio 2008ibrahimgonzalez
 
Introduccion a Visual Studio .NET
Introduccion a Visual Studio .NETIntroduccion a Visual Studio .NET
Introduccion a Visual Studio .NETjnarchie
 
Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Rodolfo Finochietti
 
Visual Studio 2012
Visual Studio 2012Visual Studio 2012
Visual Studio 2012Byron Paguay
 
Programacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETProgramacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETJavier Roig
 
La presencia en Internet - Futurmoda - Francisco Páez
La presencia en Internet - Futurmoda - Francisco PáezLa presencia en Internet - Futurmoda - Francisco Páez
La presencia en Internet - Futurmoda - Francisco PáezFrancisco Páez
 
Dégradation de la satisfaction utilisateurs : mythe ou réalité ?
Dégradation de la satisfaction utilisateurs : mythe ou réalité ?Dégradation de la satisfaction utilisateurs : mythe ou réalité ?
Dégradation de la satisfaction utilisateurs : mythe ou réalité ?itSMF France
 
Cloud et petites entreprises
Cloud et petites entreprises Cloud et petites entreprises
Cloud et petites entreprises JOUBERT Matthieu
 
Aide fiscale Impôts Taxes Québec : glossaire A à E
Aide fiscale Impôts Taxes Québec : glossaire A à EAide fiscale Impôts Taxes Québec : glossaire A à E
Aide fiscale Impôts Taxes Québec : glossaire A à EDéfenseurs Fiscaux Inc
 
Lenguaje De programacion
Lenguaje De programacionLenguaje De programacion
Lenguaje De programaciondavidduarte
 
Se faire recruter
Se faire recruter   Se faire recruter
Se faire recruter simo-heni
 

Destacado (20)

Manual de sistema ejemplo
Manual de sistema ejemploManual de sistema ejemplo
Manual de sistema ejemplo
 
Windows.forms.ejercicios
Windows.forms.ejerciciosWindows.forms.ejercicios
Windows.forms.ejercicios
 
Pasos para crear un proyecto de visual studio 2008
Pasos para crear un proyecto de visual studio 2008Pasos para crear un proyecto de visual studio 2008
Pasos para crear un proyecto de visual studio 2008
 
Programando en microsoft visual studio 2008
Programando en microsoft visual studio 2008Programando en microsoft visual studio 2008
Programando en microsoft visual studio 2008
 
Introduccion a Visual Studio .NET
Introduccion a Visual Studio .NETIntroduccion a Visual Studio .NET
Introduccion a Visual Studio .NET
 
Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013
 
Visual Studio 2012
Visual Studio 2012Visual Studio 2012
Visual Studio 2012
 
Programacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETProgramacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NET
 
La presencia en Internet - Futurmoda - Francisco Páez
La presencia en Internet - Futurmoda - Francisco PáezLa presencia en Internet - Futurmoda - Francisco Páez
La presencia en Internet - Futurmoda - Francisco Páez
 
baromètre jeunes & médias 2013
baromètre jeunes & médias 2013 baromètre jeunes & médias 2013
baromètre jeunes & médias 2013
 
Dossier kandinsky final
Dossier kandinsky finalDossier kandinsky final
Dossier kandinsky final
 
Dégradation de la satisfaction utilisateurs : mythe ou réalité ?
Dégradation de la satisfaction utilisateurs : mythe ou réalité ?Dégradation de la satisfaction utilisateurs : mythe ou réalité ?
Dégradation de la satisfaction utilisateurs : mythe ou réalité ?
 
Hidro y aerodinamica
Hidro y aerodinamicaHidro y aerodinamica
Hidro y aerodinamica
 
Cloud et petites entreprises
Cloud et petites entreprises Cloud et petites entreprises
Cloud et petites entreprises
 
Aide fiscale Impôts Taxes Québec : glossaire A à E
Aide fiscale Impôts Taxes Québec : glossaire A à EAide fiscale Impôts Taxes Québec : glossaire A à E
Aide fiscale Impôts Taxes Québec : glossaire A à E
 
Lenguaje De programacion
Lenguaje De programacionLenguaje De programacion
Lenguaje De programacion
 
Test
TestTest
Test
 
Reglament itf 2013
Reglament itf 2013Reglament itf 2013
Reglament itf 2013
 
Lesson 1
Lesson 1Lesson 1
Lesson 1
 
Se faire recruter
Se faire recruter   Se faire recruter
Se faire recruter
 

Similar a [Code Camp 2009] Aplicaciones de .NET en la medicina (Armando A. Meabe)

Analisis de fragmentación con Image j
Analisis de fragmentación con Image jAnalisis de fragmentación con Image j
Analisis de fragmentación con Image jRomel Villanueva
 
Reporte proyecto primer parcial 1
Reporte proyecto primer parcial 1Reporte proyecto primer parcial 1
Reporte proyecto primer parcial 1dave
 
Reconocimiento de rostros utilizando una red neuronal
Reconocimiento de rostros utilizando una red neuronalReconocimiento de rostros utilizando una red neuronal
Reconocimiento de rostros utilizando una red neuronalHugo Banda
 
Conteo globulos rbustamante
Conteo globulos rbustamanteConteo globulos rbustamante
Conteo globulos rbustamantemiocid0777
 
Segmentación de imágenes con matlab
Segmentación de imágenes con matlabSegmentación de imágenes con matlab
Segmentación de imágenes con matlabDiego Erazo
 
(2012) [ingeuan] deteccion vehicular
(2012) [ingeuan] deteccion vehicular(2012) [ingeuan] deteccion vehicular
(2012) [ingeuan] deteccion vehicularOscar Avilés
 
Utp pdiva_lab6_procesamiento digital de imagenes con matlab iv
 Utp pdiva_lab6_procesamiento digital de imagenes con matlab iv Utp pdiva_lab6_procesamiento digital de imagenes con matlab iv
Utp pdiva_lab6_procesamiento digital de imagenes con matlab ivjcbenitezp
 
Reconocimiento de placas matlab
Reconocimiento de placas matlabReconocimiento de placas matlab
Reconocimiento de placas matlabJhon Guapacha
 
Métodos Numéricos aplicados con HP PRIME_GABRIEL DAVID QUISPE SANES
Métodos Numéricos aplicados con HP PRIME_GABRIEL DAVID QUISPE SANESMétodos Numéricos aplicados con HP PRIME_GABRIEL DAVID QUISPE SANES
Métodos Numéricos aplicados con HP PRIME_GABRIEL DAVID QUISPE SANESgabriel david
 
Aprendizaje profundo y Aprendizaje por refuerzo.pdf
Aprendizaje profundo y Aprendizaje por refuerzo.pdfAprendizaje profundo y Aprendizaje por refuerzo.pdf
Aprendizaje profundo y Aprendizaje por refuerzo.pdfnaliwat17
 
Clase ndeg 2._desarrollo_de_modelos_2012.ii
Clase ndeg 2._desarrollo_de_modelos_2012.iiClase ndeg 2._desarrollo_de_modelos_2012.ii
Clase ndeg 2._desarrollo_de_modelos_2012.iirafobr2
 
Presentacion Paper Imágenes
Presentacion Paper ImágenesPresentacion Paper Imágenes
Presentacion Paper Imágenesxtreme003
 
Introducción a Machine Learning
Introducción a Machine Learning   Introducción a Machine Learning
Introducción a Machine Learning Pablo Casas
 

Similar a [Code Camp 2009] Aplicaciones de .NET en la medicina (Armando A. Meabe) (20)

Analisis de fragmentación con Image j
Analisis de fragmentación con Image jAnalisis de fragmentación con Image j
Analisis de fragmentación con Image j
 
Reporte proyecto primer parcial 1
Reporte proyecto primer parcial 1Reporte proyecto primer parcial 1
Reporte proyecto primer parcial 1
 
Reconocimiento de rostros utilizando una red neuronal
Reconocimiento de rostros utilizando una red neuronalReconocimiento de rostros utilizando una red neuronal
Reconocimiento de rostros utilizando una red neuronal
 
Segmentacion de imagenes
Segmentacion de imagenesSegmentacion de imagenes
Segmentacion de imagenes
 
Conteo globulos rbustamante
Conteo globulos rbustamanteConteo globulos rbustamante
Conteo globulos rbustamante
 
Segmentación de imágenes con matlab
Segmentación de imágenes con matlabSegmentación de imágenes con matlab
Segmentación de imágenes con matlab
 
Reconocimiento del iris
Reconocimiento del irisReconocimiento del iris
Reconocimiento del iris
 
(2012) [ingeuan] deteccion vehicular
(2012) [ingeuan] deteccion vehicular(2012) [ingeuan] deteccion vehicular
(2012) [ingeuan] deteccion vehicular
 
Presentacion vedpoc3 d_final
Presentacion vedpoc3 d_finalPresentacion vedpoc3 d_final
Presentacion vedpoc3 d_final
 
Utp pdiva_lab6_procesamiento digital de imagenes con matlab iv
 Utp pdiva_lab6_procesamiento digital de imagenes con matlab iv Utp pdiva_lab6_procesamiento digital de imagenes con matlab iv
Utp pdiva_lab6_procesamiento digital de imagenes con matlab iv
 
Segementacion de imagenes
Segementacion de imagenesSegementacion de imagenes
Segementacion de imagenes
 
Matematica computacional
Matematica computacionalMatematica computacional
Matematica computacional
 
Segmentacion mathlab
Segmentacion mathlabSegmentacion mathlab
Segmentacion mathlab
 
Proyecto. vision artificial
Proyecto. vision artificialProyecto. vision artificial
Proyecto. vision artificial
 
Reconocimiento de placas matlab
Reconocimiento de placas matlabReconocimiento de placas matlab
Reconocimiento de placas matlab
 
Métodos Numéricos aplicados con HP PRIME_GABRIEL DAVID QUISPE SANES
Métodos Numéricos aplicados con HP PRIME_GABRIEL DAVID QUISPE SANESMétodos Numéricos aplicados con HP PRIME_GABRIEL DAVID QUISPE SANES
Métodos Numéricos aplicados con HP PRIME_GABRIEL DAVID QUISPE SANES
 
Aprendizaje profundo y Aprendizaje por refuerzo.pdf
Aprendizaje profundo y Aprendizaje por refuerzo.pdfAprendizaje profundo y Aprendizaje por refuerzo.pdf
Aprendizaje profundo y Aprendizaje por refuerzo.pdf
 
Clase ndeg 2._desarrollo_de_modelos_2012.ii
Clase ndeg 2._desarrollo_de_modelos_2012.iiClase ndeg 2._desarrollo_de_modelos_2012.ii
Clase ndeg 2._desarrollo_de_modelos_2012.ii
 
Presentacion Paper Imágenes
Presentacion Paper ImágenesPresentacion Paper Imágenes
Presentacion Paper Imágenes
 
Introducción a Machine Learning
Introducción a Machine Learning   Introducción a Machine Learning
Introducción a Machine Learning
 

Más de Microsoft Argentina y Uruguay [Official Space]

Más de Microsoft Argentina y Uruguay [Official Space] (20)

CodeCamp 2010 | Diez formas de escribir código (in)seguro
CodeCamp 2010 | Diez formas de escribir código (in)seguroCodeCamp 2010 | Diez formas de escribir código (in)seguro
CodeCamp 2010 | Diez formas de escribir código (in)seguro
 
CodeCamp 2010 | Efectos especiales con Silverlight
CodeCamp 2010 | Efectos especiales con SilverlightCodeCamp 2010 | Efectos especiales con Silverlight
CodeCamp 2010 | Efectos especiales con Silverlight
 
CodeCamp 2010 | FBI- Fácil Business Intelligence
CodeCamp 2010 | FBI- Fácil Business IntelligenceCodeCamp 2010 | FBI- Fácil Business Intelligence
CodeCamp 2010 | FBI- Fácil Business Intelligence
 
CodeCamp 2010 | Hyper-V en Windows Server 2008 R2 e interoperabilidad con Linux
CodeCamp 2010 | Hyper-V en Windows  Server 2008 R2 e interoperabilidad con LinuxCodeCamp 2010 | Hyper-V en Windows  Server 2008 R2 e interoperabilidad con Linux
CodeCamp 2010 | Hyper-V en Windows Server 2008 R2 e interoperabilidad con Linux
 
CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...
CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...
CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...
 
CodeCamp 2010 | Un paseo por WCF 4.0
CodeCamp 2010 | Un paseo por WCF 4.0CodeCamp 2010 | Un paseo por WCF 4.0
CodeCamp 2010 | Un paseo por WCF 4.0
 
CodeCamp 2010 | Desarrollo de videojuegos fuera de control
CodeCamp 2010 | Desarrollo de videojuegos fuera de controlCodeCamp 2010 | Desarrollo de videojuegos fuera de control
CodeCamp 2010 | Desarrollo de videojuegos fuera de control
 
CodeCamp 2010 | Recorriendo ocs 2010
CodeCamp 2010 | Recorriendo ocs 2010CodeCamp 2010 | Recorriendo ocs 2010
CodeCamp 2010 | Recorriendo ocs 2010
 
Novedades de vs 2010 y net 40
Novedades de vs 2010 y net 40Novedades de vs 2010 y net 40
Novedades de vs 2010 y net 40
 
Run 2 0 keynote azure
Run 2 0 keynote azureRun 2 0 keynote azure
Run 2 0 keynote azure
 
Run 20 Track SQL Server
Run 20 Track SQL ServerRun 20 Track SQL Server
Run 20 Track SQL Server
 
Run 20 programando sobre sharepoint 2010
Run 20 programando sobre sharepoint 2010Run 20 programando sobre sharepoint 2010
Run 20 programando sobre sharepoint 2010
 
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta
 
(27.05) MOSSCA Invita - Búsqueda empresarial 2
(27.05) MOSSCA Invita - Búsqueda empresarial 2(27.05) MOSSCA Invita - Búsqueda empresarial 2
(27.05) MOSSCA Invita - Búsqueda empresarial 2
 
(27.05) MOSSCA Invita - Búsqueda empresarial 1
(27.05) MOSSCA Invita - Búsqueda empresarial 1(27.05) MOSSCA Invita - Búsqueda empresarial 1
(27.05) MOSSCA Invita - Búsqueda empresarial 1
 
(25.03) RUN 09 - Sesiones Desarrollo - Azure Live
(25.03) RUN 09 - Sesiones Desarrollo - Azure Live(25.03) RUN 09 - Sesiones Desarrollo - Azure Live
(25.03) RUN 09 - Sesiones Desarrollo - Azure Live
 

Último

SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 

Último (20)

SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 

[Code Camp 2009] Aplicaciones de .NET en la medicina (Armando A. Meabe)

  • 1. .NET en la MedicinaDesarrollamosnuestraprimerasoluciónaplicada al diagnósticobioquímicoporimagen. Armando Andrés Meabe MSP – MAP Estudiante UNL Santa Fe capital.
  • 2.
  • 3. Orígenes de nuestros proyectos Inicio como proyecto de estudiantes de informática, en tiempos libres año 2007: Software capaz de reconocer cartas de póker (y jugar solo). Perfeccionamiento de los métodos del ‘autoPoker’, modelado matemático del algoritmo y ‘evolución’ hacia un sistema de reconocimiento facial (CodeCamp 2008). Ante la determinación de enfocarse a la medicina; se implementaron conceptos equivalentes a los usados en el reconocimiento facial pero aplicados a escala microscópica. 2007 (autoPoker) 2008 (FaceRec) 2009 (Medicina) Primeros desarrollos en proceso Proceso de imágenes según modelado Reimplementación de técnicas de digital de imágenes matemático ‘PCA’ ‘faceRec’ aplicadas a tejido humano.
  • 4. Lógica rudimentaria (2007) Las imágenes eran bitmaps, siempre iguales por lo que la complejidad del problema era baja. Se procedió a comparar pixel por pixel. El rendimiento era muy pobre en tiempo real, generalmente colgando la aplicación por el ‘solapamiento’ de pasos y por el exceso de recursividades – ‘stackoverflow’. Se procedió a mejorar el algoritmo.
  • 5. Mejor algoritmo -&gt; Mejores aplicacionesNace ‘faceRec.NET’ (Jidis 08, Ccamp 08) Evolucionamos la lógica ‘por nuestra cuenta’, descartamos regiones muy grandes o muy pequeñas y ‘deducimos’ cuales son los rostros de una imagen. Llegamos a un ‘techo’ en cuanto a la efectividad y encontramos la necesidad de aplicar algoritmos mas complejos.
  • 6. ¿Que hacemos con la imagen?Entra el primer algoritmo matemático complejo: PCA (Principal ComponentsAnalysis) Se considera la imagen como un vector. Un vector cualquiera en un espacio vectorial de n dimensiones X1,X2…Xn se puede representar en términos de cuanto tiene de cada vector-dimensión X1, X2 … Xn. “¿Que “cantidad” tiene el nuevo rostro, de cada rostro existente?” Ej, vector C1 = (2, 3, 5) -&gt; C1 = (2x1, 3x2, 5x3)
  • 7. Ejemplo para dos rostros humanos que difieren en F’ Dispersión de puntos, cada punto representa una foto de un rostro humano. Las agrupaciones (nubes) de puntos sugieren que son fotos de la misma persona. Cuanto mas cerca están dos puntos, mas similares son dos rostros, hasta que se puede sugerir que son la misma persona. Apliquemos esta teoría a los glóbulos rojos y blancos. F’
  • 8. Hecho el algoritmo de manera genérica, apuntamos a nuevos problemas. Ante la vocación de desarrollar soluciones orientadas a la medicina, se decide empezar por un problema en el cual tenemos experiencia: El conteo de elementos en sangre mediante análisis de imágenes.
  • 9. Aplicaciones de nuestro proyectoEscenario ideal; Entidad médica de capacidad adquisitiva reducida (Hospitales regionales o pequeños, consultorios privados…) Principal ventaja; La diferencia de costos con otros métodos de automatización de conteo de elementos en el tejido humano. (~30.000AR$) Estos equipos tienen dimensiones muy grandes y solo cumplen una única función. Con el sistema propuesto, por software, no se necesita implementar ningún tipo de hardware siempre que se cuente con una PC/Notebook adecuada y un microscopio con conector para salida de tv/proyector/video o una buena cámara digital (menor precisión). Costo total; entre 0$ (hardware existente) y no mas de 5.000$ ante la necesidad de implementar hardware específico.
  • 10. Definición y utilidad Definición: El hemograma completo es la prueba de laboratorio en la se van a cuantificar y evaluar diferentes grupos celulares, las glóbulos rojos (eritrocitos), los glóbulos blancos (leucocitos), las placas, el contenido de hemoglobina, y otros parámetros relacionados con su cantidad, forma y contenido. Utilidad Clínica: Ayuda a diagnosticar problemas específicos de la sangre como la anemia y otros trastornos como determinados cánceres como las leucemias; permite a monitorizar la pérdida de sangre y la respuesta de un paciente a la terapia contra el cáncer, como la quimioterapia y la radioterapia; permite sospechar cuadros agudos infecciosos y/o inflamatorios, y así, su utilidad clínica resulta invaluable.
  • 11.
  • 14. Muy preciso en resultados.
  • 16. Insumos constantes, provistos por el fabricante.
  • 18. Es gigante.www.wiener-lab.com.ar – Sitio web del fabricante
  • 19. La alternativa económicaDesventajas del método ‘a la vieja usanza’. En la ‘vieja escuela’ se cuenta con un método en teoría muy efectivo, que sin embargo puesto en práctica resulta en una alta pérdida de precisión y de tiempo. El bioquímico debería hacer uso de la ‘cámara de Neubauer’ y un microscopio eficaz, y realizar el conteo de glóbulos totalmente ‘a ojo’. Como ventaja, se resalta el hecho de que un profesional entrenado puede detectar casos especiales de inmediato. Este método se considera obsoleto.
  • 20.
  • 21. Luego debe mover la muestra y reiterar los pasos 4 veces mas, 5 en total.
  • 22. El margen de error por contar elementos diferentes y aleatoriamente dispersos es muy elevado.
  • 23.
  • 24.
  • 26.
  • 27. Casos de glóbulos blancos. Si bien hay varias formaciones de glóbulos blancos, nos interesa diferenciar entre monocitos y ‘el resto’.
  • 28. Estandarización y preproceso de una imagen. Se definen los estándares que se consideren mas aptos para facilitar la lógica del algoritmo y lograr robustez en el resultado. Se considera la plataforma en la que se usará el sistema, el hardware de captura, etc. Se eliminan los bordes de imágenes apaisadas. Se calcula la media con la siguiente fórmula Se corrigen los niveles de brillo y contraste de acuerdo a la media [R,G,B] obtenida. Imagen original Imagen redimensionada y ajustada en brillo y contraste.
  • 29. Definición de colores y tonos. Las imágenes adquiridas no serán como el software las espera. Hay que alterarlas previamente. Estandarización de colores y utilización de algoritmo floodfill. int max = 0; int min = 0; int r = 0; int b = 0; int g = 0; for (int x = 0; x &lt; imgOriginal.Width; x++) { for (int y = 0; y &lt; imgOriginal.Height; y++) { r = imgOriginal.GetPixel(x, y).R; g = imgOriginal.GetPixel(x, y).G; b = imgOriginal.GetPixel(x, y).B; if (r &gt; max) max = r; if (g &gt; max) max = g; if (b &gt; max) max = b; if (r &lt; min) min = r; if (g &lt; min) min = g; if (b &lt; min) min = b; if !((r &gt; 95 && g &gt; 40 && b &gt; 20) && (Math.Abs(r - g) &gt; 15) && ((r &gt; g) && (r &gt; b)) && ((max - min) &gt; 15) && (r != 0 && g != 0 && b != 0)) { imgOriginal.SetPixel(x, y, Color.Black); } } } imgNormalizada = new Bitmap(imgOriginal);
  • 30. Un pequeño paréntesis… ¿Que es el método floodfill? Comparable con la típica herramienta “varita mágica”, nos permite pasar de la imagen A a la imagen B y así discriminar los glóbulos del medio en el que se encuentran. A B
  • 31.
  • 32. Núcleos de forma aleatoria
  • 34. Los núcleos se superponen ‘pareciendo’ ser uno solo.
  • 36.
  • 37.
  • 38. Por el contrario, los GB poliformes (2) se dispararán en múltiples direcciónes (tantas como dimensiones haya).
  • 39.
  • 40. ¿Es este método perfecto? NO, como la mayoría de los métodos estadísticos, hace evidente una tendencia con X% grado de precisión, pero tiene un punto débil, y es el área en el cual los monocitos ‘se parecen’ suficiente a los GB poliformes, y sus representaciones se mezclan en el espacio imaginario. De todos modos los resultados son alentadores.  Zona de error (falso conteo)
  • 41. ¿Conclusiones? Es natural que no seamos los indicados para sacar conclusiones médicas, lo mismo pasa en el caso del artefacto mostrado anteriormente para el conteo de glóbulos. Nos limitamos a exponer las cantidades encontradas de cada tipo de elemento y dependiendo de cada caso y del paciente, el profesional médico sabrá que concluir. En otras palabras, nuestra solución es acotada, empieza y termina cumpliendo su función: Contar. Es decir, es una herramienta, y no un médico virtual. Como herramienta, sus funciones solo están limitadas por lo pertinente al hemograma completo y por la capacidad del profesional de interpretar los resultados.
  • 42. ¿Innovación?Puede que sea un proyecto innovador, pero, ¿En que sentido? Haciendo honor a la verdad, en este último proyecto no hemos inventado nada. Se trata de un uso ‘visionario’ para algoritmos ya desarrollados (por nosotros), y utilizados. Durante el desarrollo del reconocimiento facial, nos aseguramos de que el algoritmo sea genérico. De ahí el hecho de que sirve para identificar rostros humanos, casas, automóviles… y hasta glóbulos rojos! Ventajas Escalabilidad y objetivosgenéricos; Incluso en el momento de desarrollo (facerec), no sabíamosqueotrosusos le daríamos al algoritmo. La idea esquesirvatantoparanosotroscomopara el potencialcliente. Para el 2010 proyectamosimplementarexactamente lo mismo (Si, ¡De nuevo!) para el diagnósticotemprano de aneurismas en la retina del ojo. De estemodo, el tiempo no se utilizadesarrollandoproyectosdiferentessinoperfeccionando lo hecho.
  • 43. Otros usos para los algoritmos desarrolladosLos alcances del algoritmo genérico.
  • 44. Otros usos para los algoritmos desarrolladosLos alcances del algoritmo genérico.
  • 45. Agenda: CodeCamp 20102da. incursión en la medicina, detección de aneurismas en la retina.Identificación de individuos por escaneo de retina. Identificación de aneurismas en la retina del ojo humano. Otro proceso que hoy en día se realiza ‘a ojo’ y está librado a la imprecisión del error humano. Identificación de individuos por escaneo de retina, otra aplicación obvia para nuestro algoritmo.