Esqueletización de imágenes 3D

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Esqueletización de imágenes 3D"

Transcripción

1 Escuela Técnica Superior de Ingeniería Informática Máster en Matemática Computacional Trabajo Fin de Máster Esqueletización de imágenes 3D Autor: Raúl Reina Molina Tutor: Pedro Real Jurado Junio/2011 Curso 2010/2011

2

3 Resumen La esqueletización es una técnica que permite obtener, a partir de un objeto digital dado, otro que contiene la misma información topológica, y gran parte de la información geométrica del objeto inicial. Nos vamos a centrar en las técnicas desarrolladas por G. Bertrand, por su similitud con las técnicas homológicas de procesamiento de imágenes, desarrollando un algorimo de esqueletización a nivel de complejos celulares. Así mismo vamos a presentar un algoritmo de esqueletización utilizando el marco de computación natural denominado Computación con Membranas.

4

5 Índice general Índice general 1 Índice de figuras 3 Índice de cuadros 5 1. Introducción 7 2. Modelos digitales y adelgazamiento Modelos digitales Adelgazamiento Complejos celulares Definición Colapso simplicial Construcción del complejo celular Un algoritmo de esqueletización Medidas de significatividad Algoritmo Computación con membranas Marco Formal: P Sistemas tipo tejido Cálculo del esqueleto de una imagen 3D usando computación con membranas Algoritmo de esqueletización Complejidad del algoritmo y recursos necesarios Conclusiones y trabajo futuro 37 Bibliografía 39 1

6 2

7 Índice de figuras 2.1. Algunos modelos de conectividad digital. De izquierda a derecha: 4-conectividad, 8-conectividad, 6-conectividad y 26 conectividad Modelo digital en 2D representado como un conjunto de puntos (a) y el esqueleto resultante del adelgazamiento (b). Observe que la eliminación paralela de puntos simples eliminaría completamente la región destacada en (a), resultando en (b), por lo tanto, cambiaría la topología del objeto. Además, la curva esqueleto no es delgada en la región destacada (c). Aquí se ha usado la 4-conectividad Ejemplo de colapso simplicial, con los elementos eliminados σ, δ marcados De izquierda a derecha: complejo celular, estado del complejo tras una iteración del algoritmo de esqueletización y estado del complejo tras dos iteraciones Medidas de distacia d y D en el 2-esqueleto de una forma 2D Modelo celular de un caballo en 2D (a), el resultado de aplicar el algoritmo de esqueletización para los umbrales t 1 = 5 y t 2 = 0,5 (b), y las medidas de distancia y significatividad de las 1-celdas tras la eliminación paralela de las 2-celdas (c,d,e,f) Plantillas de eliminación básicas Plantillas de eliminación de la clase A Plantillas de eliminación de la clase B Plantillas de eliminación de la clase C Plantillas de eliminación de la clase D Sistema de referencia utilizado en los objetos del alfabeto

8 4

9 Índice de cuadros 6.1. Complejidad y recursos necesarios para el algoritmo de esqueletización

10 6

11 Capítulo 1 Introducción Los esqueletos son estructuras topológicas delgadas que se encuentran dentro de estructuras sólidas. Como descriptores de forma, los esqueletos se usan en muchas aplicaciones que requieren análisis de forma, tales como reconocimiento de caracteres escritos a mano [2], emparejado y recuperación de modelos 3D [14], segmentación de modelos [34], y aplicaciones médicas como identificación de estructuras proteicas a partir de imágenes en baja resolución [18]. La utilidad de los esqueletos en las aplicaciones mencionadas requiere que estos mantengan una serie de propiedades esenciales del objeto de partida. En primer lugar, la topología del esqueleto y el objeto deben tener las mismas propiedades, tales como la conectividad, el género, etc. Al mismo tiempo la geometría del esqueleto debe capturar información acerca de la forma del objeto. En términos generales, los métodos de computación de esqueletos curvos y superficiales de objetos en 3D se pueden clasificar en dos categorías, dependiendo cada una de una representación específica del objeto. Si el objeto se representa como un poliedro cerrado, el esqueleto se puede calcular mediante la construcción y poda de los ejes medios del objeto [6]. Si el objeto se representa digitalmente como una colección de puntos en una trama, el esqueleto se construye a partir de un proceso iterativo de erosión, denominado adelgazamiento. En este trabajo vamos a adoptar el segundo enfoque por dos razones. En primer lugar, una gran clase de modelos que vienen del procesamiento de imágenes médicas, en representación de las estructuras biológicas, están representados de forma nativa digital como un conjunto de puntos discretos. En segundo lugar, comparados con los métodos de computación y simplificación de los ejes medios, el adelgazamiento es de fácil implementación y presenta un comportamiento numéricamente estable. 7

12 Sin embargo, los algoritmos actuales de adelgazamiento tienen sus propias desventajas. Tal como se verá en el próximo capítulo, estos algoritmos tienen dificultades para calcular un esqueleto que conserve la topología del modelo digital. Cabe destacar que estas dificultades son inherentes a la representación del modelo digital como una colección discreta de puntos. En este trabajo se va a adoptar un modelo de representación del objeto basado en complejos celulares. A diferencia de la representación basado en puntos, un complejo celular es un espacio continuo en el que se puede aplicar las herramientas de geometría Euclídea clásica y de la topología algebraica. En particular, se muestra que el uso de complejos celulares hace que sea mucho más fácil la producción de esqueletos (como subcomplejos) que preservan la topología del complejo celular original mediante un procedimiento de erosión similar al usado en la representación basada en puntos. A fin de adelgazar un complejo celular en un esqueleto, que también conserve la información de forma, se proponen dos medidas de significatividad que guían el proceso de adelgazamiento. La formulación de las dos medidas está basada en las que se utilizan para la simplificación de los ejes medios en un modelo poliédrico. Si bien estas medidas están estrechamente relacionadas con la forma global del objeto, aún pueden ser calculadas localmente de manera eficiente durante el adelgazamiento. A partir de estas medidas, se presenta un algoritmo simple de adelgazamiento que, dado un complejo celular en 3D, producen esqueletos (1-dimensionales y 2-dimensionales) que respetan la forma y la topología (mediante equivalencia de homotopía) del complejo celular original. Este trabajo se organiza de la siguiente manera. En el capítulo 2, hacemos un breve repaso de los algoritmos existentes en los modelos digitales representados a partir de puntos discretos, y mostramos algunas de sus limitaciones. La representación mediante complejos celulares se introducen en el capítulo 3, y se demuestran las propiedades de esta representación que la hacen adecuada para la realización de adelgazamiento. Las medidas de significatividad se presentan en el capítulo 4, seguido por el algoritmo de adelgazamiento. En el capítulo 5 se introduce el marco formal de computación con membranas, que se utilizará en el capítulo 6 para describir un algoritmo para resolver el problema de la esqueletización de imágenes binarias 3D. En el capítulo 7 se presentan algunas conclusiones y propuestas de trabajo futuro. 8

13 Capítulo 2 Modelos digitales y adelgazamiento 2.1. Modelos digitales Un modelo digital se representa tradicionalmente como un conjunto de puntos en una cuadrícula. La geometría y la topología del modelo digital se definen mediante el establecimiento de las relaciones de adyacencia entre los puntos, es decir, el conjunto de puntos en el entorno de uno dado que se conectan a éste. En 2D, la 4/8-conectividad son ampliamente utilizadas. En la figura 2.1 aparecen los puntos 4-adyacentes y los 8-adyacentes a uno dado. Del mismo modo, en 3D, la 6/26-conectividad se puede definir en un entorno 3 3 3, como se muestra en la figura 2.1. Figura 2.1: Algunos modelos de conectividad digital. De izquierda a derecha: 4-conectividad, 8-conectividad, 6-conectividad y 26 conectividad. 9

14 2.2. Adelgazamiento El adelgazamiento o esqueletización es una técnica basada en erosiones sucesivas para el cálculo de esqueletos. Dado un modelo sólido representado por una colección de puntos, la erosión iterativa elimina puntos de la capa externa del objeto (aquella adyacente al complementario del mismo) hasta que queda una estructura delgada, en la zona central del objeto, de manera que equidista del complementario en cualquier dirección. Con el fin de producir un esqueleto que conserve la topología y la forma del objeto, el adelgazamiento debe evitar la introducción de cambios topológicos, tales como la ruptura de la conectividad o la inserción de agujeros; así mismo el adelgazamiento debe evitar la pérdida de información de forma, tales como contracción de curvas o superficies que representan información significativa de la forma del objeto. Para alcanzar estos objetivos, los algoritmos de adelgazamiento actuales identifican los puntos cuya eliminación introduciría cambios topológicos o la pérdida de información de la forma, y protegen estos puntos durante el proceso. En particular, los puntos cuya eliminación no introduciría cambios topológicos, llamados puntos simples, se pueden identificar mediante la comprobación sólo de su entorno [18]. Similares criterios locales [26, 3, 24, 4, 35] han sido propuestos para identificar los puntos que se encuentran en la frontera de las curvas y las superficies del esqueleto, llamados punto finales de curva o superficie, los cuales están protegidos para evitar la reducción de estas características. De esta manera, el mantenimiento de los tres tipos de puntos citados hacen que el esqueleto respete la topología (puntos simples) y la forma del objeto (puntos finales de curva o superficie). El uso de estos criterios locales dan lugar a algoritmos de estructura simple y tiempo de ejecución eficiente. Sin embargo, los actuales algoritmos de adelgazamiento adolecen de una serie de limitaciones comunes. Conservación de la topología: Aunque la identificación y la protección de puntos simples garantiza consistencia topológica cuando los puntos se comprueban y se quita uno cada vez, esta coherencia no está garantizada cuando los puntos se quitan en paralelo. Por ejemplo, en la figura 2.2(a), cada punto de la región seleccionada cumple los criterios de punto simple, es decir, la eliminación de cualquiera de ellos no introduciría cambios topológicos en el objeto. Sin embargo, la eliminación simultánea de todos estos puntos rompería el ciclo inferior de la forma &,introduciendo un cambio topológico. Hay dos razones por las que el adelgazamiento en paralelo es deseable. 10

