Prefuse 73 EPs
   HOME

TheInfoList



OR:

Prefuse is a
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
-based
toolkit A toolkit is an assembly of tools; set of basic building units for user interfaces. The word toolkit may refer to: * Abstract Window Toolkit * Accessibility Toolkit * Adventure Game Toolkit * B-Toolkit * Battlefield Mod Development Toolkit * Ch ...
for building interactive
information visualization Information is an abstract concept that refers to that which has the power to inform. At the most fundamental level information pertains to the interpretation of that which may be sensed. Any natural process that is not completely random, a ...
applications. It supports a rich set of features for data modeling, visualization and interaction. It provides optimized data structures for
tables Table may refer to: * Table (furniture), a piece of furniture with a flat surface and one or more legs * Table (landform), a flat area of land * Table (information), a data arrangement with rows and columns * Table (database), how the table d ...
, graphs, and
trees In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, including only woody plants with secondary growth, plants that are u ...
, a host of layout and visual encoding techniques, and support for animation, dynamic queries, integrated search, and database connectivity. Prefuse uses the
Java 2D Java 2D is an API for drawing two-dimensional graphics using the Java programming language. Every Java 2D drawing operation can ultimately be treated as ''filling'' a ''shape'' using a ''paint'' and ''compositing'' the result onto the screen. ...
graphics library A graphics library is a program library designed to aid in rendering computer graphics to a monitor. This typically involves providing optimized versions of functions that handle common rendering tasks. This can be done purely in software and runn ...
, and is easily integrated into Swing applications or
Java applet Java applets were small applications written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode. The user launched the Java applet from a ...
s. Prefuse is licensed under the terms of a
BSD license BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lice ...
, and can be used freely for commercial and non-commercial purposes.


Overview

Prefuse is a
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
-based extensible software framework for creating interactive
information visualization Information is an abstract concept that refers to that which has the power to inform. At the most fundamental level information pertains to the interpretation of that which may be sensed. Any natural process that is not completely random, a ...
applications. It can be used to build standalone applications, visual components and
Java applet Java applets were small applications written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode. The user launched the Java applet from a ...
s. Prefuse intends to simplify the processes of visualizing, handling and mapping of data, as well as user interaction. Some of Prefuse's features include: *
Table Table may refer to: * Table (furniture), a piece of furniture with a flat surface and one or more legs * Table (landform), a flat area of land * Table (information), a data arrangement with rows and columns * Table (database), how the table data ...
,
graph Graph may refer to: Mathematics *Graph (discrete mathematics), a structure made of vertices and edges **Graph theory, the study of such graphs and their properties *Graph (topology), a topological space resembling a graph in the sense of discre ...
, and
tree In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, including only woody plants with secondary growth, plants that are ...
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 and more. * A library of 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 search engine is a software system designed to carry out web searches. They search the World Wide Web in a systematic way for particular information specified in a textual web search query. The search results are generally presented in a ...
. * A physical force
simulation A simulation is the imitation of the operation of a real-world process or system over time. Simulations require the use of models; the model represents the key characteristics or behaviors of the selected system or process, whereas the s ...
engine for dynamic layout and animation (s.a.
Force-directed graph drawing Force-directed graph drawing algorithms are a class of algorithms for drawing graphs in an aesthetically-pleasing way. Their purpose is to position the nodes of a graph in two-dimensional or three-dimensional space so that all the edges are of m ...
) * 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 application programming interfaces (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.


Architecture

The design of the prefuse toolkit is based upon the
information visualization reference model The Information visualization reference model is an example of a reference model for information visualization, developed by Ed Chi in 1999, under the name of the ''data state model''. Chi showed that the framework successfully modeled a wide array ...
, a software architecture pattern that breaks up the visualization process into a series of discrete steps. "Prefuse: a toolkit for interactive information visualization" 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. Later, Chi's work showed that the model was functionally equivalent to the data flow model used in existing graphics toolkits such as VTK. In their work, "Readings in Information Visualization: Using Vision to Think", Stuart K. Card, Jock D. Mackinlay, and Ben Shneiderman present their own interpretation of this pattern, dubbing it the "information visualization reference model". Jock D. Mackinlay Stuart K. Card, Ben Shneiderman (eds.) (1999). ''Readings in information visualization: using vision to think''. Morgan Kaufmann Publishers Inc, p.686.


See also

* Rhizome Navigation


References


External links

* {{Visualization Computational science Free data visualization software Free software programmed in Java (programming language)