The Circular Hierarchy algorithm produces a circular visualization of the output produced by a multi-level aggregation method. It is used to visualize the community detection done by the aggregation algorithm.
The algorithm aims to create a circular visualization when provided with hierarchy information for each node. Different communities information can also be provided using the levels. The algorithm is as follows,
All this data is then output into a ps file in appropriate format.
The algorithm requires a file storing the information about the network. This file should have information about at least one hierarchy level. This contains the information about community to which a particular node belongs to. The hierarchy can have at most 4 levels. The ordering of these hierarchies is also important and can be specified at the time of input.
The other optional information like node color attribute values, node strengths, edge weights can also be provided. In its absence the default values of 1.0 are considered for all of these parameters.
Hierarchical edge bundling is based on the principle of visually bundling adjacency edges together analogous to the way electrical wires and network cables are merged into bundles along their joint paths and fanned out again at the end, in order to make an otherwise tangled web of wires and cables more manageable. This value can also be provided. It must be between 0.0 and 1.0. It's default value is 0.75.
Once these parameters are provided the system performs the computations and a PostScript (.ps) file is generated.
The original Round Russell algorithm was authored and later implemented in Python by Russell Duhon. This circular visualization algorithm was then implemented in Java, integrated and documented by Chintan Tank. Also thanks to Russell Duhon for providing the original python source code and helping throughout the implementation. Many thanks to Micah Linnemeier as well for providing guidance during implementation.