Also available in English

Inf@Vis!

La revista digital de InfoVis.net

Software para InfoVis
por Juan C. Dürsteler [mensaje nº 162]

Durante los ultimos 4 años hemos pasado revista a muchos aspectos de la Visualización de Información. Existen herramientas de software que tienen el potencial de facilitar que muchas aplicaciones comerciales puedan incluir visualizaciones de información. En este artículo presentamos algunas de ellas.

Detrás de la mayoría de las visualizaciones que hemos comentado en InfoVis.net yace una serie de algoritmos implementados en diversos lenguajes de programación que hacen posible que surja, bien sobre papel o bien sobre la pantalla del ordenador la percepción de las relaciones que hay en los datos.

Dichos algoritmos implementan todos o algunos de los pasos básicos necesarios para la construcción de la visualización, a saber

  • Recogida, filtrado y tratamiento de datos y compilación de estructuras de datos

  • Transformación de las estructuras de datos en elementos perceptivos tales como gráficos, visualizaciones, auralizaciones u otros elementos capaces de activar nuestros sentidos.

  • Presentación, posiblemente interactiva, al usuario de la visualización mencionada en el punto anterior.

En los 15 años que tiene la disciplina se han experimentado muchos tipos de visualizaciones la mayoría de las cuales quedaron en los laboratorios. No obstante han ido surgiendo herramientas de uso general, algunas de ellas comerciales como las que proveen Oculus o Advizor Solutions en el campo de la visualización de datos o Visual Insights en el campo del análisis visual de la web y otras de caracter abierto, con un carácter más centrado en formar una plataforma de desarrollo que en ofrecer soluciones propietarias.

Dentro de esta linea podemos encuadrar al menos cinco interesantes toolkits o "cajas de herramientas" para el desarrolo de la visualización de información.

The InfoVis Toolkit

Ejemplos de visualizaciones producidas con "The InfoVis Toolkit"
Fuente: Captura de pantalla tal como se ve en la web de The InfoVis Toolkit
Pulse sobre la imagen para agrandarla

The InfoVis Toolkit es una herramienta de desarrollo de graficos interactivos escrita en JAVA por Jean-Daniel Fekete en el Instituto Nacional para la Investigación Informática y Automática en Francia (INRIA).

Las características principales de esta herramienta son, entre otras que se mencionan en su web site, las siguientes:

  • Estructura de datos unificada. Todos los datos se guardan en forma de tablas en las que las columnas contienen datos homogéneos, como texto o valores numéricos. Otros tipos de datos como árboles o grafos se almacenan también en forma de tablas. Ello redunda en una bajo consumo de memoria y, en general, del tiempo necesario para su gestión interna.

  • Conjunto unificado de componentes interactivos que permite reutilizar los componentes existentes y facilita el diseño de nuevos componentes ya que las interrogaciones dinámicas de la base de datos se realizan a través de los mismos objetos de control, independientemente de la estructura de datos.

  • Rápido y extensible ya que puede utilizar gráficos acelerados OpenGL de Agile2D y su concepción como software abierto hace que se pueda utilizar como punto de partida para desarrollos futuros.

    En el momento de escribir este artículo, en su versión 0.8, implementa ocho tipos de visualización:

    • Scatter Plots, Series temporales y Coordenadas paralelas para tablas

    • Diagramas Nodo-Enlace, Icicle trees y Treemaps para árboles

    • Matrices de Adyacencia y diagramas Nodo-Enlace para grafos

    El proyecto se puede descargar libremente desde la web de Source Forge.

Prefuse

Este toolkit reside también en Source Forge y ha sido programado en Java por Jeffrey Heer en la Univeristy of California en Berkeley y el Palo Alto Research Center (PARC) con contribuciones de Alan Newberger.

Prefuse está más orientado a aquellos datos cuya estructura se corresponde con la de un grafo (véase el artículo 137 sobre grafos). Entre ellas se incluyen las redes, las jerarquías, árboles etc.

El interés de Prefuse radica en buena parte en la alta interactividad de sus componentes y en los algoritmos de zoom y reorganización automática de los grafos que presenta.

force.png (62116 bytes) autozoom.png (44887 bytes)
Ejemplos de visualizaciones producidas con "Prefuse". A la izquierda un grafo en el que los nodos están unidos por enlaces que actuan como muelles al interactuar con el gráfico.A la derecha una imagen de la demo del efecto de auto-ampliación (auto-zoom).
Fuente: Captura de pantalla tal como se ve en la web de Prefuse
Pulse sobre las imágenes para agrandarlas.

Como aplicaciones de Prefuse podemos contar con Vizster, un visualizador de redes sociales o Exploring Enron dedicado a explorar visualmente el corpus de e-mail de una gran corporación como es Enron, entre otros.

Piccolo

Este Toolkit es producto del trabajo en JAVA de Jesse Grosjean y, en su version .NET, de Aaron Clamage bajo la dirección de Ben Bederson en el Human Computer Interaction Lab (HCIL) de la Universidad de Maryland, aunque sus raices están en PAD allá por 1993, PAD++ y, más recientemente, Jazz

Como sucesor de Jazz, uno de los puntos fuertes de Piccolo son las "Zoomable User Interfaces" ( ZUIs o interfaces de usuario ampliables) en las que el usuario dispone de una interfaz virtual infinitamente escalable en la que se puede ir de lo general a lo particular sin dificultad.

vizster-overview.jpg (31383 bytes) TimSearchr2.jpg (84894 bytes)
Ejemplos de visualizaciones producidas con "Piccolo". A la izquierda Vizster, una herramienta de visualización de la interacción social o en el que los nosods están unidos por enlaces que actúan como muelles al interactuar con el gráfico. A la derecha TimeSearcher2 un explorador de series temporales.
Fuente: Captura de pantalla tal como se ve en las webs respectivas. 
Pulse sobre las imágenes para agrandarlas.

Este tipo de interfaces incluyen el concepto de zoom semántico mediante el cual la representación ampliada de un objeto no es simplemente un escalado de su aspecto geométrico sino que la forma o representación del mismo pueden variar con la escala para favorecer la comprensión de su naturaleza. Por ejemplo, a una cierta escala un objeto puede ser un punto, a otra una caja con una etiqueta y a otra un rectángulo con pequeños caracteres.

Hay tres versiones de Piccolo:

  • Piccolo.Java Piccolo.Java está escrito 100% en Java, y por tanto corre en la mayoría de máquinas Windows, Mac OS X, Linux y Solaris. Se basa en el API Java2D.

  • Piccolo.NET Piccolo.NET está escrito 100% C#.  Por tanto corre básicamente en máquinas Windows. Piccolo.NET se basa en la API GDI+.

  • PocketPiccolo.NET PocketPiccolo.NET está escrito en C# orientado, pues, a PDAs que corran el sistema Pocket PC, incluyendo algunos modelos de telefonos móviles.

Piccolo guarda una estructura jerárquica de objetos gráficos y cámaras que permite a cualquier nodo de la jerarquía ser trasladado, escalado, rotado o cizallado arbitrariamente al tiempo que se puede seleccionar cualquier vista de cualquier cámara, lo que ofrece una gran flexibilidad de visualización. 

Cualquiera de las versiones de Piccolo se puede descargar libremente.

Geovista Studio

Geovista está desarrollado por el departamento de Geografía de la Universidad Estatal de Pennsilvania (Penn State) y en particular por 6 programadores dirigidos por Mark Gahegan, Alan MacEachren y Masa Takatsuka como arquitecto de sistemas.

Está más bien orientado hacia el análisis geocientífico a través de la visualización, sin embargo ello no impide que se pueda utilizar como un "toolkit" de uso general, dada su concepción modular y extensible.  Como los demás, está programado en JAVA y sus características básicas se pueden resumir como sigue:

StudioArq.gif (18548 bytes)
Arquitectura de Geovista Studio. La imagen muestra las distintas capas en que está organizada esta herramienta
Fuente: Captura de pantalla tal como se ve en la web de GeoVista
Pulse sobre la imagen para agrandarla.
FrankMap.gif (72260 bytes)
Ejemplo de Geovista Studio. 
Fuente: Captura de pantalla tal como se ve en la web de GeoVista
Pulse sobre la imagen para agrandarla.
  • Es un sistema orientado a componentes.  Basados en Java Beans se pueden interconectar entre si o añadir componentes hechos a medida.

  • Programación visual. Para realizar ciertas visualizaciones basta con conectar los componentes apropiados usando una interfaz visual.

  • Arquitectura abierta y extensible. El software es abierto y la forma en que está desarrollado permite la utilización de componentes muy heterogéneos y la adición de nuevos componentes ad-hoc.

