ContinuumIO / elm

Phase I & part of Phase II of NASA SBIR - Parallel Machine Learning on Satellite Data
http://ensemble-learning-models.readthedocs.io
43 stars 27 forks source link

Visualization improvements for datashader examples #163

Open PeterDSteinberg opened 7 years ago

PeterDSteinberg commented 7 years ago

Recently much of the elm-examples repo (soon deprecated) were moved to this repo's ./examples directory as part of making elm and related tools easier to get started with. In the examples folder there is a LANDSAT notebook that uses datashader visualization. Today, @jbednar mentioned that the LANDSAT datashader work so far could be improved with more attention to color scales in RGB image plots of normalized band differences or other computed rasters. We should modify that notebook in the following ways:

PeterDSteinberg commented 7 years ago

Eventually we can add cross links between datashader and elm examples

jbednar commented 7 years ago

Oops; I just added a similar issue on the EarthIO site: https://github.com/ContinuumIO/earthio/issues/14

I'll close that one, but what it said was:

As described in section 6 (p31) of https://arxiv.org/pdf/1509.03700.pdf, the rgb color space is useful for constructing true-color images, but it is a very misleading way to make false-color images from three matrices that do not correspond to the R, G, and B wavelength bands, like those for most Landsat data, because the perceptual salience of these three different wavelengths of light is very different. As a result, the appearance of a three-band image can differ greatly depending on whether each band is mapped to R, G, or B. That paper outlines a better way to make a ternary image, I believe with accompanying matlab code at peterkovesi.com, and we should probably provide this code for Python to promote good practice. The colorcet package already contains a lot of Peter's work, and would probably be a good place to put this code too, and then maybe a simple way could be provided to make a HoloViews object (hv.TernaryImage?).