The Prefuse Visualization Toolkit

Prefuse is a visualization toolkit available from SourceForge. It includes a rich set of visualization tools and utilities for displaying trees, graphs, and other data objects. The Prajna-Prefuse software bridge contains several classes and utilities for adapting Prefuse visualizations, with several examples. Existing Prefuse applications can easily adapt their code to allow Prajna to invoke the visualization, or Prajna displays can be augmented with Prefuse features.

Adapting the Visual Display

The Prajna bridge to the Prefuse toolkit is designed to allow Prefuse developers to augment their displays with the additional functionality which Prajna offers. In the prajna.viz.prefuse package, a number of the visualization demos have been converted to graph or tree displays within Prajna. This conversion is fairly easy, and a developer should be able to adapt their visual display easily.

The group graph should be used to contain the graph nodes and edges. The action used to display the graph should be called draw. Any animation action should be called animate. This enables the abstract display classes to refer to the actions when the graph is updated, redisplayed, or modified by an exterior action.

Loading Data

Prefuse offers a number of utilities to load data directly. Developers should be able to adapt their visualization tools to load data through a SemanticAccessor. Classes such as the DelimitedAccessor or the CommonMLAccessor should provide similar functionality. Because they are largely polymorphic, other accessors can also be easily used to retrieve data for display into Prefuse.

Enhancing the Application

A Prefuse-based visualization may benefit from a geographic display from the prajna.geo package, or applying other software bridges such as the Prajna-JFreeChart bridge. The visualizations may also benefit from applying semantic reasoning techniques. Prajna provides ways to develop this type of application augmentation.