PermafrostDiscoveryGateway / viz-points

Python package for post-processing point-cloud data for 3D visualization
Apache License 2.0
0 stars 1 forks source link

Add inSAR point output processing capability #35

Open iannesbitt opened 2 months ago

iannesbitt commented 2 months ago

Problem

Manoo Shirzaei from VT processes large scale interferometric synthetic aperture radar (inSAR or SAR) datasets into CSV point clouds datasets with columns in the format lat, lon, velocity, stdev. We should be able to process this using the viz-points workflow but will need to come up with some way to translate the velocity column into RGB in order to display SAR visualization. Most SAR data is displayed in an interpolated raster format generated from point data, so the challenge here is to be able to show the magnitudes of ground velocity in a dataset using points, rather than having to convert to raster. This may involve just simply displaying data on a linear (or more likely log-linear) colorscale.

Test data

Test data is on datateam at /home/nesbitt/bin/viz-points/data/test (symlinked to the cephfs). Data will be processed into tiles, then transferred to the test location on drp (currently /var/www/tiles but soon to change).

Background

In general, SAR operates on a fixed wavelength, and thus the visualization is usually shown with a continuous color scale that represents wave phase offsets (or phase shifts) calculated between repeat surveys at time=0 and time=1. The phase offset is by definition based on wavelength, and the color scale is usually a repeating rainbow that starts with wave phases aligned and cycles through colors until the waves are in phase again. This method is used to track ground movement, as any phase shift indicates a difference in the number of wavelengths in the two-way travel distance between the sensor and ground.

This is represented visually in the following image (from ysar.org.nz) inSAR colorization explanation

iannesbitt commented 2 months ago

Current best option: I may be able to normalize or log-normalize the inSAR velocities and apply a straight colormap translation using the viridis scale prior to loading the RGB values into the LAZ.