Collaborative Scientific Visualization project

A helpful recruiter advised me to practice describing my projects to a lay-person.  Here’s a summary:

MS project (Full PDF Paper)

(Code Diffs)

Goal: To enable two scientists discover new insights about their data by providing natural user interaction.

To help scientists perceive the shapes and features of the data, I use 3D stereo rendering , similar* to what you see in 3D televisions.

Unlike the stereo rendering in 3D televisions, I also provide head-tracking. To understand why this is important, hold up a pencil in front of your eyes, and move your head from side to side. Notice that what you see changes as you move your head. The Virtual Reality community has measured how head motion and stereo affect shape perception and most studies determined that the head motion is more important than stereo in perceiving shapes.

I also think that it would be useful for scientists to be able to pick up the data sets and move them around, rotate them, and maybe even move different data sets in relation to each other. This is why I provide the scientists with styluses for picking and rotating the data sets.

*conceptually similar, though technically different

Technical solutions:

The scientific visualization application for this project was forked off Kitware’s Paraview code on Feb 28,2011 . The branch did not include the multi-client functionality that the ParaView code currently support.

To work around this issue, I use simple socket/client C code to send visualization parameters back and forth between two ParaView client-servers.

This is ideally what we want the scientists to see:

And this is what happens behind the scenes during independent sessions (sometimes scientists like working on their own before sharing their work):

And this is what happens behind the scenes during collaborative sessions:

Thanks to VRPN, data from the hardware devices in this system can be read via the VRPN client-server libraries. I just had to write some C++ code to convert the measurements into VTK readings. Thanks to Cory Quammen and David Borland for providing me with the starter code. The latest ParaView code from Kitware handles this via the VRPN Plugin.


About Alexis Chan
This entry was posted in Uncategorized and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s