15 (a) (b) (c) Figura 2.2: Modelo digital en 2D representado como un conjunto de puntos (a) y el esqueleto resultante del adelgazamiento (b). Observe que la eliminación paralela de puntos simples eliminaría completamente la región destacada en (a), resultando en (b), por lo tanto, cambiaría la topología del objeto. Además, la curva esqueleto no es delgada en la región destacada (c). Aquí se ha usado la 4-conectividad. En primer lugar, si los puntos de la capa más externa del objeto se comprueban y se eliminan uno tras otro, un orden de consideración de los puntos diferente puede conducir a una forma de esqueleto diferente, por lo que el resultado está sujeto a sutiles decisiones algorítmicas. En segundo lugar, un algoritmo paralelo de adelgazamiento puede ser fácilmente paralelizado, ya que la supresión de cada punto es independiente de los demás. Como remedio, el adelgazamiento paralelo en modelos digitales se puede lograr mediante la sustitución de los criterios de punto simple por otros mucho más complejos que implican un entorno mayor [20, 22, 21], o recurriendo a las sub-iteraciones [20, 30, 21, 23, 5, 33]. Delgadez de esqueletos: El esqueleto resultado del adelgazamiento no siempre es delgado, especialmente en las articulaciones de las curvas y superficies del esqueleto. En el ejemplo en la figura 2.2(c), en el esqueleto producido por el adelgazamiento, cada unión marcada implica un bloque de 4 puntos de los que no se puede extraer información de curva (en contraste con el resto del esqueleto). Téngase en cuenta que la eliminación de cualquier punto en las regiones gruesas puede causar desconexión (suponiendo que se utiliza la 4-conectividad). Los esqueletos gruesos hacen que sea difícil identificar la geometría del esqueleto, tales como curvas y superficies en un esqueleto en 3D. Estas geometrías son importantes para muchas aplicaciones, tales como el reconocimiento de formas, emparejamiento o reconocimiento y segmentación. Conservación de la forma: Como la detección de los puntos finales de 11

16 curva y de superficie se basan en entornos locales, el adelgazamiento es muy sensible al ruido en la frontera del objeto. Aunque algunos algoritmos de poda se han desarrollado para esqueletos producidos por adelgazamiento [1], dicha poda es de por sí difícil en un modelo digital (especialmente para superficies esqueleto) porque el esqueleto no siempre es delgado y su geometría no es siempre identificable. Nos gustaría señalar que algunas de estas limitaciones (sobre todo las dos primeras) son inherentes a la representación de modelos digitales como una colección de puntos de una trama. Por consiguiente, el problema de la esqueletización no puede ser resuelto por completo a menos que se cambie el modelo de representación usado. 12

17 Capítulo 3 Complejos celulares En este trabajo, vamos a considerar una representación alternativa de los modelos digitales como complejos celulares, que poseen mejores propiedades que las representaciones de puntos de cara al adelgazamiento. Comenzamos con la introducción de la representación usando complejos celulares. A continuación, se introduce un operador de eliminación en los complejos celulares, similar a la eliminación de puntos en modelo basado en puntos, y mostramos que el operador en el complejo celular resuelve elegantemente las cuestiones que hemos mencionado anteriormente. Por último, se describe cómo el complejo celular puede ser construido a partir de representaciones basadas en puntos de modelos digitales Definición La definición de complejo celular se basa en la noción de celdas. En primer lugar, veamos la definición de una p-celda: Definición 3.1 Una p-celda es un espacio topológico que es homotópicamente equivalente a una bola abierta de dimensión p. Intuitivamente, la equivalencia de homotopía significa que una p-celda puede ser obtenida por compresión o extensión de una p-bola abierta. Por ejemplo, los puntos son 0-celdas, las aristas abiertas son 1-celdas, los triángulos abiertos son 2-celdas, los tetraedros abiertos son 3-celdas, y así sucesivamente. Definición 3.2 En el espacio N-dimensional, un complejo celular K es un conjunto cerrado de p-celdas (p N). Es decir, si σ K y δ está en la frontera de σ, entonces δ K. 13

18 Figura 3.1: Ejemplo de colapso simplicial, con los elementos eliminados σ, δ marcados Colapso simplicial Los complejos celulares han sido ampliamente estudiados en Topología Algebraica. Uno de los hechos conocidos acerca de ellos es que admiten un procedimiento local, llamado colapso simplicial, que contrae el complejo al tiempo que conserva su homotopía [17]. Definición 3.3 Un colapso simplicial de un complejo celular K es la eliminación de un par de celdas (σ, δ), de dimensiones respectivas p y p 1, donde δ no está en la frontera de cualquier otra célula en K excepto σ. El resultado de un colapso simplicial es otro complejo celular, que es un subconjunto del complejo original homotópicamente equivalente a éste. La figura 3.1 muestra dos aplicaciones consecutivas de un colapso simplicial en el complejo celular de la figura 3.1(a), el primero elimina un par arista triángulo, y el segundo elimina un par punto arista. Para facilitar el estudio, vamos a llamar al par (σ, δ) que satisfaga las condiciones de la definición 3.3 par p-simple. Los pares simples en complejos celulares pueden ser considerados como homólogos de los puntos simples en las representaciones basadas en puntos. Así como la eliminación de puntos simples en los modelos basados en punto, la eliminación de pares simples en complejos celulares garantiza la conservación de la topología en la contracción del objeto. Además, la identificación de pares simples también implica sólo información del entorno local de las celdas. Sin embargo, el colapso simplicial en complejos celulares no presenta los problemas que observamos en el adelgazamiento de las representaciones basadas en puntos. Conservación de la topología: Se observó en 2.2 que la eliminación paralela de puntos simples puede no preservar la topología del objeto. Aquí mostramos que esto no es un problema para el colapso simplicial en complejos celulares: 14

19 Figura 3.2: De izquierda a derecha: complejo celular, estado del complejo tras una iteración del algoritmo de esqueletización y estado del complejo tras dos iteraciones. Proposición 3.1 Sea E = {{σ 1, δ 1 },..., {σ n, δ n }} una colección de pares simples en un complejo K, tales que σ i σ j para i j. El residuo K = K \ E sigue siendo un complejo celular que es, además, homotópicamente equivalente a K. Demostración: Todas las celdas de E son diferentes. Como las σ son diferentes, las δ, que son frontera exclusiva de su σ correspondiente, también lo son. Como δ ha de estar en la frontera de σ, no hay ningún par en el que σ = δ. La eliminación de un par simple de E en el complejo K resulta en otro complejo topológicamente equivalente, y el resto de pares simples de E siguen siendo simples en el nuevo complejo. Por tanto, podemos eliminar todos los pares simples uno a uno, obteniendo un complejo homotópicamente equivalente, lo que es equivalente a eliminar todos los pares simples simultáneamente. La Proposición 3.1 implica que la eliminación de pares simples en un complejo celular, ya sea secuencialmente o en paralelo, garantiza la consistencia topológica. Esto constituye una mejora fundamental frente a la eliminación de puntos. Obsérvese que, al contrario que la eliminación de puntos en la figura 2.2, la eliminación de todos los pares simples en la región señalada en 3.2 no introduce cambios en la topología. Delgadez de esqueletos: Se observó en 2.2 que el adelgazamiento preservando la topología en representaciones basadas en puntos, no siempre produce una geometría de esqueleto fina. Por el contrario, un complejo celular siempre se puede hacer delgado con colapsos simpliciales: Proposición 3.2 Sea K un complejo celular en un espacio N-dimensional. Si K no posee pares N-simples, entonces en K no hay N-celdas. 15

20 Demostración: Veámoslo por reducción al absurdo. Supongamos que hay N-celdas en K. Las ordenamos a lo largo de una dirección de izquierda a derecha. Para la N-celda más a la izquierda, debe existir al menos una (N 1)- celda en su frontera izquierda, que no esté en la frontera de ninguna otra N-celda. Esta N-celda y su frontera izquierda forman un par N-simple, que contradice que K no tiene pares N-simples. En el ejemplo de la figura 3.2, después de eliminar todos los pares de 2-simples en el complejo celular en (a), el complejo que queda en (b) no tiene 2-celdas. Además, debido a la naturaleza geométrica de las celdas, es muy fácil identificar la geometría del esqueleto en el complejo resultante Construcción del complejo celular Dado que el objetivo de nuestro trabajo consiste en calcular el esqueleto de modelos digitales, y ya que estos están representados por puntos en redes espaciales, aquí se muestra cómo construir el complejo celular de un modelo digital basado en puntos. Téngase en cuenta que no es la primera vez que se consideran los complejos celulares como representaciones alternativas para modelos digitales. Trabajos anteriores han utilizado complejos celulares para analizar las propiedades topológicas de un modelo digital basado en puntos [19] o incluso la realización de cirugías topológicas [39]. Aquí adoptamos su enfoque para la construcción del complejo celular. Dado un modelo digital formado por puntos en una cuadrícula espacial N-dimensional, se añaden todos los puntos como 0-celdas, a continuación, agregamos todos los elementos p-dimensionales de la red (por ejemplo, las aristas, las caras, etc.) como p-celdas si todos los puntos de la red contenidos en ese elemento pertenecen al modelo digital. Por ejemplo, el complejo de células en la figura 3.2 se construye de esta forma a partir de la figura 2.2. Tenga en cuenta que la colección de celdas resultante de esta construcción siempre forma un conjunto cerrado, y por lo tanto, es un complejo celular válido. 16

