Hierarchical Edge Bundles Documentation


Implementation

Our application, an implementation of the paper [1], is written in C++, and is based on OpenGL. For the GUI construction, we use the (non-commercial) Qt libraries.

Data support

We designed our own family tree datasets (.tree). The files are based on XML. They use xml-style tags to define the fields and the relations between the nodes. There is always one root node and it (and each further node) can have several mother and father nodes. For real human families this will always be at most two, but this is not a restriction given by the implementation of the parser. Each node has to have a unique ID.

The relations-file (.rel) has to contain a relations and rel tag at the beginning and /rel /relations with a pair of id-numbers on each line in between.

Graph (Trees) visualization

The application supports various tree layouts, which we implemented on our own. These will operate on a tree data structure.

B-Splines for adjacency representation

The tree data structure gives us a convenient access to parent, children and leaf-nodes. To connect two leaf-nodes (A and B), we search for the "deepest" common ancestor (C). We create a point list of all children-nodes of C to use it as control points of a spline connecting the leaf-nodes A and B. Initially, we put all the common ancestors into a queue and process them sequentially. After having processed a leaf-node X, we remove it from the queue. This will prevent from attempts accessing X from other nodes and from creating multiple adjacent paths between two leaf-nodes. Splines' shape in the application is controlled by a parameter beta called bundling parameter. For beta = 1, the adjacent paths are perfectly bounded. For beta = 0, adjacent paths are straight lines. Moreover, the user can adjust alpha gamut of splines to emphasize those, which are shorter (nearer neighbors) and thus more important.

References

[1] Holten D., "Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data", IEEE Transactions on Visualization and Computer Graphics, Vol. 12, No. 5, pp. 741-748, 2006

Generated on Tue Jun 3 21:15:49 2008 for Hierarchical Edge Bundles by  doxygen 1.5.6