Prefuse

From Wikipedia, the free encyclopedia

Prefuse is a Java-based toolkit for building interactive information visualization applications.

Prefuse supports a rich set of features for data modeling, visualization, and interaction. It provides optimized data structures for tables, graphs, and trees, a host of layout and visual encoding techniques, and support for animation, dynamic queries, integrated search, and database connectivity. Prefuse is written in Java, using the Java 2D graphics library, and is easily integrated into Java Swing applications or web applets. Prefuse is licensed under the terms of a BSD license, and can be freely used for both commercial and non-commercial purposes.

Contents

[edit] Features

Prefuse is an extensible software framework for helping software developers create interactive information visualization applications using the Java programming language. It can be used to build standalone applications, visual components embedded in larger applications, and web applets. Prefuse intends to greatly simplify the processes of representing and efficiently handing data, mapping data to visual representations (e.g., through spatial position, size, shape, color, etc), and interacting with the data. Some of the features of prefuse include:

  • Table, Graph, and Tree data structures supporting arbitrary data attributes, data indexing, and selection queries, all with an efficient memory footprint.
  • Components for layout, color, size, and shape encodings, distortion techniques, animation, and more.
  • A library of interaction controls for common interactive, direct-manipulation operations.
  • Animation support through a general activity scheduling mechanism.
  • View transformations supporting panning and zooming, including both geometric and semantic zooming.
  • Dynamic queries for interactive filtering of data.
  • Integrated text search using a number of available search engines.
  • A physical force simulation engine for dynamic layout and animation.
  • Flexibility for multiple views, including "overview+detail" and "small multiples" displays.
  • A built in, SQL-like expression language for writing queries to prefuse data structures and creating derived data fields.
  • Support for issuing queries to SQL databases and mapping query results into prefuse data structures.

(and perhaps most importantly)

  • Simple, developer-friendly APIs for creating custom processing, interaction, and rendering components.

Prefuse has been used in school course projects, academic and industrial research, and commercial software development.

[edit] Architecture

The design of the prefuse toolkit is based upon the information visualization reference model, a software architecture pattern that breaks up the visualization process into a series of discrete steps, from data acquisition and modeling to the visual encoding of data to the presentation of interactive displays.

Prefuse: a toolkit for interactive information visualization[1], provides more details on implementation and evaluation.

The information visualization reference model was developed in the Ph.D. thesis work of Ed Chi, under the name of the data state model. Chi showed that the framework successfully modeled a wide array of visualization applications and later showed that the model was functionally equivalent to the data flow model used in existing graphics toolkits such as VTK. In their book[2], Card, Mackinlay, and Shneiderman present their own interpretation of this pattern, dubbing it the information visualization reference model.


[edit] See also

[edit] References

  1. ^ Heer, Jeffrey; Stuart K. Card, James A. Landay. "prefuse: a toolkit for interactive information visualization". Proceedings of the SIGCHI conference on Human factors in computing systems: 421-430, Portland, Oregon, USA: ACM. 
  2. ^ Mackinlay, Jock D.. Readings in information visualization: using vision to think, Stuart K. Card, Ben Shneiderman (eds.), Morgan Kaufmann Publishers Inc, 686. ISBN 1-55860-533-9. 


[edit] External links