I'm looking now inside the FSL Ng paper (unusual for having no co-authors), several posts on this are in the works. It covers all of Antarctica but with special blow-ups of Pine Island/Thwaites, Bindschadler/MacAyeal Whillan/Mellor, Lambert, Larsen C (unlabelled Fig1e) and a few others but not including Toten.
The caption of Fig.1 got my attention as it states "Color scale applies to all panels [and two full-resolution Pangaea tifs] and is
optimal for rendering features within streaming texture" (emphasis added).
The maps are quite unattractive visually but that could be forgiven if it was indeed highly effective. But what could optimal even mean -- how is such a thing scored, what is the next closest key scheme, how could it simultaneously be optimal at vastly different display scales and for both convergence and strain rate textures, by what methodology was this discovered, who should be credited, and above all, where else in science should this palette be deployed?
The data being displayed has an effective range of [-1,1] up to a scalar and low enough precision that 8-bit suffices (rare in glaciology to match bin number to data precision). Although that range could be displayed as an ordinary grayscale, zero has a special meaning that would not stand out as 128 gray. The data ranges here are symmetric but otherwise similar to the needs of elevation maps ranging about sea level as zero.
Ng followed best-practices (again rare in glaciology) embedding the color scale within the figure rather than providing it as a loose supplemental figure. This means the colors used in the maps are in fact identical to those used in the key (these won't match after separate lossy jpeg compression). It also means a color picker can pull out and count exactly those pixels of a given value (or range of values), eg all the extreme strain rate locations in Antarctica.
Opening the full-resolution tifs in ImageJ showed the map to be indexed color. The LUT (lookup table that maps [0,255] --> RGB color space assignment) can be conveniently viewed, edited, swapped out for any other color table, or saved to re-color other people's sub-optimal maps. The LUT shows exactly which map colors were chosen.
Since white and its pale shades are intuitively appropriate to display less significant regions here and the parameters are inherently linear with no way-stations of significant thresholds, it makes sense to run gradients out from white to two fixed end point colors in 128 steps each and butt these back to back, which is what Ng did, using contrasting colors for the two end points (opposite colors across the color wheel). These are called diverging palettes.
So far so good, but what is optimal about this choice given the muddy non-terminal values, with shades of blue being the very worst for human eye color discrimination? In advanced perceptual palettes, gradient steps are not made in RGB or HSV but equidistant in CIELAB, which would be optimal in that experimental sense though that might not carry forward to monitor display devices very well. Here there is no strict regularity in any channel after RGB, HSL, HSV or LAB decomposition.
It's imperative to stay within sRGB, the colors that can be displayed by a monitor. Reverse image search does not find a match with a previously known palette. Matlab offers many palettes, some of them like jet and parula are fairly widely used.
It's probable some software somewhere claimed the palette here was optimal under some technical criterion for which there is no consensus. The empirical approach has proven far more effective: simply scroll rapidly through a large family of palettes to find the effective ones for a given data set, not seek to deduce an optimal palette from first principles.
http://photorealizer.blogspot.com/2012/04/colorimetry.htmlhttps://mycarta.wordpress.com/2012/02/09/visualization-tips-for-geoscientists-matlab/http://www.codeproject.com/Articles/243610/The-Known-Colors-Palette-Tool-Revisedhttp://rsb.info.nih.gov/ij/plugins/lut-editor.htmlHere we also need to look at the streaming textural results themselves and what their inherent display issues are relative to human pattern recognition abilities. For example, the figure caption states "dashed ellipses mark convergence ripples associated with bumps/steps in BEDMAP2 topography; these often pair together to show divergence followed by convergence along flow."
A good color palette might suggest this hypothesis but is no substitute for a automatic classification regime. That would require a correlation scheme between the topography bump layer and the flow convergence layer.
It is critical not to alter palettes from the original in the process of moving them from the official archived tif and analyzing them. Here the palette, a peculiar 1600 by a reasonable 200 pixels, can be exchanged between ImageJ and Gimp, each of which has its strengths, using compressed but lossless png format. Since the palette is really only 1 row of pixels extended identically vertically, its compressed size is a mere 2 kb.
The width of an indexed color palette should always be a multiple of 256 (so that each bin has equal width). Here it is not: it should have been 6*256=1536 pixels in width. Something is therefore wrong with palette construction and placement, probably during resizing which introduces interpolation artefacts. (To extract an object like a palette, crop to a generous border, add an alpha channel, select and delete the border, use 'autocrop image' to cleanly remove blank space, obtaining a palette with no border.)
The great thing about indexed color and archiving full-resolution tifs is that the scientific reader can easily change the colors to something else without any degradation of data quality. Indexed color is also best for animations since the gif89a standard allows every frame to have its own LUT.