#209: Stereoscopic Visualization Techniques for Embedded System Graphs

Ragaad-Al-TarawnehThere are some open questions within the data visualization community as to what benefits the third dimension might add to visualizing information that doesn’t have an inherent spatial component. Ragaad Al Tarawneh was at the 3DUI conference presenting a paper called “Utilization of Variation in Stereoscopic Depth for Encoding Aspects of Non-spatial Data.”

Al-Tarawneh-Poster

Ragaad recently completed her Ph.D. from the Computer Graphics and HCI group at the University of Kaiserslautern. She studied how to use different graph visualization techniques in order to help users better understand the behavior of complex data sets. She talks about a project collaboration with the Fraunhofer Institute about visualizing the failure mechanisms of complex embedded systems.

She talks about one of the useful applications of stereoscopic visualization techniques that she discovered in her research, which is called ExpanD. ExpanD is a “technique for expanding or contracting the nodes in order to align graph nodes in the 3D space with minimal occlusion.” She found that “stereoscopic depth can be used to encode data aspects of graphs under certain circumstances.”

Become a Patron! Support The Voices of VR Podcast Patreon

Theme music: “Fatality” by Tigoolio

Subscribe to the Voices of VR podcast.

Rough Transcript

[00:00:05.452] Kent Bye: The Voices of VR podcast.

[00:00:11.996] Ragaad Al Tarawneh: My name is Raghad. I'm originally from Jordan. I'm doing my PhD in Kaiserslautern University in Germany. My main interest is graph visualization and how can we actually leverage the understanding of this kind of data type. Working with a large project, a joint project between my university and Fraunhofer Institute in Germany, And that was actually to integrate or visualize large embedded system. And embedded system is quite complex system. So we have 3D data and we have 2D data. Yeah, representing the same data type or the same system. So what we use actually, we try to integrate or to design A system or a framework that can integrate between the 2D representation and 3D technology. And that was actually what we propose to use in this poster we presented here in 3D UI. It's a technique called expand, which means expand in depth. instead of expanding vertically or horizontally of compound graphs, compound node in compound graphs. So we assume that why we don't actually render it in a 3D platform and we get benefit of the depth perception that's already provided by this technology. So we said, OK, then we expand in depth. So we create a new layer to contain the internal structure of the expanding node. And this will be rendered in front of the user. And naturally, this will be in focus. So it's a natural highlighting technique. So instead of having colors to highlight the nodes and graphs, so now they will look closer to the viewer. And this is a natural process. So our attention will be naturally to those closer objects rather than the further away. object so that's what we said actually so expanding plus stereoscopic depth gives a natural highlighting technique, which also can be understand naturally by the users. And that was what we evaluated in our study. And most of the people actually agreed. And yeah, they were able to detect the variation in depth and detect the number of layers in the setup. And yeah, so they were able to grasp the color meaning and the depth meaning. So that was the goal actually of the study.

[00:02:30.073] Kent Bye: Yeah, and so I've used something in the past called GraphViz, which is you give it the nodal connection, this A is connected to B, and B is connected to C, and then it would draw a line, and then any sort of other connections, it would automatically figure out the spacing, so it would connect all the different graph and nodal connections. And this seems like what you're doing here with Expand is to also be able to use the third dimension of the depth. And so, you know, what is that algorithm expand and how is it able to kind of figure out when to start to use that third layer of depth?

[00:03:01.158] Ragaad Al Tarawneh: Okay. So expand is a new technique that actually it's actually expand and D at the end is capital letter. So it's not the normal. So it's expand in depth. So that's what we mean actually. That's the new thing about our technique. So we expand, yeah, as I said, in depth and we create once the user click on one node, Then we create a new plane next to him containing the nodes or the children of that expanded node. And we created that plane to show the containment relationship between the parent and its children. So instead of having a direct connection or edge between or the link, which will cause extra occlusion, so we say no actually. We will represent this parent-child relationship implicitly. So the node contained its children. And due to the depth, the children will look closer to the viewer rather than the parent. And that's actually what we want to put the emphasis on the most active level of details, which is the children level, not the parent level, because the parent is already expanded. And we assume that is not important anymore. Because if it was important, then the viewer would not expand it. And also, we use slow animation to show this changing process in the graph. So in order to have the user to detect the variation, what's going on, and which children is child of which node. And we show also small animation to show the links between the children themselves. So sometimes the children have friendship relationship with other nodes. And this relationship is represented using explicit edges. So in our case, what we actually do, what is the new contribution? We expand in depth. At the same time, it represents the compound graph nicely. So they represent two types of relations, the structural relations and the friendship relations without extra occlusion. So that's what we actually try to optimize.

[00:05:06.839] Kent Bye: Yeah. It sounds like this would be really great for hierarchical data where there's sort of a parent-child relationship. And so I'm curious what sort of the use cases that you were trying to solve here specifically, if there was an applied use case for this, or where do you see this being used?

[00:05:21.412] Ragaad Al Tarawneh: So the representation itself, I mean, the graph representation or the visualization that we propose can be used easily in software visualization. Because in software you have packages and packages are divided in set of classes and classes has set of methods. And the methods themselves have relations with each other. So the method can call another method. So this is what we mean with exaplicit relation or adjacent relation. However, the method is belonging to one class. So this is the structural relation. So that's what we say actually. This kind of representation is used to represent this kind of data where you have two types or three types of relationship, not only hierarchical, not only the parent-child relationship. The depth itself or the expand technique can be used to optimize or to bridge the gap between the 2D representation and 3D technologies because normally 3D is avoided option in information visualization or graph visualization technique due to the cluttering and extra things. So our solution is a bit compromise rather than using the 3D to represent spatial data of non-spatial data. We don't do this. We say actually, no, we just utilize the depth perception of people because normally we are trained to detect the variation in depth in our normal life. So it's okay. So why we don't use it to encode some aspect about the data. So, there are many applications. For example, the embedded system, you have 3D data and you have 2D data. And normally, you want to visualize them in one platform to represent or to tell the story about the system, okay? So, we have 2D. So, we integrated you through the stereoscopic depth with the 3D world. So, that's one of the story that actually we're trying to achieve.

[00:07:05.993] Kent Bye: Yeah, I'd imagine that a lot of different ways to add markers within code to be able to automatically generate documentation, I would imagine that putting that into a system like this, someone may be able to look at it with the system and be able to get ramped up and to navigate the full space of all the information. Is that part of the intent is for people to more easily understand and comprehend the system for the first time or use it as a reference tool for documentation? as well as if you would imagine that there'd be some way to kind of feed in an existing software program to automatically parse it and that structure kind of be emerged.

[00:07:42.455] Ragaad Al Tarawneh: Okay, you mean, yeah, if we are trying to make it more universal with other data formats. Yeah, it's very standard format. So we read VRML representation of the 3D model and we have NXML representation of the graph. And it's quite actually easy and handy to accept other data. So, I mean, our platform, or we call it IzaVis actually, so the framework itself is compatible with different 3D displays as compatible from the data format itself. So, I mean, if I gave you, for example, the source code, you would be easily doing adapt your data with it because it's a standard. So we try to use standard format.

[00:08:23.391] Kent Bye: And is this a open source project? Or if people wanted to check this out, how would they be able to sort of see this?

[00:08:28.855] Ragaad Al Tarawneh: Actually, it's not because it's a Fraunhofer thing. So I mean, it's a research, it's educational project. So it can be shared. But yeah, belongs to Fraunhofer. So I can't share it in public. Yeah, only after their permission. So something like that. Okay.

[00:08:45.729] Kent Bye: Great, and so what's next for you with this project then?

[00:08:48.752] Ragaad Al Tarawneh: Yeah, OK, I'm done with my PhD. And we will do the next step, I hope. So nowadays, I told you that I was starting in Intel, so they will do. So this is the same technique, actually. It's working in CPU. What we will do with Intel is try to optimize it and make it work under the GPU, and then compare the performance of the two algorithms. So which was better option, the GPU or the CPU? That is actually what we're trying to do. We try to do more graph visualization, and GPU-based calculation, and yeah, trying to integrate it with 3D somehow. Find the usability of those techniques, which is a challenging process, so yeah, that's it.

[00:09:30.305] Kent Bye: And finally, being here at the IEEE VR and the 3D UI conferences, I'm curious about some of the things you've seen that are interesting or things that you're really looking forward to learning more about that kind of applies to your domain of research.

[00:09:42.515] Ragaad Al Tarawneh: Okay, so actually I really like the 3D papers. So I like today there was a very interesting session is about stereoscopic techniques, how they can be optimized. And I like also the last session today about the selection, because I know how much selection in 3D world actually is very like challenging and there are quite interesting solution for this problem. And yeah, I'm looking forward reading those papers. Yeah.

[00:10:07.782] Kent Bye: Cool. Great. Well, thank you.

[00:10:08.762] Ragaad Al Tarawneh: You're welcome.

[00:10:10.333] Kent Bye: And thank you for listening! If you'd like to support the Voices of VR podcast, then please consider becoming a patron at patreon.com slash voicesofvr.

More from this show