Differences between revisions 7 and 19 (spanning 12 versions)
Revision 7 as of 2007-07-26 20:24:26
Size: 2709
Editor: 140
Comment:
Revision 19 as of 2007-07-26 20:58:56
Size: 5685
Editor: 140
Comment:
Deletions are marked like this. Additions are marked like this.
Line 14: Line 14:
This is an RFC to create a core Cytoscape plugin that will support "Excentric Labeling". This is an RFC to create a Cytoscape plugin that will support "Excentric Labeling".
Line 29: Line 29:
This RFC is the result of Allan Kuchinsky's initial exploration / evaluation of the [InfoVis_Toolkit]. As part of his evaluation, Allan built several prototypes, including one which demonstrates the excentric label features provided by InfoVis. There is a movie of the prototype available on the [InfoVis_Toolkit] page. This RFC is the result of Allan Kuchinsky's initial exploration / evaluation of the ["InfoVis_Toolkit"]. As part of his evaluation, Allan built several prototypes, including one which demonstrates the excentric label features provided by Info``Vis. There is a movie of the prototype available on the ["InfoVis_Toolkit"] page.

== Status of Code ==

The plugin is currently available as a prototype, and is available in Subversion:

http://chianti.ucsd.edu/svn/csplugins/trunk/agilent/kuchinsky/ExcentricLabelsPlugin/
Line 32: Line 39:
== Requirements == Large networks and pathways can be difficult to interpret and navigate because of the difficulty in identifying individual nodes. Quick``Find helps end users quickly find nodes of interest, but does not help users identify neighboring nodes of interest. Excentric labeling provides a dynamic method of quickly identifying nodes within a neighborhood, and will help end users interpret and navigate biological networks and pathways.
Line 34: Line 41:
== Deferred Items == ##== Requirements ==
Line 36: Line 43:
== Open Issues == ##== Deferred Items ==

== Feature List ==

The following is a list of feature questions, which we should discuss:

 * How will users activate/de-activate the plugin?
 * Should we make this a core plugin or a "regular" plugin?
 * Do we want to enable interactive setting of excentric label parameters, e.g. the "lens" size and the maximum number of labels shown?
 * Do we want to enable interactive setting of label content? For example, a pull-down menu, where a user can choose which attribute is shown within the label.
 * Should we provide an mechanism whereby each graph reader can register a default attribute for label content? For example, the Bio``PAX graph reader would probably want to use biopax.node_label as the default.

== Technical Issues ==

The following is a list of current issues / limitations of the current prototype plugin. These will need to be addressed:

 * It has been difficult to get the endpoints of the lines emanating from the excentric labels to coincide exactly with the centerpoints of Cy``Nodes that they correspond to. This is due to limitations of the Cytoscape renderer. There are methods for mapping a point in Cytoscape``Desktop coordinates to the corresponding position in Cy``Network coordinates, but no inverse methods for mapping a point in Cy``Network coordinates back to Cytoscape``Desktop. Allan has attempted to build such methods, without success. One source of difficulty is that the mapping of desktop to network coordinates is destructive of the original transforms.
 * '''[RESOLVED]''' There is a flickering effect when the density of the labels in an area is over a certain amount. It's possible that the labels are overwriting each other on the display.
 * '''[POSSIBLY RESOLVED; REQUIRES FURTHER TESTING]''' Cytoscape slows appreciably when the excentric labels are activated. This may likely be due to faulty logic in the prototype code itself, possibly the unintentional introduction of tight loops. Some profiling is needed to better characterize the problem.
 * Code currently only works with exactly one network. We need to be able to handle multiple networks.
 * Code currently does not function properly when the viewport is resized.
 * Is the Info``Vis jar file big? If so, could we extract only those classes we need for the Excentric label feature?
Line 43: Line 71:
== Implementation Plan == ##== Implementation Plan ==
Line 53: Line 81:

Add your comments below...

RFC Name : Excentric Labeling in Cytoscape

Editor(s): Allan Kuchinsky, Ethan Cerami

Status: Open to comment

TableOfContents([2])

Proposal

