Post on 22-Nov-2018
UNIVERSIDAD AUTONOMA METROPOLITANA IZTAPALAPA
DIVISIÓN DE CIENCIAS BASICAS E INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA
“FANTOMA DE CABEZA HUMANA PARA RESONANCIA MAGNÉTICA” REALIZADO POR:
SOTO SANTIAGO ERIKA ARACELI ASESOR:
OSCAR YAÑEZ AREA DE CONCENTRACIÓN:
INSTRUMENTACIÓN MÉDICA ELECTRÓNICA
JULIO 2004.
INDICE
1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
4. Metodología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
4.1 Desarrollo de las rebanadas del modelo analítico en Matlab . . . . . . . . . . . . 4 4.2 Diseño y construcción del fantoma físico. . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.3 Pruebas del fantoma físico por medio de Resonancia Magnética (RM). . . . .8 4.4 Histograma de las imágenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 4.5 Segmentación de las Imágenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 4.6 Índice de similitud (Tanimoto). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 4.7 Desarrollo de una Interfaz Grafica de Usuario (IGU). . . . . . . . . . . . . . . . . 13
5. Resultados ..................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 6. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7. Apéndice A. Código de la interfaz gráfica de usuario. . . . . . . . . . . . . . . . . . . . 21 8. Referencias bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1. INTRODUCCIÓN
La Resonancia Magnética (RM) es uno de los métodos más avanzados de
diagnóstico por imagen, de carácter no invasivo, que existe en la actualidad. Las
imágenes obtenidas son de alta resolución, pudiendo por ejemplo efectuar estudios
cardiovasculares anatómicos y funcionales sin necesidad de insertar ningún catéter en el
cuerpo. A diferencia de los Rayos X, permite visualizar y diferenciar con gran detalle
las estructuras de los tejidos blandos, como son el cerebro, los ligamentos tendinosos, el
corazón, etc. Por este motivo, especialidades como la Neurología o la Traumatología
han convertido a la RM (Resonancia Magnética) en su técnica diagnóstica predilecta,
ya que les ofrece información diagnóstica no disponible por ningún otro medio.
Cualquier plano de imagen o "corte" obtenido a través de la RM se puede proyectar
y luego almacenarse en un computador, para luego con algoritmos especializados
obtener información relevante. Dentro de este campo de las imágenes médicas se hace
necesario el desarrollo de algoritmos de segmentación para evitar en lo posible los
métodos manuales y reducir en gran medida los errores que se cometen de operador a
operador utilizando técnicas manuales, además de la rapidez y la reproducibilidad que
se agrega. En esencia, la segmentación consiste en hallar la estructura interna del
conjunto de descripciones de los objetos (píxeles) en el espacio de representación
(imagen). Esta estructura interna obviamente depende en una primera instancia, de la
selección de las descripciones de los objetos (píxeles) y de la forma en que éstos se
comparan, es decir, del concepto de similaridad que se utilice y de la forma en que este
se emplee [2]. Se han propuesto gran cantidad de algoritmos para la segmentación
intracraneal en imágenes digitales, estos algoritmos asignan una etiqueta especial a los
píxeles que constituyen las fronteras de separación entre los tejidos cerebrales.
1
2. PLANTEAMIENTO DEL PROBLEMA En el ambiente clínico se ha empleado mucho la imagenología por medio de
Resonancia Magnética(RM) debido a su mayor resolución y contraste que ofrece en
comparación con otros equipos, estas imágenes de RM son analizadas y caracterizadas
a través de un procesamiento computacional, de lo cual se pueden reconocer una serie
de estructuras intracraneales; para hacer la separación y delineación de estas regiones
intracraneales, se desarrollaron una serie de algoritmos. Sin embargo estos algoritmos
hay que corroborarlos, en este caso se hace necesario el uso de un modelo físico y
geométrico para ir analizando cada uno de los algoritmos y probar si estos(algoritmos)
son lo suficientemente buenos como para hacer el reconocimiento adecuado entre
regiones intracraneales.
Con base en esto se ha propuesto como proyecto terminal el desarrollo de un
modelo de cabeza y el análisis de éste por medio de herramientas computacionales y
haciendo uso del programa Matlab.
2
3. OBJETIVOS
3.1 Objetivo General Diseño y construcción de un fantoma tridimensional de cabeza humana.
3.2 Objetivos Particulares
Desarrollar las rebanadas del modelo 3D de cabeza en Matlab.
Selección de materiales y construcción del fantoma.
Validación del fantoma en Resonancia Magnética y aplicaciones de problema
inverso.
3
4. METODOLOGÍA 4.1 Desarrollo del modelo analítico en Matlab
El modelo que se propuso para la comprobación de algoritmos de segmentación
fueron dos esferas concéntricas de distinto radio y una dentro de la otra las cuales se
simularon por medio de un algoritmo a través del cual nosotros pudimos observar las
diferentes rebanadas que se deseaban obtener.
El algoritmo que genera las rebanadas del modelo se diseño en el paquete de
desarrollo Matlab a través de una función que lleva por nombre “radios.m” y consiste
de dos parámetros de entrada que debe especificar el usuario, como es: altura a la cual
se desea realizar el corte del modelo y la resolución de la imagen, con dichos
parámetros el programa hace uso de una ecuación geométrica para calcular los radios de
cada esfera:
221 hrr −=
Donde:
r= Radio calculado.
r1= Radio de las esferas que se incluyen en la rebanada.
h= Altura de las esferas donde se hará el corte.
Esta ecuación calcula una aproximación del corte de las dos esferas. El código de
la función se muestra en la figura 4.1 y una muestra de las rebanadas generadas se
muestra en la figura 4.2.
4
Figura 4.2 Rebanadas generadas con la función radios. 4.2 Diseño y construcción del fantoma físico
Como ya se ha señalado, se propuso un diseño de fantoma físico el cual consiste en
dos esferas concéntricas y una dentro de otra con la intención de contar con dos
compartimentos a través de los cuales se podrá experimentar con dos tipos de
compuestos al mismo tiempo.
Por otro lado; la intención de diseñarlo de esta manera es simular el tejido cerebral
con la esfera interna y la grasa con la esfera externa, tal como se muestra en la figura
4.3.
Figura 4.3. Diseño del fantoma
Una vez hecho el diseño se procedió a desarrollar el fantoma físico con acrílico, se
pensó en el acrílico por que es un material termoplástico y reúne varias ventajas como
son:
6
• Alta transmisión de luz (60-80’% dependiendo el color). • Gran resistencia (10 años). • Económico. • Ligereza: 50% mayor que el vidrio, 43% más que el aluminio. • Resistencia al impacto • Resistencia al calor • Resistencia a esfuerzos mecánicos considerables: no se deforma, no
se astilla ni se rompe. • Resistencia Química: Resiste el ataque de una gran variedad de
productos químicos • Material Termoplástico: Debido a esta propiedad es fácil de
termoformar, a temperaturas de 170 a 190 °C.
Los radios de las esferas del fantoma son de 6cm (esfera interna) y 7.5 cm (esfera
externa) con un grosor de 0.5 cms. para cada una. En la figura 4.4 se muestra la
estructura del fantoma físico.
El fantoma tiene dos soportes, uno de cada extremo, el que se muestra en la parte
inferior es sólido totalmente; el de la parte superior es hueco de tal manera que se
pueda insertar fluido a la esfera interna (1ra. esfera). Para insertar fluido a la esfera
externa (2da. esfera) existe un cilindro hueco, muy cerca del soporte superior que nos
permite llenarla con algún tipo de compuesto.
Figura 4.4 Estructura del fantoma físico
7
En la figura 4.5 se muestra el diseño del fantoma físico desarrollado con acrílico y
siguiendo las características de diseño señaladas anteriormente.
Figura 4.5. Fantoma físico
4.3 Pruebas del fantoma físico por Resonancia Magnética
Contando ahora con el fantoma físico, se procedió a hacer pruebas con Resonancia
Magnética haciendo uso de agua para llenar la esfera externa y para la esfera interna se
uso un compuesto de: agua, sacarosa, jarabe de glucosa – fructosa, cloruro de sodio,
citrato de sodio, fosfato monobásico de potasio, goma ester, trartrazina, aceite vegetal
bromado (esta combinación de sustancias pertenece a la bebida comercial, conocida con
el nombre de Gatorade).
8
Las imágenes obtenidas por RM del fantoma son las que se muestran en la figura
4.6.
Los pequeños picos que muestran las imágenes son generadas por los soportes del
fantoma.
Figura 4.6 Imágenes obtenidas del fantoma físico por medio de RM.
En la figura 4.7 se muestra las rebanadas del fantoma analítico desarrollado a través
de Matlab equivalentes a las imágenes obtenidas por RM del fantoma físico.
Figura 4.7 imágenes obtenidas del fantoma analítico.
9
4.4 Histograma de las imágenes
Contando ahora con las imágenes del fantoma físico, como del fantoma analítico
obtenemos el histograma de estas imágenes para realizar una comparación visual. En la
figura 4.8 se muestran dichos histogramas y en la figura 4.9 se muestra el código para
obtener los histogramas de cada imagen.
a) Histograma de las imágenes b)Histograma de las imágenes obtenidas por medio de RM para obtenidas por medio del el fantoma físico. fantoma analítico.
Figura 4.8 Histogramas de los modelos
Figura 4.9 Código para obtener el histograma de los modelos.
10
Donde: Matriz => Indica la matriz de la imagen. i => indica la rebanada a la cual se le obtendrá el histograma. m1 => Calcula el valor mínimo de la matriz. M1 => Calcula el valor máximo de la matriz. im1 => Obtiene una elongación de la matriz. Hist => Función de Matlab que regresa dos parámetros: h2 que es el número de elementos para cada punto, c2 se refiere al valor central de X. Bar => Función de Matlab que genera las barras del histograma.
Axis => Función de Matlab que escala los ejes de la gráfica generada de acuerdo a los valores especificados.
4.5 Segmentación de las Imágenes
Una vez teniendo los histogramas de las imágenes, podemos ahora obtener
segmentación de las mismas especificando un umbral, este umbral se puede especificar
con base en los histogramas obtenidos. En la figura 4.10 se muestran los resultados de
algunas de las segmentaciones que se realizaron y en la figura 4.11 se muestra el código
que se realizó para dicha segmentación.
a) Segmentación de la imagen del fantoma físico.
b) Segmentación de la imagen del fantoma analítico.
Figura 4.10 Segmentación de imágenes
11
Figura 4.11Código para obtener segmentación
Donde: matriz => Es la matriz donde se encuentran las imágenes.
idx1a => Es un vector que contiene todos los elementos que se encuentran entre umbral1 y umbral2. idx1b => Es el vector que contiene todos los elementos que se encuentran fuera de los rangos de umbral1 y umbral2.
4.6 Índice de similitud
Para analizar la similitud de nuestro fantoma físico con el fantoma analítico se
utilizo el algoritmo denominado “Índice de Tanimoto”.
En la literatura sobre evaluación de métodos de segmentación, la medida de
desempeño con mayor frecuencia empleado es el índice de similitud conocido como el
índice de Tanimoto [3].
El índice para imágenes binarias se define como [3]:
BABA
IT∪∩
=
Donde: • Indica cardinalidad. A y B Son las matrices donde están contenidas las imágenes.
12
La interpretación que se le da a este índice es la siguiente:
• IT=0 significa que ambas imágenes son completamente diferentes • IT=1 significa que ambas imágenes son iguales.
Para obtener el indice de Tanimoto se ejecuto la instrucción mostrada en la
figura 4.12.
Tanimoto= (nnz(img.*imgr))/(nnz(img+imgr));
Figura 4.12 Índice de Tanimoto
4.7 Desarrollo de una Interfaz Grafica de Usuario (IGU)
Para facilitar al usuario el manejo del despliegue de imágenes, así como de su
correspondiente histograma y la segmentación de imágenes se ha desarrollado una
Interfaz Gráfica de Usuario.
En la figura 4.13 se muestra como se obtienen las gráficas correspondientes a las
imágenes obtenidas por RM para el fantoma físico como para las imágenes del fantoma
analítico obtenidas por medio de Matlab, ambas en tercera dimensión.
En la gráfica del inciso “a)” nos permite ver el despliegue de las imágenes
obtenidas por RM del fantoma fìsico; mientras que en la gráfica del inciso “b)” se
puede visualizar el despliegue de las imágenes obtenidas por medio de Matlab del
fantoma analítico.
El botón que tiene el número 1, es el botón que permite ver dichas imágenes. Y las
barras que llevan el número 2 nos permite hacer rotaciones de las imágenes para poder
verlas desde diferentes ángulos.
13
Figura 4.13. Despliegue de imágenes en 3D obtenidas tanto para
el fantoma físico como para el fantoma analítico.
En la figura 4.14 se muestran los elementos de la interfaz que se usan para hacer el
despliegue de las imágenes pero en 2D.
En la gráfica del inciso “a)” se despliegan las rebanadas del fantoma físico y en la
gráfica del inciso “b)” se despliegan las rebanadas del fantoma analítico; para ello se
hace uso del botón que lleva el número 3. Por otro lado, la barra que lleva el número 4
se usa para elegir otra rebanada del fantoma físico y del fantoma analítico al mismo
tiempo.
14
Figura 4.14 Despliegue de las rebanadas de las imágenes obtenidas
del fantoma físico y el fantoma analítico.
En la figura 4.15 se muestran los elementos de la interfaz que se usan para hacer el
despliegue de los histogramas correspondientes para el fantoma físico y para el fantoma
analítico.
La gráfica del inciso “c)” nos muestra el despliegue del histograma de la rebanada
del fantoma físico que se muestra en la gráfica del inciso “a)”; mientras que la gráfica
del inciso “d)” nos muestra el histograma de la rebanada del fantoma analítico que se
muestra en la gráfica del inciso “b)”. El botón que tiene el número 5 nos permite
realizar dicha función.
15
Figura 4.15 Despliegue de los histogramas obtenidos para el fantoma
físico y el fantoma analítico.
En la figura 4.16 se muestran los elementos de la interfaz que se usan para hacer el
despliegue de la segmentación de las imágenes tanto del fantoma físico como del
fantoma analítico.
En la gráfica del inciso “e)” se muestra la segmentación de las rebanadas del
fantoma físico que se muestran en la gráfica del inciso “a)”. Mientras que en la gráfica
del inciso “f)” se muestra la segmentación de la rebanada del fantoma analítico que se
muestra en la gráfica del inciso “b)”.
Figura 4.16 Despliegue de segmentación de imágenes.
16
En la figura 4.17 se muestran los elementos necesarios para calcular el índice de
similitud. El botón que lleva el número 7 nos permite calcularlo, y el botón que se
muestra con el número 8 solo nos sirve para terminar la IGU.
Para ver el código completo de la interfaz para realizar todas las funciones descritas
anteriormente; este código se encuentra en el apéndice A.
Figura 4.17 Calculo del índice de similitud y cierre de la IGU.
17
5. RESULTADOS
En la figura 5.1 se muestra el resultado del plano tridimensional tanto para el
fantoma físico como para el fantoma analítico.
Figura 5.1 Plano de comparación tridimensional.
En la figura 5.2. se muestra la comparación bidimensional de los cortes de las
imagenes, es decir se muestra las imágenes en rebanadas tanto del fantoma físico como
del fantoma analítico.
Figura 5.2 Plano de comparación bidimensional.
En la figura 5.3 se muestra el histograma de las dos imágenes (fantoma físico y
analítico).
Figura 5.3 Histograma de comparación imágenes
18
En la figura 5.4 muestra la segmentación de las imágenes utilizando rangos de
umbral de 50 a 150.
Figura 5.4 Segmentación en el rango de umbrales de 100 a 200.
Para conocer la similitud de las imágenes se utilizo el índice de Tanimoto, Con
este calculo nosotros podemos conocer en que porcentaje se parece el fantoma físico
con el analítico y en todas las comparaciones se pudo obtener un porcentaje mayor del
50%.
Figura 5.5 Índice de similitud.
19
6. CONCLUSIÓN
El fantoma físico es uno de los primeros modelos que se ha desarrollado para
comprobar algoritmos de segmentación. Es un modelo sencillo pero que nos ha permitido
obtener imágenes de dos compuestos al mismo tiempo debido a los dos compartimentos
que nos ofrece. La respuesta que nos proporciona el acrílico no interviene con la respuesta
de los compuestos que se le suministran, por ello el acrílico es uno de los compuestos más
apropiados para el diseño de fantomas.
El modelo de acrílico es un compuesto que además de poseer propiedades importantes
tales como dureza y resistencia también posee la propiedad de tener un costo bajo de ahí
que se corrobore que el acrílico es la mejor elección.
Por otro lado el programa de desarrollo “Matlab”, es un lenguaje muy poderoso que nos
ha permitido simular la rebanadas del modelo y de esta manera desarrollarlo físicamente.
El índice de Tanimoto es un concepto importantísimo que nos permite comparar la
similitud de dos imágenes, con este concepto nosotros pudimos obtener el porcentaje de
igualdad entre nuestro fantoma físico con el analítico.
20
APÉNDICE A. CÓDIGO DE LA INTERFAZ GRÁFICA DE USUARIO. La siguiente función despliega las imágenes del fantoma físico y fantoma analítico en 3D. ha=handles.axes1; hb=handles.axes2; hf=handles.figure1; set(ha,'Parent',hf); %Activamos ejes : axes1 y axes2 set(hb,'Parent',hf); set(hf,'Visible','On'); figure(hf);axes(ha); load Imagen; %Cargamos la matriz Imagen que contiene las imagenes el fantoma fisico slice(Imagen,128,128,5); axis image; colorbar; colormap gray; shading interp; figure(hf);axes(hb); load modelo;%Cargamos la matriz modelo que contiene las imagenes el fantoma analitico slice(modelo,128,128,5); axis equal; colorbar colormap gray shading interp; set(handles.rotaxy,'Enable','on'); %Habilitamos los slider que cambian el angulo de rotacion %de los ejes set(handles.rotaz,'Enable','on'); set(handles.slider1,'Enable','off');%Desabilitamos el slider que elige el numero de rebanada La siguiente función nos ayuda hacer rotaciones alrededor del eje x-y function rotaxy_Callback(hObject, eventdata, handles) ha=handles.axes1; hb=handles.axes2; hf=handles.figure1; set(ha,'Parent',hf); set(hb,'Parent',hf); set(hf,'Visible','On'); siview1=get(ha,'View'); siview2=get(hb,'view'); set(ha,'View',[get(hObject,'Value'),siview1(2)]); set(hb,'View',[get(hObject,'Value'),siview2(2)]);
21
La siguiente función nos ayuda hacer rotaciones alrededor del eje z function rotaz_Callback(hObject, eventdata, handles) ha=handles.axes1; hb=handles.axes2; hf=handles.figure1; set(ha,'Parent',hf); set(hb,'Parent',hf); set(hf,'Visible','On'); siview1=get(ha,'View'); siview2=get(hb,'View'); set(ha,'View',[siview1(1),get(hObject,'Value')]); set(hb,'View',[siview2(1),get(hObject,'Value')]);
Esta función nos permite ver la primera rebanada del fantoma físico y fantoma analítico por medio del botón llamado corte. function Corte_Callback(hObject, eventdata, handles) global i; i=1; ha=handles.axes1; hb=handles.axes2; %Activamos ejes hf=handles.figure1; set(ha,'Parent',hf); set(hb,'Parent',hf); set(hf,'Visible','On'); figure(hf);axes(ha);%habilitamos axes1 load Imagen;%Cargamos la matriz Imagen que contiene las imagenes del fantoma fisico imag=Imagen(:,:,i); imagesc(imag);%Graficamos el primer corte del fantoma fisico axis image; colorbar colormap gray; figure(hf);axes(hb);%Habilitamos axes2 load modelo; r=modelo(:,:,i); imagesc(r);%Geaficamos el primer corte del fantoma analitico axis image; colorbar colormap gray; set(handles.rotaxy,'Enable','off'); set(handles.rotaz,'Enable','off'); set(handles.slider1,'Enable','on');
22
Esta función nos permite elegir diversas rebanadas a través del slider que lleva por
titulo slider1. function slider1_Callback(hObject, eventdata, handles) global i; ha=handles.axes1; hf=handles.figure1; hb=handles.axes2; set(hb,'Parent',hf); set(ha,'Parent',hf); set(hf,'Visible','On'); figure(hf);axes(ha); i=get(hObject,'Value'); load Imagen; if i>0 img=Imagen(:,:,i); imagesc(img); axis image; colorbar colormap gray; figure(hf);axes(hb); load model; rmatrizr=model(:,:,i); imagesc(rmatrizr); axis image; colorbar colormap gray; else %nada end
23
Esta función nos permite visualizar el histograma de las rebanadas del fantoma físico y
el fantoma analítico. function Histograma_Callback(hObject, eventdata, handles) global i; ha=handles.axes3; hb=handles.axes4; hf=handles.figure1; set(ha,'Parent',hf); set(hb,'Parent',hf); set(hf,'Visible','On'); figure(hf);axes(ha); load Imagen; imag=Imagen(:,:,i); m1=min(imag(:)); M1=max(imag(:)); iml=(255/(M1-m1))*(m1-imag)+255; [h1,c1]=hist(iml(:),256); bar(c1,h1,'hist'); axis ([0 255 m1 M1]); xlabel('Niveles de gris'); ylabel('Frecuencia'); figure(hf);axes(hb); load model; r=model(:,:,i); m2=min(r(:)); M2=max(r(:)); imr=(255/(M2-m2))*(m2-r)+255; [h2,c2]=hist(imr(:),256); bar(c2,h2,'hist'); axis ([0 255 m2 M2]); xlabel('Niveles de gris'); ylabel('Frecuencia');
24
Esta función nos permite visualizar la segmentación de las rebanadas de las imágenes. function Segmentaion_Callback(hObject, eventdata, handles) % global i; global umbral1;%Variables globales global umbral2; ha=handles.axes5;%Habilitamos ejes hb=handles.axes6; hf=handles.figure1; set(ha,'Parent',hf); set(hb,'Parent',hf); set(hf,'Visible','On'); prompt={'Especifica el umbral 1','Especifica el umbral 2'};%El usuario especifica umbrales def={'50','150'};%valores por default dlgTitle='Determina los umbrales'; LineNo=1;
respuesta=inputdlg(prompt,dlgTitle,LineNo,def); resp=isempty(respuesta); if(resp==1) %No hace nada else umbral=str2double(respuesta);%Convertimos los caracteres a numeros umbral1=umbral(1); umbral2=umbral(2); end figure(hf);axes(ha); load Imagen; img=Imagen(:,:,i); m1=min(img(:)); M1=max(img(:)); iml=(255/(M1-m1))*(m1-img)+255;%Realizamos elongacion img=iml; idx1a=find(img>=umbral(1) & img<=umbral(2)); %Analizamos los valores que se encuentran
en el %rango especificado idx1b=find(img<umbral(1) | img>umbral(2)); img(idx1a)=255;Hacemos la imagen binaria img(idx1b)=0; imagesc(img);Graficamos imagen segmentada axis image,colorbar figure(hf);axes(hb); load modelo;%cargamos matriz modelo que contiene las imagenes del fantoma analitico r=modelo(:,:,i); m2=min(r(:));%Obtenemos valor maximo y minimo M2=max(r(:)); imr=(255/(M2-m2))*(m2-r)+255;%Elongacion r=imr; idx2a=find(r>=umbral(1) & r<=umbral(2));%Checamos los valores de la imagen que se
encuentran
25
%en los rangos especificados por el usuario idx2b=find(r<umbral(1) | r>umbral(2)); r(idx2a)=255;%Hacemos binaria la imagen r(idx2b)=0; imagesc(r);%graficamos segmentacion de imagen analitica axis image,colorbar Esta función nos permite visualizar el índice de similitud entre las dos imágenes:
fantoma físico y fantoma analítico. function Tanimoto_Callback(hObject, eventdata, handles) global i; global umbral1; global umbral2; load Imagen; img=Imagen(:,:,i); m1=min(img(:)); M1=max(img(:)); iml=(255/(M1-m1))*(m1-img)+255; img=iml; idx1a=find(img>=umbral1 | img<=umbral2); idx1b=find(img<umbral1 | img>umbral2); img(idx1a)=0; img(idx1b)=255; load model; r=model(:,:,i); m2=min(r(:)); M2=max(r(:)); imr=(255/(M2-m2))*(m2-r)+255; imgr=imr; idx2a=find(r>=umbral1 | r<=umbral2); idx2b=find(r<umbral1 | r>umbral2); imgr(idx2a)=0; imgr(idx2b)=255; despliega=(nnz(img.*imgr))/(nnz(img+imgr)); set(handles.text7, 'String', despliega);
26
Esta función nos permitió cerrar la IGU. function Cerrar_Callback(hObject, eventdata, handles) respuesta=questdlg('Esta seguro?','','si','no','si'); switch respuesta case 'no' %no hace nada case 'si' closereq; end
27
7. REFERENCIAS BIBLIOGRAFICAS.
- [1] Vincent L, Soille P. Watersheds in Digital Spaces: An Efficient Algorithm Based on Inmersion Simulations. IEEE Trans. Pattern Anal. Machine Intell 1991; 13:583-598.
- [2] Beucher S, Meyer F. The Morphological Approach to Segmentation: The
Watershed Transformation. In: Mathematical Morphology in Image Processing. New York, Marcel Dekker 1993;433-481.
- [3] Tesis de Doctorado de la profesora: Raquel Valdes C, UAMI 2003.
28