Connecting Leap Motion to the Graph

Authors: Hao Zhang, Zhaolian Zhou, Andy Xiang, Kun Wang, Amir Aryani
26 August 2016

While Virtual Reality (or VR) is becoming the next buzzword, there is a number of serious applications for this technology. Interacting with computers beyond mouse, keyboard and traditional computer monitor is a powerful experience. It enables exploring possibilities that were unforeseeable few years ago.

These days we can see new adoptions of VR in the aviation industry, medical science and even design and manufacturing. This project is another example of mixing the computer generated models with the three-dimensional user interface, imitating the life-like human interaction with real objects. The goal is to make a large scale graph accessible to the users and enable them to interact with the graph as intuitive as reaching with their hands and grab a node.

Research Graph is a network of connections between researchers, scientific publications, research projects and other scholarly works. Enabling virtual interaction with such a graph can be as powerful as the experience of walking in a library and interacting with books, articles and their connections to science projects. While such a powerful experience is our vision, we test our case with small steps where we can experiment with different technologies in a controlled environment.

To start, we are going to use Leap Motion controls to provide hand gesture capabilities for the graph explorer. This will demonstrate how a user can perform common tasks such as traversing the graph and zooming into a particular cluster of nodes using hand gestures.

What is Leap Motion?

This video by Robert O’Leary shows how Leap Motion can be used to control a graph layout. This project developed on this concept by connecting Leap Motion to a complex large-scale graph using Gephi (gephi.org) as the platform for visualisation.

There are multiple interesting usages of such a device. For example, a gesture control on presentation slides. Imagine standing in front of big clients, flipping through the slides just by a clever hand gesture, almost like the actor in a sci-fi movie.

This video by Robert O’Leary shows how Leap Motion can be used to control a graph layout. This project developed on this concept by connecting Leap Motion to a complex large-scale graph using Gephi (gephi.org) as the platform for visualisation.

What is Gephi?

As one of the selected project for the GSoC (Google Summer of Code) in 5 years (2009 – 2013) [1], Gephi is an open-source network analysis and visualisation software package written in Java.
It is a powerful tool for data analysts and it enables exploration and better understanding of relationships in a given graph. As a complementary tool to traditional statistics, it makes the representation and manipulation of the graph structures much easier [2]. Gephi has been used in a number of research projects, such as traffic flow analysis during social network events [1].

Powered by the OpenGL engine, Gephi is able to handle up to 100,000 nodes and 1,000,000 edges [5], and it can dynamic filtering features and visualise the graph real-timely. Gephi also uses efficiency and quality layout algorithms to give a shape to the graph and increase the readability of relationships. Moreover, it enables the user to change graph layout at runtime.

Gephi provides the statistics and metrics framework for social network analysis (SNA). Embedded timeline is another leading function of dynamic graph analysis. By manipulating the timeline, users can observe the transformation of the network over time.

Gephi uses GraphML [3] as the default graph format. GraphML uses an XML-based syntax and supports the entire range of possible graph structure constellations. Apart from the majority of graph file formats, it also supports CSV and relational databases import. In addition, it provides data export to PDF, SVG and PNG formats. As for this project, data from Neo4j [4] database will be imported as the main data source, and we are working on a new plugin that enables the data transformation.

References:
[1] https://en.wikipedia.org/wiki/Gephi
[2] https://gephi.org/features/
[3] https://en.wikipedia.org/wiki/GraphML
[4] https://en.wikipedia.org/wiki/Graph_database
[5] https://gephi.org/users/requirements

Leave a Reply