Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Universidad de Sevilla
Escuela Técnica Superior de Ingeniería
Proyecto fin de carrera
Departamento de la Teoría de Señal y Comunicaciones
Clasificación de lesiones
pigmentadas basada en tratamiento
digital de imagen
Autor: José Luis Pino Cáceres
Tutora: Begoña Acha Piñero
Sevilla, Septiembre de 2013
2
3
Agradecimientos
Este documento representa el final de una etapa
y se lo quiero agradecer a aquellos que siempre
han estado conmigo, mi familia. Mamá, Papá,
Hermanas, Cristina este viaje no hubiera sido
posible sin vosotros.
Primos, tíos, abuelos, amigos, cuñados, suegros,
compañeros, gracias. Son muchas las cosas que
he pasado con vosotros durante estos años de
carrera, he aprobado, he suspendido, he reído,
he salido, he trabajado, en definitiva he vivido
con vosotros. Sois los protagonistas de todos
y cada uno de los buenos momentos de mis años
de estudiante.
Gracias por estos maravillosos años
También me gustaría agradecerle a mi tutora
Begoña Acha Piñero todo el esfuerzo que ha
puesto en este proyecto, agradecerle todos sus
consejos, el tiempo dedicado, su disponibilidad
y su entrega. Para concluir agradecerle sus
enseñanzas no solo durante la elaboración del
proyecto, sino a lo largo de toda la carrera
demostrando ser una profesora maravillosa.
4
5
Índice
Capítulo 1: Introducción ................................................................................................................ 7
Capítulo 2: Temática y estado del arte ....................................................................................... 11
2.1 Cáncer ................................................................................................................................ 11
2.2 Lesión pigmentada ............................................................................................................ 12
2.3 Dermatoscopia .................................................................................................................. 13
2.3.1 Patrones globales en lesiones melanocíticas ............................................................. 13
2.3.2 Patrones locales en lesiones melanocíticas ............................................................... 17
2.4 Reglas de análisis existentes ............................................................................................. 19
2.4.1 Regla ABCD ................................................................................................................. 19
2.4.2 Lista de comprobación de 7 puntos (7-point checklist) ............................................. 22
Capítulo 3: Método ..................................................................................................................... 25
3.1 Función para patrón globular ............................................................................................ 25
3.2 Función para patrón reticular ........................................................................................... 30
3.3 Función para patrón pigmentación homogénea ............................................................... 35
3.4 Entorno gráfico .................................................................................................................. 39
3.4.1 Manual paso a paso del entorno gráfico .................................................................... 45
Capítulo 4: Resultados ................................................................................................................. 49
4.1 Resultados para patrón globular ....................................................................................... 49
4.2 Resultados para patrón reticular ...................................................................................... 50
4.3 Resultados para patrón homogéneo ................................................................................. 51
4.4 Resultados globales ........................................................................................................... 52
Capítulo 5: Conclusiones y líneas futuras .................................................................................... 55
5.1 Conclusión personal .......................................................................................................... 56
Capítulo 6: Referencias ............................................................................................................... 57
Capítulo 7: Índice de tablas e ilustraciones ................................................................................. 59
6
7
Capítulo 1: Introducción
El proyecto Clasificación de lesiones pigmentadas basada en tratamiento digital de imagen
consiste en el desarrollo de un sistema de ayuda a la detección CAD (Computer Aided
Detection) para las lesiones pigmentadas cutáneas mediante el desarrollo de una aplicación
informática que utiliza el software matemático Matlab.
Basándonos en el artículo Melanomas non-invasive diagnosis application based on the ABCD
rule and patter recognition image processing algorithms de A.GolaIsasi, B. García Zapirian y A.
Méndez Zorrilla (1) se analizan los patrones globulares, reticulares y de pigmentación
homogénea de imágenes dermatoscópicas con la intención de ayudar a la detección rápida y
sencilla de lesiones melanómicas.
Se implementa un programa software por cada tipo de patrón a analizar, para después
acoplarlos en un único interfaz de usuario. En el interfaz se analizan las imágenes
dermatoscópicas dando como salida la clasificación de la lesión analizada.
Ilustración 1: Ventana del entorno gráfico
La importancia de este proyecto reside en que el cáncer de piel es la neoplasia más frecuente
en el ser humano, identificándose tres tipos principales: el carcinoma basocelular, el carcinoma
epidermoide y el melanoma; este último es el analizado en el proyecto pues es uno de los más
letales y su frecuencia se ha incrementado exponencialmente en los últimos años, por lo que
es considerado el tumor maligno con el aumento más rápido en número de casos
diagnosticados en todo el mundo. (1)
8
En España en el año 2011 murieron más de 1500 personas debido a cáncer de piel de los
cuales cerca de 1000 fallecimientos se debieron a melanomas malignos.
La tendencia temporal de mortalidad masculina y femenina por melanomas en España entre
1975 y 2011 se muestra respectivamente en las ilustraciones 2 y 3. (2)
Ilustración 2: Evolución de la mortalidad de hombres por melanoma en España (2)
Ilustración 3: Evolución de la mortalidad de mujeres por melanoma en España (2)
Para este objetivo basándonos en el artículo citado anteriormente y gracias al tratamiento
digital de imagen se desarrollan unos pasos por los cuales se consigue aislar y estudiar cada
patrón. Para ello contamos con una base de datos de imágenes ya catalogadas por
dermatólogos expertos en cada tipo de patrón, lo que permite un mejor ajuste.
9
En el siguiente apartado se introducirá la temática del proyecto así como el estado del arte en
este campo, posteriormente en el apartado 3 se desarrolla la explicación de los algoritmos,
para después en el apartado 4 analizar los resultados y concluir en un apartado 5 con las
conclusiones obtenidas.
10
11
Capítulo 2: Temática y estado del arte
2.1 Cáncer
El documento se centra en un tipo muy concreto de cáncer, pero antes de comenzar ¿qué es
un cáncer?
Cáncer es un término que se usa para enfermedades en las que células anormales se dividen
sin control y pueden invadir otros tejidos. El cáncer no es solo una enfermedad sino muchas
enfermedades, existen más de 100 tipos diferentes de cáncer. (3)
Todos los cánceres empiezan en las células, unidades básicas de vida del cuerpo. Estas células
crecen y se dividen de una forma controlada para producir más células según sean necesarias
para mantener sano el cuerpo. Cuando las células se dañan o mueren son reemplazadas por
células nuevas. Sin embargo, algunas veces este proceso ordenado se descontrola. (3)
El material genético (ADN) de una célula puede dañarse o alterarse, lo cual produce
mutaciones que afectan al crecimiento y la división normal de las células. Cuando esto sucede,
las células no mueren cuando deberían morir y células nuevas se forman cuando el cuerpo no
las necesita. Las células que sobran forman una masa de tejido que es lo que se llama tumor.
Ilustración 4: Comportamiento celular; célula sana y célula cancerosa (3)
La imagen muestra la división de una célula normal y el suicidio celular normal, o apoptosis, de
una célula dañada. También muestra la división de una célula cancerosa, a través de varias
etapas de mutación, que termina en un crecimiento sin control. (3)
12
No todos los tumores son cancerosos. Los tumores benignos no son cancerosos. Pueden
extirparse y, en la mayoría de los casos, no vuelven a aparecer. Las células de los tumores
benignos no se diseminan a otras partes del cuerpo.
Por otro lado los tumores malignos son cancerosos. Las células de estos tumores pueden
invadir tejidos cercanos y diseminarse a otras partes del cuerpo. Cuando el cáncer se disemina
de una parte del cuerpo a otra, a este proceso se le denomina metástasis. (3)
Una vez explicado que es un cáncer nos centraremos en aquel cuya identificación es objeto del
proyecto.
2.2 Lesión pigmentada
La lesión pigmentada maligna o melanoma es un tipo de cáncer que comienza en el ADN de los
melanocitos (células responsables del color de pelo, ojos y piel). Cuando el ADN de estas
células es dañado provoca su crecimiento descontrolado como se vio en el apartado anterior,
lo que da lugar a un tumor maligno. (4)
Los melanocitos se encuentran en la parte inferior de la epidermis (capa superior o externa de
la piel).
Ilustración 5: Detalles de la epidermis (5)
Como se mencionó en la introducción el melanoma es el cáncer de piel más agresivo,
recibiendo el nombre de melanoma cutáneo, la enfermedad también se puede presentar en
las membranas mucosas (capas finas de tejido húmedo que recubre superficies como la de los
labios) o el ojo llamándose este último melanoma ocular. El presente proyecto trata sobre el
melanoma cutáneo (piel). (5)
Debido a que la piel es el órgano más grande del cuerpo humano el melanoma se puede
presentar en cualquier lugar del cuerpo. En los hombres, generalmente se encuentra en el
tronco (el área del cuerpo entre los hombros y las caderas), en la cabeza o el cuello, mientras
que en las mujeres, el melanoma se forma con mayor frecuencia en los brazos y las piernas.
13
2.3 Dermatoscopia
La dermatoscopia es una técnica no invasiva que mejora el diagnóstico clínico de las lesiones
cutáneas, especialmente las pigmentadas. Permite identificar estructuras de la piel no
identificables a simple vista.
Es una técnica sencilla, rápida y barata que consiste en una lupa de 10 a 30 aumentos con una
fuente de iluminación. Para evitar la dispersión de la luz en contacto con la piel, los
dispositivos pueden utilizar una luz polarizada, o bien una luz convencional pero aplicando
aceite de inmersión sobre la piel y contactando directamente la lente a la superficie cutánea.
Ilustración 6: Dermatoscopio
Cuando el dispositivo de dermatoscopia se acopla a un sistema informático permite el control
digital de lesiones pigmentadas. (6)
En las imágenes dermatoscópicas de lesiones pigmentadas se aprecian diferentes tipos de
patrones que sirven como indicadores para el análisis y clasificación del tipo de lesión. En este
proyecto se hace hincapié en los patrones reticular, globular y de pigmentación homogénea
que se explican junto a otros patrones en el siguiente punto.
2.3.1 Patrones globales en lesiones melanocíticas
Las estructuras o patrones que se identifican gracias a la dermatoscopia son diversos y varían
según el tipo de lesión, en este apartado se describen los principales tipos de patrones
globales. (6) (7) (8)
14
-Patrón reticular
Son retículos pigmentados que cubren la mayoría de la lesión, son estructuras lineales de color
marrón-negro de grosor variable que se encuentran en las lesiones benignas y malignas. Un
ejemplo se aprecia en la ilustración 7. (9)
Ilustración 7: Ejemplo de patrón global reticular (10)
Los patrones reticulares que se presentan como retículos regulares y delicados, líneas
delgadas con un borde que se difumina en la periferia o bien poseen una distribución simétrica
identifican la lesión como benigna. (7)
Al contrario los retículos prominentes, irregulares, con mallas de diferentes tamaños y
configuración o con forma abrupta en periferia y aquellos con distribución asimétrica hacen su
aparición en melanomas. (7)
-Patrón globular
Consiste en estructuras redondas u ovales, numerosas, de diferente tamaño y color marrón
y/o negro grisáceo. Un ejemplo se aprecia en la ilustración 8. (8)
Ilustración 8: Ejemplo de patrón global globular (10)
15
Este tipo de patrón cuando se muestra como glóbulos regulares y uniformes en tamaño y de
forma simétrica y homogénea representa una lesión benigna.
En los melanomas este patrón presenta diferentes tamaños, formas y colores además de estar
distribuidos de modo irregular. (7)
-Patrón Empedrado
Son glóbulos grandes, distribuidos de forma muy cercana, en forma poligonal semejando un
empedrado o mosaico. (6)
Este tipo de patrón de aparecer distribuido de forma simétrica nos encontramos ante el caso
de una lesión benigna.
Por el contrario de si no son uniformes y en ocasiones de color rojo nos indica que es una
lesión maligna. (7)
-Patrón Homogéneo
Es un patrón en la que la pigmentación es difusa de color marrón o en tonos entre gris
azulado y gris negruzco en ausencia de otras características locales distintivas .Un ejemplo se
aprecia en la ilustración 9. (7)
Ilustración 9: Ejemplo patrón global homogéneo (7)
Cuando este patrón se presenta en color marrón normalmente la lesión es benigna.
-Patrón Estallido de estrellas
También llamado patrón radial son proyecciones radiadas pigmentadas en el borde de una
lesión cutánea pigmentada. Un ejemplo se aprecia en la ilustración 10. (6)
16
Ilustración 10: Ejemplo patrón global estallido de estrellas (7)
Como en el caso del patrón empedrado este tipo de patrón se presenta en lesiones benignas
con una distribución simétrica y cuando su distribución es irregular o asimétrica la lesión es
maligna. (7)
-Patrón Paralelo
Este patrón se caracteriza por el hecho de que la pigmentación puede seguir los surcos o las
crestas de los dibujos formados debido a los pliegues cutáneos como en las palmas de las
manos o plantas de los pies (8)
Ilustración 11: Ejemplo patrón global paralelo (7)
Las líneas paralelas suelen ser delgadas y homogéneas y el pigmento sigue los surcos cutáneos.
De ocurrir esto la lesión es benigna. (7)
- Patrón Multicomponente
Es la combinación de tres o más de las estructuras dermatoscópicas mencionadas
anteriormente (6)
17
Si las estructuras individuales aparecen de forma homogénea (glóbulos centrales, retículo en
periferia, puntos en distribución simétrica…), la lesión será benigna.
Por el contrario, serán malignas aquellas cuyas estructuras individuales sean atípicas,
irregulares y/o asimétricas. (7)
-Patrón Inespecífico
Lesión pigmentada sin características dermatoscópicas distintivas. (6)
2.3.2 Patrones locales en lesiones melanocíticas
Cuando existe presencia de características dermatoscópicas específicas en diferentes regiones
de la misma lesión, estos patrones son llamados locales. (9)
-Retículo pigmentado
Es el patrón local más estudiado. La razón es que es el más común de los patrones locales en
las lesiones melanómicas. Se presenta de forma típica como retículos pigmentados de color
marrón, malla fina y distribución regular, usualmente adelgazándose en periferia. (9)
Ilustración 12: Ejemplo patrón local retículo pigmentado (9)
-Puntos y glóbulos
Estructuras negras o marrones, redondas u ovales de tamaño variable, distribuidas
regularmente en caso benigno e irregularmente en caso maligno. (11)
18
Ilustración 13: Ejemplo patrón local globular (9)
-Proyecciones
Estructuras lineales no conectadas con las líneas del retículo distribuidas regularmente en la
periferia de la lesión en caso benigno e irregularmente en caso maligno (9)
-Manchas de pigmento
Áreas de pigmento sin estructuras de color marrón, negro o gris de distribución simétrica en
caso benigno asimétrico en caso maligno. (7)
- Hipopigmentación
Área difusa con disminución de la pigmentación dentro de una lesión ordinaria pigmentada de
forma diferente. Las áreas blancas en el melanoma tienen una localización excéntrica y una
forma irregular. El área blanca en el caso benigno se encuentra en la periferia lesión. (9)
Ilustración 14: Ejemplo patrón local hipopigmentación (9)
19
2.4 Reglas de análisis existentes
La dermatoscopia ha demostrado ser un método valioso para mejorar el diagnóstico clínico de
melanomas. El enfoque clásico para el diagnóstico en dermatoscopia es el llamado análisis de
los patrones establecidos por Pehamberger en 1987. Este método de diagnóstico ampliamente
utilizado se basa en una evaluación simultánea de criterios individuales de la dermatoscopia,
mejorando la tasa de diagnóstico correcto de las lesiones pigmentadas de la piel entre un 10%
y 30%. Para mejorar la fiabilidad de los diagnósticos se han desarrollado varios algoritmos de
diagnosis siendo los dos más importantes la regla ABCD de la dermatoscopia y la lista de los 7
puntos. (12)
2.4.1 Regla ABCD
La regla ABCD (asymmetry - asimetría, border - contorno, color, differential structure -
estructura diferencial) introducida por Stolz en 1994 es una regla muy simple que puede
aprenderse fácilmente, calcularse rápidamente y aun así ha demostrado ser un método fiable,
que proporciona un diagnóstico objetivo y reproducible del melanoma. (12)
A) Asimetría. Se divide la lesión pigmentada en dos ejes de 90º, de manera que se consiga la
mayor simetría posible, y se valora la asimetría respecto el color, la forma y estructuras en
ambos lados del eje. Se otorga una puntuación de 0 si no existe asimetría en ningún eje; de 1 si
existe asimetría en un eje y de 2, si la presenta en ambos ejes. De manera que una lesión
puede tener una puntuación de 0 a 2.
B) Contorno. La lesión es dividida en 8 segmentos y se puntúa con 1 cada porción que presente
una finalización abrupta del borde. De tal manera que la puntuación mínima que se puede
obtener es de 0 y la máxima de 8.
C) Color. Se valora la presencia de 6 colores: blanco, marrón claro, marrón oscuro, gris-azul,
rojo y negro; por lo que la puntuación máxima será de 6 y la mínima de 1. El blanco tan sólo
puntuará cuando sea más claro que la piel adyacente, es decir, cuando pertenece a áreas
blancas de regresión.
D) Estructuras dermatoscópicas. Se consideran cinco estructuras, cada una de ellas puntúa con
un punto, por lo que la puntuación máxima será de 5 y la mínima de 1. (13)
La regla ABCD representa el segundo paso de un procedimiento bietápico que se propuso
originalmente por Kreusch y Rassner en la literatura alemana [Hautarzt 1991] y fué modificada
posteriormente por Stolz dando lugar a la regla que conocemos ahora. En primer lugar, una
lesión pigmentada debe ser clasificada como melanocíticos o no melanocíticas. Sólo cuando se
descarta el diagnóstico de la lesión no melanocíticas se puede aplicar la regla ABCD.
Para el cálculo de la ABCD los criterios tienen que ser cuantificados. Cada uno de los criterios
son multiplicados por un factor de peso dado, produciendo una puntuación total
dermatoscopia (TDS - total dermatoscopy score). Cuando el TDS toma valores inferiores a 4,75
indican una lesión benigna, los valores entre 4,8 y 5,45 indican una lesión sospechosa y los
20
valores mayores que 5,45 son altamente sospechosas de melanoma [Stolz, Blackwell Science,
1994]. (12)
Criterio Descripción Valoración Factor de peso
Asimetría En 0, 1, o 2 ejes; evaluar no sólo contorno, sino también colores y estructuras.
0-2 1,3
Contorno Terminación abrupta del patrón de pigmento en la periferia entre 0 y 8 segmentos.
0-8 0,1
Color Presencia de hasta seis colores 1-6 (blanco, rojo, marrón claro, marrón oscuro, azul-gris, negro).
1-6 0,5
Estructura diferencial
Presencia de red, áreas sin estructura u homogéneas, rayas, puntos y glóbulos.
1-5 0,5
Tabla 1: Regla ABCD de dermatoscopia (Según Stolz 1994) (12)
Fórmula para el cálculo de TDS
Ejemplo de la regla ABCD:
Caso 1.-
Ilustración 15: Caso 1 regla ABCD (12)
A = 0 (x 1.3) = 0;
B = 8 (x 0.1) = 0.8;
C = 2 [Marrón claro y oscuro] (x 0.5) = 1;
D = 2 [red, glóbulos] (x 0.5) = 1;
TDS = 2.8 (benigno)
21
Caso 2.-
Ilustración 16: Caso 2 regla ABCD (12)
A = 1 (x 1.3) = 1.3;
B = 4 (x 0.1) = 0.4;
C = 3 [Marrón claro y oscuro, negro] (x 0.5) = 1.5;
D = 2 [red, puntos] (x 0.5) = 1;
TDS = 4.2 (benigno)
Caso 3.-
Ilustración 17: Caso 3 regla ABCD (12)
A = 2 (x 1.3) = 2.6;
B = 5 (x 0.1) = 0.5;
22
C = 4 [Marrón claro y oscuro, azul-gris, negro, blanco] (x 0.5) = 2;
D = 4 [área homogénea, rayas, puntos, glóbulos] (x 0.5) = 2;
TDS = 7.1 (melanoma)
Esta regla tiene otras formas de denotación que cambian la estructura mencionada
anteriormente. La principal variación consiste en cambiar el parámetro “D” por diámetro,
considerando que aquellas lesiones de tamaño mayor a 6 milímetros tienden a ser malignas.
(14)
Otra variante es la ABCDE en la que además de tener en cuenta el diámetro de la lesión se
introduce un nuevo criterio que es el de la evolución “E”. El cambio de aspecto, color, tamaño
o forma puede ser un indicador de la presencia de una lesión maligna. (4)
2.4.2 Lista de comprobación de 7 puntos (7-point checklist)
En el documento original de la lista de los 7 puntos (Argenziano 1998) las imágenes
dermatoscópicas de lesiones cutáneas pigmentadas fueron estudiadas para evaluar la
incidencia de los 7 criterios estándar. Estas características fueron seleccionadas por su
frecuente asociación con melanoma. La mayoría de ellos figuraban en las directrices del
Consenso de la reunión de Hamburgo (Consensus Meeting of Hamburg - Bahmer 1990).
Se evaluaron las diferencias entre los melanomas y benignos por prueba estadística
univariante. La evaluación de cada uno de los criterios demostró que cada uno aportaba más o
menos posibilidades de aparecer en lesiones de melanomas. Para aquellos criterios con una
proporción mayor de posibilidades (>5) se les asignó una puntuación de 2 y se le dio a los 3
criterios llamados "mayores”, y una puntuación de 1 a los 4 criterios con menor proporción
(<5), denominados criterios "menores".
Por una simple suma de las puntuaciones individuales, una puntuación total de 3 o más
permite la clasificación para el melanoma con una sensibilidad del 95% y una especificidad del
75%.
Criterio Definición Proporción Puntuación
Criterios Mayores
Retículo pigmentado atípico.
Retículos negros, marrones o grises con redes irregulares y líneas gruesas.
5,19 2
Velo azul-blanquecino.
pigmentación difusa entre azul grisáceo y blanco-azulado asociada con alteraciones pigmentarias de red, puntos, glóbulos y/o rayas
11,1 2
Patrón vascular atípico.
Irregularidades lineales o puntos vasculares que no combinan con las estructuras de regresión y se asocian con alteraciones pigmentarias.
7,42 2
Criterios Menores
23
Rayas irregulares Estructuras lineales irregulares, más o menos confluentes, que no combinan claramente con las líneas de la red
3,01 1
Pigmentación irregular Áreas pigmentadas negras, marrones y / o de color gris con forma irregular y / o distribuidas
4,90 1
Puntos / Glóbulos irregulares
Estructuras ovales negras, marrones, y / o grises, de distintos tamaños distribuidos irregularmente dentro de la lesión
2,93 1
Estructuras de regresión
Áreas blancas y zonas azules moteadas, con lo que se asemejan al tipo velo azul-blanquecino
3,89 1
Tabla 2: Regla 7-point checklist (12)
Es necesaria una puntuación mínima total de 3 para el diagnóstico de melanoma. (7) (12)
Ejemplo de la regla comprobación de 7 puntos:
Caso 1.-
Ilustración 18: caso 1 regla 7-point checklist (12)
Pigmentación irregular→ 1 punto
Rayas irregulares→ 1 punto
Puntos irregulares → 1 punto
Velo azul-blanquecino→ 2 puntos
Red atípica → 2 puntos
Puntuación= 7 (lesión maligna – Melanoma)
24
Caso 2.-
Ilustración 19: caso 2 regla 7-point checklist (12)
Estructuras de regresión→ 1 punto
Puntuación= 1 (lesión benigna)
Caso 3.-
Ilustración 20: caso 3 regla 7-point checklist (12)
Rayas irregulares→ 1 punto
Velo azul-blanquecino→ 2 puntos
Puntos irregulares → 1 punto
Patrón vascular atípico→ 2 puntos
Puntuación= 6 (lesión maligna – Melanoma)
25
Capítulo 3: Método
Como se dijo en la introducción, el proyecto se basa en los pasos del artículo Melanomas non-
invasive diagnosis application based on the ABCD rule and patter recognition image processing
algorithms de A.GolaIsasi, B. García Zapirian y A. Méndez Zorrilla (1) para luego
modificándolo llegar a mejorar sus resultados. En esta sección se presenta el diagrama de las
funciones seguido de sus códigos y explicación de su funcionamiento.
3.1 Función para patrón globular
El diagrama de la función es el presentado a continuación.
Ilustración 21: Diagrama de la función globular
El código resultante de realizar el anterior diagrama es el siguiente.
% Función para la detección de patrón globular
%
% Definición de variables
%
% -Imagen: variable de entrada ( imagen a procesar)
% -Im_gris: Imagen pasada a escala de grises
% -Blurred: Imagen en escala de gris filtrada LP gauss
% -Im_BW: Imagen de las formas (edges) en blanco y negro
% -Contorno: Área interior de la lesión =1 zona exterior=0
% -Im_X: imágenes auxiliares.
% -auxX: variables auxiliares
%
% Definición de salidas
%
% -Num_Glob: Representa el Número de glóbulos detectados
% -graf: Imagen con los patrones reticulares repasados por un marco negro
% -Rel: relación entre las tonalidad de los glóbulos frente la lesión
% (sirve para diferenciar frente patrón reticular)
%
function [Num_Glob graf Rel ]= Globular2(Imagen)
%1.- Pasar a escala de grises
Im_gris = rgb2gray (Imagen);
%2.- Filtrado gaussiano a Im_gris
H = fspecial('gaussian',20,5);
26
Blurred = imfilter(Im_gris,H,255);
V_medio=mean(mean(Blurred));% obtenemos el valor medio
%3.- obtener región de contorno
Contorno= Blurred < V_medio;% con el valor medio de la imagen pasamos
% a obtener el contorno de la lesión
%4.- Mejora del contraste
aux=uint8(Contorno).*Im_gris; % tomamos los tonos de gris de la lesión
medaux=sum(sum(aux))/sum(sum(aux>0));% sacamos su media para usar en "Rel"
%aumentamos el contraste
Contraste=uint8(and(Contorno,aux<medaux*0.9)).*Im_gris;
Contraste(Contraste==0)=medaux*1.1;
%5.- filtrado Canny
Im_BW =edge(Contraste,'canny');%detección de las formas dentro de la lesión
%6.- eliminación de información
Im_Glob= and(Contorno,Im_BW);% todo aquello fuera del contorno no interesa
% para nuestro análisis y ha de ser eliminado
%7.- Rellenar las formas detectadas
Filled= imfill(Im_Glob,'holes');
%8.- erosión
se = ones(4);
se(1,1)=0;se(1,4)=0;
se(4,1)=0;se(4,4)=0;
Im_3 = imerode(Filled,se);
Im_3 = imerode(Im_3,se);
%9.- dilatación
Im_4 = imdilate(Im_3,se);
%10.- eliminamos los glóbulos claros
Masc = bwlabel(Im_4);
Im_Glob=zeros(size(Im_4));
Tam=max(max(Masc));
vmedia=sum(sum(uint8(Contorno).*Im_gris))/sum(sum(Contorno));
for j=1:Tam
aux2=(Masc/j)==1;% selecciono el conjunto j
aux=uint8(aux2).*Im_gris; % le aplico su nivel de gris
Si_media=sum(aux)/sum(aux2); % valor medio del conjunto j
Im_Glob=Im_Glob+(double(aux)*(Si_media<=vmedia));%interesan las oscuras
end
%11.- Recuento de glóbulos
L = bwlabel(Im_Glob);
Num_Glob = max(max(L));
%12.- Representación de salida
graf=Im_gris+uint8(Im_Glob*255);
%13.- Obtención de "Rel"
aux3=uint8(Im_Glob>0).*Im_gris;
medaux3=sum(sum(aux3))/sum(sum(aux3>0));
Rel=medaux3/medaux;% relación de oscuridad del glóbulo
end
Tabla 3: Código de la función globular
Partimos de una imagen en color RGB, que se transforma a escala de grises. La instrucción
rgb2gray convierte las imágenes RGB a escala de grises eliminando la información del tono y
de la saturación al tiempo que conserva la iluminación.
27
Se ha estado hablando de imagen en color RGB, el espacio de color RGB (en Inglés Red, Green,
Blue, en Español rojo verde azul) es la composición del color en términos de la intensidad de
los colores primarios de la luz, con él es posible representar un color mediante la mezcla por
adición de los tres colores de luz primarios. (15)
Ilustración 22: Proceso imagen RGB a imagen en escala de grises
Una vez obtenida la imagen en escala de grises le pasamos un filtro gaussiano para suavizar la
imagen. Para ello se utiliza la orden imfilter que previamente se define su argumento del filtro
gaussiano mediante la instrucción fspecial. De esta imagen suavizada se obtiene el valor medio
de la imagen.
∑
( )
El siguiente paso es obtener el contorno de la lesión de tal forma que elimine de la imagen
aquello que no sea de la propia lesión. Para esto creamos una máscara donde el valor de los
pixeles será 1 donde haya lesión y 0 donde no. Dado que la lesión es más oscura que la piel
una forma muy sencilla de obtener esta mascara es utilizar un comparador en binario.
{
Ilustración 23: Máscara del contorno de la lesión
28
Al multiplicar esta mascara por la imagen en escala de grises eliminamos la información de
fuera de la lesión.
El siguiente paso es aumentar el contraste para mejorar la detección de formas dentro de la
lesión. Hay muchas maneras de realizar una mejora del contraste, por ejemplo mediante el
histograma. En esta función sin embargo el aumento de contraste se realiza tomando la zona
de 10% menor luminosidad respecto a la media de la lesión y tomando los demás pixeles un
10% más claro respecto a la media.
Con el contraste de la imagen aumentado el siguiente paso es detectar las formas presentes en
la lesión. Esto se realiza mediante el algoritmo de Canny. El algoritmo de Canny es un operador
desarrollado por John F. Canny en 1986 que utiliza un algoritmo de múltiples etapas para
detectar una amplia gama de bordes en imágenes. (15) Para su ejecución basta con llamar a la
función edge con el parámetro ‘canny’ que está predefinida en Matlab.
Ilustración 24: Detección de bordes
El siguiente paso es rellenar las formas cerradas obtenidas con el algoritmo anterior y acto
seguido aplicar las operaciones de matemáticas morfológicas erosión y dilatación. Las
matemáticas morfológicas son una teoría y técnica para el análisis y tratamiento de las
estructuras geométricas, basada en la teoría de conjuntos donde siendo E un espacio
euclidiano o una cuadrícula entera y A una imagen binaria en E, la erosión de la imagen binaria
A por el elemento estructurarte B (en nuestro caso un disco de radio 2 pixel) está definida por:
* | +
* | +
Y la dilatación de A por el elemento B se define por:
* | +
* | +
(16)
29
Ilustración 25: Secuencia rellenar; Erosionar; Dilatar
Tanto el rellenar, la erosión como la dilatación son funciones predeterminadas de Matlab.
El paso siguiente a realizar es la comprobación de que las áreas seleccionadas equivalen con
los glóbulos, como al principio del algoritmo, los glóbulos son más oscuros que el resto de la
lesión. Por tanto se seleccionan uno a uno los glóbulos, se calculan sus valores medios en
escala de grises y aquellos cuya media sea superior (más claros) a la de la lesión son
descartados como glóbulos.
∑ ( )
{ ( )
( )
Para concluir se cuenta el número de glóbulos detectados en la imagen, se prepara la imagen
de salida y se calcula la relación de oscuridad de los glóbulos obtenidos respecto a la lesión
Ilustración 26: Imagen de salida de la función globular
30
Ilustración 27: Entorno gráfico en el caso de patrón globular
Para el ejemplo usado durante la explicación del código los resultados son de 19 glóbulos y una
relación de 0,73.
3.2 Función para patrón reticular
La función presenta el diagrama de la ilustración 28.
Ilustración 28: Diagrama de la función reticular
Se observa que la parte media y superior del diagrama presenta una similitud elevada con
respecto a la función para patrón globular descrita en el punto anterior, así como resaltar el
cambio de orden en las operaciones de matemáticas morfológicas dilatación y erosión.
31
El código de esta función por tanto es el siguiente
% Función para la detección de patrón reticular
%
% Definición de variables
%
% -Imagen: variable de entrada ( imagen a procesar)
% -Im_gris: Imagen pasada a escala de grises
% -Blurred: Imagen en escala de gris filtrada LP gauss
% -Im_BW: Imagen de las formas (edges) en blanco y negro
% -Contorno: Área interior de la lesión =1 zona exterior=0
% -Im_X imagenes auxiliares.
%
% Definición de salida
%
% -graf: Imagen con los patrones reticulares repasados por un marco negro
%
function [graf]= Reticular2 (Imagen)
%1.- Pasar a escala de grises
Im_gris = rgb2gray (Imagen);
%2.- Filtrado gaussiano a Im_gris
H = fspecial('gaussian',20,5);
Blurred = imfilter(Im_gris,H,255);
V_medio=mean(mean(Blurred));% obtenemos el valor medio de la imagen para
% posteriormente obtener el contorno de la
% lesión
%3.- filtrado Canny
Im_BW =edge(Im_gris,'canny');% detección de las formas dentro de la lesión
%4.- obtener region de contorno
Contorno= Blurred < V_medio; % definimos el área de la lesión como la
% zona más oscura de la imagen
%5.- eliminación de información
Im_Ret= and(Contorno,Im_BW); % todo aquello fuera del contorno no interesa
% para nuestro análisis y ha de ser eliminado
%6.- dilatación
se = ones(2);
Im_3 = imdilate(Im_Ret,se);
%7.- erosion
Im_4 = imerode(Im_3,se);
%8.- Mejora de la representación de salida
Im_5= and(Contorno,abs(Im_4-1));
Im_5 = imerode(Im_5,se);
Im_R=uint8(Im_5).*Imagen(:,:,1);
Im_G=uint8(Im_5).*Imagen(:,:,2);
Im_B=uint8(Im_5).*Imagen(:,:,3);
Im_Ret2=cat(3,Im_R,Im_G,Im_B);
graf=Im_Ret2;
end
Tabla 4: Código de la función reticular
32
Como para el caso anterior partimos de una imagen en color RGB, y como se comentó en la
anterior función el primer paso es el cambio a escala de grises. Se aplica la instrucción
rgb2gray obteniendo el resultado expuesto en la ilustración 29.
Ilustración 29: Proceso imagen RGB a imagen en escala de grises
Una vez obtenida la imagen en escala de grises le pasamos el mismo filtro gaussiano que al
patrón globular para suavizar la imagen. Una vez suavizada la imagen se realiza el cálculo del
valor medio para su futuro uso en la obtención del contorno de la lesión.
∑
( )
El siguiente procesamiento que se le aplica la imagen en escala de grises es la detección de
formas. Para esta tarea, como se mencionó con anterioridad, una buena técnica es el uso del
algoritmo de Canny, y en este caso también se utiliza este algoritmo.
Con las formas de la imagen detectadas se pasa al cálculo del contorno y al multiplicar este
contorno por la imagen de formas eliminar aquellas formas que se encuentren fuera de la
lesión. El contorno se calcula al igual que en apartado anterior teniendo en cuenta que la
lesión es la región oscura de la imagen.
{
33
Ilustración 30: Máscara del contorno de la lesión
Con la Imagen resultante de la multiplicación de la máscara del contorno por la imagen con la
detección de formas, realizamos la dupla de operaciones morfológicas dilatación y erosión
explicadas en la sección anterior con una estructura cuadrada de 2 pixeles de lado.
La secuencia detección de formas, eliminación de formas ajenas a la lesión mediante la
máscara del contorno, la ejecución de la dilatación y erosión se muestra en la ilustración .
Ilustración 31: Proceso detectar formas; Eliminar información; Dilatar; Erosionar
34
En la última imagen ya se aprecia de forma clara que el patrón ante el que nos encontramos es
reticular. Sin embargo para la representación de este patrón se realizan unos cambios para
mostrar su salida en color.
Dado que se nos están mostrando los bordes de los retículos el primer paso es invertir la
selección de tal modo que el borde sea 0 (negro) y el interior del retículo sea 1 (blanco).
A la inversión realizada se le ha de aplicar de nuevo la máscara del contorno con el fin de
seguir seleccionando el área de la lesión.
| |
Este paso deja el contorno de cada retículo marcado como una línea negra muy fina y para que
resalte un poco más se le aplica una erosión a la nueva máscara.
Ilustración 32: Proceso inversión de máscara y erosionar
Por último, solo queda aplicar la nueva selección a las tres componentes de la imagen en color
RGB y así obtener una imagen de salida en color.
Ilustración 33: Imagen de salida de la función reticular
35
Ilustración 34: Entorno gráfico en el caso de patrón reticular
3.3 Función para patrón pigmentación homogénea
El último patrón que analizamos en este proyecto es la pigmentación homogénea. Esta función
presenta el siguiente diagrama (ilustración 35).
Ilustración 35: Diagrama de la función Pigmentación homogénea
La primera parte de esta función en cuanto a la detección del contorno de la lesión es similar al
de los apartados anteriores como se puede apreciar. Sin embargo la segunda mitad es
completamente distinta puesto que en este patrón es importante el color, por lo que se
trabaja en espacios de color y no en escala de grises. El código de esta función es
36
% Función para la detección de patrón globular
%
% Definición de variables
%
% -Imagen: variable de entrada ( imagen a procesar)
% -Im_gris: Imagen pasada a escala de grises
% -Blurred: Imagen en escala de gris filtrada LP gauss
% -Im_BW: Imagen de las formas (edges) en blanco y negro
% -Contorno: Área interior de la lesion =1 zona exterior=0
% -auxX: variables auxiliares
%
%Definición de salida
%
% -out: Repesenta el porcentaje de azul en la lesión
% -graf: Imagen de la lesión enmarcada por el contorno negro
%
function [out graf]= Pigmentacion2(Imagen)
%1.- Pasar a escala de grises
Im_gris = rgb2gray (Imagen);
%2.- Filtrado gausiano a Im_gris
H = fspecial('gaussian',20,5);
Blurred = imfilter(Im_gris,H,255);
V_medio=mean(mean(Blurred));
%3.- obtener region de contorno
Contorno= Blurred < V_medio;% obtenemos el valor medio de la imagen para
% posteriormente obtener el contorno de la
% lesión
%4.- eliminación de información
R=uint8(Contorno).*Imagen(:,:,1);% todo aquello fuera del contorno no
G=uint8(Contorno).*Imagen(:,:,2);% interesa para nuestro analisis y ha de
B=uint8(Contorno).*Imagen(:,:,3);% ser eliminado
%5.- Representación de salida
Im_color=cat(3,R,G,B);
graf=Im_color;
%6.- transformamos al espacio de color (HSV)
Im_color2=rgb2hsv(Im_color);
h=Im_color2(:,:,1);%seleccionamos el tono
%7.- Obtenemos la cantidad de pixeles azules de la lesión
aux1=sum(sum(((h>0.45)&(h<0.8))));%azul (0.5 y 0.75) +- un margen
aux2=sum(sum(h>0));%pixeles dentro del contorno
out=aux1/aux2*100; %sacamos el porcentaje de azul en la lesion
end
Tabla 5: Código de la función Pigmentación homogénea
Como se dijo anteriormente, los primeros pasos son similares a las dos funciones anteriores
por lo que comenzamos con el cambio a escala de grises de la imagen de entrada en color RGB.
37
Ilustración 36: Proceso imagen RGB a imagen en escala de grises
Una vez obtenida la imagen en escala de grises le pasamos el mismo filtro gaussiano que al
patrón globular y reticular para suavizar la imagen.
El contorno, idénticamente que en los apartados anteriores, es la región más oscura de la
imagen.
{
Ilustración 37: Máscara del contorno de la lesión
El siguiente paso es la multiplicación de la imagen en el espectro de color RGB por la máscara
del contorno. Debido a que la imagen en color está compuesta por 3 matrices esta
multiplicación se ha de hacer componente a componente.
Con lo que se obtiene la siguiente imagen de salida (ilustración 38).
38
Ilustración 38: Imagen de salida de la función pigmentación homogénea
El espacio de color RGB, el color como se dijo anteriormente se representa mediante la mezcla
por adición de los tres colores de luz primarios.
El color de un píxel por tanto viene dado por su valor de rojo, verde y azul. Esto hace que
saber de qué color es un píxel requiera la evaluación de un vector de 3 componentes. Una
forma fácil de solucionar esto es la planteada en esta función, el cambio a otro espacio de
color. En este caso se elige el espacio HSV.
El modelo HSV (del inglés Hue, Saturation, Value – Matiz o tono, Saturación, Valor), define un
modelo de color en términos de sus componentes.
El matiz se representa como un grado de ángulo cuyos valores posibles van de 0 a 360°
(aunque para algunas aplicaciones como en Matlab se normalizan del 0 al 1). Cada valor
corresponde a un color. Como disponemos de 360 grados, los 3 colores RGB ocupan 120° por
color, donde el 0 es rojo, 120 es verde y 240 es azul. Para colores mixtos se utilizan los grados
intermedios.
Esta transformación permite saber los tonos de colores puros que contienen alguna
combinación de los colores R, G y B. (18)
Y este es el motivo de la transformación, ahora simplemente evaluando la componente H
podemos saber si un píxel es azul o no.
La obtención de H se realiza mediante la siguiente transformación
{
Donde Max es el valor máximo de los componentes (R, G, B), y Min el valor mínimo.
39
En Matlab este cambio se hace automáticamente gracias a la instrucción rgb2hsv donde solo
seleccionamos la componente H.
Una vez obtenida la componente H (en Matlab entre 0 y 1) contamos todos los píxeles azules
de la lesión, aquellos comprendidos entre , y para obtener la proporción
en tantos por ciento de azul de la lesión dividimos este número de píxeles entre el total de
píxeles de la lesión y multiplicamos por 100.
Ilustración 39: Entorno gráfico en el caso de patrón de pigmentación homogénea
Para el ejemplo usado durante la explicación el porcentaje de azul es de 43,8802%.
3.4 Entorno gráfico
La interfaz gráfica de usuario, conocida también como GUI (del inglés graphical user interface)
es un programa informático que actúa de interfaz de usuario, utilizando un conjunto de
imágenes y objetos gráficos para representar la información y acciones disponibles en la
interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo para permitir la
comunicación con el sistema operativo de una máquina o computador. (19)
40
Matlab posee una herramienta de diseño de entornos gráficos propia, GUIDE. La herramienta
genera un archivo gráfico asociado a un archivo de comandos, de esta forma cualquier objeto
que se añada al interfaz queda definido y así simplificar su uso.
Un ejemplo de archivo gráfico en blanco junto con sus herramientas aparece en la ilustración
40.
Ilustración 40: Plantilla de GUIDE en blanco
El entorno gráfico de este proyecto cuenta con 5 “Axes” (huecos para la inserción de
imágenes), 3 “Push Button” (botones) y 10 “Static Text” (huecos para texto).
Ilustración 41: Montaje de entorno gráfico
Los únicos objetos activos del entorno gráfico son los botones, los “Axes” y los “Static Text”
toman un valor inicial que se puede modificar a lo largo de la ejecución del programa.
41
Los 3 botones del GUI son “Nueva Imagen”, “Inicio” y “Finalizar”, cada uno de ellos tiene una
función asociada en el archivo de comando que se ejecuta cuando alguno de los botones es
pulsado.
El programa ejecutado por el entorno grafico es el encargado de la llamada a las funciones de
los 3 patrones así como de su correcta clasificación. El programa sigue el siguiente diagrama de
flujo (ilustración 42).
Ilustración 42: Diagrama de flujos del programa del entorno gráfico
El código del archivo de comandos asociado al entorno gráfico es el siguiente
function varargout = entornograf(varargin)
% ENTORNOGRAF M-file for entornograf.fig
% ENTORNOGRAF, by itself, creates a new ENTORNOGRAF or raises the
%existing singleton*.
%
% H = ENTORNOGRAF returns the handle to a new ENTORNOGRAF or the handle
%to the existing singleton*.
%
% ENTORNOGRAF('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in ENTORNOGRAF.M with the given input
42
arguments.
%
% ENTORNOGRAF('Property','Value',...) creates a new ENTORNOGRAF or raises
the existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before entornograf_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to entornograf_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help entornograf
% Last Modified by GUIDE v2.5 19-Jun-2013 14:09:56
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @entornograf_OpeningFcn, ...
'gui_OutputFcn', @entornograf_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before entornograf is made visible.
function entornograf_OpeningFcn(hObject, ~, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to entornograf (see VARARGIN)
% Choose default command line output for entornograf
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes entornograf wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = entornograf_OutputFcn(~, ~, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on button press in Inicio.
function Inicio_Callback(hObject, ~, handles)
43
% hObject handle to Inicio (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
%reseteamos las imagenes
a=handles.a;
Imblanco=ones(size(a));
imshow(Imblanco, 'Parent',handles.axes2)
imshow(Imblanco, 'Parent',handles.axes4)
imshow(Imblanco, 'Parent',handles.axes5)
imshow(Imblanco, 'Parent',handles.axes6)
%comienzo
a=handles.a;
axes(handles.axes1);
subImagen=imcrop(a);
imshow(subImagen, 'Parent',handles.axes2);
handles.subImagen=subImagen;
%primero ver si es o no azul.
[azul grafPig] = Pigmentacion2(subImagen); % para más información ver
Pigmentacion2.m
if(azul<2.2)
[Num_Glob grafGlob Rel] = Globular2(subImagen);% para más información ver
Globlar2.m
if Rel>0.81 && Rel <0.86
imshow(grafGlob ,'Parent',handles.axes4);
set(handles.text7,'String',Num_Glob);
[grafRet]=Reticular2(subImagen);% para más información ver
Reticular2.m
imshow(grafRet,'Parent',handles.axes5);
msgbox('Resultado inconcluente, Puebe a pulsar inicio y seleccionar
otra área',' Inconcluente ');
else
if Rel<=0.81
imshow(grafGlob,'Parent',handles.axes4);
set(handles.text7,'String',Num_Glob);
msgbox('Nos encontramos ante una lesión de Globular',' Resultado ');
else
[grafRet]=Reticular2(subImagen);
imshow(grafRet,'Parent',handles.axes5);
msgbox('Nos encontramos ante una lesión de Reticular',' Resultado ');
end
end
else
imshow(grafPig,[],'Parent',handles.axes6);
set(handles.text9,'String',azul);
msgbox('Nos encontramos ante una lesión de pigmentación azul',' Resultado ');
end
guidata(hObject,handles)
% --- Executes on button press in NuevaImagen.
function NuevaImagen_Callback(hObject, ~, handles)
44
% hObject handle to NuevaImagen (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[FileName Path]=uigetfile({'*.jpg;*.bmp'},'Abrir Imagen');
if isequal(FileName,0)
return
else
a=imread(strcat(Path,FileName));
handles.a=a;
imshow(a, 'Parent',handles.axes1);
%reseteamos las imagenes
Imblanco=ones(size(a));
imshow(Imblanco, 'Parent',handles.axes2)
imshow(Imblanco, 'Parent',handles.axes4)
imshow(Imblanco, 'Parent',handles.axes5)
imshow(Imblanco, 'Parent',handles.axes6)
%reseteamos los textos
texto='----';
set(handles.text7,'String',texto);
set(handles.text9,'String',texto);
handles.direccion=strcat(Path,FileName);
guidata(hObject,handles)
end
% --- Executes on button press in Finalizar.
function Finalizar_Callback(~, ~, ~)
% hObject handle to Finalizar (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
close all
Tabla 6: Código del entorno gráfico
El objetivo del programa es conseguir clasificar una lesión desconocida a la entrada como
globular, reticular u homogénea, mediante el empleo de las 3 funciones descritas en los
apartados anteriores.
El programa al arrancar parte de una pantalla en blanco, al pulsar en el entorno gráfico el
botón “Nueva Imagen” se abre un explorador que nos permite seleccionar una imagen de la
carpeta deseada. Una vez cargada la imagen al pulsar el botón “Inicio” el programa pide que se
seleccione el área deseada de la imagen (zona donde se encuentra la lesión).
La primera función en ser llamada es “Pigmentacion2” de donde obtenemos el porcentaje de
color azul en la lesión. De ser un patrón homogéneo el programa termina aquí al representar la
imagen de salida. De no ser homogéneo, el software llama a “Globular2”. Como se explicó en
el punto 3.1 esta función nos da como salida el número de glóbulos encontrados así como la
relación de oscuridad de los glóbulos. De ser clasificada la lesión como globular el software
representa el patrón y concluye. Si no se llama a la función “Reticular2” y termina el programa
con su representación del patrón.
Cabe la posibilidad de que el software no consiga clasificar con exactitud entre globular y
reticular, de ser así el programa pedirá al usuario que modifique el área seleccionada
presionando otra vez el botón “Inicio”.
45
3.4.1 Manual paso a paso del entorno gráfico
En esta sección se expondrá paso a paso las instrucciones para el correcto funcionamiento del
software para Mac OS y Windows.
El primer paso es la ejecución del programa. Para ello abrir Matlab y desde el prompt (ventana
de comandos) llamar al ejecutable entornograf.exe, para ello basta con escribir entornograf y
pulsar enter.
Ilustración 43: Llamada al ejecutable
Una vez hecho esto se abre una nueva ventana con el programa.
Ilustración 44: Ventana del entorno gráfico
El siguiente paso es cargar una imagen para analizarla y clasificarla. Pulsa el botón “Nueva
Imagen” que abre una ventana de exploración desde la que poder navegar y elegir la imagen
deseada. Una vez seleccionada la imagen pulsar en el botón “Abrir”. Esta secuencia de pasos
se muestra en la ilustración 45.
46
Ilustración 45: Secuencia para abrir una imagen
Tras estos pasos el programa vuelve a la pantalla principal donde para proseguir se pulsa el
botón “Inicio”. Al pulsar Inicio el programa cede el control a la Imagen seleccionada y
representada en la parte superior izquierda para que el usuario selecciones el área de la
imagen a analizar. El puntero del ratón se transforma en una cruz, y para seleccionar el área
pinchamos con el botón izquierdo y arrastramos el ratón manteniendo el botón pulsado. Una
vez seleccionada el área deseada pulsar dos veces (hacer doble clic) dentro del área marcada.
Ilustración 46: Secuencia para iniciar el análisis
Tras esto el programa empieza a analizar las imágenes y termina mostrando un mensaje con el
resultado de la clasificación. En este punto se puede cargar otra imagen pulsando “Nueva
Imagen” y empezar de nuevo, seleccionar otra área de la imagen cargada pulsando “Inicio” o
bien finaliza el programa pulsando o bien el botón “Finalizar” o la cruz roja de la parte superior
derecha (Windows, para Mac OS parte superior izquierda).
Como herramienta auxiliar el programa cuenta con 3 botones para la mejor visualización de las
imágenes en la parte superior izquierda
47
Ilustración 47: Herramientas de visualización de imágenes
Donde sus funciones de derecha a izquierda son aumentar zoom, disminuir zoom y
herramienta para mover la imagen.
48
49
Capítulo 4: Resultados
En esta parte del documento, se muestran los resultados obtenidos en nuestro estudio. Para
ello se utiliza una base de datos de 165 imágenes, 55 imágenes por cada patrón a analizar.
Las imágenes de la base de datos pertenecen y son clasificadas en el Interactive Atlas of
Dermoscopy de G. Argenziano, H. P. Soyer, y otros. Son imágenes en formato “jpg” de
dimensiones 768x512 pixeles con una resolución vertical y horizontal de 72 puntos por
pulgada (ppp).
Los principales autores del Interactive Atlas of Dermoscopy son verdaderos expertos en
dermatoscopia con extensos estudios clínicos y dilatada experiencia docente. (12)
Las 165 imágenes seleccionadas conforman una muestra de este atlas, pues por ejemplo, en
este atlas se encuentran 230 imágenes dermatoscópicas de redes pigmentadas anormales,
448 ejemplos de puntos y glóbulos irregulares y 252 melanomas generales y un largo etcétera.
(12)
Este atlas es usado por expertos y estudiantes del campo de la dermatoscopia en todo el
mundo donde las opiniones de todos ellos sobre el atlas son siempre positivas. (12) Por tanto
teniendo en cuenta la calidad de las imágenes y de su clasificación, en los siguientes apartados
pasamos a comparar los resultados con la clasificación predefinida por el atlas, para así ver la
efectividad del programa desarrollado en el proyecto.
4.1 Resultados para patrón globular
Como se mencionó anteriormente, disponemos de 55 imágenes catalogadas como lesiones
con patrón globular.
Ilustración 48: Imágenes de patrón globular
Todas y cada una de estas imágenes se pasan por el entorno gráfico para su clasificación. Una
a una entran en el programa dando lugar a una u otra clasificación, esta se anota y contabiliza,
dando lugar a la tabla 7.
50
Globular Falso Reticular Falso Pigmentación Homogénea
51 2 2
Tabla 7: Resultado clasificación globular
Con los datos de la tabla, vemos que se clasifica correctamente en el 92,72% de las veces.
El falso reticular y falso pigmentación homogénea hacen referencia a imágenes que han sido
clasificadas como uno de estos patrones sin serlo. Con las imágenes globulares hemos
obtenido un 3,64% de falsos reticulares e igual porcentaje de falsos pigmentación homogénea.
Ilustración 49: Porcentaje Patrón Globular
4.2 Resultados para patrón reticular
En este apartado se estudia la clasificación de las imágenes catalogadas como reticulares.
Ilustración 50: Imágenes de patrón reticular
Estas imágenes como en el caso anterior se cargan en el programa una a una para que el
programa las analice y clasifique. Tras pasar todas las imágenes obtenemos la tabla 8.
51
Reticular Falso Globular Falso Pigmentación Homogénea
50 3 2
Tabla 8: Resultado clasificación reticular
Por tanto, las imágenes reticulares se clasifican de forma correcta en un 90,91% de las veces.
El falso globular y falso pigmentación homogénea hacen referencia a imágenes que han sido
clasificadas como uno de estos patrones sin serlo al igual que se comentó en el apartado
anterior. En este apartado de patrón reticular hemos obtenido un 5,45% de falsos globulares y
un 3,65% de falsos pigmentación homogénea.
Ilustración 51: Porcentaje Patrón Reticular
4.3 Resultados para patrón homogéneo
Para el estudio de los resultados de este último patrón contamos, tal y como se dijo al
comienzo del apartado 4, con 55 imágenes.
Ilustración 52: Imágenes de patrón pigmentación homogénea
52
Tras realizar todos los análisis desde el programa, obtenemos que la clasificación obtenida es
la representada en la tabla 9.
Pigmentación Homogénea Falso Globular Falso Reticular
44 4 7
Tabla 9: Resultado clasificación pigmentación homogénea
Por tanto, las imágenes de pigmentación homogénea se clasifican de forma correcta en un
80% de las veces.
El falso globular y falso reticular definidos en los apartados anteriores, se obtienen en este
apartado para el caso globular en un 7,27% y un 12,73% para el caso de falsos reticulares.
Ilustración 53: Porcentaje Patrón Pigmentación Homogénea
4.4 Resultados globales
De los datos obtenidos en los apartados anteriores se obtiene la tabla 10.
Globular Reticular Pigmentación Homogénea
58 59 48
Tabla 10: Total de imágenes según clasificación
La tabla 10 muestra el resumen de los resultados de las clasificaciones. Con estos valores y los
obtenidos en los apartados anteriores se obtiene la tabla 11 donde se muestran los
porcentajes de acierto y error de la clasificación.
53
Clasificado como: Globular Reticular P. Homogénea
Patrón Globular 87,9% 3,4% 4,2%
Patrón Reticular 5,2% 84,7% 4,2%
Patrón Pigmentación Homogénea 6,9% 11,9% 91,7%
Tabla 11 : Porcentajes de clasificación según patrón
En la tabla 12 se muestran las clasificaciones correctas y los falsos positivos.
Globular Reticular Pigmentación Homogénea
Falso Globular
Falso Reticular
Falso Pigmentación homogénea
51 50 44 7 9 4
30,91% 30,30% 26,67% 4,24% 5,45% 2,42%
Tabla 12: Resumen de resultados
De forma global, con los datos de la tabla 12, tenemos que el programa tras haber analizado
165 imágenes ha clasificado de forma correcta 145 es decir el 87,88% mientras que se
clasifican de forma errónea el 12,12% de las imágenes.
Ilustración 54: Porcentajes globales
54
Si se considera cada uno de los patrones por separado podemos obtener los índices de
sensibilidad y especificidad.
Sensibilidad o Fracción de verdaderos positivos se define como la probabilidad de clasificar
correctamente a un individuo cuyo estado real sea el definido como positivo respecto la
condición que estudia la prueba.
Especificidad se define como la probabilidad de clasificar correctamente a un individuo cuyo
estado real sea el definido como negativo respecto la condición que estudia la prueba.
La especificidad puede calcularse también como uno menos la fracción de falsos positivos
Sensibilidad Especificidad
Patrón Globular 0,93 0,94
Patrón Reticular 0,91 0,92
Patrón Pigmentación Homogénea 0,80 0,96
Tabla 13: Sensibilidad y Especificidad
55
Capítulo 5: Conclusiones y líneas futuras
Tras implementar los algoritmos y el interfaz de usuario para el análisis y clasificación de
lesiones pigmentadas, y tras haberlos aplicado a una base de datos de imágenes, a partir de
los resultados expuestos anteriormente, en esta sección se extraen las conclusiones.
Este trabajo tiene su base en el artículo Melanomas non-invasive diagnosis application based
on the ABCD rule and patter recognition image processing algorithms de A.GolaIsasi, B. García
Zapirian y A. Méndez Zorrilla. (1) En este artículo se nos presentan los resultados de cada
patrón por separado, y los falsos positivos producen unas tasas de clasificación incorrecta para
los patrones globular, reticular y pigmentación homogénea azul de un 11%, 5%, y 14%
respectivamente.
Falsos positivos Patrón Globular Patrón Reticular Patrón Pigmentación
homogénea
Resultados obtenidos 4,24% 5,45% 2,42%
Resultados artículo 11% 5% 14%
Tabla 14: Comparativa falsos positivos
Por tanto la primera conclusión es que en conjunto se han mejorado los resultados globales
de forma significativa, sobre todo en el caso del patrón pigmentación homogénea azul donde
se pasa de un 14% del artículo citado a un 2,42% mediante el programa diseñado en este
proyecto.
Considerando por separado los patrones tal como se hizo en el apartado anterior, podemos
obtener a sensibilidad y especificidad de los resultados del artículo (1). La comparación con los
obtenidos en las pruebas se muestra en la ilustración 55 y 56.
Ilustración 55: Comparativa de sensibilidad
56
Ilustración 56: Comparativa de especificidad
En las ilustraciones 55 y 56 se aprecia que los resultados obtenidos superan a los del artículo
en 2 de los 3 patrones bajo estudio tanto en la sensibilidad como en la especificidad. Los
resultados para el patrón globular son siempre superiores mientras que el patrón reticular y
pigmentación homogénea tienen uno de los índices inferior al artículo.
Se puede ver que para el patrón pigmentación homogénea se obtiene una sensibilidad peor
que para los otros dos patrones. Esto es debido a que en nuestro proyecto solo reconocemos
patrones homogéneos azules, por ello una primera línea para futuros avances es la de tener en
cuenta otros tipos de pigmentación homogénea.
Matlab, gracias a sus numerosas librerías y herramientas, ha permitido el desarrollo de este
programa de una forma cómoda, por lo que cabe destacar el acierto en su uso. Sin embargo
este software es de pago. Como solución a esto y como posible línea de ampliación existe un
software libre similar a Matlab, Octave. Sus herramientas básicas son idénticas por lo que
solo quedaría el desarrollo de algunas funciones más específicas del tratamiento digital de
imagen para poder adaptar el desarrollo software realizado en el proyecto.
En cuanto a otras líneas futuras de trabajo, el algoritmo presentado en este documento solo
clasifica 3 tipos de patrones según sus rasgos en las imágenes dermatoscópicas. Una línea
futura interesante sería introducir en el análisis y clasificación el resto de patrones globales
que no se han tenido en cuenta para este trabajo.
5.1 Conclusión personal
El desarrollo de este proyecto me ha permitido ver el gran alcance que tiene el tratamiento
digital de imágenes, y su gran implantación en el mundo de la medicina. Me ha permitido
estudiar y profundizar en el campo de pre procesamiento, filtrado, realce del contrate,
además de obtener la capacidad de extraer características de una imagen tales como la forma
y el color.
Por último, aparte de servir para aprender y para concienciar sobre el gran problema del
melanoma, ha sido un placer trabajar en este proyecto por su aspecto humano. Considero que
la importancia del proyecto reside en que con él se intenta mejorar el diagnóstico de una dura
enfermad que está cada vez más presente en el mundo.
57
Capítulo 6: Referencias
1. Melanomas non-invasive diagnosis application based on the ABCD rule and pattern
recognition image procesing algorithms. A.Gola Isasi, B. García Zapirain, A. Méndez Zorrilla .
Bilbao : Elsevier Ltd., 2011.
2. Gallegos Hernández, José Francisco. [En línea]
http://www.artemisaenlinea.org.mx/acervo/pdf/cirugia_cirujanos/1%20Melanoma%20cutane
o.pdf.
3. Centro Nacional de Epidemiología. [En línea] http://193.146.50.130/ariadna.php.
4. Instituto nacional del cáncer (EE.UU.). [En línea]
http://www.cancer.gov/espanol/cancer/que-es/.
5. The David Cornfield Melanoma Fund. [En línea] http://dcmf.ca/melanoma.
6. Instituto nacional del cáncer (EE.UU.). [En línea]
http://www.cancer.gov/espanol/pdq/tratamiento/melanoma/Patient/page1.
7. Servicio de Dermatología del Hospital del Mar de Barcelona. [En línea]
http://www.dermatologia.cat/es/tecndermatoscopia.html.
8. ROYO, MARTA FERRER. [En línea] 2010. http://www.slideserve.com/malory/uso-del-
dermatoscopio-en-ap.
9. Martín, Magdalena de Troya. [En línea] http://www.actasdermo.org/es/estudio-
dermoscopico-del-melanoma-maligno/articulo/90152048/.
10. Aurora Sáez, Begoña Acha, Carmen Serrano. Pattern analysis in dermoscopic images. s.l. :
Springer (Series in BioEngineering), 2013. ISBN: 978-3-642-39607-6.
11. G. Argenziano y H. P. Soyer. Interactive Atlas of Dermoscopy. Milan, Italy : Edra Medical
Publishing and New Media, 2000. ISBN 88-86457-30-8.
12. Martín, Magdalena de Troya. [En línea]
http://apps.elsevier.es/watermark/ctl_servlet?_f=10&pident_articulo=13114415&pident_usu
ario=0&pcontactid=&pident_revista=103&ty=83&accion=L&origen=cardio&web=http://www.r
evespcardiol.org&lan=es&fichero=103v99n01a13114415pdf001.pdf.
13. DS Medica S.r.l. [En línea] http://www.dermoscopy.org/atlas/base.htm.
14. Jiménez, Juan Antonio Núñez. Proyecto fin de carrera. Algoritmo para la descripción del
borde en imágenes dermoscópicas de lesiones de piel pigmentadas. Sevilla : s.n., 2007.
15. GeoSalud. [En línea] http://geosalud.com/Cancerpacientes/piel/abcede.htm.
16. Wikipedia. [En línea]
http://es.wikipedia.org/wiki/Modelo_de_color_RGB#Modelo_de_color_RGB.
58
17. Wikipedia. [En línea] http://es.wikipedia.org/wiki/Algoritmo_de_Canny.
18. Wikipedia. [En línea] http://es.wikipedia.org/wiki/Morfolog%C3%ADa_matem%C3%A1tica.
19. Wikipedia. [En línea] http://es.wikipedia.org/wiki/Modelo_de_color_HSV.
20. Wikipedia. [En línea] http://es.wikipedia.org/wiki/GUI.
21. Medicalexpo. [En línea] http://img.medicalexpo.es/images_me/photo-g/dermatoscopio-
de-bolsillo-con-iluminacion-led-79388-3165003.jpg.
59
Capítulo 7: Índice de tablas e ilustraciones
Tabla 1: Regla ABCD de dermatoscopia (Según Stolz 1994) (12) ................................................ 20
Tabla 2: Regla 7-point checklist (12) ........................................................................................... 23
Tabla 3: Código de la función globular ........................................................................................ 26
Tabla 4: Código de la función reticular........................................................................................ 31
Tabla 5: Código de la función Pigmentación homogénea ........................................................... 36
Tabla 6: Código del entorno gráfico ............................................................................................ 44
Tabla 7: Resultado clasificación globular .................................................................................... 50
Tabla 8: Resultado clasificación reticular .................................................................................... 51
Tabla 9: Resultado clasificación pigmentación homogénea ...................................................... 52
Tabla 10: Total de imágenes según clasificación ........................................................................ 52
Tabla 11 : Porcentajes de clasificación según patrón ................................................................. 53
Tabla 12: Resumen de resultados ............................................................................................... 53
Tabla 13: Sensibilidad y Especificidad ......................................................................................... 54
Tabla 14: Comparativa falsos positivos ....................................................................................... 55
Ilustración 1: Ventana del entorno gráfico .................................................................................. 7
Ilustración 2: Evolución de la mortalidad de hombres por melanoma en España (2) .................. 8
Ilustración 3: Evolución de la mortalidad de mujeres por melanoma en España (2) ................... 8
Ilustración 4: Comportamiento celular; célula sana y célula cancerosa (3) ................................ 11
Ilustración 5: Detalles de la epidermis (5) ................................................................................... 12
Ilustración 6: Dermatoscopio ...................................................................................................... 13
Ilustración 7: Ejemplo de patrón global reticular (10) ................................................................ 14
Ilustración 8: Ejemplo de patrón global globular (10) ................................................................. 14
Ilustración 9: Ejemplo patrón global homogéneo (7) ................................................................. 15
Ilustración 10: Ejemplo patrón global estallido de estrellas (7) .................................................. 16
Ilustración 11: Ejemplo patrón global paralelo (7) ...................................................................... 16
Ilustración 12: Ejemplo patrón local retículo pigmentado (9) .................................................... 17
Ilustración 13: Ejemplo patrón local globular (9) ........................................................................ 18
Ilustración 14: Ejemplo patrón local hipopigmentación (9) ........................................................ 18
Ilustración 15: Caso 1 regla ABCD (12) ........................................................................................ 20
Ilustración 16: Caso 2 regla ABCD (12) ........................................................................................ 21
Ilustración 17: Caso 3 regla ABCD (12) ........................................................................................ 21
Ilustración 18: caso 1 regla 7-point checklist (12) ....................................................................... 23
Ilustración 19: caso 2 regla 7-point checklist (12) ....................................................................... 24
Ilustración 20: caso 3 regla 7-point checklist (12) ....................................................................... 24
Ilustración 21: Diagrama de la función globular ......................................................................... 25
Ilustración 22: Proceso imagen RGB a imagen en escala de grises ............................................. 27
Ilustración 23: Máscara del contorno de la lesión ...................................................................... 27
Ilustración 24: Detección de bordes ........................................................................................... 28
Ilustración 25: Secuencia rellenar; Erosionar; Dilatar ................................................................ 29
Ilustración 26: Imagen de salida de la función globular ............................................................. 29
60
Ilustración 27: Entorno gráfico en el caso de patrón globular .................................................... 30
Ilustración 28: Diagrama de la función reticular ......................................................................... 30
Ilustración 29: Proceso imagen RGB a imagen en escala de grises ............................................. 32
Ilustración 30: Máscara del contorno de la lesión ...................................................................... 33
Ilustración 31: Proceso detectar formas; Eliminar información; Dilatar; Erosionar .................. 33
Ilustración 32: Proceso inversión de máscara y erosionar .......................................................... 34
Ilustración 33: Imagen de salida de la función reticular ............................................................ 34
Ilustración 34: Entorno gráfico en el caso de patrón reticular ................................................... 35
Ilustración 35: Diagrama de la función Pigmentación homogénea ............................................ 35
Ilustración 36: Proceso imagen RGB a imagen en escala de grises ............................................. 37
Ilustración 37: Máscara del contorno de la lesión ...................................................................... 37
Ilustración 38: Imagen de salida de la función pigmentación homogénea ................................ 38
Ilustración 39: Entorno gráfico en el caso de patrón de pigmentación homogénea .................. 39
Ilustración 40: Plantilla de GUIDE en blanco ............................................................................... 40
Ilustración 41: Montaje de entorno gráfico ................................................................................ 40
Ilustración 42: Diagrama de flujos del programa del entorno gráfico ........................................ 41
Ilustración 43: Llamada al ejecutable .......................................................................................... 45
Ilustración 44: Ventana del entorno gráfico ............................................................................... 45
Ilustración 45: Secuencia para abrir una imagen ........................................................................ 46
Ilustración 46: Secuencia para iniciar el análisis ......................................................................... 46
Ilustración 47: Herramientas de visualización de imágenes ....................................................... 47
Ilustración 48: Imágenes de patrón globular .............................................................................. 49
Ilustración 49: Porcentaje Patrón Globular ................................................................................. 50
Ilustración 50: Imágenes de patrón reticular .............................................................................. 50
Ilustración 51: Porcentaje Patrón Reticular ................................................................................ 51
Ilustración 52: Imágenes de patrón pigmentación homogénea ................................................. 51
Ilustración 53: Porcentaje Patrón Pigmentación Homogénea .................................................... 52
Ilustración 54: Porcentajes globales ........................................................................................... 53
Ilustración 55: Comparativa de sensibilidad ............................................................................... 55
Ilustración 56: Comparativa de especificidad ............................................................................. 56