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?).
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
?).