Propuesta para Trabajo de Grado



Yüklə 257,47 Kb.
səhifə6/11
tarix28.10.2017
ölçüsü257,47 Kb.
#18722
1   2   3   4   5   6   7   8   9   10   11

Investigación avanzada


Luego de haber generado el primer prototipo, surgió la idea de visualizar mallas de ITK en OGRE 3D.

El primer paso fue investigar cómo se define una malla de OGRE 3D. Una malla de OGRE 3D requiere básicamente la siguiente información para ser generada:



  • Vértices

  • Normales de los vértices

  • Caras (definidas a partir de los índices de sus vértices)

  • Colores para cada vértice

Para almacenar esta información es necesario utilizar buffers de memoria en OGRE 3D. Estos buffers corresponden a la clase “Ogre::HardwareBuffer”. Un buffer de éste tipo es un área de memoria que se encuentra normalmente en la memoria ram de video, sin embargo, también puede ser usada con otras áreas de memoria. [15]

Las siguientes imágenes muestran ejemplos de lo que se puede crear usando mallas de OGRE 3D.



image

Ilustración : Ejemplo de un mesh creado en OGRE 3D [19]


  1. Segunda parte del modelo


Una vez realizada la investigación sobre las mallas de OGRE 3D, se propuso una segunda parte del modelo, en la que una malla de ITK sería generada a partir de una imagen leída también con ITK y finalmente representada gráficamente con una malla de OGRE 3D.

A continuación se observa la idea de esta segunda parte del modelo de integración.



Ilustración : Segunda parte del modelo de integración


    1. Descripción del modelo de integración


Este modelo de integración para mostrar mallas tiene cinco componentes importantes que serán descritos a continuación:
      1. Image_File


Este primer componente se refiere a un archivo de imagen médica que será leído con ITK, se generará una malla de ITK a partir de la imagen de ITK leída y será visualizada con una malla de OGRE 3D.
      1. ITK_Image


El segundo es ITK_Image, que se refiere a la clase Image de ITK, ya que las imágenes médicas son leídas con el manejo de lectura y escritura de ITK (Ver sección Manejo de lectura y escritura de imágenes [17]. ITK se encargará de leer una imagen médica y almacenarla en su clase Image para más tarde ser convertida en una malla de ITK por el filtro descrito a continuación.
      1. ITK_Image_To_ITK_Mesh


Este componente del modelo se encarga de pasar de una imagen de ITK (Image) a un mesh de ITK (QuadEdgeMesh). Luego de que la imagen es leída es convertida a una máscara binaria usando el filtro “BinaryMask3DMeshSource” de ITK que convierte una imagen (que debe ser una máscara binaria) en una malla.
      1. ITK_Mesh


Componente correspondiente a la representación de la malla en una instancia de la clase QuadEdgeMesh de ITK. Esta clase almacena la información de puntos, bordes, caras, entre otros componentes de una malla y además tiene métodos que permiten realizar el análisis de la malla de ITK para obtener la información anteriormente mencionada.

Es necesario indicar que un mesh de ITK no almacena información de visualización como son los colores, de manera que al momento de representarla en una malla de OGRE 3D será necesario asignar colores de una manera arbitraria para poder observar en pantalla la malla creada.


      1. ITKMeshToOgreMesh


Este componente es el encargado de obtener la información de la malla creada anteriormente para asignarla a una malla de OGRE 3D. En la sección Investigación avanzada se describen los parámetros necesarios para generar una malla en OGRE 3D.

Haciendo uso de los iteradores de mesh en ITK, este componente accede a la información de puntos y caras que conforman la malla, para luego asignar el espacio de memoria o HardwareBuffer que utiliza OGRE 3D para almacenar la información de las mallas.

La información de colores no puede ser obtenida ya que no fue almacenada por el mesh de ITK, sin embargo es necesario tener esta información para que la malla sea visualizable, por lo tanto se asignan colores en una escala de grises.

      1. Ogre_Mesh


Un mesh de OGRE 3D es un objeto que puede ser visualizado en la pantalla, contiene caras, puntos, colores, normales, entre otros atributos de una malla visualizable.

Una vez transformada la malla de ITK en una de OGRE 3D por el filtro mencionado en la sección anterior, es posible pintar la última malla en la escena.


  1. Segundo prototipo

    1. Un plano


Al generar una malla de OGRE 3D a partir de una malla de ITK fue necesario asignar colores a los vértices de la malla ya que de otra forma no podrían ser visualizados. Un primer resultado de haber pasado un plano de una imagen convertida a una malla de ITK a una malla de OGRE 3D puede verse en la siguiente imagen.

Ilustración : Malla de OGRE 3D generada para un plano de una imagen

Para esta imagen, a todos los vértices se asignó un color blanco, y a la malla una representación de wireframe, es decir, solo muestra los bordes de las caras generadas y no su superficie.

En la imagen se observa un plano de la imagen, es decir, no se generó una malla en OGRE 3D para la imagen completa sino únicamente para un plano de la misma, debido a restricciones que existen en los buffers de memoria que utiliza OGRE 3D.

OGRE 3D asigna un espacio de memoria de 16bits o de 32bits, sin embargo el de 32bits no funciona con algunas máquinas antiguas, por lo tanto el de 16bits fue el que se utilizó en el prototipo. Un espacio de 16bits es asignado para el sombreado de las caras de la malla, cada cara se estima que tiene 3 tipos de sombra y por tanto, hay capacidad para generar 65000 sombras en memoria. Dada esta restricción es necesario cargar mallas de máximo 21000 caras o polígonos.

    1. Imagen completa


En OGRE 3D no era posible almacenar la totalidad de las caras de la malla generada en ITK a partir de una imagen. OGRE 3D usa HardawareBuffers para guardar en memoria la información correspondiente a las caras, vértices, colores, etc, de una malla y estos tienen tamaños restringidos. Por lo tanto es necesario tener cuidado con el número de caras que tenga la malla para asignar un espacio adecuado.
    1. Conclusión del segundo prototipo


Los resultados no fueron satisfactorios porque no fue posible visualizar una malla cualquiera de una imagen creada con ITK usando OGRE 3D, debido a restricciones de memoria impuestas por esta última herramienta; por lo tanto, fue posible concluir que el segundo modelo de integración planteado (Ver sección Segunda parte del modelo) no era del todo correcto y sería necesario refinarlo.

  1. Yüklə 257,47 Kb.

    Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   10   11




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin