Simplifying TugGraph using zipping algorithms. (July 2020) - Golodetz, S.; Arnab, A.; Voiculescu, I.D.; Cameron, S.A.
Highlights: We generalise zipping algorithms for segmentation hierarchy editing to simplify the popular TugGraph visualisation algorithm. Our SimpleTug approach is modular, straightforward, and saves memory and time compared to existing TugGraph implementations. We prove its equivalence to other methods, show its effectiveness, and discuss how TugGraph and zipping are connected. These connections help pin down what TugGraph is really doing, making it easier to reason about in future. We further show how SimpleTug and an existing TugGraph method can be parallelised. Abstract: Graphs are an invaluable modelling tool in many domains, but visualising large graphs in their entirety can be difficult. Hierarchical graph visualisation – recursively clustering a graph's nodes to view it at a higher level of abstraction – has thus become popular. However, this can hide important information that a user needs to understand a graph's topology, e.g. nodes' neighbourhoods. TugGraph addressed this by 'separating out' a given node's neighbours from their hierarchy ancestors to visualise them independently. Its original implementation was straightforward, but copied parts of the hierarchy, making it slow and memory-hungry. An optimised later version, which we refer to as FastTug, avoided this, but at a cost in clarity. Optimising TugGraph without sacrificing clarity is difficult because of the need to keep every hierarchy node connected, a common challenge for graph hierarchy editing algorithms. Recently, this problem has been addressed by 'zipping' algorithms, multi-level split/merge algorithms that preserve hierarchy node connectedness and can be built upon for higher-level editing. In this paper, we generalise the original unzipping algorithms to implement SimpleTug, a simple, modular version of TugGraph that is easy to understand and implement, and even faster and more memory-efficient than FastTug . We formally prove its equivalence to FastTug, and show how both can be parallelised. Using our millipede hierarchical image segmentation system, we show experimentally that both the serial and parallel versions of SimpleTug are around 25% faster than their FastTug counterparts, whilst using considerably less memory. Finally, we discuss the interesting theoretical connections between TugGraph and zipping, and suggest ideas for further work.