<?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>0254-0770</journal-id>
<journal-title><![CDATA[Revista Técnica de la Facultad de Ingeniería Universidad del Zulia]]></journal-title>
<abbrev-journal-title><![CDATA[Rev. Téc. Ing. Univ. Zulia]]></abbrev-journal-title>
<issn>0254-0770</issn>
<publisher>
<publisher-name><![CDATA[Facultad de Ingeniería, Universidad del Zulia]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0254-07702008000300007</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[BVR: a storage format for navigation in volumetric data]]></article-title>
<article-title xml:lang="es"><![CDATA[BVR: un formato de almacenamiento para la navegación en datos volumétricos]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Zúñiga]]></surname>
<given-names><![CDATA[Leonardo]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Hidrobo]]></surname>
<given-names><![CDATA[Francisco]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad de Los Andes Facultad de Ingeniería ]]></institution>
<addr-line><![CDATA[Mérida ]]></addr-line>
<country>Venezuela</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad de Los Andes Facultad de Ciencias ]]></institution>
<addr-line><![CDATA[Mérida ]]></addr-line>
<country>Venezuela</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>12</month>
<year>2008</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>12</month>
<year>2008</year>
</pub-date>
<volume>31</volume>
<numero>3</numero>
<fpage>266</fpage>
<lpage>274</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://ve.scielo.org/scielo.php?script=sci_arttext&amp;pid=S0254-07702008000300007&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://ve.scielo.org/scielo.php?script=sci_abstract&amp;pid=S0254-07702008000300007&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://ve.scielo.org/scielo.php?script=sci_pdf&amp;pid=S0254-07702008000300007&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[In this paper we present the design and implementation of a format for volumetric data storage, along with the corresponding resolution algorithms of requests. This format allows the implantation of rendering algorithms with capacities to respond fast and efficiently to navigation requests with arbitrary trajectories. The proposal is based on grouping of voxel data in blocks (clusters) which match with the disk blocks size. Beside, we propose a multilayer model and develop a library that allows the usage of our format. The proposed model can be used in the visualization of huge volumetric data and its usefulness can be improved to support navigation based on data properties. To evaluate our proposal, we developed a visualization application which tests stability and performance of the implemented library and shows like using it.]]></p></abstract>
<abstract abstract-type="short" xml:lang="es"><p><![CDATA[En este artículo presentamos el diseño e implementación de un formato de almacenamiento de datos volumétricos, junto con los correspondientes algoritmos de resolución de peticiones. Este formato permite la implantación de algoritmos de visualización con capacidades de respuestas rápidas y eficientes a peticiones de navegación en trayectorias arbitrarias. La propuesta se basa en la agrupación de voxels de datos en bloques (clusters) que coinciden con el tamaño de los bloques de disco. Además, se propone un esquema de funcionamiento basado en capas y se implanta una librería que permite el uso de dicho formato. El esquema propuesto puede utilizarse en la visualización de datos volumétricos donde el tamaño de los datos es varias veces mayor al disponible en memoria principal y puede ampliarse su utilidad para soportar la navegación basada en propiedades del conjunto de datos. Para evaluar el esquema propuesto, se desarrolló una aplicación de visualización que prueba la estabilidad y el rendimiento de la librería implantada, y sirve de ejemplo de uso.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[Volumetric data]]></kwd>
<kwd lng="en"><![CDATA[3D visualization]]></kwd>
<kwd lng="en"><![CDATA[image storage]]></kwd>
<kwd lng="es"><![CDATA[Datos volumétricos]]></kwd>
<kwd lng="es"><![CDATA[visualización 3d]]></kwd>
<kwd lng="es"><![CDATA[almacenamiento de imágenes]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[  <BASEFONT SIZE="3"> <MULTICOL GUTTER="39" COLS="2">     <P ALIGN="center"><FONT COLOR="#1f1a17" FACE="Verdana"> <B>BVR: a storage format for navigation in volumetric data&nbsp;</B></FONT></P>     <P ALIGN="center"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> <B>Leonardo Z&#250;&#241;iga</B><SUP><B>1</B></SUP><B> y Francisco Hidrobo</B><SUP><B>2</B></SUP><B>&nbsp;</B></FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2"><SUP>1</SUP>Facultad de Ingenier&#237;a, Telefax: 0274-2402811.  <a href="mailto:leoz@ula.ve">leoz@ula.ve</a>. Universidad de Los Andes, Mérida  5101, Venezuela</FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Bookman"> <FONT COLOR="#1f1a17" FACE="Verdana"><SUP>2</SUP></FONT><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">Facultad de  Ciencias, elefax: 0274-2401284. <a href="mailto:hidrobo@ula.ve">hidrobo@ula.ve</a> Universidad de Los Andes,  M&#233;rida 5101, Venezuela</FONT></FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> <B>Abstract&nbsp;</B> </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> In this paper we present the design and implementation of a format for  volumetric data storage, along with the corresponding resolution algorithms  of requests. This format allows the implantation of rendering algorithms  with capacities to respond fast and efficiently to navigation requests  with arbitrary trajectories. The proposal is based on grouping of <I>voxel</I>  data in blocks (clusters) which match with the disk blocks size. Beside,  we propose a multilayer model and develop a library that allows the usage  of our format. The proposed model can be used in the visualization of huge  volumetric data and its usefulness can be improved to support navigation  based on data properties. To evaluate our proposal, we developed a visualization  application which tests stability and performance of the implemented library  and shows like using it.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> <B>Key words:&nbsp;</B> Volumetric data, 3D visualization, image storage.</FONT></P>     <P ALIGN="center"><b><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> BVR: un formato de almacenamiento para la navegaci&#243;n en datos volum&#233;tricos</FONT></b></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> <B>Resumen</B></FONT></P>     ]]></body>
<body><![CDATA[<P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> En este art&#237;culo presentamos el dise&#241;o e implementaci&#243;n de un formato de  almacenamiento de datos volum&#233;tricos, junto con los correspondientes algoritmos  de resoluci&#243;n de peticiones. Este formato permite la implantaci&#243;n de algoritmos  de visualizaci&#243;n con capacidades de respuestas r&#225;pidas y eficientes a peticiones  de navegaci&#243;n en trayectorias arbitrarias. La propuesta se basa en la agrupaci&#243;n  de <I>voxels</I> de datos en bloques (clusters) que coinciden con el tama&#241;o de  los bloques de disco. Adem&#225;s, se propone un esquema de funcionamiento basado  en capas y se implanta una librer&#237;a que permite el uso de dicho formato.  El esquema propuesto puede utilizarse en la visualizaci&#243;n de datos volum&#233;tricos  donde el tama&#241;o de los datos es varias veces mayor al disponible en memoria  principal y puede ampliarse su utilidad para soportar la navegaci&#243;n basada  en propiedades del conjunto de datos. Para evaluar el esquema propuesto,  se desarroll&#243; una aplicaci&#243;n de visualizaci&#243;n que prueba la estabilidad  y el rendimiento de la librer&#237;a implantada, y sirve de ejemplo de uso.</FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> <B>Palabras clave:&nbsp;</B> Datos volum&#233;tricos, visualizaci&#243;n 3d, almacenamiento de im&#225;genes.&nbsp; </FONT></P> </MULTICOL> <MULTICOL GUTTER="39" COLS="2">     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Recibido el 16 de Julio de 2007&nbsp;En forma revisada el 02 de Junio de 2008&nbsp; </FONT></P> </MULTICOL> <MULTICOL GUTTER="39" COLS="2">     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> <B>1. Introducci&#243;n&nbsp;</B> </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> En la actualidad existen aplicaciones de visualizaci&#243;n que usan grandes  vol&#250;menes de datos, estas aplicaciones son utilizadas en diversas &#225;reas  como medicina, geof&#237;sica, climatolog&#237;a, entre otras. En estas aplicaciones  se obtienen, a trav&#233;s de mediciones, o a partir de modelos, una gran cantidad  de datos que luego deben ser visualizados mediante alguna clase de visualizaci&#243;n  2D/3D. El volumen de los datos ha aumentado significativamente por al aumento  en las resoluciones de los dispositivos de medici&#243;n y por la mayor precisi&#243;n  en las t&#233;cnicas de modelado. Adem&#225;s, los medios de almacenamiento se diversifican  y abaratan, haciendo que se obvien las restricciones de espacio en beneficio  de la calidad en los datos.&nbsp; </FONT></P> </MULTICOL> <MULTICOL GUTTER="39" COLS="2">     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Es com&#250;n que se requieran despliegues animados y din&#225;micos de informaci&#243;n,  por v&#237;as diferentes, siendo una de las m&#225;s resaltantes la animaci&#243;n 3D  en tiempo real, en cuyos casos el sistema de visualizaci&#243;n debe responder  con prontitud para garantizar la ilusi&#243;n &#243;ptica de movimiento. La animaci&#243;n  de vol&#250;menes de datos tiene que confrontar la representaci&#243;n discreta de  un dato por cada uno de los puntos en el espacio, a los que denominaremos  <I>voxel</I></FONT><FONT COLOR="#1f1a17" SIZE="2" FACE="Bookman"><A HREF="_FN_0.htm"><FONT COLOR="#1f1a17" FACE="Verdana"><SUP>1</SUP></FONT></A></FONT><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"><I> (volumetric element) </I>o elementos volum&#233;tricos, de la misma manera  que la palabra <I>pixel</I> se corresponde a elementos pict&#243;ricos <I>(picture element)</I>.  Estos <I>voxels</I> deben poseer un valor de transparencia que permita visualizar  toda la informaci&#243;n del volumen, dicho valor tambi&#233;n es &#250;til para la conformaci&#243;n  de iso-superficies y primitivas geom&#233;tricas adicionales en la visualizaci&#243;n,  realzadas del resto de los datos d&#225;ndoles a &#233;stos una menor transparencia.  Es por esto que los algoritmos de visualizaci&#243;n son costosos tanto en procesamiento  como en almacenamiento. El primer problema es abordado por las tecnolog&#237;as  de procesamiento de im&#225;genes basado en hardware; el segundo recurre al  campo de las tecnolog&#237;as de almacenamiento y manejo de datos.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> En cuanto a almacenamiento, dos aspectos son fundamentales: el tama&#241;o de  memoria disponible y la velocidad de acceso a los datos en disco. El objetivo  es que los datos est&#233;n en memoria cuando sean requeridos, por lo cual es  deseable alg&#250;n mecanismo de predicci&#243;n eficiente cuando la trayectoria  es desconocida a priori.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> En este art&#237;culo presentamos el dise&#241;o e implementaci&#243;n de un formato de  almacenamiento de datos volum&#233;tricos, junto con los correspondientes algoritmos  de resoluci&#243;n de peticiones, que proveen flexibilidad y rapidez para algoritmos  de visualizaci&#243;n permitiendo mejorar la velocidad de respuestas a las solicitudes  de navegaci&#243;n en trayectorias arbitrarias dentro del volumen a visualizar.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> <B>2. Marco de Referencia&nbsp;</B> </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> En esta secci&#243;n presentamos algunos elementos que sirven de base a la propuesta  y que nos permiten describir el marco referencial en los aspectos de almacenamiento  y visualizaci&#243;n.&nbsp; </FONT></P>     ]]></body>
<body><![CDATA[<P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> <B>2.1. Esquemas de almacenamiento&nbsp;</B> </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Los esquemas de almacenamiento de datos volum&#233;tricos son diversos, son  variados los campos del conocimiento que hacen uso de estos, pero se destacan  principalmente aquellos que los emplean como un medio para &#147;ver&#148; dentro  de ciertas estructuras, principalmente los servicios de imagenolog&#237;a m&#233;dica  [1-3] y los estudios geol&#243;gicos [4-6].&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Existen soluciones basadas en el funcionamiento de los dispositivos, como  el formato SEGY [7] que es espec&#237;fico al formato secuencial propio de las  cintas magn&#233;ticas; aunque ha sido adaptado a dispositivos no secuenciales  [4, 6, 8] sin optimizaci&#243;n para visualizaci&#243;n 3D. Otras propuestas como  NetCDF (Network Common Data Form) [9, 12] incluyen tanto el formato como  una biblioteca para acceder a los datos. Adem&#225;s, NetCDF ha servido de base  para propuestas especializadas como MINC [2], espec&#237;fico para data neurol&#243;gica.  <I>Hierarchical Data Format</I> (HDF5) [10-12] es una biblioteca, con formato  gen&#233;rico, que puede almacenar dos objetos primarios: Conjuntos de datos  (arreglo multidimensional de elementos) y Grupos (estructura para organizar  objetos).&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Por otro lado, han surgido propuestas basadas en sistemas distribuidos  de almacenamiento [13], y compresi&#243;n de datos [14-16], con las consiguientes  restricciones de costos en hardware para el primer caso, y de procesamiento  en el segundo. Esto ha llevado a buscar soluciones que permitan obviar  partes no importantes de los vol&#250;menes como propone Mr&#246;z en [17], sin resolver  el 100% de los casos de uso, puesto que precisa de alg&#250;n criterio para  reconocer y descartar las partes menos importantes del volumen de datos.&nbsp; </FONT></P> </MULTICOL> <MULTICOL GUTTER="39" COLS="2">     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> responder a peticiones no alineadas con  los ejes de coordenadas, la mayor&#237;a de los otros esquemas presenta serias  dificultades para resolver peticiones de regiones arbitrarias en secuencias  arbitrarias.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Los esquemas tradicionales solamente usan localidad espacial de los datos  en una o dos dimensiones; mientras que en nuestra propuesta se pretende  explotar la localidad espacial en 3D.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> <B>2.2. Visualizaci&#243;n volum&#233;trica&nbsp;</B> </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Aunque existen diversos estrategias e implementaciones para realizar visualizaci&#243;n  volum&#233;trica [19], el algoritmo espec&#237;fico de visualizaci&#243;n no es relevante  para nuestro esquema, lo que interesa es la manera como ese algoritmo accede  a los datos almacenados.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Para mostrar datos volum&#233;tricos como superficies podemos recurrir a la  b&#250;squeda de iso-superficies dentro del volumen, tal como el algoritmo de  cubos marchantes [20]. La desventaja de este esquema es que las superficies  obtenidas son un sub-muestreo de los datos iniciales, y por lo general  no se tiene acceso a la informaci&#243;n contenida en la parte interna de dichas  superficies, as&#237; como no se pueden llevar a cabo c&#225;lculos sobre el volumen,  salvo aquellos que hagan uso de la informaci&#243;n de contorno obtenida por  el algoritmo.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Otra forma de construir la representaci&#243;n espacial de los datos volum&#233;tricos  es usar visualizaci&#243;n directa, asignando capa por capa, junto con sus valores  de transparencia, el cubo de datos a un conjunto de superficies 2D perpendiculares  a la l&#237;nea de visi&#243;n del usuario [21]. Sin embargo, este esquema tiene  como restricci&#243;n la carga de trabajo que significa construir las superficies  en memoria, sin aprovechar las potencialidades de la GPU [22]. A&#250;n cuando  se cuenten con lo servicios de la GPU, es necesario hacer llegar los datos  desde el dispositivo de almacenamiento, con lo cual el esquema propuesto  sigue siendo de utilidad en los casos donde el volumen no cabe en memoria  (CPU o GPU).&nbsp; </FONT></P>     ]]></body>
<body><![CDATA[<P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> <B>3. El formato BVR&nbsp;</B> </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> <B>3.1. Descripci&#243;n general&nbsp;</B> </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> El objetivo general del formato &#147;<I><B>Block-Voxel Representation</B></I> (<B>BVR</B>)&#148; (en  espa&#241;ol <I>Representaci&#243;n de Bloques de Voxels) </I>es aumentar la capacidad de  visualizaci&#243;n, es decir, permitir el recorrido de un volumen de datos mostrando  un subvoulmen en cada instante con trayectorias arbitrarias. Esto no excluye  el empleo del esquema para otros fines tales como el acceso a los datos  para realizar c&#225;lculos sobre ellos y definir trayectorias en funci&#243;n de  los resultados obtenidos. De esta manera, se tienen en consideraci&#243;n los  patrones de acceso de los algoritmos de visualizaci&#243;n buscando optimizar  el acceso a datos para hacerlo m&#225;s fluido. Una consideraci&#243;n importante  acerca del formato a implementar es la forma m&#225;s efectiva de leer los datos  desde el dispositivo de almacenamiento. En general, los sistemas de archivos  leen un lote de datos, a&#250;n cuando la petici&#243;n sean unos pocos bytes. Tambi&#233;n  se conoce que los tiempos de b&#250;squeda dentro del disco constituye una de  las causas m&#225;s importantes de retardo en las operaciones de lectura, as&#237;  que es deseable ajustar las peticiones para que aprovechen al m&#225;ximo esta  lectura por lotes, y est&#233;n ordenados de forma de aprovechar capacidades  de los discos modernos como <I>read-ahead</I> y <I>disk caching</I>.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> <B>3.2. Esquema de agrupaci&#243;n de </B><I><B>voxels</B></I><B>&nbsp;</B> </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Proponemos un esquema de almacenamiento basado en grupos (clusters) de  10x10x10 <I>voxels</I> de 4 bytes, como ilustra la <a href="#fig1">Figura 1</a>, los cuales ser&#225;n  denominados bloques.</FONT></P>     <P ALIGN="center"><a name="fig1"> <img border="0" src="/img/fbpe/rtfiuz/v31n3/art07fig1.gif" width="487" height="263"></a></P>     
<P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Los bloques en s&#237; ocupan 4000 bytes, as&#237; que se agrega un relleno de 96  bytes, totalizando 4096 bytes, que es el tama&#241;o est&#225;ndar de la mayor&#237;a  de sistemas de archivos. Este conjunto de bloques ser&#225;n precedidos de una  cabecera para almacenar informaci&#243;n global de los bloques.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> La cabecera y la la informaci&#243;n de los bloques son los componentes principales  del formato <I><B>BVR</B></I>. Como muestra la <a href="#Tabla_1">Tabla 1</a>, la parte de datos est&#225; compuesta  por una serie de bloques, los cuales almacenan la informaci&#243;n del volumen  junto con informaci&#243;n adicional en los rellenos, tal como las posiciones  espaciales [x,y,z] de los v&#233;rtices del bloque, sus promedios, desviaci&#243;n  est&#225;ndar, m&#237;nimos y m&#225;ximos, direcciones de bloques con mayor nivel de  detalle, o cualquier otra informaci&#243;n relevante que permita extender la  funcionalidad del formato.&nbsp;</FONT></P> </MULTICOL>     <P ALIGN="center"><b><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> <a name="Tabla_1">Tabla 1</a></FONT></b></P>     <P ALIGN="center"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Disposici&#243;n de la informaci&#243;n en un archivo en formato BVR</FONT></P> <MULTICOL GUTTER="39" COLS="2"> </MULTICOL>     ]]></body>
<body><![CDATA[<div align="center"> <TABLE id="table1" cellspacing="1" width="580" border="1"> <TR> <TD WIDTH="85" VALIGN="TOP" COLSPAN="4">     <P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Cabecera</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2">&nbsp; </FONT> </P> </TD> <TD WIDTH="85" VALIGN="TOP" COLSPAN="3">     <P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Datos&nbsp; </FONT></P> </TD> </TR> <TR> <TD WIDTH="85" VALIGN="TOP">     <P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Coordenadas</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2">&nbsp; </FONT> </P> </TD> <TD WIDTH="85" VALIGN="TOP">     <P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> dimensiones</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2">&nbsp; </FONT> </P> </TD> <TD WIDTH="85" VALIGN="TOP">     <P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> promedios</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2">&nbsp; </FONT> </P> </TD> <TD WIDTH="85" VALIGN="TOP">     <P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Relleno</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2">&nbsp; </FONT> </P> </TD> <TD WIDTH="85" VALIGN="TOP">     <P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Bloque 0</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2">&nbsp; </FONT> </P> </TD> <TD WIDTH="85" VALIGN="TOP">     <P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Bloque i&#133;</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2">&nbsp; </FONT> </P> </TD> <TD WIDTH="85" VALIGN="TOP">     <P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> Bloque n</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2">&nbsp; </FONT> </P> </TD> </TR> <TR> <TD WIDTH="85" VALIGN="TOP">     ]]></body>
<body><![CDATA[<P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> 96</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2">&nbsp; </FONT> </P> </TD> <TD WIDTH="85" VALIGN="TOP">     <P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> 12</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2">&nbsp; </FONT> </P> </TD> <TD WIDTH="85" VALIGN="TOP">     <P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> n*4</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2">&nbsp; </FONT> </P> </TD> <TD WIDTH="85" VALIGN="TOP">     <P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> &lt;4096</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2">&nbsp; </FONT> </P> </TD> <TD WIDTH="85" VALIGN="TOP">     <P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> 4096</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2">&nbsp; </FONT> </P> </TD> <TD WIDTH="85" VALIGN="TOP">     <P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> 4096</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2">&nbsp; </FONT> </P> </TD> <TD WIDTH="85" VALIGN="TOP">     <P ALIGN="CENTER"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> 4096</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2">&nbsp; </FONT> </P> </TD> </TR> </TABLE> </div> <MULTICOL GUTTER="39" COLS="2"> </MULTICOL> <MULTICOL GUTTER="39" COLS="2">     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> promedios de cada uno de los bloques  del archivo principal (<B>n</B> Bloques x 4 bytes) y, al final, un relleno que  ajusta el tama&#241;o de la cabecera para que &#233;ste sea m&#250;ltiplo de 4096 bytes,  asegurando que cada bloque de datos est&#233; alineado con los bloques del sistema  de archivos. Los promedios de cada bloque est&#225;n contemplados con dos finalidades  de &#237;ndole gr&#225;fica: poder construir de forma inmediata una vista de baja  resoluci&#243;n del cubo y para responder r&#225;pidamente a peticiones tan grandes  que hagan excesivamente largo su tiempo de carga, de manera similar a como  trabaja el formato JPEG-progresivo. Opcionalmente, la cabecera puede contener  el desplazamiento de cada bloque (medido en bloques), en el archivo de  datos, y cualquier otra informaci&#243;n que sea de importancia para el tratamiento  del cubo principal como &#237;ndices de valores, paletas de colores, datos de  transformaciones de escala, etc.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> <B>3.3. Buffering&nbsp;</B> </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> El otro componente importante de la propuesta es el esquema de manejo de  los bloques en memoria. Este esquema est&#225; basado en un buffer (cach&#233; de  bloques), desde donde se atienden las peticiones para el proceso de armado  del cubo de visualizaci&#243;n. N&#243;tese que este buffer no forma parte del proceso  de visualizaci&#243;n, sino de la carga ordenada y cacheada de los datos, ya  que se actualiza de forma predictiva (tambi&#233;n puede implementarse un esquema  correctivo para mejorar la calidad de la visualizaci&#243;n una vez realizada  la petici&#243;n). Dentro del buffer tendr&#225;n prioridad los bloques que se encuentran  en el primer plano de visualizaci&#243;n, de manera que si se llena y no se  ha resuelto la petici&#243;n por completo, se puede recurrir, para los planos  mas lejanos, a los promedios. Este buffer se mantiene indexado de forma  de poder determinar las peticiones que deben realizarse al disco, &#233;ste  &#237;ndice posee tres campos por cada bloque en el archivo BVR:&nbsp; </FONT></P> <UL>     ]]></body>
<body><![CDATA[<LI>     <p align="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"> N&#250;mero del bloque: permite reordenar el &#237;ndice luego que se han determinado  las peticiones.</FONT></MULTICOL><MULTICOL GUTTER="39" COLS="2">    <li>     <p align="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">N&#250;mero de petici&#243;n: por omisi&#243;n &#150;1, se va incrementando a medida que un  bloque es solicitado para dar prioridad a los bloques m&#225;s cercanos al plano  de visualizaci&#243;n.&nbsp; </FONT></li>     <li>     <p align="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">Apuntador al bloque: es el responsable del direccionamiento al bloque almacenado  en memoria, si el bloque no est&#225; su valor es &#150;1.</FONT></li>     </ul>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">Al llegar una petici&#243;n al buffer, &#233;ste actualiza el segundo elemento del  &#237;ndice para preservar el orden en que se realizan las peticiones. Al finalizar  las peticiones, se actualiza con los siguientes pasos:</FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">1.&nbsp; Ordenar ascendentemente las peticiones, dejando al final los bloques no  solicitados (cuyo valor por defecto es el m&#225;ximo valor entero sin signo).&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">2.&nbsp; Reorganizar hasta el tama&#241;o del buffer por n&#250;mero de bloque, asegurando  que las peticiones a disco sean siempre incrementales.&nbsp; </FONT></P>     ]]></body>
<body><![CDATA[<P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">3.&nbsp; Recorrer esta parte recargando y sustituyendo bloques solicitados por los  que no lo est&#225;n, dejando en su sitio los bloques que han sido solicitados  y se encuentran en el buffer.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">4.&nbsp; Reordenar el resto del vector seg&#250;n el n&#250;mero de peticiones, de forma que  se resuelva el mayor n&#250;mero posible de ellas.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">5.&nbsp; Reordenar de forma que el &#237;ndice posea nuevamente acceso directo.</FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">Este algoritmo garantiza la carga ordenada de los datos en el buffer de  acuerdo a un criterio que da prioridad a aquellas partes de la visualizaci&#243;n  en primer plano, siempre buscando no cargar repetidamente el mismo bloque  sino reutiliz&#225;ndolos en peticiones subsiguientes.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"><B>3.4. Capa de entrada/salida&nbsp;</B> </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">Esta capa es la que realiza las operaciones de entrada/salida, s&#243;lo se  encarga de atender las solicitudes realizadas por el componente de manejo  del buffer, sin ninguna responsabilidad en el orden ni el momento en que  son solicitados los bloques. En principio, esta capa solamente atiende  solicitudes de lectura; sin embargo, pueden incluirse operaciones de escritura  puesto que el direccionamiento a bloques est&#225; implantado. Esta caracter&#237;stica  ser&#237;a de utilidad para aplicaciones que realizan c&#225;lculos sobre el volumen  de datos.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"><B>4. Pruebas y Resultados&nbsp;</B> </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">Para mostrar la efectividad del esquema de almacenamiento y acceso propuesto  se desarroll&#243; una aplicaci&#243;n de prueba, la cual puede obtenerse en:  <a href="http://code.google.com/p/bvrlib/">http://code.google.com/p/bvrlib/</a> Adem&#225;s, se tom&#243; un archivo de datos, y se defini&#243; un conjunto de trayectorias  de acceso que permitieran medir la capacidad de respuesta de las capas  de manejo de buffer.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"><B>4.1. Aplicaci&#243;n&nbsp;</B> </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">Como muestra la  <a href="#fig2">Figura 2</a>, el desarrollo de la biblioteca y la aplicaci&#243;n  que la utiliza est&#225;n conformados por 5 capas:</FONT></P>     ]]></body>
<body><![CDATA[<P ALIGN="center"><a name="fig2"> <img border="0" src="/img/fbpe/rtfiuz/v31n3/art07fig2.gif" width="546" height="484"></a></P>     
<P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"><I><B>Interface</B></I><B>.</B> Esta capa contiene todos los elementos que interact&#250;an con el  usuario, y aquellos que le permiten realizar peticiones de visualizaci&#243;n.  Con la finalidad de probar el sistema en un escenario real de visualizaci&#243;n  3D din&#225;mica, se ha recurrido a la implementaci&#243;n de un esquema para la  navegaci&#243;n dentro del volumen de datos. Este esquema propone una acci&#243;n  de activar y 5 movimientos (Avanzar, Girar Arriba, Girar Abajo, Girar a  la izquierda y Girar a la Derecha).&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"><I><B>Rendering</B></I><B>.</B> Esta capa consta de dos vistas implementadas usando el m&#243;dulo  OpenGL de la librer&#237;a QT. La primera est&#225; destinada a la visualizaci&#243;n  del sub-cubo y orientada siempre a lo largo de la l&#237;nea de visi&#243;n del usuario.  La otra capa es una miniatura del volumen entero de datos, junto con una  representaci&#243;n del sub-volumen que est&#225; siendo mostrado. Se hace uso de  la memoria del GPU para alojar las superficies que van a ser visualizadas,  llevando la resoluci&#243;n y el n&#250;mero de superficies al l&#237;mite del almacenamiento  de dicha memoria.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">Tambi&#233;n se pueden implementar filtros de visualizaci&#243;n, paletas y herramientas  de visualizaci&#243;n usando elementos geom&#233;tricos de OpenGL, quedando abierta  la posibilidad de ampliaci&#243;n de la aplicaci&#243;n.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"><I><B>Resolve</B></I><B>.</B> Permite al algoritmo de visualizaci&#243;n realizar peticiones al sistema  de almacenamiento. Existen 5 casos de uso: 1.- Un dato puntual del cubo,  en este caso el vector de v&#233;rtices contiene ocho puntos iguales. 2.- Una  l&#237;nea, con 4 juegos de elementos iguales. 3.- Un plano, los 4 primeros  valores representan sus l&#237;mites y los otros 4 son iguales. 4.- Un sub-cubo,  con cada v&#233;rtice representado por un punto diferente. 5.-&nbsp;Cualquier otro  espacio geom&#233;trico delimitado por 8 v&#233;rtices en el espacio.</FONT></P> </MULTICOL> <MULTICOL GUTTER="39" COLS="2">     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"><I><B>Buffering</B></I><B>.</B> A partir de este m&#243;dulo se comienza la implementaci&#243;n de la  propuesta, puesto que es desde aqu&#237;, y no desde el disco, que se resolver&#225;n  las peticiones de la capa superior.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"><I><B>I/O</B></I><B>.</B> Esta m&#243;dulo hace el I/O e interact&#250;a directamente con la capa  <I>Buffering</I>.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"><B>4.2. Metodolog&#237;a&nbsp;</B> </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">La aplicaci&#243;n permite mostrar un sub-volumen arbitrario comprendido entre  8 v&#233;rtices, editar cada v&#233;rtice por separado, presentar una pre-visualizaci&#243;n  de todo el volumen para brindar al usuario su localizaci&#243;n dentro del volumen  y, almacenar caminos y volverlos a recorrer.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">Para comprobar la efectividad del formato propuesto, se realizaron pruebas  funcionales y de desempe&#241;o. Para este fin, se us&#243; un subconjunto de datos  de proyecto Mujer Visible (<a href="http://%20www.nlm.nih.gov/research/visible/visible_human.html">http:// www.nlm.nih.gov/research/visible/visible_human.html</a>),  en particular se uso la cabeza, en formato RGB. Este formato se transform&#243;  a su representaci&#243;n en BVR.&nbsp; </FONT></P>     ]]></body>
<body><![CDATA[<P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">Para las pruebas funcionales se comprob&#243; la capacidad de respuesta para  peticiones inusuales, tales como sub-vol&#250;menes muy grandes, muy peque&#241;os,  deformados, v&#233;rtices intercambiados, o por fuera del cubo de datos. La  aplicaci&#243;n respondi&#243; de manera satisfactoria, no llegando a bloquearse  o terminar inesperadamente. La responsabilidad de hacer peticiones coherentes  recae en el usuario, as&#237; que la librer&#237;a se limita a resolver y visualizar  lo que ha sido pedido. La <a href="#fig3">Figura 3</a> muestra una visualizaci&#243;n de un sub-volumen  de la imagen.</FONT></P>     <P ALIGN="center"><a name="fig3"> <img border="0" src="/img/fbpe/rtfiuz/v31n3/art07fig3.gif" width="514" height="423"></a></P>     
<P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">En el caso de las pruebas de desempe&#241;o se usa un algoritmo de predicci&#243;n  basado en las dos &#250;ltimas peticiones. Este algoritmo calcula el vector  direcci&#243;n con esas peticiones, supone que ser&#225; el mismo para la pr&#243;xima  petici&#243;n y estima la nueva petici&#243;n. Adem&#225;s, se utilizaron ejecuciones  previamente almacenadas, luego de ejecutar la aplicaci&#243;n con una posici&#243;n  y tama&#241;o de la visualizaci&#243;n iniciales, y almacenando la trayectoria descrita.  Mediante este mecanismo se almacenaron los conjuntos de peticiones para  4 caminos: <B>Lineal</B>, <B>Suave</B>, <B>Brusco</B> y <B>Circular</B>.&nbsp;</FONT></P> </MULTICOL> <MULTICOL GUTTER="39" COLS="2">     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">Para cada uno de estos caminos, se midi&#243; la respuesta del esquema predictivo  variando los tama&#241;os de buffer desde 100 hasta 10000 bloques. El patr&#243;n  seguido por las peticiones, el esquema de actualizaci&#243;n del buffer y el  tama&#241;o de &#233;ste conforman las distintas condiciones de uso que miden el  desempe&#241;o de la propuesta. Mediante una serie de ejecuciones de la aplicaci&#243;n  y usando los caminos almacenados se fueron generando estad&#237;sticas de cada  una de &#233;stas.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"><B>4.3. Resultados&nbsp;</B> </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">El conjunto de datos usado est&#225; compuesto por 797 capas con una resoluci&#243;n  de 570x670, cada punto almacenado en su valor RGB dado por tres valores  de 8 bits, lo que representa un tama&#241;o de 872 Mb. Estos archivos, una vez  convertidos a un archivo <I><B>BVR</B></I> ocupa un tama&#241;o de 1.17 Gb., en nuestro caso  este archivo no cabe en memoria principal y es suficiente para las pruebas  a realizar. De este tama&#241;o, los primeros 299 bloques de 4 Kb representan  la cabecera y los 305520 bloques restantes representan los datos en s&#237;;  esto parecer&#237;a un aumento de espacio de 37.18% respecto al archivo original;  sin embargo, el 33% representa la adici&#243;n de un componente necesario de  transparencia (8 bits por cada <I>voxel</I>). Eso significa que el incremento  debido al cambio de formato es inferior al 5%.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">La  <a href="#fig4">Figura 4</a> muestra el porcentaje de &#233;xitos en bloques (el porcentaje promedio  de bloques que ya est&#225;n en el buffer cuando son solicitados) versus el  tama&#241;o del buffer (en bloques). Con el esquema utilizado, las solicitudes  que tienen una trayectoria lineal son las m&#225;s f&#225;ciles de predecir, mientras  que las que hacen movimientos bruscos son las m&#225;s dif&#237;ciles y por tanto  tienen un porcentaje de &#233;xito m&#225;s bajo. En estos casos, puede utilizarse  algoritmos de predicci&#243;n m&#225;s complejos que aumenten el porcentaje de &#233;xito.  En cuanto al tama&#241;o del buffer se puede implementar pol&#237;ticas adaptativas  seg&#250;n los requisitos de la aplicaci&#243;n y el comportamiento del algoritmo  de predicci&#243;n. Es claro que a mayor tama&#241;o del buffer mayor porcentaje  de &#233;xito porque el algoritmo puede cargar mayor cantidad de bloques en  cada solicitud a disco.</FONT></P>     <P ALIGN="center"><a name="fig4"> <img border="0" src="/img/fbpe/rtfiuz/v31n3/art07fig4.gif" width="580" height="296"></a></P>     
<P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">Como muestra la  <a href="#fig5">Figura 5</a>, los resultados son similares si se toma en cuenta  el porcentaje de &#233;xitos en <I>voxels</I>, a pesar de que pueden solicitarse bloques  donde no todos los <I>voxels</I> ser&#225;n parte de la visualizaci&#243;n. En esta aplicaci&#243;n  cada cubo de visualizaci&#243;n ten&#237;a aproximadamente 3500 bloques, las Figuras  4 y 5 muestran que con un buffer del doble de este tama&#241;o se pueden lograr  buenos porcentajes de &#233;xito. Adem&#225;s, este valor representa un espacio de  memoria aceptable para las configuraciones actuales puesto que se usan  menos de 30 MB de la memoria principal.</FONT></P>     <P ALIGN="center"><a name="fig5"> <img border="0" src="/img/fbpe/rtfiuz/v31n3/art07fig5.gif" width="579" height="298"></a></P> </MULTICOL> <MULTICOL GUTTER="39" COLS="2">     
]]></body>
<body><![CDATA[<P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"><B>5. Conclusiones&nbsp;</B> </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">La librer&#237;a desarrollada es confiable y brinda libertades en las peticiones  con trayectorias arbitrarias lo cual representa una capacidad novedosa  en herramientas de visualizaci&#243;n din&#225;mica de grandes vol&#250;menes de datos.  Por otra parte, el uso de informaci&#243;n agrupada (promedios) permite dar  respuestas en corto tiempo para los bloques que no est&#225;n en el buffer.  La capacidad de ajustar la dimensi&#243;n del buffer permite que equipos con  mayor capacidad de memoria principal tengan mayor cantidad de datos disponibles  para garantizar porcentajes de &#233;xito mayores, al mismo tiempo permite que  aplicaciones basadas en esta librer&#237;a puedan ser ejecutadas en equipos  de prestaciones limitadas. El esquema predictivo, a pesar de su sencillez,  permiti&#243; obtener buenos resultados. Representando un buen punto de partida  para implantar esquemas m&#225;s complejos que tengan mejor rendimiento en casos  especiales. El modelo basado en capas result&#243; satisfactorio, puesto que  facilita el mantenimiento y depuraci&#243;n, permitiendo la actualizaci&#243;n de  una capa de manera sencilla, sin afectar las funcionalidades del resto.&nbsp; </FONT></P>     <P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana"><B>Referencias&nbsp;</B> </FONT></P>     <!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">1. Lehmann T.M, Gonner C., Spitzer K. &#147;Survey: Interpolation Methods in Medical  Image Processing&#148;. IEEE Transactions on Medical Imaging, 18(11): (1999). 1049-1075.&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359485&pid=S0254-0770200800030000700001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">2.&nbsp;MINC: Medical Image NetCDF.  <a href="http://www.bic.mni.mcgill.ca/software/minc/">http://www.bic.mni.mcgill.ca/software/minc/</a>&nbsp;</FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359486&pid=S0254-0770200800030000700002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">3.&nbsp;Tagare  HD., Jaffe CC and Dungan J. &#147;Medical Image Databases: A Content-Based  Retrieval Approach”. Journal of the American Medical Informatics Association,  4: (1997). 184-198.&nbsp;&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359487&pid=S0254-0770200800030000700003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">4. Carrion PM. &#147;Enhanced Migration of Seismic Data&#148;. Geophysical Prospecting,  38(7): (Oct. 1990). 689-704.&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359488&pid=S0254-0770200800030000700004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">5.&nbsp;LaTraille S., Gettrus  J., Simpson M. &#147;ROSE Seismic Data Storage and  Exchange&#148;. Journal of Geophysical Research, 87(B10): (Oct 10, 1982). 8359-8363.&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359489&pid=S0254-0770200800030000700005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"> <span style="font-size: 10.0pt; font-family: Verdana; color: #1F1A17">6.&nbsp;Nickerson  BG., Judd PA., Mayer LA. </span> <span lang="EN-US" style="font-size: 10.0pt; font-family: Verdana; color: #1F1A17"> “Data Structures for Fast Searching of SEG-Y Seismic Data”. Computers &amp;  Geosciences, 25(2): (1999). 179-190.</span><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359490&pid=S0254-0770200800030000700006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">7.&nbsp;Celniker G., Chakravarty I., Moorman J. &#147;Visualization and Modeling of  Geophysical Data&#148;. In Proceedings of the 4</FONT><FONT COLOR="#1f1a17" FACE="Verdana" SIZE="2"><SUP>th</SUP> conference on Visualization  (93). IEEE Computer Society. Ca. PP 362-365.&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359491&pid=S0254-0770200800030000700007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">8. Murillo A.E., Bell J. &#147;Distributed Seismic Unix: A Tool for Seismic Data  Processing&#148;. Concurrency Practice and Experience, 11(4): (10 April 1999). 169-187.&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359492&pid=S0254-0770200800030000700008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">9.&nbsp;Rew R., Davis G. &#147;NetCDF: An interface for scientific data access&#148;. IEEE  Computer Graphics and Applications, 10(4): (Jul, 1990). 76-82.&nbsp; </FONT> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359493&pid=S0254-0770200800030000700009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">10. Elena Pourmal, Mike Folk, Bob McGrath. &#147;HDF Software Process-Lessons Learned&#148;.  In Proceeding of NOBUGS Conference (2004), October, 18-20, 2004 at PSI,  Switzerland.&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359494&pid=S0254-0770200800030000700010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">11.&nbsp;Folk M., McGrath RE., Yeager N. &#147;HDF: An Update and Future Directions&#148;. IEEE 1999 International Geoscience and Remote Sensing Symposium,  1:273-285.&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359495&pid=S0254-0770200800030000700011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">12.&nbsp;Rew Russ. &#147;Merging NetCDF and HDF5&#148;. Bulletin of the American Meteorological  Society, Hartnett,. Ed. 84th American Meteorological Society (AMS) Annual  Meeting, 2004, p 1457-1460.&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359496&pid=S0254-0770200800030000700012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">13.&nbsp;Lippert L., Gross MH., Kurmann C. &#147;Compression Domain Volume Rendering  for Distributed Environments&#148;. Computer Graphics Forum, Conference, 16(3):  (Sep. 1997). 95-107.&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359497&pid=S0254-0770200800030000700013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">14.&nbsp;James  E Fowler, Roni Yagel. &#147;Lossless Compression of Volume Data&#148;. In Proceedings  of the symposium on Volume visualization (1994). Virginia, United States.  PP 43-50.&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359498&pid=S0254-0770200800030000700014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">15. Paul Ning, Lambertus Hesselink. &#147;Fast Volume Rendering of Compressed Data&#148;.  In Proceedings of the 4th conference on Visualization (93). San Jose, California.  PP 11-18.&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359499&pid=S0254-0770200800030000700015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">16.Tzi-cker Chiueh, Chuan-kai Yang, Taosong He, Hanspeter Pfister, Arie Kaufman.&#148;Integrated  volume compression and visualization&#148;. In Proceedings of the 8th conference  on Visualization (1997). Phoenix, Arizona, United States. PP 329 - 336.&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359500&pid=S0254-0770200800030000700016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">17. Lukas Mroz. &#147;Real-Time Volume Visualization on Low-End Hardware&#148;. PHD-Thesis.  Institute of Computer Graphics and Algorithms, Vienna. University of Technology  (2001).&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359501&pid=S0254-0770200800030000700017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">18.&nbsp;The Grid DataBlade - A Database Extension for Manipulating Gridded Data.  <a href="http://www.barrodale.com/grid_Demo/">http://www.barrodale.com/grid_Demo/</a>.&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359502&pid=S0254-0770200800030000700018&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">19. Boucheny, C.; Bonneau, G.; Droulez, J.; Thibault, G. ; Ploix, S. &#147;A Perceptive  Evaluation of Volume Rendering Techniques&#148;. ACM Proceedings of Symposium  on Applied Perception in Graphics and Visualization, 2007, p 83-90. Germany.&nbsp; </FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359503&pid=S0254-0770200800030000700019&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">20.&nbsp;William E., Lorensen Harvey,&nbsp; Cline  E. &#147;Marching cubes: A high resolution  3D surface construction algorithm&#148;. Computer Graphics (ACM), 21(4): (Jul, 1987). 163-169.</FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359504&pid=S0254-0770200800030000700020&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">21. Levoy M. &#147;Display of Surfaces from Volume Data&#148;. IEEE Computer Graphics  and Applications, 8(3): (Feb 1987).</FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359505&pid=S0254-0770200800030000700021&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P ALIGN="justify"><FONT COLOR="#1f1a17" SIZE="2" FACE="Verdana">22.&nbsp; Kruger J., Westermann R. &#147;Acceleration Techniques for GPU-based Volume  Rendering&#148;. IEEE Visualization, 2003. 287-292.</FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2359506&pid=S0254-0770200800030000700022&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="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lehmann]]></surname>
<given-names><![CDATA[T.M]]></given-names>
</name>
<name>
<surname><![CDATA[Gonner]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
<name>
<surname><![CDATA[Spitzer]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[“Survey: Interpolation Methods in Medical Image Processing”]]></article-title>
<source><![CDATA[IEEE Transactions on Medical Imaging]]></source>
<year>1999</year>
<volume>18(11)</volume>
<page-range>1049-1075</page-range></nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="">
<collab>MINC: Medical Image NetCDF</collab>
<source><![CDATA[]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Tagare]]></surname>
<given-names><![CDATA[HD.]]></given-names>
</name>
<name>
<surname><![CDATA[Jaffe]]></surname>
<given-names><![CDATA[CC]]></given-names>
</name>
<name>
<surname><![CDATA[Dungan]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[“Medical Image Databases: A Content-Based Retrieval Approach”]]></article-title>
<source><![CDATA[Journal of the American Medical Informatics Association]]></source>
<year>1997</year>
<volume>4</volume>
<page-range>184-198</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Carrion]]></surname>
<given-names><![CDATA[PM]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[“Enhanced Migration of Seismic Data”]]></article-title>
<source><![CDATA[Geophysical Prospecting]]></source>
<year>Oct.</year>
<month> 1</month>
<day>99</day>
<volume>38(7)</volume>
<page-range>689-704</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LaTraille]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Gettrus]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Simpson]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[“ROSE Seismic Data Storage and Exchange”]]></article-title>
<source><![CDATA[Journal of Geophysical Research]]></source>
<year>Oct </year>
<month>10</month>
<day>, </day>
<volume>87(B10)</volume>
<page-range>8359-8363</page-range></nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Nickerson]]></surname>
<given-names><![CDATA[BG.]]></given-names>
</name>
<name>
<surname><![CDATA[Judd]]></surname>
<given-names><![CDATA[PA.]]></given-names>
</name>
<name>
<surname><![CDATA[Mayer]]></surname>
<given-names><![CDATA[LA]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[“Data Structures for Fast Searching of SEG-Y Seismic Data”]]></article-title>
<source><![CDATA[Computers & Geosciences]]></source>
<year>1999</year>
<volume>25(2)</volume>
<page-range>179-190</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Celniker]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Chakravarty]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
<name>
<surname><![CDATA[Moorman]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Visualization and Modeling of Geophysical Data]]></article-title>
<source><![CDATA[Proceedings of the 4th conference on Visualization]]></source>
<year></year>
<volume>93</volume>
<page-range>362-365</page-range><publisher-name><![CDATA[IEEE Computer Society. Ca]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Murillo]]></surname>
<given-names><![CDATA[A.E.]]></given-names>
</name>
<name>
<surname><![CDATA[Bell]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[“Distributed Seismic Unix: A Tool for Seismic Data Processing”]]></article-title>
<source><![CDATA[Concurrency Practice and Experience]]></source>
<year>10 A</year>
<month>pr</month>
<day>il</day>
<volume>11(4)</volume>
<page-range>169-187</page-range></nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Rew]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Davis]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[“NetCDF: An interface for scientific data access”]]></article-title>
<source><![CDATA[IEEE Computer Graphics and Applications]]></source>
<year>Jul,</year>
<month> 1</month>
<day>99</day>
<volume>10(4)</volume>
<page-range>76-82</page-range></nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Pourmal]]></surname>
<given-names><![CDATA[Elena]]></given-names>
</name>
<name>
<surname><![CDATA[Folk]]></surname>
<given-names><![CDATA[Mike]]></given-names>
</name>
<name>
<surname><![CDATA[McGrath]]></surname>
<given-names><![CDATA[Bob]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[HDF Software Process-Lessons Learned]]></article-title>
<source><![CDATA[Proceeding of NOBUGS Conference]]></source>
<year>2004</year>
<publisher-loc><![CDATA[Switzerland ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Folk]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[McGrath]]></surname>
<given-names><![CDATA[RE]]></given-names>
</name>
<name>
<surname><![CDATA[Yeager]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[HDF: An Update and Future Directions]]></article-title>
<collab>IEEE</collab>
<source><![CDATA[International Geoscience and Remote Sensing Symposium]]></source>
<year>1999</year>
<volume>1</volume>
<page-range>273-285</page-range></nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Rew]]></surname>
<given-names><![CDATA[Russ]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Merging NetCDF and HDF5]]></article-title>
<source><![CDATA[]]></source>
<year>2004</year>
<edition>84</edition>
<page-range>1457-1460</page-range><publisher-name><![CDATA[Hartnett,. EdAmerican Meteorological Society (AMS) Annual Meeting]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lippert]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[Gross]]></surname>
<given-names><![CDATA[MH.]]></given-names>
</name>
<name>
<surname><![CDATA[Kurmann]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[“Compression Domain Volume Rendering for Distributed Environments”]]></article-title>
<source><![CDATA[Computer Graphics Forum]]></source>
<year>Sep.</year>
<month> 1</month>
<day>99</day>
<volume>Conference, 16(3)</volume>
<page-range>95-107</page-range></nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[James E]]></surname>
<given-names><![CDATA[Fowler]]></given-names>
</name>
<name>
<surname><![CDATA[Roni]]></surname>
<given-names><![CDATA[Yagel]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Lossless Compression of Volume Data]]></article-title>
<source><![CDATA[Proceedings of the symposium on Volume visualization]]></source>
<year>1994</year>
<page-range>43-50</page-range><publisher-loc><![CDATA[Virginia ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Paul]]></surname>
<given-names><![CDATA[Ning]]></given-names>
</name>
<name>
<surname><![CDATA[Lambertus]]></surname>
<given-names><![CDATA[Hesselink]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Fast Volume Rendering of Compressed Data]]></article-title>
<source><![CDATA[Proceedings of the 4th conference on Visualization]]></source>
<year></year>
<volume>93</volume>
<page-range>11-18</page-range><publisher-loc><![CDATA[San Jose^eCalifornia California]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Tzi-cker]]></surname>
<given-names><![CDATA[Chiueh]]></given-names>
</name>
<name>
<surname><![CDATA[Chuan-kai]]></surname>
<given-names><![CDATA[Yang]]></given-names>
</name>
<name>
<surname><![CDATA[Taosong]]></surname>
<given-names><![CDATA[He]]></given-names>
</name>
<name>
<surname><![CDATA[Hanspeter]]></surname>
<given-names><![CDATA[Pfister]]></given-names>
</name>
<name>
<surname><![CDATA[Arie]]></surname>
<given-names><![CDATA[Kaufman]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Integrated volume compression and visualization]]></article-title>
<source><![CDATA[Proceedings of the 8th conference on Visualization]]></source>
<year>1997</year>
<page-range>329 - 336</page-range><publisher-loc><![CDATA[Phoenix^eArizona Arizona]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lukas]]></surname>
<given-names><![CDATA[Mroz]]></given-names>
</name>
</person-group>
<source><![CDATA[Real-Time Volume Visualization on Low-End Hardware]]></source>
<year>2001</year>
<publisher-name><![CDATA[University of Technology]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="">
<source><![CDATA[The Grid DataBlade - A Database Extension for Manipulating Gridded Data]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B19">
<label>19</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Boucheny]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Bonneau]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Droulez]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Thibault]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Ploix]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Perceptive Evaluation of Volume Rendering Techniques]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ ACM Proceedings of Symposium on Applied Perception in Graphics and Visualization]]></conf-name>
<conf-date>2007</conf-date>
<conf-loc> </conf-loc>
<page-range>83-90</page-range></nlm-citation>
</ref>
<ref id="B20">
<label>20</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[William]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<name>
<surname><![CDATA[Lorensen]]></surname>
<given-names><![CDATA[Harvey]]></given-names>
</name>
<name>
<surname><![CDATA[Cline]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[“Marching cubes: A high resolution 3D surface construction algorithm”]]></article-title>
<source><![CDATA[Computer Graphics (ACM)]]></source>
<year>Jul,</year>
<month> 1</month>
<day>98</day>
<volume>21(4)</volume>
<page-range>163-169</page-range></nlm-citation>
</ref>
<ref id="B21">
<label>21</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Levoy]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Display of Surfaces from Volume Data]]></article-title>
<source><![CDATA[IEEE Computer Graphics and Applications]]></source>
<year>1987</year>
<volume>8</volume>
<numero>3</numero>
<issue>3</issue>
</nlm-citation>
</ref>
<ref id="B22">
<label>22</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kruger]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Westermann]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Acceleration Techniques for GPU-based Volume Rendering]]></article-title>
<source><![CDATA[IEEE Visualization]]></source>
<year>2003</year>
<page-range>287-292</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
