SUMMON - Rapid prototyping of 2D visualizations

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • matt.rasmus@gmail.com

    SUMMON - Rapid prototyping of 2D visualizations

    I have been using python for the last two years to create various
    visualizations for my research in computational biology. Over the
    years, I found that I often needed the same kinds of features for many
    of my visualizations (OpenGL graphics with basic scrolling and
    zooming). I have implemented these features in an extension module
    for python called SUMMON which I have made freely available on my
    website for anyone who is interested <http://people.csail.mit.edu/
    rasmus/summon/index.shtml>.

    Although, there are many visualization frameworks, I believe SUMMON
    provides a fairly unique combination.

    - First, SUMMON is designed to be fast and able to visualize extremely
    large datasets. In the examples included, there is a visualization of
    a binary tree with roughly 40,000 leaves (a hierarchical clustering of
    all protein sequences from the human and dog genomes). Specifying how
    to draw the tree is done once in using python functions provided by
    SUMMON (relatively slowly in about 10secs), however once constructed,
    it uses natively compiled C++ to handle interaction. Callbacks such
    as mouse movements, clicks, and key strokes can all be bound to python
    functions to customize interaction.

    - SUMMON is designed for prototyping visualizations. Often times in
    science, one wants to visualize something in order to understand
    whether it has any interesting patterns. If the answer is "no", you
    have to be able to throw away the visualization and move on to another
    approach. However, if there is a large amount of overhead in creating
    a visualization (designing dialog boxes, toolbars, laying out check
    boxes), it can become difficult to give up a visualization with that
    much investment so easily. The philosophy with SUMMON is to rely on
    the python shell for handling basic interaction (reading in data,
    specifying options, interacting with visualization) in order to avoid
    GUI design. Once, you realize a visualization is worth while for your
    research, you can then reimplement it in your favorite full featured
    GUI-toolkit.

    - It provides basic scrolling and zooming for an arbitrarily large
    coordinate space. As a user you simply draw out your visualization
    with lines, polygons, and text in the coordinate system you wish,
    completely ignoring how many pixels anything may take. SUMMON will
    handle the display, including smart display of text (automatic
    clipping, sizing, and justification of text).

    - Its cross-platform: It only relies on python2.4, OpenGL, GLUT, and
    SDL.

    So if this sounds like something you may need for your work, please
    check it out and let me know what you think.

    Matt

  • Joshua J. Kugler

    #2
    Re: SUMMON - Rapid prototyping of 2D visualizations

    On Thursday 05 April 2007 10:12, matt.rasmus@gma il.com wrote:
    I have been using python for the last two years to create various
    visualizations for my research in computational biology. Over the
    years, I found that I often needed the same kinds of features for many
    of my visualizations (OpenGL graphics with basic scrolling and
    zooming). I have implemented these features in an extension module
    for python called SUMMON which I have made freely available on my
    website for anyone who is interested <http://people.csail.mit.edu/
    rasmus/summon/index.shtml>.
    It does sound interesting. Please add it to the cheese shop to facilitate
    easier discovery and wider exposure.

    j

    --
    Joshua Kugler
    Lead System Admin -- Senior Programmer

    PGP Key: http://pgp.mit.edu/  ID 0xDB26D7CE

    --
    Posted via a free Usenet account from http://www.teranews.com

    Comment

    Working...