21 Capítulo 4 Un algoritmo de esqueletización Utilizando el colapso simplicial de complejos celulares, presentamos un algoritmo de adelgazamiento con el objetivo de calcular un esqueleto que respete la topología y la forma del objeto inicial. Tenga en cuenta que la eliminación exhaustiva de todos los pares simples de un complejo celular puede hacer fácilmente que se pierda información de la forma del complejo original, como la cola en el &. en 3.2. El reto, por tanto, se encuentra en la conservación durante el adelgazamiento de las celdas que contienen información importante de la forma. Estamos frente al desafío de calcular medidas de la importancia de una celda, como parte del esqueleto. En contraste con los criterios muy localizados para detectar puntos de final de curva y final de superficie en el adelgazamiento de modelos digitales basados en puntos, nuestras medidas reflejan propiedades globales de forma y aún pueden ser calculados localmente durante el adelgazamiento Medidas de significatividad A fin de mantener las celdas correspondientes a los diferentes tipos de componentes de forma, es necesario una medida general de significatividad para una p-celda como parte el esqueleto p-dimensional para p < N. Téngase en cuenta que la mayoría de las medidas de significatividad existentes para las partes de un esqueleto o ejes medios son adimensionales. Es decir, que sólo evalúan la posibilidad de que una parte del esqueleto se encuentre en el centro de una componente de forma significativa del objeto, independientemente del tipo de componente o la dimensión de la geometría del esqueleto. Estas medidas son insuficientes si queremos calcular un esqueleto donde la dimensión de la geometría (por ejemplo, curvas o superficies en 3D) refleje el tipo de componentes de forma (por ejemplo, tubos o placas). 17

22 Figura 4.1: Medidas de distacia d y D en el 2-esqueleto de una forma 2D. Nuestra medida de significatividad que tiene en cuenta la dimensión se basa en la siguiente idea. Un punto P en una geometría de esqueletización p-d puede ser considerado significativo si P se centra en una componente de forma que tenga p direcciones significativas de alargamiento (por ejemplo, los tubos tienen una dirección de elongación, las placas cuentan con 2, etc). Más específicamente, si hemos de considerar una p-celda σ en una geometría de esqueletización p-dimensional, las p direcciones de elongación de la componente de forma correspondiente debe seguir aproximadamente el esqueleto. Para calcular la cantidad de elongación, consideramos el radio d de la bola geodésica más grande en el esqueleto con centro en σ, y el radio D de la bola euclídea centrada en σ más grande inscrita en el objeto. Intuitivamente, d captura la distancia más corta de la elongación desde σ a la frontera del esqueleto, mientras que D captura la distancia más corta entre σ y la frontera del objeto. Estas distancias se muestran en figura 4.1. Observe en la Figura 4.1 que cuanto mayor sea d comparado con D, mayor será la elongación. Hay muchas maneras de medir la diferencia entre dos números. Consideramos las dos siguientes que dan valores mayores para mayores diferencias: s 1 = d D s 2 = 1 D d Estas dos medidas de diferencia caracterizan la elongación de una componente de forma de diferentes maneras. s 2 mide las diferencias relativas, por lo tanto, captura la relación de aspecto entre la componente de forma independientemente de la escala. Sin embargo, puede dar valores elevados ante un pequeño ruido en la frontera del objeto. Por otro lado, s 1 calcula las diferencias absolutas entre las dos distancias, por lo tanto, es sensible a la escala. Por tanto, una p-celda es considerada como significativa si ambas s 1 y s 2 son significativamente altas. 18

23 Para calcular en la práctica estas dos medidas, s 1 y s 2, en un complejo celular, consideramos la siguiente aproximación a las distancias d y D basada en el proceso de extracción en paralelo de pares simples. Se dice que una p- celda σ está aislada en un complejo K si σ no se encuentran en la frontera de ninguna otra celda de dimensión superior en K. Ahora, considere un proceso iterativo de adelgazamiento en el que cada iteración elimina todos los pares simples detectados en el complejo celular (por ejemplo, como el de la Figura 3.2(a)). La distancia D en una p-celda σ puede ser aproximado por el número de iteración en la que σ queda aislada por primera vez. Debido al adelgazamiento paralelo, este valor expresa el tiempo que se tarda en erosionar la frontera de σ. Del mismo modo, calculamos la distancia d como el número de iteración en el que σ se convierte en una de las celdas en un par p-simple. Este número de iteración expresa el tiempo necesario para erosionar la frontera del esqueleto p-dimensional de σ. En las figura 4.2(c, d) se muestra un ejemplo de nuestras aproximaciones discretas de las distancias d y D para todas las 1-celdas que permanecieron después de la eliminación paralela de 2-celdas en el complejo celular 2D en la figura 4.2(a). Además, las dos medidas de diferencia, s 1 y s 2 de las dos distancias se muestran en la figura 4.2(e,f). Observe que, si bien s 1 da valores más altos en los bordes más alejados de la frontera del objeto (por ejemplo, en el centro del caballo), s 2 da valores más altos en las aristas en las partes alargadas del objeto, independientemente de su escala, incluyendo algunos baches en la frontera. Esta observación nos lleva a considerar sólo aquellas aristas en las que s 1 y s 2 son ambas altas, como los que se muestran en la Figura 4.2(b), como parte del esqueleto bidimensional Algoritmo A continuación desarrollamos un algoritmo de adelgazamiento para el cálculo de esqueletos que conserven la forma, basado en las medidas de significatividad presentadas anteriormente. Es importante señalar que los dos medidas de distancia, d y D, y por tanto sus diferencias, s 1 y s 2, se pueden calcular a nivel local durante la eliminación paralela de pares simples. Todo lo que se necesita es registrar en cada celda σ el número de iteración en la que σ se aísla. El algoritmo completo se presenta en 1. Se trata de un sencillo procedimiento iterativo. En cada iteración, los pares simples son detectados y las medidas de significatividad se calculan para la celda de mayor dimensión σ en cada par. Sólo los pares simples donde una de las medidas de significatividad es menor que un umbral especificado por el usuario se eliminan. 19

24 (a) Entrada (b) Esqueleto final para los umbrales t 1 = 5 y t 2 = 0,5 (c) Medida D (d) Medida d (e) Medida s 1 (f) Medida s 2 Figura 4.2: Modelo celular de un caballo en 2D (a), el resultado de aplicar el algoritmo de esqueletización para los umbrales t 1 = 5 y t 2 = 0,5 (b), y las medidas de distancia y significatividad de las 1-celdas tras la eliminación paralela de las 2-celdas (c,d,e,f). 20

25 Algoritmo 1 Algoritmo de esqueletización Require: K complejo celular, t 1, t 2 > 0 for all σ K aislada do D 0 end for iter 1 repeat Encontrar todos los pares simples S = {{σ i, δ i }} for all σ i S do d iter end for Sea S S el conjunto de pares simples con s 1 < t 1 o s 2 < t 2 for all nuevas celdas aisladas do D iter end for K = K \ S iter iter + 1 until S = Nuestro algoritmo de adelgazamiento es muy simple y fácil de implementar. La conservación de la topología y la delgadez están garantizados por el uso de colapsos simpliciales. La conservación de la forma se logra mediante las dos medidas globales de significatividad. Además, el código funciona para complejos celulares de cualquier dimensión, y produce el esqueleto que corresponde a diferentes tipos de componentes de forma (por ejemplo, partes alargadas en 2D, tubos y placas en 3D, etc.). A modo de ejemplo, la figura 4.2(b) es el resultado de nuestro algoritmo para la forma de caballo en 4.2(a), donde t 1 = 5 y t 2 = 0, 5. 21

26 22

27 Capítulo 5 Computación con membranas La computación con membranas es un paradigma de computación inspirado en el funcionamiento de las células y tejidos vivos. Una de sus características es el uso del paralelismo como un instrumento de cálculo. En muchos de los modelos, los dispositivos realizan la computación mediante la aplicación de la paralelización en un doble sentido: por un lado, varias reglas pueden ser aplicadas simultáneamente en cada membrana, por otro lado, todas las membranas realizan la computación al mismo tiempo. A pesar de los esfuerzos recientes [15], parece que en el futuro próximo no habrá una implementación de P sistemas in vivo o in vitro. Todos los posibles enfoques para el modelo teórico se apoyan en las arquitecturas informáticas actuales. En esta línea, muchos esfuerzos se han hecho para la obtención de una simulación del comportamiento de un P sistema con los equipos actuales [13, 16]. La mayoría de estos simuladores están pensados para funcionar en equipos con un sólo procesador. Estas máquinas secuenciales sólo realizan una acción por unidad de tiempo y el paralelismo de los dispositivos de computación con membranas se pierde. Este cuello de botella produce una seria discrepancia entre la eficiencia teórica de los sistemas P y los recursos reales necesarios para llevar a cabo una computación. En los últimos años, de acuerdo con el desarrollo de nuevas arquitecturas paralelas, se han realizado nuevos intentos para acercarse a la computación de P sistemas realizando varias acciones en el mismo paso. Esto no significa una implementación real del P sistema, pero puede ser considerado como un nuevo paso hacia una simulación más realista. Los primeros simuladores paralelos y distribuidos se presentaron en el año En [12] se presentó una implementación paralela de los P sistemas de transición. El programa fue diseñado para un clúster de 64 nodos de doble procesador y fue implementado y probado en un clúster Linux de la Uni- 23

28 versidad Nacional de Singapur. En [36] se presentó un simulador puramente distribuido de P sistemas. La implementación se llevó a cabo usando la invocación remota de métodos de Java para conectar un número de equipos que intercambian datos. La clase de los P sistemas que el simulador puede aceptar es un subconjunto de la familia de sistemas NOP 2 (coo, tar), que tiene el poder de cómputo de las Máquinas de Turing. Recientemente, una nueva línea de investigación ha surgido debido a una nueva arquitectura de dispositivo llamada CUDA TM, [29]. Se trata de una arquitectura de propósito general de computación paralela a través del motor de computación en las unidades de proceso gráfico NVIDIA (GPU) para resolver los numerosos y complejos problemas computacionales de una manera más eficiente que en una CPU [7, 8, 9] Marco Formal: P Sistemas tipo tejido En la definición básica de P sistema tipo célula [28], las membranas están dispuestas jerárquicamente en una estructura en forma de árbol. Su inspiración biológica proviene de la morfología celular, donde pequeñas vesículas están contenidas en otras mayores. En los P sistemas tipo tejido, la estructura de membranas en forma de árbol es sustituida por un grafo genérico. La inspiración biológica para este modelo es la comunicación intercelular y la cooperación entre neuronas. La comunicación entre las células se basa en reglas symport/antiport. Los P sistemas tipo tejido se ha usado abundantemente para resolver problemas en otras áreas (ver, por ejemplo, [11, 12]). En nuestro trabajo vamos a utilizar una variante de los P sistemas tipo tejido donde la aplicación de las reglas viene regulada por promotores. Estos promotores tienen una clara inspiración biológica. La regla es aplicada si los reactantes están presentes, pero además es necesaria la presencia del promotor en la celda correspondiente. Los promotores no son consumidos ni producidos por la aplicación de la regla, pero si no están presentes en la celda, la regla no puede aplicarse. En un paso de computación, cada reactante en una membrana puede ser usado únicamente por una regla, pero en el caso en que varias reglas requieran la presencia del mismo promotor, entonces la presencia de una única instancia del mismo es suficiente para la aplicación de todas ellas. Si existen varias posibilidades, la regla se elige de manera no determinista. A continuación, recordamos la definición formal de estos P sistemas. Definición 5.1 Un P sistema tipo tejido con promotores de grado q 1 es 24