Un programa se crea en Studio simplemente interconectando componentes entre si. De hecho Studio no permite la programación directa. Para ello hay que crear componentes usando JavaBeans fuera del entorno de Studio. Hay tres tipos de usuarios a los que Studio se dirige:

  • Tool users (usuarios de la herramienta), caracterizados por su interes en el análisis inmediato, la visualización de datos y su uso para realizar publicaciones.

  • Application developers (desarrolladores de aplicaciones), usuarios que no necesitan solo analizar y visualizar sino probablemente un conjunto coordinado de aplicaciones para descubrir conocimiento o formular una teoría científica.

  • Application users (usuarios de aplicaciones). Son usuarios que no utilizarán Studio directamente sino las aplicaciones construídas con dicha herramienta.

Como el resto de ejemplos GeoVista Studio se puede descargar sin cargo a nuestros diezmados bolsillos.

InfoVis Cyberinfrastructure

Finalizamos la lista con Infovis Cyberinfrastructure, una interesante iniciativa que no es un "toolkit" por si mismo sino más bien una central de recursos con una arquitectura de software que permite un marco en el que utilizar muchos algoritmos de distintas procedencias, lenguajes y formatos operando sobre cualquier tipo de datos.

Según sus creadores el IVC o Information Visualisation Cyberinfrastructure "proporciona acceso a un conjunto amplio de paquetes de software que facilitan la exploración, modificación, comparación y extensión de los algorimos de minería de datos y visualización de información". 

IVC no impone ninguna restriccion sobre lenguajes de programación, estructuras o formatos de datos. En particular muchos de los paquetes vistos más arriba se pueden integrar en el IVC.

El centro se complementa con una serie de módulos de aprendizaje sobre distintos aspectos de la minería de textos y la visualización de información, software, bases de datos y recursos de computación disponibles.Un sitio web muy interesante

Conclusión

Después de unos años de una cierta dispersión de recursos tenemos ya algunos "cajones de herramientas" que incluyen diversos componentes en una arquitectura que permite la reutilización de componentes y la creación de aplicaciones sofisticadas sin tener que reinventar las técnicas más avanzadas, como Treemaps o interfaces con ampliación semántica (semantic zoom).

Aunque puede parecer muy ligado al mundo académico, estos "toolkits" ofrecen la posibilidad a las empresas desarrolladoras de software de incluir visualizaciones sofisticadas en sus productos y de empezar a usar el "pensamiento visual" en los mismos, con un coste de aproximación a dichas tecnologías reducido, ya que no hay que programar los algoritmos, sólo utilizarlos.

La existencia de estas herramientas debiera constituir un importante impulso para la introducción de la visualización de información en la "vida diaria".


Debo la inspiración de este artículo a Victor Pascual, becario de la UPF

Enlaces de este artículo:

http://www.oculusinfo.com/   Web site de Oculus
http://www.advizorsolutions.com/   Web site de Advizor Solutions
http://www.visualinsights.com/   Web site de Visual Insights
http://ivtk.sourceforge.net/   Descripción de The InfoVis Toolkit
http://www.inria.fr/index.en.html   INRIA
http://www.cs.umd.edu/hcil/agile2d/index.shtml   Agile2D Implementacion de Java2D en OpenGL
http://sourceforge.net/projects/ivtk/   InfoVis Toolkit en Source Forge
http://www.sourceforge.net   Source Forge, repositorio de proyectos de software abierto.
http://www.infovis.net/printMag.php?num=137&lang=1   Número 137 sobre Grafos
http://www.cs.berkeley.edu/~jheer/infovis/final/   Vizster
http://www.cs.berkeley.edu/~jheer/anlp/final/   Exploring Enron
http://www.cs.umd.edu/hcil/piccolo/index.shtml   Website de Piccolo
http://www.infovis.net/printRec.php?rec=grupinv&lang=1   HCIL en InfoVis.net
http://www.cs.umd.edu/hcil/timesearcher/   Time Searcher 2
http://www.cs.umd.edu/hcil/piccolo/download/index.shtml   Descarga de Piccolo
http://www.geovistastudio.psu.edu/jsp/index.jsp   GeoVista
http://www.geovistastudio.psu.edu/jsp/tryit.jsp   Descarga de GeoVista
http://iv.slis.indiana.edu/   Website de InfoVis Cyberinfrastructure
© Copyright InfoVis.net 2000-2018