<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0123-921X</journal-id>
<journal-title><![CDATA[Tecnura]]></journal-title>
<abbrev-journal-title><![CDATA[Tecnura]]></abbrev-journal-title>
<issn>0123-921X</issn>
<publisher>
<publisher-name><![CDATA[Universidad Distrital Francisco José de Caldas]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0123-921X2010000100010</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Diseño de software para el procesamiento y análisis de imágenes biomédicas en 2D utilizando librerías ITK]]></article-title>
<article-title xml:lang="en"><![CDATA[Software design for processing and analysis of biomedical images in 2D using ITK libraries]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Blanco Riaño]]></surname>
<given-names><![CDATA[Wilmer Antonio]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Rojas Barbosa]]></surname>
<given-names><![CDATA[Sergio Alejandro]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Martínez Santa]]></surname>
<given-names><![CDATA[Fernando]]></given-names>
</name>
<xref ref-type="aff" rid="A03"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Distrital Francisco José de Caldas  ]]></institution>
<addr-line><![CDATA[Bogotá ]]></addr-line>
<country>Colombia</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Distrital Francisco José de Caldas  ]]></institution>
<addr-line><![CDATA[Bogotá ]]></addr-line>
<country>Colombia</country>
</aff>
<aff id="A03">
<institution><![CDATA[,Universidad Distrital Francisco José de Caldas  ]]></institution>
<addr-line><![CDATA[Bogotá ]]></addr-line>
<country>Colombia</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>06</month>
<year>2010</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>06</month>
<year>2010</year>
</pub-date>
<volume>14</volume>
<numero>26</numero>
<fpage>88</fpage>
<lpage>101</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0123-921X2010000100010&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0123-921X2010000100010&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0123-921X2010000100010&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[Las librerías ITK (InsightSegmentation and RegistrationToolkit) son en conjunto una herramienta de código abierto, multiplataforma, que proporcionan un sistema con una amplia gama de herramientas de software para el análisis y el procesamiento de imágenes. ITK emplea algoritmos de vanguardia para el registro y segmentación de datos multidimensional; algoritmos orientados a la exploración y manipulación de diferentes características de las imágenes, lo que permite interactuar con diferentes funciones de las imágenes tales como umbralización, detección de bordes, gradiente, curvatura, entre otros filtros de imagen, los cuales se encargan de destacar particularidades en una imagen dependiendo del uso que se quiera brindar. La aplicación ITKUD fue implementada con el fin de hacer uso de algunos de estos algoritmos y así mismo de crear un ambiente de software totalmente libre permitiendo su portabilidad, es decir, su compilación en cualquier sistema que soporte C++.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[The libraries ITK (InsightSegmentation and RegistrationToolkit) make up one open source, cross platform, providing a system with a wide range of software tools for analyzing and processing images. ITK employs leading-edge algorithms for the registration and segmentation of multidimensional data, algorithms aimed at the exploration and manipulation of different characteristics of images, allowing different functions to interact with images such as thresholding, edge detection, gradient, curvature and other filters image, which are responsible for particular highlight in an image depending on the application you want to provide. ITKUD application was implemented to make use of some of these algorithms and also to create a completely free software environment allowing for portability, ie, the compilation on any system that supports C++.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[Imágenes]]></kwd>
<kwd lng="es"><![CDATA[ITK]]></kwd>
<kwd lng="es"><![CDATA[Pipeline]]></kwd>
<kwd lng="es"><![CDATA[Procesamiento]]></kwd>
<kwd lng="es"><![CDATA[Segmentación]]></kwd>
<kwd lng="es"><![CDATA[Umbral]]></kwd>
<kwd lng="es"><![CDATA[Varianza]]></kwd>
<kwd lng="en"><![CDATA[Images]]></kwd>
<kwd lng="en"><![CDATA[ITK]]></kwd>
<kwd lng="en"><![CDATA[Pipeline]]></kwd>
<kwd lng="en"><![CDATA[Processing]]></kwd>
<kwd lng="en"><![CDATA[Segmentation]]></kwd>
<kwd lng="en"><![CDATA[Threshold]]></kwd>
<kwd lng="en"><![CDATA[Variance]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[  <font face="verdana" size="2">     <p align="center"><font size="4"><b>Dise&ntilde;o de software para el procesamiento y an&aacute;lisis de im&aacute;genes biom&eacute;dicas en 2D utilizando librer&iacute;as ITK</b></font></p>     <p align="center"><font size="3"><b><i>Software</i> design for processing and analysis of biomedical images in 2D using ITK libraries</b></font></p>     <p align="center"><b>Wilmer Antonio Blanco Ria&ntilde;o<sup>1</sup>, Sergio Alejandro Rojas Barbosa<sup>2</sup>, Fernando Mart&iacute;nez Santa<sup>3</sup></b></p>      <p><sup>1</sup> Tecn&oacute;logo en Electr&oacute;nica. Estudiante de Ingenier&iacute;a en Control de la Universidad Distrital Francisco Jos&eacute; de Caldas. Bogot&aacute;, Colombia. <a href="mailto:seralejo2004@yahoo.es">seralejo2004@yahoo.es</a>    <br> <sup>2</sup> Tecn&oacute;logo en Electr&oacute;nica. Estudiante de Ingenier&iacute;a en Control de la Universidad Distrital Francisco Jos&eacute; de Caldas. Bogot&aacute;, Colombia. <a href="mailto:wilmerbros@gmail.com">wilmerbros@gmail.com</a>    <br> <sup>3</sup> Ingeniero en Control ymagister en Ingenier&iacute;a Electr&oacute;nica. Docente de la Universidad Distrital Francisco Jos&eacute; de Caldas. Bogot&aacute;, Colombia. <a href="mailto:fmartinezs@udistrital.edu.co">fmartinezs@udistrital.edu.co</a></p>      <p>Fecha de recepci&oacute;n: agosto 26 de 2009 Fecha de aceptaci&oacute;n: febrero 2 de 2010</p>  <hr>      <p><font size="3"><b>Resumen</b></font></p>      <p>Las librer&iacute;as ITK (InsightSegmentation and RegistrationToolkit) son en conjunto una herramienta de c&oacute;digo abierto, multiplataforma, que proporcionan un sistema con una amplia gama de herramientas de software para el an&aacute;lisis y el procesamiento de im&aacute;genes. ITK emplea algoritmos de vanguardia para el registro y segmentaci&oacute;n de datos multidimensional; algoritmos orientados a la exploraci&oacute;n y manipulaci&oacute;n de diferentes caracter&iacute;sticas de las im&aacute;genes, lo que permite interactuar con diferentes funciones de las im&aacute;genes tales como umbralizaci&oacute;n, detecci&oacute;n de bordes, gradiente, curvatura, entre otros filtros de imagen, los cuales se encargan de destacar particularidades en una imagen dependiendo del uso que se quiera brindar. La aplicaci&oacute;n ITKUD fue implementada con el fin de hacer uso de algunos de estos algoritmos y as&iacute; mismo de crear un ambiente de software totalmente libre permitiendo su portabilidad, es decir, su compilaci&oacute;n en cualquier sistema que soporte C++.</p>     ]]></body>
<body><![CDATA[<p><b><i>Palabras clave: </i></b>Im&aacute;genes, ITK, Pipeline, Procesamiento, Segmentaci&oacute;n, Umbral, Varianza.</p>  <hr>      <p><font size="3"><b>Abstract</b></font></p>      <p>The libraries ITK (InsightSegmentation and RegistrationToolkit) make up one open source, cross platform, providing a system with a wide range of software tools for analyzing and processing images. ITK employs leading-edge algorithms for the registration and segmentation of multidimensional data, algorithms aimed at the exploration and manipulation of different characteristics of images, allowing different functions to interact with images such as thresholding, edge detection, gradient, curvature and other filters image, which are responsible for particular highlight in an image depending on the application you want to provide. ITKUD application was implemented to make use of some of these algorithms and also to create a completely free software environment allowing for portability, ie, the compilation on any system that supports C++.</p>     <p><b><i>Key words: </i></B>Images, ITK, Pipeline, Processing, Segmentation, Threshold, Variance.</p>  <hr>      <p><font size="3"><b>1. Introducci&oacute;n</b></font></p>      <p>Este proyecto se desarrolla en un campo que se ha ido ampliando en los &uacute;ltimos a&ntilde;os: la Visi&oacute;n Artificial. La visualizaci&oacute;n se puede definir como el proceso de explorar, transformar y mostrar datos en forma de im&aacute;genes para comprender y apreciar adecuadamente las caracter&iacute;sticas de los mismos. Se entiende por procesamiento digital de im&aacute;genes la manipulaci&oacute;n de las mismas a trav&eacute;s de un computador, de modo que la entrada y la salida del proceso sean im&aacute;genes. En la actualidad se encuentran con mayor facilidad equipos que permiten una captura de im&aacute;genes de forma m&aacute;s detallada, lo cual permite la elaboraci&oacute;n de aplicativos que tratan se&ntilde;ales bidimensionales y tridimensionales, dedicados a mejorar en ciertos aspectos visuales la imagen con el fin de proveer al usuario de herramientas para interpretarlas&#91;2&#93;.</p>      <p>Existen diversas herramientas destinadas a la visualizaci&oacute;n de im&aacute;genes en un entorno inform&aacute;tico, comprendidas entre ellas las librer&iacute;as ITK, las cuales son una herramienta relativamente nueva en el procesamiento digital de se&ntilde;ales e im&aacute;genes, tomando como base la segmentaci&oacute;n proceso que se encarga de clasificar e identificar los datos encontrados en una representaci&oacute;n muestreada digitalmente &#91;2&#93;.</p>      <p>Es de gran importancia mencionar que esta herramienta nace con el fin de apoyar el Proyecto Humano Visible, que se est&aacute; llevando a cabo en la Biblioteca Nacional de Medicina de EE.UU, el cual consiste en hacer una recolecci&oacute;n y an&aacute;lisis de im&aacute;genes transversales del cuerpo humano de un hombre y una mujer por medio de TAC, IRM y criosercci&oacute;n, con el fin de lograr muestras de un mil&iacute;metro. La aplicabilidad de las ITK va enfocada al procesamiento y al an&aacute;lisis de estas muestras, ya su vez generar la base te&oacute;rica y tecnol&oacute;gica de un proyecto de esta magnitud.</p>      <p>En otras ciencias como la biomedicina actualmente se requiere el uso de nuevos m&eacute;todos de investigaci&oacute;n, automatizando procedimientos y detecci&oacute;n de anormalidades en estudios que normalmente son invasivos. Las librer&iacute;as ITK son aplicables en t&eacute;cnicas como las angiograf&iacute;as, donde se requiere la detecci&oacute;n y el detalle de contornos en arterias, en estudios de estructuras cerebrales en los casos donde es necesario identifcar y clasifcar las concentraciones de masa gris y blanca, en an&aacute;lisis de diferenciaci&oacute;n de tejidos, en detecci&oacute;n de anormalidades en colonoscopias y en muchos otros procedimientos en esta misma rama.</p>      <p>De esta herramienta se pueden destacar algunas caracter&iacute;sticas:</p> <ul>    ]]></body>
<body><![CDATA[<li>Permite la implementaci&oacute;n de funciones o filtros b&aacute;sicos usando cada librer&iacute;a aparte.</li>     <li>Permite hacer <i>pipeline</i> (conexi&oacute;n entre los resultados de la ejecuci&oacute;n de alg&uacute;n algoritmo de procesamiento, a la entrada de otro, con el fin de utilizar una secuencia de diferentes algoritmos y obtener resultados m&aacute;s elaborados).</li>     <li>Se puede interactuar con los tonos de intensidad de la imagen y de umbral permitiendo aplicar funciones matem&aacute;ticas, binarias o f&iacute;sicas a la imagen.</li>    </ul>      <p>El objetivo principal es dise&ntilde;ar e implementar una aplicaci&oacute;n en la cual se puedan desarrollar y visualizar algunas de las funciones realizables con las librer&iacute;as ITK, adem&aacute;s sentar una base te&oacute;rica de la herramienta para cualquier investigaci&oacute;n futura del grupo Digiti en este mismo campo.</p>     <p align="center"><a name="fig1"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig1.jpg"></p>      <p><font size="3"><b>2. Metodolog&iacute;a</b></font></p>      <p>El <i>software</i> para el procesamiento y an&aacute;lisis de im&aacute;genes, utilizando librer&iacute;as ITK, se desarroll&oacute; en tres fases: construcci&oacute;n del entorno de visualizaci&oacute;n, selecci&oacute;n de im&aacute;genes y la implementaci&oacute;n de filtros y funciones con las ITK.</p>      <p><b><i>.1. Construcci&oacute;n del entorno de visualizaci&oacute;n</i></b></p>      <p>Se elabor&oacute; un programa en el cual se pueden visualizar todas las opciones a las que el usuario tiene acceso.Se recurri&oacute; al programa de interfaz gr&aacute;fica wxWidgets V. 2.8.9,  el cual se describe como una herramienta de C++ que proporciona una GUI (interfaz gr&aacute;fica de usuario) multiplataforma y permite a los desarrolladores crear aplicaciones para diversos tipos de sistemas operativos, es una herramienta amplia, libre y de c&oacute;digo abierto &#91;3&#93;. Esta interfaz contiene un conjunto de librer&iacute;as que nos permite hacer la interacci&oacute;n de datos entre el entorno de visualizaci&oacute;n y el procesamiento de la imagen a cargo de las librer&iacute;as ITK.Cabe destacar la importancia de crear un entorno fiable y sin errores y permitir as&iacute; una visualizaci&oacute;n de los resultados m&aacute;s arm&oacute;nica y completa, adem&aacute;s de permitirle al usuario detallar los resultados e interactuar con la imagen.</p>      ]]></body>
<body><![CDATA[<p>Inicialmente se construy&oacute; una ventana de 400 x 300 p&iacute;xeles, de color negro, que va a aparecer en el centro de la pantalla. En la parte superior de la aplicaci&oacute;n se implement&oacute; un barra en el cual se puede tener acceso a los diferentes men&uacute;s, el men&uacute; Archivo (Abrir, Guardar, Guardar como, Salir), el men&uacute; Editar (Deshacer, Repetir, Zoom, Rotar), el men&uacute; Filtros (Umbralizar, Detectar bordes, Suavizar, Gradiente, Erosi&oacute;n, Dilataci&oacute;n, Promedio, Mediana, Sigmoid, Curvatura), el men&uacute; Funciones (Matem&aacute;ticas y Sobel) y el men&uacute; Ayuda.</p>      <p>El tama&ntilde;o de la ventana puede variar dependiendo del tama&ntilde;o de la imagen como tal. En la barra inferior "barra de estado" se describen atributos de la imagen en tama&ntilde;o y porcentaje de escalamiento; adicionalmente, indicaciones al usuario acerca de c&oacute;mo utilizar la aplicaci&oacute;n cuando se necesite ingresar valores a la funci&oacute;n por utilizar.</p>     <p align="center"><a name="fig2"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig2.jpg"></p>      <p>En esta fase cabe resaltar la compilaci&oacute;n de estas librer&iacute;as wxWidgets y las librer&iacute;as ITK mediante el programa Cmake. El CMake es una herramienta multiplataforma de c&oacute;digo libre empleada paraconfigurar y dirigir el proceso de construcci&oacute;n de aplicaciones. Los ficheros independientes llamados CMakeLists. txt se usan para describir el proceso deconstrucci&oacute;n y establecer las dependencias. Cuando ejecutamos CMake se generan los ficheros necesarios, dependiendo del compilador y sistema operativo que se est&eacute;utilizando. Esto sirve para compilar ITK f&aacute;cilmente y hacer uso de las herramientaspropias de la plataforma en la que se est&eacute; trabajando.</p>      <p>El CMake necesita tres datos que deben ser indicados antes de su ejecuci&oacute;n: el compilador que va a ser empleado, la direcci&oacute;n del c&oacute;digo fuente y la direcci&oacute;ndonde se generar&aacute;n el c&oacute;digo objeto, las librer&iacute;as y los binarios producidos en la compilaci&oacute;n. Finalmente, se producir&aacute;n los <i>workspaces</i>, <i>makefles</i> y todo lo necesario para controlar laconstrucci&oacute;n de los procesos por parte del compilador. Una vez hecho esto ya se puede cargar el fichero <i>workspace </i>generado (dsw) y crear nuestra aplicaci&oacute;n &#91;2&#93;.</p>      <p><b><i>2.2. Selecci&oacute;n de la imagen</i></b></p>     <p>La imagen inicialmente es seleccionada por el usuario y admite im&aacute;genes de entrada de diferentes tipos (Jpeg, Png, Gif, Bmp, Pcx), de cualquier tama&ntilde;o. Lo que se hace posteriormente con el programa de entorno es reescalar la imagen, es decir, acoplarla a un tama&ntilde;o justo para poderla visualizar sin inconvenientes.</p>     <p align="center"><a name="fig3"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig3.jpg"></p>      <p><b><i>2.3. Implementaci&oacute;n de filtros y funciones con las librer&iacute;as ITK</i></b></p>      <p>Inicialmente se seleccionaron los filtros por implementar, teniendo en cuenta aquellos que generen resultados m&aacute;s representativos visualmente y que en la misma estructura de c&oacute;digo sea m&aacute;s sencillo identificarlos con base a lo que se dedujo de la documentaci&oacute;n de la tecnolog&iacute;a. De igual manera, se incluyeron filtros que permiten el uso de dos o m&aacute;s librer&iacute;as y el desarrollo de funciones matem&aacute;ticas con base a estructuras de c&oacute;digo como los iterado-res. Cabe resaltar que los filtros y funciones elegidos se visualizan en tonalidad de grises.</p>      ]]></body>
<body><![CDATA[<p><b><i>2.3.1. Tipos de filtros implementados</i></b></p>      <p>&bull; <b>Umbralizaci&oacute;n</b></p>     <p>La umbralizaci&oacute;n de una imagen en escala de grises nos permite, dado un umbral definido por alg&uacute;n m&eacute;todo, separar lo que es fondo de los que es objeto, siempre y cuando el fondo y el objeto tengan sus niveles de gris agrupados en dos modos dominantes.</p>     <p>Anal&iacute;ticamente, el concepto de umbral de una imagen se define como:</p>     <p><a name="ec1"></a><img src="img/revistas/tecn/v14n26/v14n26a10ec1.jpg"></p>      <p>Donde f(x, y) es la intensidad del punto (x, y) y p(x, y) representa alguna propiedadlocal medida en un entorno de vecindad de este punto.La aplicaci&oacute;n de un umbral a la imagen permite dividir dicha imagen en subconjuntosde p&iacute;xeles con caracter&iacute;sticas afines.</p>     <p>Por medio de las librer&iacute;as ITK se utiliz&oacute; la funci&oacute;n ThresholdImageFilter, con la cual se puede aplicar un tipo de umbralizaci&oacute;n. Este filtro realiza una transformaci&oacute;n a una imagen binaria cambiando el valor de intensidad del p&iacute;xel, seg&uacute;n se ilustra en la <a href="#fig4">figura 4</a>, se le ingresan valores de umbral alto y umbral bajo, los cuales est&aacute;n limitados por el lower-Thresholdq es cero y upperThreshold el m&aacute;ximo que es 255; se comparan los valores ingresados con los l&iacute;mites superior e inferior y si el valor del p&iacute;xel est&aacute; dentro del rango se le asigna un valor de p&iacute;xel de 255 InsideValue, de lo contrario un valor de OutsideValue, en este caso de cero &#91;4&#93;.</p>     <p align="center"><a name="fig4"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig4.jpg"></p>      <p>En el siguiente caso (<a href="#fig5">figura 5</a>) se ingresan valores de Umbral bajo de 20 y Umbral alto de 190, tratando de resaltar los tonos claros de la <a href="#fig3">figura 3</a> y eliminando el fondo resaltando m&aacute;s el objeto o el elemento que puede ser analizable.</p>     <p align="center"><a name="fig5"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig5.jpg"></p>      ]]></body>
<body><![CDATA[<p><B><i>&bull; Suavizado</i></b></p>     <p>El suavizado borra los detalles m&aacute;s finos de una imagen, es decir, conlleva una atenuaci&oacute;n de las altas frecuencias mientras se mantienen las bajas y medias frecuencias. Tiene un buen n&uacute;mero de aplicaciones, algunas veces se emplea para simular una c&aacute;mara desenfocada o para restar &eacute;nfasis a un fondo. Mientras los fot&oacute;grafos usan un filtro de c&aacute;mara para conseguir ese efecto, los artistas informatizados emplean filtros digitales &#91;5&#93;.</p>      <p>El suavizado se implement&oacute; con la funci&oacute;n de las ITK moothing Recursive Gaussian Image Filter, la cual toma como variable de entrada sigma, que se refiere a una constante con la cual se implementar&aacute; la m&aacute;scara de suavizado. Se caracteriza por tener simetr&iacute;a de rotaci&oacute;n, es decir, filtran por igual en todas las dimensiones; tienen un &uacute;nico l&oacute;bulo central y el peso de los p&iacute;xeles vecinos disminuye a medida que nos alejamos del centro, es un filtro paso bajo, es decir, conserva una relaci&oacute;n 1/sigma (luego a mayor sigma filtra m&aacute;s). <a href="#fig6">Figura 6</a>,suavizado con sigma =2.</p>     <p align="center"><a name="fig6"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig6.jpg"></p>      <p><B><i>&bull; Detectar bordes (Canny)</i></b></p>     <p>Consiste en la determinaci&oacute;n de los puntos en que se produce una variaci&oacute;n de intensidad. Para detectar los bordes se emplean operadores derivada, y es necesaria la segunda derivada de la intensidad. Algunas de las transformaciones que permiten detectar bordes son: el operador gradiente, el gradiente de Roberts, el detector horizontal, el detector vertical, el operador Prewitt, el operador Sobel y el operador Laplaciana.</p>      <p>En este caso se utiliz&oacute; el operador gradiente de Roberts para la detecci&oacute;n de bordes. Presenta la desventaja de que, dependiendo de la direcci&oacute;n, ciertos bordes son m&aacute;s realzados que otros, inclusive teniendo igual magnitud. Como resultado de su aplicaci&oacute;n se obtiene una imagen con altos valores de niveles de gris, en regiones de l&iacute;mites bien definidos y valores bajos en regiones de l&iacute;mites suaves, siendo 0 para regiones de nivel de gris constante. El operador consiste en la siguiente funci&oacute;n:</p>     <p><a name="ec2"></a><img src="img/revistas/tecn/v14n26/v14n26a10ec2.jpg"></p>      <p>Donde a' es el nivel de gris correspondiente a la localizaci&oacute;n a, que ser&aacute; substituido, y a, b, c, d son las localizaciones cuyos valores ser&aacute;n computados para la operaci&oacute;n &#91;6&#93;.</p>     <p>El detector de bordes se implement&oacute; con la funci&oacute;n ITKC anny Edge Detection Image Filter, el cual en su funcionamiento se observa que soluciona las limitaciones de sensibilidad, localizaci&oacute;n del ruido y es robusto (ver <a href="#fig7">figura. 7</a>).</p>     ]]></body>
<body><![CDATA[<p align="center"><a name="fig7"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig7.jpg"></p>      <p><B><i>&bull; Gradiente</i></b></p>      <p>Es usado como una t&eacute;cnica adicional de detecci&oacute;n de bordes, pero se considera como una derivada de segundo orden; los detectores de bordes de la derivada  de segundo orden proporcionan una localizaci&oacute;n mejor del borde. Otra ventaja de los operadores de la derivada de segundo orden es que los contornos del borde detectados son curvas cerradas, lo cual es muy importante en la segmentaci&oacute;n de imagen. El operador Laplaciano se define como una derivada de segundo orden, por lo cual obtiene resultados superiores a los anteriores y puede trabajar con im&aacute;genes donde las variaciones de intensidad no sean suficientemente abruptas para ellos. No obstante, presenta una sensibilidad m&aacute;s grande frente al ruido y una ligera incapacidad para determinar la direcci&oacute;n de los bordes.</p>     <p><a name="ec3"></a><img src="img/revistas/tecn/v14n26/v14n26a10ec3.jpg"></p>      <p>El Laplaciano es un buen ejemplo de un operador de derivada de segundo orden y se distingue de los otros operadores porque es omnidireccional, es decir, destacar&aacute; los bordes en todas las direcciones. El operador Laplaciano producir&aacute; bordes m&aacute;s agudos que la mayor&iacute;a de las otras t&eacute;cnicas. Estos toques de luz incluyen pendientes positivas y negativas de la intensidad. El borde Laplaciano de una imagen puede ser encontrado convolucionando con m&aacute;scaras, como lo muestra la <a href="#fig8">figura 8</a>.</p>     <p align="center"><a name="fig8"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig8.jpg"></p>      <p>La imagen resultante exhibe un cambio del signo en los bordes de la imagen. Estos cambios de signo son referidos como pasos cero. Despu&eacute;s del operador de convoluci&oacute;n la imagen se debe procesar para encontrar estos pasos cero y para fijar, por consiguiente, los p&iacute;xeles de la salida.</p>      <p>Como se puede ver, las m&aacute;scaras del operador Laplaciano coinciden con las m&aacute;scaras de filtro paso alto vistas anteriormente. Esto se debe a que el Laplaciano detecta los bordes, es decir, las altas frecuencias de la imagen, sin considerar la orientaci&oacute;n, por lo que adem&aacute;s de utilizarse para la detecci&oacute;n de bordes sirve para el filtrado paso alto de im&aacute;genes &#91;5&#93;.</p>      <p>Para realizar la visualizaci&oacute;n se implement&oacute; la funci&oacute;n ITKG radient Magnitude Image Filter. Este filtro calcula la magnitud de gradiente de la imagen en cada p&iacute;xel. El proceso de c&aacute;lculo es equivalente a suavizar la imagen con la funci&oacute;n convoluci&oacute;n Gaussiana y, a continuaci&oacute;n, la aplicaci&oacute;n de un operador diferencial, en este caso el operador Laplaciano. Esto se puede ver de mejor forma en la <a href="#fig9">figura 9</a>, en la cual aplicamos nuestro filtro llamado "Gradiente" a la imagen de entrada, como se ha hecho con los filtros anteriores.</p>     <p align="center"><a name="fig9"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig9.jpg"></p>      ]]></body>
<body><![CDATA[<p><B><i>&bull; Erosi&oacute;n</i></b></p>     <p>Consiste en la degradaci&oacute;n progresiva de uno de los campos 0 o 1. Un elemento del campo por degradar seguir&aacute; perteneciendo al mismo si est&aacute; rodeado de elementos iguales a &eacute;l;en caso contrario, pasar&aacute; al otro campo. Se trata de un proceso iterativo, que de ejecutarse cierta cantidad de veces terminar&aacute; por destruir la imagen &#91;6&#93;.</p>      <p>Se implement&oacute; la funci&oacute;n GrayscaleErodeImage-Filter, en la cual se ingresa un valor de radio asociado a la iteraci&oacute;n del filtro alrededor de un punto imaginario en el centro de cada p&iacute;xel. Se observa en la <a href="#fig10">figura 10</a> el ejemplo con un radio de 2.</p>     <p align="center"><a name="fig10"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig10.jpg"></p>      <p>Puede verse con la aplicaci&oacute;n del filtro c&oacute;mo las regiones de color m&aacute;s oscuro van aumentando visualmente en tama&ntilde;o, adem&aacute;s de resaltarlas con color m&aacute;s oscuro diferenci&aacute;ndolas de las tonalidades m&aacute;s claras.</p>      <p><B><i>&bull; Dilataci&oacute;n</i></b></p>     <p>Es el crecimiento progresivo de uno de los dos campos 0 o 1. Un elemento del campo contrario a crecer ser&aacute; convertido si posee alg&uacute;n vecino perteneciente al campo que se expansiona. En caso contrario, permanecer&aacute;n igual los elementos pertenecientes al campo por expansionar y que, como es obvio, no se modifcan &#91;6&#93;.</p>      <p>Se implement&oacute; la funci&oacute;n GrayscaleDilateImage-Filter, en la cual se ingresa un valor de radio asociado a la iteraci&oacute;n del filtro alrededor de un punto imaginario en el centro de cada p&iacute;xel .Se observa en la <a href="#fig10">figura 10</a> el ejemplo con un radio de 2. Caso contrario al filtro mencionado anteriormente, en este las partes m&aacute;s claras son detalladas y crecen. Este filtro es ideal en aplicaciones que requieran aumento de brillo.</p>     <p align="center"><a name="fig11"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig11.jpg"></p>      <p><B><i>&bull; Mediana</i></b></p>     ]]></body>
<body><![CDATA[<p>Los p&iacute;xeles de la nueva imagen se generan calculando la mediana del conjunto de p&iacute;xeles del entorno de vecindad del p&iacute;xel correspondiente a la imagen origen. De esta forma, se homogenizan los p&iacute;xeles de intensidad, muy diferente con respecto a la de los vecinos. Este tipo de filtro es bastante indicado cuando se tiene ruido aleatorio &#91;7&#93;.</p>      <p>Se us&oacute; la funci&oacute;n de ITKMedianImageFilter, que es un filtro s&oacute;lido enfocado en eliminar ruido en la imagen y calcula el valor de cada p&iacute;xel de salida como la estad&iacute;stica media de los valores de entorno de cada p&iacute;xel de entrada.</p>     <p align="center"><a name="fig12"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig12.jpg"></p>      <p>Es decir que cada p&iacute;xel de salida tomar&aacute; un valor medio de 28, haciendo el "barrido" por todos los p&iacute;xeles que conforman la imagen (ver <a href="#fig13">figura 13</a>).</p>     <p align="center"><a name="fig13"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig13.jpg"></p>      <p><B><i>&bull; Promedio</i></b></p>      <p>Se obtiene la nueva imagen sumando N veces la imagen obtenida en sucesivas captaciones de la imagen. De este modo se conservan las formas manteni&eacute;ndose los contornos, pero para ello es necesario que durante la captaci&oacute;n de las sucesivas im&aacute;genes los objetos por capturar se encuentren en reposo &#91;7&#93;.</p>      <p>Se utiliz&oacute; la funci&oacute;n ITKMeanImageFilter, la cual es muy similar al anterior filtro, pero en este caso se realiza un promedio de los valores de p&iacute;xel de entrada, interactuando sobre los vecinos y haciendo el barrido por todo el tama&ntilde;o de la imagen; se logra tambi&eacute;n la eliminaci&oacute;n del nivel de ruido.</p>     <p align="center"><a name="fig14"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig14.jpg"></p>      <p><B><i>&bull; Funci&oacute;n Sigmoid </i></b></p>     ]]></body>
<body><![CDATA[<p>Este tipo de filtro es com&uacute;nmente usado cuando una intensidad se transforma, traza un mapa espec&iacute;fico del rango de la intensidad, valora el rango y elabora una nueva intensidad muy suave e interrumpida. Los Sigmoid son ampliamente usados como un mecanismo para enfocar la atenci&oacute;n en un conjunto especial de valores y atenuar los valores progresivamente fuera de esa gama. Para ser implementado en ITK incluye cuatro par&aacute;metros que pueden ser determinados en las variables de entrada; uno es la variable alfa, otro la variable beta y los dos valores m&aacute;s son el m&iacute;nimo y el valor m&aacute;ximo, todos ellos destacados en la <a href="#ec4">Ec. (4)</a> que representa el filtro &#91;4&#93;.</p>     <p><a name="ec4"></a><img src="img/revistas/tecn/v14n26/v14n26a10ec4.jpg"></p>      <p>Estos valores fueron determinados por defecto en el algoritmo de la funci&oacute;n, ya que una leve variaci&oacute;n puede llegar a modificar la visualizaci&oacute;n del filtro, asumiendo valores como: alfa = 10; beta = 170; m&iacute;n = 10 y m&aacute;x = 240, y se da como resultado lo visualizado en la <a href="#fig13">figura 13</a>.</p>      <p>Con este filtro se logra apreciar la intensidad de la imagen, se permite diferenciar de forma m&aacute;s clara las tonalidades en cuanto a niveles claros y oscuros; es ideal en aplicaciones que requieren diferenciaci&oacute;n de dos elementos con diferentes caracter&iacute;sticas, sin la necesidad de eliminar una propiamente, m&aacute;s bien la caracterizaci&oacute;n de cada una de forma m&aacute;s clara y contrastada.</p>     <p align="center"><a name="fig15"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig15.jpg"></p>      <p><B><i>&bull; Operador Sobel</i></b></p>     <p>El operador gradiente de Sobel tiene la propiedad de realzar l&iacute;neas verticales y horizontales m&aacute;s oscuras que el fondo, sin realzar puntos aislados. Consiste en la aplicaci&oacute;n de dos m&aacute;scaras que componen un &uacute;nico resultado, las cuales se describen a continuaci&oacute;n:</p>     <p align="center"><a name="fig16"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig16.jpg"></p>     <p align="center"><a name="fig17"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig17.jpg"></p>      <p>La m&aacute;scara (a) detecta las variaciones en sentido horizontal y la m&aacute;scara (b), en sentido vertical. El resultado de esta aplicaci&oacute;n, en cada "p&iacute;xel", es dado por a'= a2 + b2. Donde a' es el valor de nivel de gris correspondiente a la localizaci&oacute;n del elemento central de la m&aacute;scara. Las figuras siguientes ilustran el efecto de su aplicaci&oacute;n &#91;6&#93;.</p>      ]]></body>
<body><![CDATA[<p>Con la implementaci&oacute;n de este tipo de filtro se quiere mostrar la interacci&oacute;n que se puede realizar entre diferentes funciones de ITK. En este caso se utiliz&oacute; ImageRegionIterator y la funci&oacute;n Const-NeighborhoodIterator y se dan como datos de entrada dos valores de Sobel que no est&aacute;n delimitados por valor alguno.</p>     <p align="center"><a name="fig18"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig18.jpg"></p>      <p><B><i>&bull; Operaciones matem&aacute;ticas</i></b></p>      <p>Se implementaron operaciones matem&aacute;ticas b&aacute;sicas como la suma, la resta, la multiplicaci&oacute;n y la divisi&oacute;n, donde este tipo de operaci&oacute;n se realiza con una constante definida por el usuario. Se implement&oacute; de forma manual creando un algoritmo de iteradores con estructuras "for", de la siguiente manera:</p>     <p align="center"><a name="fig19"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig19.jpg"></p>      <p>Aqu&iacute; se puede identificar el iterador 1 e iterador 2, los cuales van realizando un barrido por toda la imagen a lo largo de los dos ejes x e y con la inclusi&oacute;n de la constante que modifica directamente la apariencia del brillo de la imagen.</p>     <p align="center"><a name="fig20"></a><img src="img/revistas/tecn/v14n26/v14n26a10fig20.jpg"></p>      <p><font size="3"><b>3. Diagramas del <i>software</i></b></font></p>     <p>En el primer diagrama se puede observar con facilidad y a grandes rasgos cu&aacute;l es la l&oacute;gica del programa. Se incluyen, adem&aacute;s, todas las funciones integradas en la aplicaci&oacute;n.</p>     <p>En el segundo diagrama se muestran las diferentes opciones que el usuario del programa podr&aacute; acceder a trav&eacute;s de una ventana principal (diagrama de uso).</p>      ]]></body>
<body><![CDATA[<p>En el tercer diagrama se plasma la interacci&oacute;n entre objetos y clases de la herramienta que nos proporciona el GUI (Wxwidgets), y de igual forma las correspondientes estructuras de ITK. Esto se realiza por medio de diagramas UML.</p>     <p>En el &uacute;ltimo diagrama se puede observar un funcionamiento mas detallado del uso de archivos utilizados por el programa.</p>      <p><font size="3"><b>4. Visi&oacute;n del proyecto</b></font></p>     <p>El <i>software</i> para el procesamiento y an&aacute;lisis de im&aacute;genes (ITKUD) es una excelente herramienta para aquellos que apenas se inician en el mundo de la Visi&oacute;n Artifcial, ya que ITK cuenta con innumerables funciones y filtros, que van desde los que implementamos hasta filtros con resultados muy precisos a ciertas necesidades del mundo cient&iacute;fico.</p>      <p>Se pretende dar a conocer la utilidad de esta herramienta de una manera demostrativa, sembrando una base te&oacute;rico - pr&aacute;ctica de la implementaci&oacute;n de los algoritmos. As&iacute; mismo, se podr&aacute; contar con el c&oacute;digo fuente del <i>software</i>, los manuales de instalaci&oacute;n de las librer&iacute;as ITK y la interfaz gr&aacute;fca en el grupo de investigaci&oacute;n Digiti, continuando con la premisa de extender la aplicaci&oacute;n en su &aacute;mbito de <i>software</i> libre y portable.</p>      <p>En una fase posterior del proyecto se podr&iacute;an integrar im&aacute;genes a nivel 3D, tomando en cuenta una escala de color m&aacute;s amplia, ya que aunque ITK permite esta opci&oacute;n la mayor&iacute;a de las funciones est&aacute;n dirigidas a im&aacute;genes de 16 u 8 bits, es decir, en escala de grises o blanco y negro. Actualmente las muestras se pueden obtener a partir de los equipos para estudios como tomograf&iacute;as computarizadas o resonancias magn&eacute;ticas. En ciencias como la biomedicina se est&aacute; evolucionando en la automatizaci&oacute;n de procesos de detecci&oacute;n de anormalidades a un nivel de precisi&oacute;n muy alto, exigiendo m&aacute;rgenes de error m&iacute;nimos.</p>      <p>En la fase posterior se podr&iacute;a implementar un <i>software</i> con muchas m&aacute;s opciones al analista, de forma din&aacute;mica, y luego la integraci&oacute;n total del elemento estudiado, partiendo de las muestras y reconstruy&eacute;ndolas en 3D. Actualmente se puede utilizar la tecnolog&iacute;a del mismo fabricante en las librer&iacute;as VTK, las cuales son un sistema de visualizaci&oacute;n que no solo permite visualizar geometr&iacute;a, sino que tambi&eacute;n incluye m&eacute;todos vectoriales, escalares, tensores, de textura y volum&eacute;tricos, aumentando m&aacute;s los m&eacute;todos por implementar en futuras aplicaciones &#91;2&#93;.</p>      <p><font size="3"><b>5. Resultados</b></font></p>      <p>Se desarroll&oacute; el <i>software</i> de procesamiento de im&aacute;genes ITKUD, el cual dispone de las siguientes caracter&iacute;sticas:</p>  <ul>    <li>Permite cargar distintos tipos de im&aacute;genes (Jpeg, Png, Gif, Bmp, Pcx).</li>     ]]></body>
<body><![CDATA[<li>Realiza una modificaci&oacute;n al tama&ntilde;o visual de la imagen para poder visualizar los resultados y en la barra de estado se le informa al usuario el tama&ntilde;o en porcentaje al que est&aacute; siendo mostrada, todo sin modificar la imagen original.</li>     <li>El usuario selecciona los filtros de imagen y funciones por desarrollar. La aplicaci&oacute;n permite la visualizaci&oacute;n, adem&aacute;s de funciones como el Zoom y el rotar herramientas &uacute;tiles para mayores detalles sobre la imagen procesada.</li>     <li>Los resultados de la aplicaci&oacute;n de cada algoritmo de procesamiento se muestran din&aacute;micamente al usuario.</li>     <li>Existe la posibilidad de deshacer el &uacute;ltimo algoritmo aplicado sobre la imagen.</li>     <li>Permite al usuario guardar los cambios, ya sea en el mismo archivo o en otro, conservando los tama&ntilde;os originales de la imagen inicial y los procedimientos realizados.</li>    </ul>      <p>Se apropiaron los conocimientos de implementaci&oacute;n y uso de las librer&iacute;as ITK, abriendo una nueva puerta en el tema de procesamiento de im&aacute;genes, en el entorno de la Facultad Tecnol&oacute;gica.</p>      <p>Se implementaron las versiones m&aacute;s actualizadas de ITK y WxWidgets, ya que permiten compatibilidad completa entre los algoritmos de procesamiento y la interfaz.</p>     <p>La documentaci&oacute;n generada sobre el <i>software</i> realizado contiene el c&oacute;digo fuente, los manuales de instalaci&oacute;n y uso de las librer&iacute;as utilizadas, diagramas UML, diagramas de bloques y manual de uso del <i>software</i>. Dicha documentaci&oacute;n se podr&aacute; utilizar como base de investigaci&oacute;n para futuros desarrollos en el mismo campo, al servicio del grupo de investigaci&oacute;n y de la comunidad en general.</p>      <p>Se crearon manuales de uso de las librer&iacute;as ITK, parte importante en la utilizaci&oacute;n de esta herramienta, en la cual se compilan dichas librer&iacute;as. Con la ayuda del <i>software </i>CMake el anexo permite seguir paso a paso el proceso de documentaci&oacute;n cuando se empiece a utilizarlas. Tambi&eacute;n se gener&oacute; la documentaci&oacute;n de instalaci&oacute;n de la interfaz gr&aacute;fica wxWidgets v2.8.9, desde el descargue en la p&aacute;gina del fabricante hasta el uso en el compilador.</p>      ]]></body>
<body><![CDATA[<p>Se cre&oacute; un documento que muestra de c&oacute;mo se hace la implementaci&oacute;n de una funci&oacute;n de las librer&iacute;as ITK, detalladas desde la documentaci&oacute;n en la p&aacute;gina web del autor hasta la inclusi&oacute;n de esta funci&oacute;n en el c&oacute;digo fuente. Por medio de la documentaci&oacute;n creada se proporciona un medio para realizar ampliaciones al <i>software</i> dise&ntilde;ado, dot&aacute;ndolo de la funcionalidad extra que se requiera.</p>      <p><font size="3"><b>6. Conclusiones</b></font></p>     <p>El uso de las librer&iacute;as ITK permite manipular, identificar y resaltar caracter&iacute;sticas b&aacute;sicas de la imagen, como el contraste, el brillo y destacar las formas, eliminaci&oacute;n de ruido, resalto de tonalidades, entre otras. La abstracci&oacute;n de variables en una imagen, como el tama&ntilde;o y la escala, es una base para fijar nuestro entorno de visualizaci&oacute;n, y nos permite trabajar con im&aacute;genes de cualquier tama&ntilde;o y poder ver los resultados a una mejor escala.</p>      <p>La detecci&oacute;n de bordes es una t&eacute;cnica muy &uacute;til en la ciencia y la industria de hoy; ITK permite hacer gran cantidad de filtros, los cuales hacen esta identificaci&oacute;n de maneras distintas utilizando diferentes m&eacute;todos. Las funciones en ITK pueden utilizarse simult&aacute;neamente, y permiten generar el <i>pipeline </i>pasando la imagen de un filtro a otro cuando la necesidad sea un resultado espec&iacute;fico y muy exacto.</p>      <p>Se implementaron las versiones m&aacute;s recientes de las librer&iacute;as ITK V. 3.10 y wxWidgets v. 2.8.9 con el fin de evitar inconvenientes de compatibilidades entre los programas al implementar la interfaz y con el fin de que la aplicaci&oacute;n sea lo m&aacute;s actualizada posible. La implementaci&oacute;n de los algoritmos de las librer&iacute;as ITK es relativamente sencilla si se cuenta con la documentaci&oacute;n necesaria. Las librer&iacute;as ITK cuentan con una gran cantidad de algoritmos que pueden ser combinados, lo cual puede ser una soluci&oacute;n para variadas necesidades del procesamiento de im&aacute;genes.</p>  <hr>      <p><font size="3"><b>Referencias bibliogr&aacute;ficas</b></font></p>      <!-- ref --><p>&#91;1&#93; L. Ib&aacute;nez, W. Schroeder, L. Ng, J. Cates "The ITK Software Guide" Kitware, Copyright 2008-09. &#91;En l&iacute;nea&#93;. Disponible: <a href="www.itk.org/" target="_blank">www.itk.org/</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000139&pid=S0123-921X201000010001000001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;2&#93; I. Moreno, "Desarrollo de algoritmos de pro-cesamiento de im&aacute;genes con VTK". &#91;En l&iacute;nea&#93;.Disponible: <a href="http://www.elai.upm.es/spain/Investiga/GCII/personal/iberzal/PFC_I_Berzal.pdf" target="_blank">http://www.elai.upm.es/spain/Investiga/GCII/personal/iberzal/PFC_I_Berzal.pdf</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000140&pid=S0123-921X201000010001000002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;3&#93; K. Ollivier, "wxWidgets".&#91;En l&iacute;nea&#93;. Disponible: <a href="www.wxwidgets.org/" target="_blank">www.wxwidgets.org/</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000141&pid=S0123-921X201000010001000003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;4&#93;. ITKSoftware, "User guide". &#91;En l&iacute;nea&#93;. Disponible: <a href="http://www.itk.org/ITK/help/documentation.html" target="_blank">http://www.itk.org/ITK/help/documentation.html</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000142&pid=S0123-921X201000010001000004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;5&#93; A. Dapena, "T&eacute;cnicas de procesado de imagen". &#91;En l&iacute;nea&#93;. Disponible: en <a href="http://www.des.udc.es/~adriana/TercerCiclo/CursoImagen/curso/web/Indice.html" target="_blank">http://www.des.udc.es/~adriana/TercerCiclo/CursoImagen/curso/web/Indice.html</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000143&pid=S0123-921X201000010001000005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;6&#93; D. Rodr&iacute;guez, "Implementaci&oacute;n multiplataforma de procesamiento de im&aacute;genes 2D mediante librer&iacute;as ITK. &#91;En l&iacute;nea&#93;. Disponible: <a href="http://www.elai.upm.es/spain/Investiga/GCII/personal/dllanos/DLlanos.htm" target="_blank">http://www.elai.upm.es/spain/Investiga/GCII/personal/dllanos/DLlanos.htm</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000144&pid=S0123-921X201000010001000006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P>&#91;7&#93; F. J. Mu&ntilde;oz Rodr&iacute;guez, "Reducci&oacute;n del ruido en una imagen digital". &#91;En l&iacute;nea&#93;. Disponible: <a href="http://www.ujaen.es/~satorres/practicas/practica2.pdf" target="_blank">http://www.ujaen.es/~satorres/practicas/practica2.pdf</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000145&pid=S0123-921X201000010001000007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ibánez]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Schroeder]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
<name>
<surname><![CDATA[Ng]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Cates]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[The ITK Software Guide]]></source>
<year>2008</year>
<publisher-name><![CDATA[Kitware, Copyright]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Moreno]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
</person-group>
<source><![CDATA[Desarrollo de algoritmos de pro-cesamiento de imágenes con VTK]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ollivier]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
</person-group>
<source><![CDATA[wxWidgets]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ITKSoftware]]></surname>
</name>
</person-group>
<source><![CDATA[User guide]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dapena]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Técnicas de procesado de imagen]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Rodríguez]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[Implementación multiplataforma de procesamiento de imágenes 2D mediante librerías ITK]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Muñoz Rodríguez]]></surname>
<given-names><![CDATA[F. J]]></given-names>
</name>
</person-group>
<source><![CDATA[Reducción del ruido en una imagen digital]]></source>
<year></year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