29 una tupla de la forma Π = (Γ, Σ, E, w 1,..., w q, R, i in, i o ) donde q es el número de células en el P sistema y 1. Γ es un alfabeto finito, cuyos símbolos se llaman objetos. Estos objetos pueden encontrarse dentro de las células o en el espacio que las rodea (llamado entorno). 2. Σ Γ es el alfabeto de entrada. La entrada de la computación realizada por el P sistema se codifica usando este alfabeto. 3. E Γ es un alfabeto finito que representa el conjunto de objetos en el entorno. Siguiendo una inspiración biológica, los objetos en el entorno están disponibles en una cantidad arbitrariamente grande. 4. w 1,..., w n son cadenas sobre Γ que representan los multiconjuntos de objetos situados en el interior de las células al comienzo de la computación. 5. R es un conjunto finito de reglas de la siguiente forma: (pro i, u/v, j), para 0 i j q, pro, u, v Γ 6. i in {1, 2,..., q} denota la célula de entrada, es decir, la célula donde se situará la entrada de la computación. 7. i o {1, 2,..., q} denota la célula de salida. Informalmente, un P sistema tipo tejido con promotores de grado q 1 puede verse como un conjunto de q células etiquetadas por 1, 2,..., q. Las células son los nodos de un grafo virtual, cuyas aristas vienen determinadas por las reglas de comunicación del sistema, es decir, como es ordinario en los P Sistemas tipo tejido, las aristas que conectan las células no se indican explícitamente: si una regla (pro i, u/v, j) está presente, entonces las células i y j se consideran enlazadas. La aplicación de una regla (pro i, u/v, j) consiste en el intercambio del multiconjunto u (inicialmente en la célula i) por el multiconjunto v (inicialmente en j). Después de la aplicación de la regla, el multiconjunto u desaparece de la célula i y aparece en la célula j. Análogamente, el multiconjunto v desaparece de la célula j y aparece en la célula i. Así mismo, el intercambio puede realizarse entre una célula y el entorno, etiquetado como 0. La regla es aplicada si en la célula con la etiqueta i están 25

30 presentes los objetos de pro (promotores). Los promotores no son modificados por la aplicación de la regla. Si el multiconjunto de promotores es vacío, escribiremos (i, u/v, j) en vez de ( i, u/v, j). En nuestra definición, todos los objetos el alfabeto pueden ser promotores, en función de la regla aplicada. La reglas se utilizan de la manera habitual en el marco de la computación con membranas, es decir, de manera paralela maximal (considerando un reloj universal). Una configuración es una descripción instantánea del P Sistema y viene representada por una tupla (w 1,..., w q ). Dada una configuración, podemos realizar un paso de computación y obtener una nueva configuración mediante la aplicación de todas las reglas disponibles de manera paralela tal como vimos anteriormente. Decimos que una configuración es de parada cuando no se puede aplicar ninguna regla. La salida de una computación es recolectada de su configuración de parada a través de la lectura de los objetos contenidos en la célula de salida. Por otro lado, debemos considerar que algunos objetos que no pertenecen a E pueden llegar al entorno durante la computación. Así, en una configuración (que no sea la inicial) podemos encontrar dos tipos de objetos en el entorno: primero, aquellos que aparecen en el alfabeto del entorno y aparecen en cantidad arbitrariamente grande. Por tanto, el sistema puede tomar tantas copias de ellos como sea necesario en cada paso de computación. En segundo lugar, aquellos que no pertenecen al alfabeto del entorno. Para estos, el entorno funciona como una célula corriente, es decir, únicamente hay disponibles tantas copias de estos objetos como hayan llegado al entorno en pasos anteriores. 26

31 Capítulo 6 Cálculo del esqueleto de una imagen 3D usando computación con membranas A fin de presentar un algoritmo de esqueletización usando computación con membranas, vamos a basarnos en el algoritmo presentado en [38]. Hemos seleccionado este algoritmo porque su diseño lo hace fácilmente implementable usando este modelo de computación Algoritmo de esqueletización En 1996, Ma y Sonka propusieron un algoritmo de esqueletización de imágenes 3D [25], que se utilizó en muchas aplicaciones tales como procesamiento de imágenes médicas [10] y reconstrucción 3D [37]. El algoritmo se basa en algunas plantillas predefinidas (Clases A, B, C y D). Si el entorno de un punto en el objeto coincide con una de las plantillas, dicho punto será eliminado. La figura 6.1 muestra los cuatro núcleos de plantilla básicos. En esta figura, se utiliza para denotar un punto del objeto, se utiliza para denotar un punto de fondo. Un punto no marcado es un punto cuyo valor es indiferente, que puede representar un punto del objeto o del fondo. Los núcleos de plantilla en sí no son las plantillas de eliminación. Algunas transformaciones [25] deben aplicarse a los núcleos para generar las plantillas de eliminación. Hay seis modelos de la Clase A, 12 plantillas de la clase B, 8 en la Clase C y 12 plantillas de la Clase D, de acuerdo con las transformaciones. Las plantillas en las clases A D se muestran en las figuras En la figura 6.5, por lo menos un punto marcado con ha de ser un punto del 27

32 Figura 6.1: Plantillas de eliminación básicas. Figura 6.2: Plantillas de eliminación de la clase A. objeto. Ma y Sonka definieron las condiciones de conservación de la siguiente manera: Regla 2.2. Sea p un punto del objeto de una imagen en 3D. Entonces: 1. p se llama un punto de fin de línea, si p es 26-adyacente a exactamente un punto del objeto, 2. p se llama un punto cercano a fin de línea si p es 26-adyacente a exactamente dos puntos del objeto entre los siguientes casos: a) ya sea s(p) y e(p), o s(p) y u(p), pero no ambos; b) cualquiera entre n(p) y w(p), o u(p) y w(p), pero no ambos; o c) cualquiera entre n(p) y d(p), o e(p) y d(p), pero no ambos; Figura 6.3: Plantillas de eliminación de la clase B. 28

33 Figura 6.4: Plantillas de eliminación de la clase C. Figura 6.5: Plantillas de eliminación de la clase D. 29

34 Figura 6.6: Sistema de referencia utilizado en los objetos del alfabeto. 3. p se llama un punto de cola, si o bien es un punto cercano a final de línea, o es final de línea; de lo contrario se le llama punto no-cola, donde e(p), w(p), n(p), s(p), u(p) y d(p) son los vecinos de p situados al este, oeste, norte, sur, arriba y abajo, respectivamente. El algoritmo basado en las plantillas citadas en [25] falla en determinadas situaciones, en las que rompe la topología del objeto al desconectar zonas que previamente eran conexas. Wang y Basu en [38] corrigieron dicho error mediante la modificación de algunas plantillas de eliminación. Es en estas últimas plantillas en las que basaremos nuestro algoritmo de esqueletización usando computación con membranas. La implementación del algoritmo de esqueletización de Ma y Sonka, modificado por Wang y Basu, usando computación con membranas se basa en una familia de P sistemas con promotores Π(n) de grado 2 para n N. Cada sistema de la familia esqueletiza una imagen cúbica 3D de tamaño n 3. El alfabeto de objetos es Γ = {C ijk : 1 i, j, k n C {B, W }} donde (i, j, k) son las coordenadas de un punto en la imagen, B denota a un píxel negro (del objeto) y W un píxel blanco (del fondo). En la figura 6.6 puede verse el sistema de referencia utilizado. El alfabeto del entorno es E = Γ. Las reglas de evolución de los P sistemas se basan en las plantillas de eliminación modificadas de [38]. En lo que sigue, = { 1, 0, 1} y + = {0, 1} 30

35 Reglas de evolución para las plantillas de la clase A. R a1 ({{W i+δ1 j+δ 2 k 1}} δ1,δ 2 B i j k+1 1, B ijk /W ijk, 0) para 2 i, j, k n 1. R a2 ({{W i+δ1 j+δ 2 k+1}} δ1,δ 2 B i j k 1 B i j k 2 1, B ijk /W ijk, 0) para 2 i, j n 1, 3 k n 1. R a3 ({{W i+1 j+δ1 k+δ 2 }} δ1,δ 2 B i 1 j k 1, B ijk /W ijk, 0) para 2 i, j, k n 1. R a4 ({{W i 1 j+δ1 k+δ 2 }} δ1,δ 2 B i+1 j k B i+2 j k 1, B ijk /W ijk, 0) para 2 i n 2, 2 j, k n 1. R a5 ({{W i+δ1 j+1 k+δ 2 }} δ1,δ 2 B i j 1 k 1, B ijk /W ijk, 0) para 2 i, j, k n 1. R a6 ({{W i+δ1 j 1 k+δ 2 }} δ1,δ 2 B i j+1 k B i j+2 k 1, B ijk /W ijk, 0) para 2 i, k n 1, 2 j n 2. Reglas de evolución para las plantillas de la clase B. ( ) {{Wi R b1 j+δ k 1 W i 1 j+δ k 1 W i 1 j+δ k }} δ B i j k+1 B i+1 j k B i+2 j k 1, B ijk/w ijk, 0 para 2 i n 2, 2 j n 1, 2 k n. ( ) {{Wi 1 R b2 j+δ k W i 1 j+δ k+1 W i j+δ k+1 }} δ B i+1 j k B i+2 j k B i j k 1 B i j k 2 1, B ijk/w ijk, 0 para 2 i n 2, 2 j n 1, 3 k n 1. ( ) {{Wi R b3 j+δ k+1 W i+1 j+δ k+1 W i+1 j+δ k }} δ B i 1 j k B i j k 1 B i j k 2 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 3 k n 1. ( ) {{Wi R b4 j+δ k 1 W i+1 j+δ k 1 W i+1 j+δ k }} δ B i 1 j k B i j k+1 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 2 k n 1. ( ) {{Wi 1 R b5 j k+δ W i 1 j,k+δ W i j+1 k+δ }} δ B i j 1 k B i+1 j k B i+2 j k 1, B ijk/w ijk, 0 para 2 i n 2, 2 j n 1, 2 k n 1. ( ) {{Wi R b6 j+1 k+δ W i+1 j+1 k+δ W i+1 j,k+δ }} δ B i 1 j k B i j 1 k 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 2 k n 1. ( ) {{Wi 1 R b7 j 1 k+δ W i j 1 k+δ W i 1 j+1 k+δ }} δ B i+1 j k B i+2 j k B i j+1 k B i j+2 k 1, B ijk/w ijk, 0 para 2 i n 2, 2 j n 1, 2 k n 1. 31