This is an RFC to create a Cytoscape plugin that will support "Excentric Labeling".

First off, what exactly is "Excentric Labeling"?

  • "Excentric labeling is a dynamic technique of neighborhood labeling for data visualization. When the cursor stays more than one second over an area where objects are available, all labels in the neighborhood of the cursor are shown without overlap, and aligned to facilitate rapid reading. A circle centered on the position of the cursor defines the neighborhood or focus region. A line connects each label to the corresponding object."[1]

Here is an example, taken from [1]:

attachment:excentric1.png

Background

This RFC is the result of Allan Kuchinsky's initial exploration / evaluation of the ["InfoVis_Toolkit"]. As part of his evaluation, Allan built several prototypes, including one which demonstrates the excentric label features provided by InfoVis. There is a movie of the prototype available on the ["InfoVis_Toolkit"] page.

Status of Code

The plugin is currently available as a prototype, and is available in Subversion:

http://chianti.ucsd.edu/svn/csplugins/trunk/agilent/kuchinsky/ExcentricLabelsPlugin/

Biological Questions / Use Cases

Large networks and pathways can be difficult to interpret and navigate because of the difficulty in identifying individual nodes. QuickFind helps end users quickly find nodes of interest, but does not help users identify neighboring nodes of interest. Excentric labeling provides a dynamic method of quickly identifying nodes within a neighborhood, and will help end users interpret and navigate biological networks and pathways.

Feature List

The following is a list of feature questions, which we should discuss:

  • How will users activate/de-activate the plugin?
  • Should we make this a core plugin or a "regular" plugin?
  • Do we want to enable interactive setting of excentric label parameters, e.g. the "lens" size and the maximum number of labels shown?
  • Do we want to enable interactive setting of label content? For example, a pull-down menu, where a user can choose which attribute is shown within the label.
  • Should we provide an mechanism whereby each graph reader can register a default attribute for label content? For example, the BioPAX graph reader would probably want to use biopax.node_label as the default.

Technical Issues

The following is a list of current issues / limitations of the current prototype plugin. These will need to be addressed:

  • It has been difficult to get the endpoints of the lines emanating from the excentric labels to coincide exactly with the centerpoints of CyNodes that they correspond to. This is due to limitations of the Cytoscape renderer. There are methods for mapping a point in CytoscapeDesktop coordinates to the corresponding position in CyNetwork coordinates, but no inverse methods for mapping a point in CyNetwork coordinates back to CytoscapeDesktop. Allan has attempted to build such methods, without success. One source of difficulty is that the mapping of desktop to network coordinates is destructive of the original transforms.

  • [RESOLVED] There is a flickering effect when the density of the labels in an area is over a certain amount. It's possible that the labels are overwriting each other on the display.

  • [POSSIBLY RESOLVED; REQUIRES FURTHER TESTING] Cytoscape slows appreciably when the excentric labels are activated. This may likely be due to faulty logic in the prototype code itself, possibly the unintentional introduction of tight loops. Some profiling is needed to better characterize the problem.

  • Code currently only works with exactly one network. We need to be able to handle multiple networks.
  • Code currently does not function properly when the viewport is resized.
  • Is the InfoVis jar file big? If so, could we extract only those classes we need for the Excentric label feature?

References

[1] Jean-Daniel Fekete and Catherine Plaisant, Excentric Labeling: Dynamic Neighborhood Labeling for Data Visualization, HCIL Technical Report 99-09 (December 1998); http://www.cs.umd.edu/hcil CHI’99 Pittsburgh, PA, USA, May 15-20, 1999, 512-519.

Comments

How to Comment

Edit the page and add your comments under the provided header. By adding your ideas to the Wiki directly, we can more easily organize everyone's ideas, and keep clear records. Be sure to include today's date and your name for each comment. Try to keep your comments as concrete and constructive as possible. For example, if you find a part of the RFC makes no sense, please say so, but don't stop there. Take the extra step and propose alternatives.

Add your comments below...

ExcentricLabelRFC (last edited 2009-02-12 01:04:13 by localhost)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux