Skip to content

Latest commit

 

History

History
33 lines (26 loc) · 3.7 KB

README.md

File metadata and controls

33 lines (26 loc) · 3.7 KB

Appendix C

BlendNet

(a) Chain graph rendered by BlendNet software. Node colors are randomly generated by the tool. (b) Star graph rendered by BlendNet software. Node colors and labels are given as extra columns in node-list file.

Graph visualization is still an open problem in many applications. The problem is commonly related to large graph visualization in which problems arise from the rendering of a large number of nodes and a greater number of links between them (a graph with N nodes could have (N x N) possible links). An other open problem concern the multi-dimensional visualization of graphs. Despite common graph tools compute the node coordinates in any space dimensions (and clearly the maximum number of possible dimension for a visualization is only 3) the real visualization is often allowed only in 2D spaces. The counterpart of these problems concern a pretty visualization of the graphs that it is often ignored by many tools which prefer focusing on simple renderings.

In this section we introduce a new custom graph viewer developed for pretty small-network visualization in 2D and 3D, called BlendNet (Blender Network viewer). BlendNet is an open-source project and it is released on Github under GPL license. All the small-graphs showed in this work are made using this tool and in particular the feature-signatures generated by the DNetPRO algorithm.

BlendNet is written in Python with the help of Blender API. Blender is now a standard for 3D rendering and it is commonly used in a wide range of graphical applications, starting from the simpler 3D dynamics to video-game applications. Blender is certainly more than a simple graphical viewer but it provide an easy Python interface and a wide on-line documentation which make it a useful tool for graphical representation of 3D structures.

We are forced to use the Python version provided by Blender to use its APIs and any extra-package required by our application have to be installed with the appropriate pip. We use the networkx Python library for node coordinates computation and thus we have to update our Python-Blender with the appropriate packages. Moreover, since the code can be difficult to manage for non-expert users we have written an easy command-line interface to set the whole set of parameters required by the graph viewer that can be piloted via Makefile rules. The list of nodes and edges can be passed via command-line with relative filenames, in the same format of the concurrent graph viewers (e.g Gephi software, the other graph viewer used in this work to generate the larger network structures of the CHIMeRA project).

The software project is a single script file and it includes a full list of possible examples and usages. Some of this examples are shown in the initial Figure. A full list of installation instructions is also provided for any operative system (Unix, MacOS and Windows). These instructions cover a full installation of Blender, Python and BlendNet package for administrator and no-root users [Shut]. With slight code editing we can obtain different node coordinates and shapes. Node colors, sizes and positions can also be given using the node-list file as independent columns.

next >>