36 ( ) {{Wi R b8 j 1 k+δ W i+1 j 1 k+δ W i+1 j k+δ }} δ B i j+1 k B i j+2 k B i 1 j k 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 2, 3 k n 1. ( ) {{Wi+δ R b9 j+1 k W i+δ j+1 k+1 W i+δ j k+1 }} δ B i j k 1 B i j k 2 B i j 1 k 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 3 k n 1. ( ) {{Wi+δ R b10 j+1 k 1 W i+δ j+1 k W i+δ j k 1 }} δ B i j 1 k B i j k+1 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 2 k n 1. ( ) {{Wi+δ R b11 j 1 k W i+δ j 1 k+1 W i+δ j k+1 }} δ B i j+1 k B i j+2 k B i j k 1 B i j k 2 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 2, 3 k n 1. ( ) {{Wi+δ R b12 j 1 k 1 W i+δ j 1 k W i+δ j k 1 }} δ B i j k+1 B i j+1 k B i j+2 k 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 2, 2 k n 1. Reglas de evolución para las plantillas de la clase C. ( ) {{Wi+1 R c1 j+δ k W i+1 j+δ k+1 W i j+δ k+1 }} δ + W i j+1 k B i j k 1 B i j k 2 B i j 1 k B i 1 j k 1, B ijk/w ijk, 0 para 1 i n 1, 2 j n 2, 3 k n 1. ( ) {{Wi+δ R c2 j k 1 W i+δ j+1 k 1 W i+δ j+1 k }} δ + W i j+1 k B i j 1 k B i j k+1 B i 1 j k 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 2 k n 1. ( ) {{Wi R c3 j+δ k 1 W i 1 j+δ k 1 W i 1 j+δ k }} δ + W i j+1 k B i j 1 k B i j k+1 B i+1 j k B i+2 j k 1, B ijk/w ijk, 0 para 2 i n 2, 2 j n 1, 2 k n 1. ( ) {{Wi 1 R c4 j+δ k W i 1 j+δ k+1 W i j+δ k+1 }} δ + W i j+1 k B i+1 j k B i+2 j k B i j k 1 B i j k 2 1, B ijk/w ijk, 0 para i n 2, 2 j n 1, 3 k n 1. ( ) {{Wi+1 R c5 j δ k W i+1 j δ k+1 W i j δ k+1 }} δ + W i j 1 k B i 1 j k B i j+1 k B i j+2 k B i j k 1 B i j k 2 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 2, 3 k n 1. ( ) {{Wi R c6 j δ k W i+1 j δ k 1 W i+1 j δ k }} δ + W i j 1 k B i j+1 k B i j+2 k B i j k+1 B i 1 j k 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 2, 3 k n 1. ( ) {{Wi 1 R c7 j δ k W i 1 j δ k 1 W i j δ k 1 }} δ + W i j 1 k B i j k+1 B i j+1 k B i j+2 k B i+1 j k B i+2 j k 1, B ijk/w ijk, 0 para 2 i n 2, 2 j n 2, 2 k n 1. 32

37 ( {{Wi R c8 j δ k+1 W i 1 j δ k+1 W i 1 j δ k }} δ + W i j 1 k B i j+1 k B i j+2 k B i+1 j k B i+2 j k B i j k 1 B i j k 2 para 2 i n 2, 2 j n 2, 3 k n 1. ) 1, B ijk/w ijk, 0 Reglas de evolución para las plantillas de la clase D. {{W i+δ1 j+1 k+δ 2 }} δ1,δ 2 P i j k 1 R d1 {{W i 1 j δ1 k+δ 2 }} δ1 +,δ 2 P i j k+1 W i j 1 k W i+1 j k B abc B i+1 j 1 k 1, B ijk/w ijk, 0 para (P, P ) {B, W } 2 \ {(B, B)}, (a, b, c) {(i, j 2, k), (i + 1, j 2, k), (i + 2, j 2, k), (i + 2, j 1, k), (i + 2, j, k)}, 2 i n 1, 3 j n 1, 2 k n 1. {{W i+δ1 j 1 k+δ 2 }} δ1,δ 2 P i j k 1 R d2 {{W i 1 j+δ1 k+δ 2 }} δ1 +,δ 2 P i j k+1 W i+1 j k W i j+1 k B abc B i+1 j+1 k 1, B ijk/w ijk, 0 para (P, P ) {B, W } 2 \ {(B, B)}, (a, b, c) {(i+2, j, k), (i+1, j +1, k), (i+2, j +2, k), (i+1, j + 2, k), (i, j + 2, k)}, 2 i n 2, 2 j n 2, 2 k n 1. R d3 para {{W i 1 j+δ1 k+δ 2 }} δ1,δ 2 P i j 1 k {{W i j+δ k+2 }} δ1 P i j+1 k W i+1 j k+2 W i+1 j+1 k+2 W i+1 j k W i j k+1 B abc B i+1 j k 1 1, B ijk /W ijk, 0 (P, P ) {B, W } 2 \ {(B, B)}, (a, b, c) {(i + 2, j, k), (i + 2, j, k 1), (i + 2, j, k 2), (i + 1, j, k 2), (i, j, k 2)}, 2 i n 2, 2 j n 1, 3 k n 1. {{W i 1 j+δ1 k+δ 2 }} δ1,δ 2 P i j 1 k R d4 {{W i+δ1 j+δ 2 k 1}} δ1 +,δ 2 P i j+1 k W i+1 j k W i j k+1 B abc B i+1 j k+1 1, B ijk/w ijk, 0 para (P, P ) {B, W } 2 \ {(B, B)}, (a, b, c) {(i 1, j, k + 2), (i, j, k + 2), (i + 1, j, k + 2), (i + 1, j, k + 1), (i + 1, j, k)}, 2 i n 2, 2 j n 1, 2 k n 2. 33

38 {{W i+δ1 j+δ 2 k+1}} δ1,δ 2 P i+1 j k R d5 {{W i δ1 j+1 k+δ 2 }} δ1 +,δ 2 P i 1 j k W i j k 1 W i j 1 k B abc B i j 1 k 1 1, B ijk/w ijk, 0 para (P, P ) {B, W } 2 \ {(B, B)}, (a, b, c) {(i, j, k 2), (i, j 1, k 2), (i, j 2, k 2), (i, j 2, k 1), (i, j 2, k)}, 2 i n 1, 3 j n 1, 3 k n 1. {{W i+δ1 j 1 k+δ 2 }} δ1,δ 2 P i+1 j k R d6 {{W i+δ1 j+δ 2 k+1}} δ1,δ 2 +P i 1 j k W i j+1 k W i j k 1 B abc B i j k 1 1, B ijk/w ijk, 0 para (P, P ) {B, W } 2 \ {(B, B)}, (a, b, c) {(i, j, k 2), (i, j + 1, k 2), (i, j + 2, k 2), (i, j + 2, k 1), (i, j + 2, k)}, 2 i n 1, 2 j n 2, 3 k n 1. W i 1 j 1 k 1 W i 1 j k 1 W i 1 j k B i 1 j k+1 W i 1 j+1 k R d7 1 W i j k 1 W i j 1 k W i j k 1 W i j k+1 W i j+1 k 1 W i j+1 k {{W i+1 j+δ1 k+δ 2 }} δ1,δ 2 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 2 k n 1. W i 1 j 1 k 1 W i 1 j k 1 W i 1 j k B i 1 j k+1 R d7 2 W i j 1 k 1 W i j 1 k W i j k 1 W i j k+1 B i j+1 k {{W i+1 j δ1 k+δ 2 }} δ1 1, B ijk/w ijk, 0 +,δ 2 para 2 i n 1, 2 j n 1, 2 k n 1. W i 1 j k 1 W i 1 j k B i 1 j k+1 W i 1 j+1 k R d7 3 B i j 1 k W i j k 1 W i j k+1 W i j+1 k 1 W i j+1 k {{W i+1 j+δ1 k+δ 2 }} δ1 1, B ijk/w ijk, 0 +,δ 2 para 2 i n 1, 2 j n 1, 2 k n 1. W i 1 j 1 k 1 B i 1 j k 1 W i 1 j k W i 1 j k+1 W i 1 j+1 k+1 R d8 1 W i j 1 k W i j 1 k+1 W i j k 1 W i j+1 k 1 W i j+1 k W i j+1 k+1 {{W i+1 j+δ1 k+δ 2 }} δ1,δ 2 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 2 k n 1. W i 1 j 1 k 1 B i 1 j k 1 W i 1 j k W i 1 j k+1 R d8 2 W i j 1 k W i j 1 k+1 W i j k 1 W i j k+1 B i j+1 k {{W i+1 j δ1 k+δ 2 }} δ1 1, B ijk/w ijk, 0 +,δ 2 para 2 i n 1, 2 j n 1, 2 k n 1. B i 1 j 1 k 1 W i 1 j k W i 1 j k+1 W i 1 j+1 k+1 R d8 3 B i j 1 k W i j k 1 W i j k+1 W i j+1 k W i j+1 k+1 {{W i+1 j+δ1 k+δ 2 }} δ1 1, B ijk/w ijk, 0 +,δ 2 para 2 i n 1, 2 j n 1, 2 k n 1. 34

