Project description

While there are various tools available for creating immersive data visualisations, they are unavailable in a data scientist's coding environment like Jupyter Notebooks and require users to transfer data and 3D models from one interface to another, thereby slowing down the visualisation creation process. This project presents, pyReality, a Python library that lets users rapidly create immersive data visualisations in Jupyter Notebooks. Furthermore, pyReality leverages WebXR to render mixed reality visualisations in browsers making them more accessible. Once created, these visualisations can be viewed using a head-mounted display and configured via the Jupyter Notebooks' interface.

Mixed Reality Data Visualisations

pyReality bridges the gap between Jupyter Notebooks and mixed reality. This project presents three data visualisations, one of which is a fully immersive scatterplot. pyReality leverages existing data visualisation libraries and WebXR to render 1/2/3D plots using Jupyter Notebooks. The visualisations can be configured using a graphical user interface (GUI).

Device Composition

pyReality lets users create data visualisations on a screen-based display i.e., 2D and view them using a head-mounted display (HMD) e.g., Magic Leap. To achieve an optimised experience, the project presents a design space for device composition using a PC (or laptop) and an HMD (like Magic Leap).

Using Web as a Medium to Create Mixed Reality Visualisations

From the user evaluation of pyReality, it was found that being able to share a mixed reality visualisation using a URL was well-received mainly because the web is widely accessible and after exploring the visualisation themselves, the users are able to share the same with other stakeholders. Advancements in HMD browsers and the support for WebXR will allow for more forms of interactions and make the potential for the web being the medium to openly share mixed reality visualisations even stronger.

Rapidly Creating Immersive Data-Driven Content

pyReality allows users of Jupyter Notebooks to rapidly create immersive data-driven content and share it via the web. By providing a high-level interface that is both code-based and a GUI, pyReality reduces the need for manual low-level programming and 3D modelling to create immersive visualisations. In doing so, this project bridges the gap between mixed reality and Jupyter Notebooks and presents a device composition that can work well for the rapid creation of MR visualisations.

pyReality opens avenues for new forms of visualisations and interactions that will make the data more tangible and easier to understand.

Tashfeen Ahmed

pyReality: A Python Package for Creating Immersive Visualisations in Jupyter Notebooks