/PRo3D

PRo3D, short for Planetary Robotics 3D Viewer, is an interactive 3D visualization tool allowing planetary scientists to work with high-resolution 3D reconstructions of planetary surfaces.

Primary LanguageJupyter NotebookGNU Affero General Public License v3.0AGPL-3.0

WindowsLinuxMac OS

PRo3D, short for Planetary Robotics 3D Viewer, is an interactive 3D visualization tool allowing planetary scientists to work with high-resolution 3D reconstructions of the Martian surface. Additional information can be found on the PRo3D Homepage.

Who uses PRo3D?

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.

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.

Features

  • Geological analysis of 3D digital outcrop models
  • Large data visualization
  • Overlaying of arbitrary 3D surfaces

Licensing

PRo3D is free for academic use. When used for publications, we kindly ask to reference PRo3D and PRo3D Homepage. For commercial use, and or customization, please contact science@vrvis.at.

A list of third party software licences can be found in the CREDITS file which is also included in releases. As mentioned also beside the resources, PRo3D uses and deploys SPICE kernels. Credits go to NASA's Navigation and Ancillary Information Facility (NAIF).

Technology & System Requirements

PRo3D is based on the functional-first libraries of the The Aardvark Platform, available on github. In December, we will finish the final bits for mac os finally making the application fully cross-platform.

required:

CPU: Intel i5 or AMD equivalent GPU: dedicated GPU, NVIDIA Geforce 700s Series or greater RAM: 8 GB

recommended:

CPU: Intel i7 or AMD equivalent GPU: NVIDIA Geforce 1650GTX or AMD equivalent RAM: 16GB

technological constraints:

OS/Runtime: Windows 10 (64bit, v10.0.17763) Graphics: NVIDIA Kepler Architecture (GTX 6*) or greater

PRo3D's performance may vary with the size and type of datasets and the selected quality settings for surface rendering. PRo3D may as well run on machines beneath the required specification. Most of the time, PRo3D also runs on AMD cards, but it is not guaranteed.

Beta-stage mac osx support

While mac osx support is still experimental, PRo3D generally works on macOS Big Sur and newer. On intel macs we require a dedicated graphics card - although not perfect PRo3D now also works on apple silicon based macs. The more memory the better, same as for windows.

We tested the build on:

  • intel mac book pro 2017
  • iMac 2017, with Radeon Pro560, 4GB
  • mac mini 2020 M1

Beta-stage linux support

Currently in order to run Pro3D (no matter if built from source or a binary) you'll need install libdevil-dev manually (e.g. apt-get install libdevil-dev) which is used for image loading. When our Pfim loader is ready this will no longer be needed.

Getting started from pre-built binaries

Demo data and the pre-built application versions can be found on our Github Release Page. A video-based introduction to PRo3D can be found in the Getting Started section of PRo3D.space

Getting started with from source

for contributions and when compiling from source windows is the recommended platform but it can be run on osx with .net 5.0 as well.

  • install dotnet 6.0 sdk
  • git clone git@github.com:pro3d-space/PRo3D.git
  • run build.cmd or ./build.sh
    • the script builds to .bin/Release/net6.0. In this directory, run dotnet PRo3D.Viewer.dll or run PRo3D.Viewer.exe.
    • dotnet run --project src/PRo3D.Viewer/PRo3D.Viewer.fsproj or open /src/PRo3D.sln with Visual Studio 2022 and run.

For testing features and development this is sufficient. If you want to test or debug full-blown electron-based deployments you will also need npm and yarn (see docs/Build-Deploy-System.md).

A reconstruction of the Cape Desire outcrop at the rim of Victoria crater can be found here. For loading the data please watch the video-based introduction to PRo3D can be found in the Getting Started section of PRo3D.space

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

If you have any questions, feel free to contact us on discord.

Packages

package description
pro3d.base serialization, cootrafo, c++ interop
pro3d.core Surfaces, Navigation, Annotations, Grouping, Scene Management, Bookmarks, Viewconfig
pro3d.viewer View Management / App State, GUI, Docking

How to contribute?

If you want to contribute, feel free to contact us on discord.

Embedding in the Aardvark Platform

package description repo
pro3d.base serialization, cootrafo, c++ interop
pro3d.core Surfaces, Navigation, Annotations, Grouping, Scene Management, Bookmarks, Viewconfig
pro3d.viewer View Management / App State, GUI, Docking

Code of Conduct

We employ the Contributor Covenant Code of Conduct. Read more here