39 B i 1 j 1 k W i 1 j k W i 1 j+1 k 1 W i 1 j+1 k W i 1 j+1 k+1 R d9 1 W i j 1 k W i j k 1 W i j k+1 W i j+1 k 1 W i j+1 k W i j+1 k+1 {{W i+1 j+δ1 k+δ 2 }} δ1,δ 2 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 2 k n 1. B i 1 j 1 k W i 1 j k W i 1 j+1 k 1 W i 1 j+1 k R d9 2 W i j 1 k W i j k 1 B i j k+1 W i j+1 k 1 W i j+1 k {{W i+1 j+δ1 k δ 2 }} δ1 1, B ijk/w ijk, 0,δ 2 + para 2 i n 1, 2 j n 1, 2 k n 1. B i 1 j 1 k W i 1 j k W i 1 j+1 k W i 1 j+1 k+1 R d9 3 W i j 1 k B i j k 1 W i j k+1 W i j+1 k W i j+1 k+1 {{W i+1 j+δ1 k+δ 2 }} δ1 1, B ijk/w ijk, 0,δ 2 + para 2 i n 1, 2 j n 1, 2 k n 1. W i 1 j 1 k 1 W i 1 j 1 k W i 1 j 1 k+1 W i 1 j k B i 1 j+1 k R d10 1 W i j 1 k 1 W i j 1 k W i j 1 k+1 W i j k 1 W i j k+1 W i j+1 k {{W i+1 j+δ1 k+δ 2 }} δ1,δ 2 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 2 k n 1. W i 1 j 1 k 1 W i 1 j 1 k W i 1 j k B i 1 j+1 k R d10 2 W i j 1 k 1 W i j 1 k W i j k 1 B i j k+1 W i j+1 k {{W i+1 j+δ1 k δ 2 }} δ1 1, B ijk/w ijk, 0,δ + para 2 i n 1, 2 j n 1, 2 k n 1. W i 1 j 1 k W i 1 j 1 k+1 W i 1 j k Bi 1 j + 1 k R d10 3 W i j 1 k W i j 1 k+1 B i j k 1 W i j k+1 W i j+1 k {{W i+1 j+δ1 k+δ 2 }} δ1 1, B ijk/w ijk, 0,δ + para 2 i n 1, 2 j n 1, 2 k n 1. W i 1 j k {{W i j 1 k+δ }} δ W i j k 1 R d11 1 W i j k+1 W i j+1 k B i j+1 k+1 {{W i+1 j 1 k+δ }} δ {{W i+1 j k δ }} δ +W i+1 j+1 k 1 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 2 k n 1. {{W i 1 j 1 k+δ }} δ {{W i 1 j k δ }} δ R d11 2 W i 1 j+1 k {{W i j 1 k+δ }} δ W i j k 1 W i j k+1 W i j+1 k 1 W i j+1 k B i j+1 k+1 B i+1 j k 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 2 k n 1. B i 1 j k {{W i j 1 k+δ }} δ W i j k 1 W i j k+1 R d11 3 W i j+1 k 1 W i j+1 k B i j+1 k+1 {{W i+1 j 1 k+δ }} δ {{W i+1 j k δ }} δ +W i+1 j+1 k 1 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 2 k n 1. W i 1 j 1 k 1 {{W i 1 j k δ }} δ +{{W i 1 j+1 k+δ }} δ R d12 1 W i j k 1 B i j 1 k+1 W i j k 1 W i j k+1 {{W i j+1 k+δ }} δ W i+1 j 1 k 1 {{W i+1 j k δ }} δ +{{W i+1 j+1 k+δ }} δ 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 2 k n 1. 35

40 Problema de esqueletización de imágenes binarias 3D Complejidad Números de pasos de computación O(n) Recursos necesarios Tamaño del alfabeto 2n 3 Número inicial de células 2 Número inicial de objetos O(n 3 ) Número de reglas O(n 3 ) Cota superior para la longitud de las reglas de los P sistemas 30 Cuadro 6.1: Complejidad y recursos necesarios para el algoritmo de esqueletización. W i 1 j 1 k 1 {{W i 1 j k δ }} δ +{{W i 1 j+1 k+δ }} δ R d12 2 W i j k 1 B i j 1 k+1 W i j k 1 W i j k+1 {{W i j+1 k+δ }} δ B i+1 j k 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 2 k n 1. B i 1 j k R d12 3 W i j 1 k 1 B i j 1 k+1 W i j k 1 W i j k+1 {{W i j+1 k+δ }} δ W i+1 j 1 k 1 {{W i+1 j k δ }} δ +{{W i+1 j+1 k+δ }} δ 1, B ijk/w ijk, 0 para 2 i n 1, 2 j n 1, 2 k n Complejidad del algoritmo y recursos necesarios Teniendo en cuenta que el tamaño de los datos de entrada es O(n 3 ), la cantidad de recursos necesarios para definir los P sistemas de la familia y la complejidad del algoritmo de esqueletización son los que aparecen en la tabla 6.1, donde podemos observar que el algoritmo desarrollado es de tipo logarítmico ya que el proceso de esqueletización se termina, a lo sumo, en n/2 pasos (que es el tamaño de la mayor bola contenida en el objeto). 36

Operaciones Morfológicas en Imágenes Binarias

Operaciones Morfológicas en Imágenes Binarias Operaciones Morfológicas en Imágenes Binarias Introducción La morfología matemática es una herramienta muy utilizada en el procesamiento de i- mágenes. Las operaciones morfológicas pueden simplificar los

Más detalles

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

Tema 2. Espacios Vectoriales. 2.1. Introducción

Tema 2. Espacios Vectoriales. 2.1. Introducción Tema 2 Espacios Vectoriales 2.1. Introducción Estamos habituados en diferentes cursos a trabajar con el concepto de vector. Concretamente sabemos que un vector es un segmento orientado caracterizado por

Más detalles

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de cualquier modelo en el software Algor. La preparación de un modelo,

Más detalles

Universidad Nacional de Quilmes Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Agosto de 2005

Universidad Nacional de Quilmes Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Agosto de 2005 Apertura y Clausura (Opening and Closing) Como vimos, la dilatación y la erosión están muy relacionadas con la forma; la primera operación expande la imagen mientras que la segunda la contrae. La dilatación

Más detalles

Tema 6: Morfología. Primera parte

Tema 6: Morfología. Primera parte Tema 6: Morfología Primera parte Morfología La morfología matemática se basa en operaciones de teoría de conjuntos. En el caso de imágenes binarias, los conjuntos tratados son subconjuntos de Z 2 y en

Más detalles

Ampliación de Estructuras de Datos

Ampliación de Estructuras de Datos Ampliación de Estructuras de Datos Amalia Duch Barcelona, marzo de 2007 Índice 1. Diccionarios implementados con árboles binarios de búsqueda 1 2. TAD Cola de Prioridad 4 3. Heapsort 8 1. Diccionarios

Más detalles

1.1. Introducción y conceptos básicos

1.1. Introducción y conceptos básicos Tema 1 Variables estadísticas Contenido 1.1. Introducción y conceptos básicos.................. 1 1.2. Tipos de variables estadísticas................... 2 1.3. Distribuciones de frecuencias....................

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

EL MODELO DE DATOS RASTER

EL MODELO DE DATOS RASTER EL MODELO DE DATOS RASTER El modelo de datos raster, como señala Bosque (1992), es el modelo de datos complementario al modelo vectorial presentado anteriormente. Tiene como principal característica el

Más detalles

Indicaciones específicas para los análisis estadísticos.

Indicaciones específicas para los análisis estadísticos. Tutorial básico de PSPP: Vídeo 1: Describe la interfaz del programa, explicando en qué consiste la vista de datos y la vista de variables. Vídeo 2: Muestra cómo crear una base de datos, comenzando por

Más detalles

Tema 3. Medidas de tendencia central. 3.1. Introducción. Contenido

Tema 3. Medidas de tendencia central. 3.1. Introducción. Contenido Tema 3 Medidas de tendencia central Contenido 31 Introducción 1 32 Media aritmética 2 33 Media ponderada 3 34 Media geométrica 4 35 Mediana 5 351 Cálculo de la mediana para datos agrupados 5 36 Moda 6

Más detalles

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama. Diagrama de Flujo La presentación gráfica de un sistema es una forma ampliamente utilizada como herramienta de análisis, ya que permite identificar aspectos relevantes de una manera rápida y simple. El

Más detalles

Ecuaciones de primer grado con dos incógnitas

Ecuaciones de primer grado con dos incógnitas Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad

Más detalles

Universidad Nacional de Quilmes Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Agosto de 2005

Universidad Nacional de Quilmes Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Agosto de 2005 Extracción de Frontera (Boundary Extraction) La frontera de un conjunto A, escrita como β(a), se puede obtener erosionando A por B y luego calcular la diferencia entre A y su erosión. Esto es β ( A) =

Más detalles

Subconjuntos destacados en la

Subconjuntos destacados en la 2 Subconjuntos destacados en la topología métrica En este capítulo, introducimos una serie de conceptos ligados a los puntos y a conjuntos que por el importante papel que juegan en la topología métrica,

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

Operación de Microsoft Excel

Operación de Microsoft Excel Representación gráfica de datos Generalidades Excel puede crear gráficos a partir de datos previamente seleccionados en una hoja de cálculo. El usuario puede incrustar un gráfico en una hoja de cálculo,

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

LÍMITES Y CONTINUIDAD DE FUNCIONES

LÍMITES Y CONTINUIDAD DE FUNCIONES Capítulo 9 LÍMITES Y CONTINUIDAD DE FUNCIONES 9.. Introducción El concepto de ite en Matemáticas tiene el sentido de lugar hacia el que se dirige una función en un determinado punto o en el infinito. Veamos

Más detalles

Funciones, x, y, gráficos

Funciones, x, y, gráficos Funciones, x, y, gráficos Vamos a ver los siguientes temas: funciones, definición, dominio, codominio, imágenes, gráficos, y algo más. Recordemos el concepto de función: Una función es una relación entre

Más detalles

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia. DISCOS RAID Raid: redundant array of independent disks, quiere decir conjunto redundante de discos independientes. Es un sistema de almacenamiento de datos que utiliza varias unidades físicas para guardar

Más detalles

SÍNTESIS Y PERSPECTIVAS

SÍNTESIS Y PERSPECTIVAS SÍNTESIS Y PERSPECTIVAS Los invitamos a observar, a identificar problemas, pero al mismo tiempo a buscar oportunidades de mejoras en sus empresas. REVISIÓN DE CONCEPTOS. Esta es la última clase del curso.

Más detalles

Apuntes de Matemática Discreta 9. Funciones

Apuntes de Matemática Discreta 9. Funciones Apuntes de Matemática Discreta 9. Funciones Francisco José González Gutiérrez Cádiz, Octubre de 004 Universidad de Cádiz Departamento de Matemáticas ii Lección 9 Funciones Contenido 9.1 Definiciones y

Más detalles

Estructuras de Control - Diagrama de Flujo

Estructuras de Control - Diagrama de Flujo RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Ingeniería en Computación Ingeniería en Informática UNIVERSIDAD NACIONAL DE SAN LUIS DEPARTAMENTO DE INFORMÁTICA AÑO 2015 Índice 1. Programación estructurada 2 1.1.

Más detalles

Contenidos. Introducción general

Contenidos. Introducción general Contenidos Introducción general Test Uno: Razonamiento Test Dos: Velocidad de percepción Test Tres: Velocidad y precisión numérica Test Cuatro: Significación verbal Test Cinco: Razonamiento espacial Esta

Más detalles

forma de entrenar a la nuerona en su aprendizaje.

forma de entrenar a la nuerona en su aprendizaje. Sistemas expertos e Inteligencia Artificial,Guía5 1 Facultad : Ingeniería Escuela : Computación Asignatura: Sistemas expertos e Inteligencia Artificial Tema: SISTEMAS BASADOS EN CONOCIMIENTO. Objetivo

Más detalles

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS Nuestra empresa es una pequeña editorial que maneja habitualmente su lista de ventas en una hoja de cálculo y desea poder realizar un análisis de sus

Más detalles

Bases de datos en Excel

Bases de datos en Excel Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos

Más detalles

SISTEMAS DE COORDENADAS SISTEMA COORDENADO UNIDIMENSIONAL

SISTEMAS DE COORDENADAS SISTEMA COORDENADO UNIDIMENSIONAL SISTEMAS DE COORDENADAS En la vida diaria, nos encontramos con el problema de ordenar algunos objetos; de tal manera que es necesario agruparlos, identificarlos, seleccionarlos, estereotiparlos, etc.,

Más detalles

Covarianza y coeficiente de correlación

Covarianza y coeficiente de correlación Covarianza y coeficiente de correlación Cuando analizábamos las variables unidimensionales considerábamos, entre otras medidas importantes, la media y la varianza. Ahora hemos visto que estas medidas también

Más detalles

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx Resumen Se dan algunas definiciones básicas relacionadas con la divisibilidad

Más detalles

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora Plataforma e-ducativa Aragonesa Manual de Administración Bitácora ÍNDICE Acceso a la administración de la Bitácora...3 Interfaz Gráfica...3 Publicaciones...4 Cómo Agregar una Publicación...4 Cómo Modificar

Más detalles

Actividades con GeoGebra

Actividades con GeoGebra Conectar Igualdad - "Netbooks Uno a Uno" Actividades con GeoGebra Nociones básicas, rectas Silvina Ponce Dawson Introducción. El GeoGeobra es un programa que permite explorar nociones matemáticas desde

Más detalles

PARTE 3 ECUACIONES DE EQUIVALENCIA FINANCIERA T E M A S

PARTE 3 ECUACIONES DE EQUIVALENCIA FINANCIERA T E M A S PARTE 3 ECUACIONES DE EQUIVALENCIA FINANCIERA Valor del dinero en el tiempo Conceptos de capitalización y descuento Ecuaciones de equivalencia financiera Ejercicio de reestructuración de deuda T E M A

Más detalles

Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones.

Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones. Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones. 2.1 Revisión sistema reconocimiento caracteres [9]: Un sistema de reconocimiento típicamente esta conformado por

Más detalles

2_trabajar con calc I

2_trabajar con calc I Al igual que en las Tablas vistas en el procesador de texto, la interseccción de una columna y una fila se denomina Celda. Dentro de una celda, podemos encontrar diferentes tipos de datos: textos, números,

Más detalles

Aproximación local. Plano tangente. Derivadas parciales.

Aproximación local. Plano tangente. Derivadas parciales. Univ. de Alcalá de Henares Ingeniería de Telecomunicación Cálculo. Segundo parcial. Curso 004-005 Aproximación local. Plano tangente. Derivadas parciales. 1. Plano tangente 1.1. El problema de la aproximación

Más detalles

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases. BASES Y DIMENSIÓN Definición: Base. Se llama base de un espacio (o subespacio) vectorial a un sistema generador de dicho espacio o subespacio, que sea a la vez linealmente independiente. β Propiedades

Más detalles

1. Producto escalar, métrica y norma asociada

1. Producto escalar, métrica y norma asociada 1. asociada Consideramos el espacio vectorial R n sobre el cuerpo R; escribimos los vectores o puntos de R n, indistintamente, como x = (x 1,..., x n ) = n x i e i i=1 donde e i son los vectores de la

Más detalles

Capítulo 9. Archivos de sintaxis

Capítulo 9. Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

POWER POINT. Iniciar PowerPoint

POWER POINT. Iniciar PowerPoint POWER POINT Power Point es la herramienta de Microsoft Office para crear presentaciones que permiten comunicar información e ideas de forma visual y atractiva. Iniciar PowerPoint Coloque el cursor y dé

Más detalles

Guía paso a paso para la cumplimentación del formulario de candidatura

Guía paso a paso para la cumplimentación del formulario de candidatura Guía paso a paso para la cumplimentación del formulario de candidatura INDICE 1. INSTRUCCIONES GENERALES... 2 2. PARTENARIADO... 4 3. GRUPOS DE TAREAS... 8 4. INDICADORES... 14 5. CUMPLIMENTACIÓN DEL RESTO

Más detalles

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa

Más detalles

6. VECTORES Y COORDENADAS

6. VECTORES Y COORDENADAS 6. VECTORES Y COORDENADAS Página 1 Traslaciones. Vectores Sistema de referencia. Coordenadas. Punto medio de un segmento Ecuaciones de rectas. Paralelismo. Distancias Página 2 1. TRASLACIONES. VECTORES

Más detalles

Métodos Heurísticos en Inteligencia Artificial

Métodos Heurísticos en Inteligencia Artificial Métodos Heurísticos en Inteligencia Artificial Javier Ramírez rez-rodríguez Ana Lilia Laureano-Cruces Universidad Autónoma Metropolitana Métodos Heurísticos en Inteligencia Artificial Los problemas de

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

ANÁLISIS DE DATOS NO NUMERICOS

ANÁLISIS DE DATOS NO NUMERICOS ANÁLISIS DE DATOS NO NUMERICOS ESCALAS DE MEDIDA CATEGORICAS Jorge Galbiati Riesco Los datos categóricos son datos que provienen de resultados de experimentos en que sus resultados se miden en escalas

Más detalles

Roberto Quejido Cañamero

Roberto Quejido Cañamero Crear un documento de texto con todas las preguntas y respuestas del tema. Tiene que aparecer en él todos los contenidos del tema. 1. Explica qué son los modos de presentación en Writer, cuáles hay y cómo

Más detalles

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente: Departamento de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Antioquia Arquitectura de Computadores y Laboratorio ISI355 (2011 2) Práctica No. 1 Diseño e implementación de una unidad aritmético

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que

Más detalles

Apuntes de Matemática Discreta 7. Relaciones de Orden

Apuntes de Matemática Discreta 7. Relaciones de Orden Apuntes de Matemática Discreta 7. Relaciones de Orden Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 7 Relaciones de Orden Contenido

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

Estructuras de datos: Proyecto 2

Estructuras de datos: Proyecto 2 Estructuras de datos: Proyecto 2 28 de mayo de 2013 Instrucciones Enviar las soluciones por email a los ayudantes, con copia a la profesora. Plazo de entrega: 16 de junio (durante todo el día). Se debe

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL ELECTRÓNICA DIGITAL La electrónica es la rama de la ciencia que se ocupa del estudio de los circuitos y de sus componentes, que permiten modificar la corriente eléctrica amplificándola, atenuándola, rectificándola

Más detalles

CASO PRAÁ CTICOPREÉ STAMOS. CAÁLCULO DE CUOTAS

CASO PRAÁ CTICOPREÉ STAMOS. CAÁLCULO DE CUOTAS CASO PRAÁ CTICOPREÉ STAMOS. CAÁLCULO DE CUOTAS Nuestra empresa necesita adquirir una nueva nave industrial por la que debe pagar 700.000,00. Para financiar el pago solicitaremos un préstamo hipotecario

Más detalles

5.4. Manual de usuario

5.4. Manual de usuario 5.4. Manual de usuario En esta sección se procederá a explicar cada una de las posibles acciones que puede realizar un usuario, de forma que pueda utilizar todas las funcionalidades del simulador, sin

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

SEGURIDAD Y PROTECCION DE FICHEROS

SEGURIDAD Y PROTECCION DE FICHEROS SEGURIDAD Y PROTECCION DE FICHEROS INTEGRIDAD DEL SISTEMA DE ARCHIVOS ATAQUES AL SISTEMA PRINCIPIOS DE DISEÑO DE SISTEMAS SEGUROS IDENTIFICACIÓN DE USUARIOS MECANISMOS DE PROTECCIÓN Y CONTROL INTEGRIDAD

Más detalles

Generación de funciones lógicas mediante decodificadores binarios con salidas activas a nivel alto

Generación de funciones lógicas mediante decodificadores binarios con salidas activas a nivel alto Generación de funciones lógicas mediante decodificadores binarios con salidas activas a nivel alto Apellidos, nombre Martí Campoy, Antonio (amarti@disca.upv.es) Departamento Centro Informática de Sistemas

Más detalles

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007 Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el

