prefuse.action.filter
Class FisheyeTreeFilter

java.lang.Object
  extended by prefuse.activity.Activity
      extended by prefuse.action.Action
          extended by prefuse.action.GroupAction
              extended by prefuse.action.filter.FisheyeTreeFilter

public class FisheyeTreeFilter
extends GroupAction

Filter Action that computes a fisheye degree-of-interest function over a tree structure (or the spanning tree of a graph structure). Visibility and DOI (degree-of-interest) values are set for the nodes in the structure. This function includes current focus nodes, and includes neighbors only in a limited window around these foci. The size of this window is determined by the distance value set for this action. All ancestors of a focus up to the root of the tree are considered foci as well. By convention, DOI values start at zero for focus nodes, with decreasing negative numbers for each hop away from a focus.

This form of filtering was described by George Furnas as early as 1981. For more information about Furnas' fisheye view calculation and DOI values, take a look at G.W. Furnas, "The FISHEYE View: A New Look at Structured Files," Bell Laboratories Tech. Report, Murray Hill, New Jersey, 1981. Available online at http://citeseer.nj.nec.com/furnas81fisheye.html.

Author:
jeffrey heer

Field Summary
 
Fields inherited from class prefuse.action.GroupAction
m_group
 
Fields inherited from class prefuse.action.Action
m_vis
 
Fields inherited from class prefuse.activity.Activity
DEFAULT_STEP_TIME, INFINITY
 
Constructor Summary
FisheyeTreeFilter(java.lang.String group)
          Create a new FisheyeTreeFilter that processes the given group.
FisheyeTreeFilter(java.lang.String group, int distance)
          Create a new FisheyeTreeFilter that processes the given group.
FisheyeTreeFilter(java.lang.String group, java.lang.String sources, int distance)
          Create a new FisheyeTreeFilter that processes the given group.
 
Method Summary
 int getDistance()
          Get the graph distance threshold used by this filter.
 java.lang.String getSources()
          Get the name of the group to use as source nodes for measuring graph distance.
 void run(double frac)
          Runs this Action, triggering whatever processing this Action performs.
 void setDistance(int distance)
          Set the graph distance threshold used by this filter.
 void setSources(java.lang.String sources)
          Set the name of the group to use as source nodes for measuring graph distance.
 
Methods inherited from class prefuse.action.GroupAction
getGroup, setGroup
 
Methods inherited from class prefuse.action.Action
getVisualization, run, setVisualization
 
Methods inherited from class prefuse.activity.Activity
addActivityListener, alwaysRunAfter, cancel, fireActivityCancelled, fireActivityFinished, fireActivityScheduled, fireActivityStarted, fireActivityStepped, getDuration, getNextTime, getPace, getPacingFunction, getStartTime, getStepTime, getStopTime, isEnabled, isRunning, isScheduled, removeActivityListener, run, runAfter, runAt, setDuration, setEnabled, setPacingFunction, setStartTime, setStepTime
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FisheyeTreeFilter

public FisheyeTreeFilter(java.lang.String group)
Create a new FisheyeTreeFilter that processes the given group.

Parameters:
group - the data group to process. This should resolve to a Graph instance, otherwise exceptions will result when this Action is run.

FisheyeTreeFilter

public FisheyeTreeFilter(java.lang.String group,
                         int distance)
Create a new FisheyeTreeFilter that processes the given group.

Parameters:
group - the data group to process. This should resolve to a Graph instance, otherwise exceptions will result when this Action is run.
distance - the graph distance threshold from high-interest nodes past which nodes will not be visible nor expanded.

FisheyeTreeFilter

public FisheyeTreeFilter(java.lang.String group,
                         java.lang.String sources,
                         int distance)
Create a new FisheyeTreeFilter that processes the given group.

Parameters:
group - the data group to process. This should resolve to a Graph instance, otherwise exceptions will result when this Action is run.
sources - the group to use as source nodes, representing the nodes of highest degree-of-interest.
distance - the graph distance threshold from high-interest nodes past which nodes will not be visible nor expanded.
Method Detail

getDistance

public int getDistance()
Get the graph distance threshold used by this filter. This is the threshold for high-interest nodes, past which nodes will not be visible nor expanded.

Returns:
the graph distance threshold

setDistance

public void setDistance(int distance)
Set the graph distance threshold used by this filter. This is the threshold for high-interest nodes, past which nodes will not be visible nor expanded.

Parameters:
distance - the graph distance threshold to use

getSources

public java.lang.String getSources()
Get the name of the group to use as source nodes for measuring graph distance. These form the roots from which the graph distance is measured.

Returns:
the source data group

setSources

public void setSources(java.lang.String sources)
Set the name of the group to use as source nodes for measuring graph distance. These form the roots from which the graph distance is measured.

Parameters:
sources - the source data group

run

public void run(double frac)
Description copied from class: Action
Runs this Action, triggering whatever processing this Action performs. Subclass this method to create custom Actions.

Specified by:
run in class GroupAction
Parameters:
frac - the fraction of this Action's duration that has elapsed.
See Also:
GroupAction.run(double)


Copyright 2007 Regents of the University of California