PRo3D, short for Planetary Robotics 3D Viewer, is an interactive 3D visualization tool to allow planetary scientists to work with high-resolution 3D reconstructions of the Martian surface.
PRo3D aims to support planetary scientists in the course of NASA's and ESA's missions to find signs of life on the red planet by exploring high-resolution 3D surface reconstructions from orbiter and rover cameras.
For the past 5 years the development of PRo3D has been geared towards providing planetary geologists with interactive tools to digitize geological features on digital outcrop models (DOMs) on the Martian surface. During our fruitful cooperation with geologists from the Imperial College of London, PRo3D has emerged as their main tool to conduct remote geological analysis which lead to many publications and talks at various geological science venues.
Planetary geology is the most elaborately supported use-case of PRo3D, however we strive to expand our user groups to other use-cases, so we have also developed features for supporting science goals in landing site selection and mission planning.
PRo3D lets users pick points on the 3D surface at the full resolution of the data present. Our tools contain point, line, and polyline annotations, while line segments are projected onto the surface. Various measurements are computed at the highest possible accuracy, such as the distance along a 3D surface (waylength) or dip-and-strike orientations of sediment structures.
Surface reconstructions from high-resolution satellite images can easily yield gigabytes of data in terms of geometry, imagery, and additional layers. With PRo3D users can explore huge datasets interactively and even perform measurements of topographic features. The displayed dataset on the right consists of 2GB of raw 3D position vectors, a 1GB elevation map, and 10GB of image data rendered at interactive framerates with commodity hardware, utilizing adjustable level-of-detail and out-of-core techniques.
Currently, PRo3D supports OBJ files but works best with reconstructions in the proprietary data format OPC (Ordered Point Clouds), basically consisting of hierarchically organized surface patches. These reconstructions stem from orbiter images and rover images and are produced by Joanneum Research by using the PRoViP processing pipeline. Many surface reconstructions have been generated from, for instance: HiRISE, MER-A, MER-B and MSL missions from various instruments. An ongoing project evaluates terrestrial applicability of PRo3D and the PRoViP pipeline by capturing outcrops in the UK. However, in the next section we provide two example datasets.
Unpack the PRo3DViewer.zip and start PRo3D.Viewer.exe.
PRo3D is also available in source code form on Github. If you have questions on how to use PRo3D or want to contribute, please feel free to join our discord channel. For academic or commercial inquiries please contact science[at]vrvis.at. For accessing PRoViP and working with other reconstructions please contact gerhard.paar[at]joanneum.at.
Image data courtesy NASA/JPL/CalTech/ASU, 3D data processing by JOANNEUM RESEARCH under ESA/PRODEX Contracts PEA 4000105568 & 4000117520. The research leading to these results has received funding from the European Community’s Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 312377 PRoViDE
'HiRISE_VictoriaCrater_SuperResolution': 5cm orthorectified Super Resolution Restoration (SRR) image created from 6-image input by Tao & Muller (2016) using the GPT algorithm. See 'Tao, Y.; Muller, J.-P. (2016) A novel method for surface exploration: Super-resolution restoration of Mars repeat-pass orbital imagery. Planetary and Space Science, 121, 103–114.doi:10.1016/j.pss.2015.11.010'
At first we want to add a surface to our 3D scene. Open the sidebar by clicking and select 'Add Surface' which opens a Folder Browser Dialog. A Surface folder contains one or more OPC folders. Select the Surfaces you want to add and confirm by clicking 'Select Folder'. If you get lost in the black void of 3D space just click onto to find your surfaces again. If you are not sure what an OPC folder is, it always contains a 'patches' and an 'images' subfolder. View fullsize.
Next, we want to save our 3D scene with the imported surfaces. To do this open the sidebar () again and select or . If you open PRo3D for the first time, it will start up with an empty scene, so in this case the two icons behave the same. You can name the scene anyway you like,for instance, gardencity.scn. On your next startup PRo3D will load your most recently saved scene automatically. View fullsize.
You can navigate a scene in PRo3D with mouse and keyboard, very similar to a first-person computer game. Click and hold the left mouse button (LMB) and move the mouse to change the orientation. Moving up and down while holding the right mouse button (RMB) zooms in and out, while the middle mouse button (MMB) allows you to pan. WASD corresponds to forward, backward, pan left, and pan right. You can regulate the movement sensitivity via PageUp and PageDown keys or via the sensitivity slider in the config (top right 'Show Tab' >> Config >> Navigation Sensitivity).
So far we only discussed the 'FreeFly' navigation. To access the 'ArcBall' navigation, first select 'PickExploreCenter' from the interaction menu (top toolbar, second dropdown menu). Most interactions in this menu require you to pick a point on the surface. To do this, hold down CTRL and click the LMB. If a pink dot appears, you have successfully picked the explore center and the navigation switches to the arcball controller. Holding LMB and moving the mouse now rotates the scene around this center. To switch back to 'FreeFly' just select it from the menu. View fullsize.
To start drawing in the 3D surface, you need to select 'DrawAnnotation' from the interaction menu, which reveals the drawing menu consisting of four elements: drawing primitive, projection mode, color, and line width. PRo3D offers the following drawing primitives: point, line, polyline, polygon, and Dns (Dip and Strike). By default 'polyline' and 'viewpoint' projection are selected. We can start to draw a polygon by holding down CTRL use the LMB to pick points on the surface. When we our polyline has enough points we press ENTER to finish it, which automatically opens the annotaions tab on the right. There, we can select individual annotations by clicking on the text, inspect their properties and modify them, for instance change their color or add a text.
The Dns annotation has a special measurement, which automatically computes the 3D dipping and strike vector for a picked polyline represented by a colored disc. By default, blue represents a dip of 0° and red a dep of 90°. Technically, a plane is fitted to the picked points by linear regression. Disc sizes can be adapted in the config tab. View fullsize
With the projection mode we can decide how the points we picked are connected. 'Linear' simply connects the picked points directly, while the other two modes compute hundreds of intermediate points. In case of 'Viewpoint', these intermediate points are projected onto the surface along the viewing direction, very much like we would have picked these points ourselves along the connection. When using 'Sky' projection, the intermediate points are projected orthogonally from above onto the surface, which is for instance usefull for estimating the waylength along a surface opposed to air-line distance. View fullsize
MINERVA is a 3D GIS currently under development by JR, VRVis and EOX for a collaborative, holistic planetary science data infrastructure to allow members of different instrument teams to cooperate synergistically in virtual workspaces by sharing observation information, analysing and annotating the data. For more information, please have a look at the MINERVA homepage or watch this Youtube video of our first prototype. The Project MINERVA (2017-2019) is funded by BMVIT in the context of the Austrian Space Applications Programme (ASAP) of the Austrian Research Promotion Agency FFG No 865980.
For a comprehensive manual please refer to this PDF.