Más detalles

PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores

PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores Martha Alicia Alles Es contadora pública nacional, doctora por la Universidad de Buenos Aires en la especialidad

Más detalles

COMPARACIÓN DE ÁREAS DE FIGURAS POR ESTUDIANTES DE PRIMERO DE MAGISTERIO

COMPARACIÓN DE ÁREAS DE FIGURAS POR ESTUDIANTES DE PRIMERO DE MAGISTERIO COMPARACIÓN DE ÁREAS DE FIGURAS POR ESTUDIANTES DE PRIMERO DE MAGISTERIO Sonia Aguilera Piqueras y Pablo Flores Martínez Departamento de Didáctica de la Matemática Universidad de Granada 1. Introducción

Más detalles

Módulo 9 Sistema matemático y operaciones binarias

Módulo 9 Sistema matemático y operaciones binarias Módulo 9 Sistema matemático y operaciones binarias OBJETIVO: Identificar los conjuntos de números naturales, enteros, racionales e irracionales; resolver una operación binaria, representar un número racional

Más detalles

Tema 3. Espacios vectoriales

Tema 3. Espacios vectoriales Tema 3. Espacios vectoriales Estructura del tema. Definición y propiedades. Ejemplos. Dependencia e independencia lineal. Conceptos de base y dimensión. Coordenadas Subespacios vectoriales. 0.1. Definición

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA Perfil Entidad Proveedora El objetivo del módulo de Gestión de Solicitudes vía Internet es facilitar el trabajo

Más detalles

4.Diseño de Bases de Datos (I)

4.Diseño de Bases de Datos (I) 4.Diseño de Bases de Datos (I) 4.1 Anomalías. Se denominan así en teoría de Bases de Datos a ciertos problemas que aparecen con frecuencia en el manejo de las mismas cuando el diseño no ha sido realizado

Más detalles

Sitios remotos. Configurar un Sitio Remoto

Sitios remotos. Configurar un Sitio Remoto Sitios remotos Definir un sitio remoto significa establecer una configuración de modo que Dreamweaver sea capaz de comunicarse directamente con un servidor en Internet (por eso se llama remoto) y así poder

Más detalles

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 5.1.3 Multiplicación de números enteros. El algoritmo de la multiplicación tal y como se realizaría manualmente con operandos positivos de cuatro bits es el siguiente: 1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0

Más detalles

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie. Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 9. Reglas de Integridad 1.- Introducción. 2.- Claves Primarias. 3.- Regla de Integridad de Entidades. 4.- Claves Ajenas. 5.- Regla de Integridad

Más detalles

1. Topología de BUS / Linear Bus. 2. Topología de Estrella / Star. 3. Topología de Estrella Cableada / Star Wired Ring. 4. Topología de Árbol / Tree

1. Topología de BUS / Linear Bus. 2. Topología de Estrella / Star. 3. Topología de Estrella Cableada / Star Wired Ring. 4. Topología de Árbol / Tree TOPOLOGÍA DE REDES Las topologías más corrientes para organizar las computadoras de una red son las de punto a punto, de bus, en estrella y en anillo. La topología de punta a punta es la más sencilla,

Más detalles

GRAFOS. Prof. Ing. M.Sc. Fulbia Torres

GRAFOS. Prof. Ing. M.Sc. Fulbia Torres ESTRUCTURAS DE DATOS 2006 Prof. DEFINICIÓN Un grafo consta de un conjunto de nodos(o vértices) y un conjunto de arcos (o aristas). Cada arco de un grafo se especifica mediante un par de nodos. Denotemos

Más detalles

Materia: Informática. Nota de Clases Sistemas de Numeración

Materia: Informática. Nota de Clases Sistemas de Numeración Nota de Clases Sistemas de Numeración Conversión Entre Sistemas de Numeración 1. EL SISTEMA DE NUMERACIÓN 1.1. DEFINICIÓN DE UN SISTEMA DE NUMERACIÓN Un sistema de numeración es un conjunto finito de símbolos

Más detalles

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES Tema: Cartas de Servicios Primera versión: 2008 Datos de contacto: Evaluación y Calidad. Gobierno de Navarra. evaluacionycalidad@navarra.es

Más detalles

Gestión de Retales WhitePaper Noviembre de 2009

Gestión de Retales WhitePaper Noviembre de 2009 Gestión de Retales WhitePaper Noviembre de 2009 Contenidos 1. Introducción 3 2. Almacén de retales 4 3. Propiedades de los materiales 6 4. Alta de retales 8 5. Utilización de retales en un lote de producción

Más detalles

GUÍA BÁSICA USUARIO MOODLE 2.6

GUÍA BÁSICA USUARIO MOODLE 2.6 GUÍA BÁSICA USUARIO MOODLE 2.6 Esta guía representa los pasos a seguir por el alumno desde la aceptación en un curso Moodle hasta su posterior utilización, pero antes de explicar la forma de acceder y

Más detalles

- MANUAL DE USUARIO -

- MANUAL DE USUARIO - - MANUAL DE USUARIO - Aplicación: Kz Precio Hora Instagi Instagi Teléfono: 943424465-943466874 Email: instagi@instagi.com GUIA PROGRAMA CALCULO PRECIO HORA 1. Introducción 2. Datos de la empresa 2.1.Gastos

Más detalles

Operación Microsoft Access 97

Operación Microsoft Access 97 Trabajar con Controles Características de los controles Un control es un objeto gráfico, como por ejemplo un cuadro de texto, un botón de comando o un rectángulo que se coloca en un formulario o informe

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Servicio DNS - 1 - Servicio DNS...- 3 - Definición... - 3 - Instalación... - 5 - Configuración del Servidor DNS...- 10 - - 2 - Servicio DNS Definición

Más detalles

DOMINIO Y RANGO página 89. Cuando se grafica una función existen las siguientes posibilidades:

DOMINIO Y RANGO página 89. Cuando se grafica una función existen las siguientes posibilidades: DOMINIO Y RANGO página 89 3. CONCEPTOS Y DEFINICIONES Cuando se grafica una función eisten las siguientes posibilidades: a) Que la gráfica ocupe todo el plano horizontalmente (sobre el eje de las ). b)

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

INTRODUCCION A LA PROGRAMACION DE PLC

INTRODUCCION A LA PROGRAMACION DE PLC INTRODUCCION A LA PROGRAMACION DE PLC Esta guía se utilizará para estudiar la estructura general de programación de um PLC Instrucciones y Programas Una instrucción u orden de trabajo consta de dos partes

Más detalles

, y su resultado es igual a la suma de los productos de las coordenadas correspondientes. Si u = (u 1, u 2 ) y v = (v 1, v 2 ), = u1 v 1 + u 2 v 2

, y su resultado es igual a la suma de los productos de las coordenadas correspondientes. Si u = (u 1, u 2 ) y v = (v 1, v 2 ), = u1 v 1 + u 2 v 2 Los vectores Los vectores Distancia entre dos puntos del plano Dados dos puntos coordenados del plano, P 1 = (x 1, y 1 ) y P = (x, y ), la distancia entre estos dos puntos, d(p 1,P ), se calcula de la

Más detalles

DISEÑO DE FUNCIONES (TRATAMIENTOS)

DISEÑO DE FUNCIONES (TRATAMIENTOS) DISEÑO DE FUNCIONES (TRATAMIENTOS) Diseño Estructurado. Estrategias para Derivar el Diagrama de Estructura. Diseño de Módulos Programables. 1. DISEÑO ESTRUCTURADO El Diseño es el proceso por el cual se

Más detalles

Metodología. del ajuste estacional. Tablero de Indicadores Económicos

Metodología. del ajuste estacional. Tablero de Indicadores Económicos Metodología del ajuste estacional Tablero de Indicadores Económicos Metodología del ajuste estacional Componentes de una serie de tiempo Las series de tiempo están constituidas por varios componentes que,

Más detalles

28 = 16 + 8 + 4 + 0 + 0 = 11100 1

28 = 16 + 8 + 4 + 0 + 0 = 11100 1 ELECTRÓNICA DIGITAL 4º ESO Tecnología Introducción Imaginemos que deseamos instalar un sistema electrónico para la apertura de una caja fuerte. Para ello debemos pensar en el número de sensores que nos

Más detalles

Árboles AVL. Laboratorio de Programación II

Árboles AVL. Laboratorio de Programación II Árboles AVL Laboratorio de Programación II Definición Un árbol AVL es un árbol binario de búsqueda que cumple con la condición de que la diferencia entre las alturas de los subárboles de cada uno de sus

Más detalles

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor

Más detalles

3.1 DEFINICIÓN. Figura Nº 1. Vector

3.1 DEFINICIÓN. Figura Nº 1. Vector 3.1 DEFINICIÓN Un vector (A) una magnitud física caracterizable mediante un módulo y una dirección (u orientación) en el espacio. Todo vector debe tener un origen marcado (M) con un punto y un final marcado

Más detalles

Unidad Didáctica. Códigos Binarios

Unidad Didáctica. Códigos Binarios Unidad Didáctica Códigos Binarios Programa de Formación Abierta y Flexible Obra colectiva de FONDO FORMACION Coordinación Diseño y maquetación Servicio de Producción Didáctica de FONDO FORMACION (Dirección

Más detalles

a < b y se lee "a es menor que b" (desigualdad estricta) a > b y se lee "a es mayor que b" (desigualdad estricta)

a < b y se lee a es menor que b (desigualdad estricta) a > b y se lee a es mayor que b (desigualdad estricta) Desigualdades Dadas dos rectas que se cortan, llamadas ejes (rectangulares si son perpendiculares, y oblicuos en caso contrario), un punto puede situarse conociendo las distancias del mismo a los ejes,

Más detalles

Sistemas de numeración

Sistemas de numeración Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan

Más detalles

Estructuras de Datos y Algoritmos. Árboles de Expresión

Estructuras de Datos y Algoritmos. Árboles de Expresión Estructuras de Datos y Algoritmos Árboles de Expresión Año 2014 Introducción Los avances tecnológicos producen día a día una gran cantidad de información que debe ser almacenada y procesada en forma eficiente.

Más detalles

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 1 Conjuntos y Subconjuntos

Más detalles