Process and Visualize Point Cloud Data

Process and Visualize Point Cloud Data

There are PLY files hosted on the CyVerse Data Store: https://data.cyverse.org/dav-anon/iplant/projects/phytooracle

We want to convert these files to a cloud native data type, called Entwine Point Tiles (EPT), https://entwine.io/

EPT are ‘pyramids’ of folders and small files which break up a large single point cloud file into many smaller files. These are more easily ingested by the browser and streamed over the internet.

These can then be visualized over WebGL in the browser: https://potree.entwine.io/about.html

Visualization can be accomplished through the browser using Potree.org with .html and .js -- remember, these .html and .js can be included as 'frames' in a dashboard.

Data Conversion

Entwine & PDAL

PDAL is the Point Cloud Data Abstraction Library (pronounced “poo-duhl” or “pee-dawl”).

Entwine is a web based visualization format developed by the same group who create PDAL.

To convert the PLY to EPT – this may require an intermediate step, converting PLY → LAZ → EPT with https://pdal.io

PDAL can be run in Python (Jupyter) or on the command line as an executable application.

It can also be run from Docker containers or from a Conda installation.

PDAL uses .json configuration files to run ‘pipelines’ which convert data, filter and then write files all in one step: https://pdal.io/pipeline.html https://pdal.io/workshop/exercises/translation/entwine.html

PDAL can also use .geojson files for ‘boundary boxes’ which can be used to further segment EPT or LAZ datasets. https://geojson.io/#map=2/20.0/0.0

Visualization

Potree

Potree can convert LAZ files into its own format, independent of Entwine EPT – we’re asking for EPT because they’re also re-usable in GIS software.

Pure Potree visualization can be accomplished using the PotreeConverter https://github.com/potree/PotreeConverter

Potree 2.0 runs much faster on a local machine or a virtual machine (like Atmosphere) – but it won’t be sharable in the same way as EPT from the DataStore. (If you figure out how to run this from https://data.cyverse.org Tyson will give you a job).

Entwine

Once the data are converted to EPT format and have been uploaded to CyVerse they are available for visualization in Potree / Entwine / Cesium - you can view them by pointing at an existing Potree.Entwine viewer, or by running your own as a Docker container on a virtual machine.

Example of potree.entwine online via a URL (pointed to the view.html):

https://potree.entwine.io/data/view.html?r=%22https://data.cyverse.org/dav-anon/iplant/home/tswetnam/pauli/lettuce/lettuce_season_10/%22

Cesium

Cesium https://cesium.com/ is a separate visualization platform that runs 3D maps. Cesium has been integrated with Potree http://potree.org/potree/examples/cesium_retz.html and with Entwine http://cesium.entwine.io/

IMPORTANT: Cesium ≠ Potree ≠ Entwine – but they do all play nicely together