Well-Posed Geoscientific Visualization Through Interactive Color Mapping

Scientiﬁc visualization aims to present numerical values, or categorical information, in a way that enables the researcher to make an inference that furthers knowledge. Well-posed visualizations need to consider the characteristics of the data, the display environment, and human visual capacity. In the geosciences, visualizations are commonly applied to spatially varying continuous information or results. In this contribution we make use of a suite of newly written computer applications which enable spatially varying data to be displayed in a performant graphics environment. We present a comparison of color-mapping using illustrative color spaces (RGB, CIELAB). The interactive applications display the gradient paths through the chosen color spaces. This facilitates the creation of color-maps that accommodate the non-uniformity of human color perception, producing an image where genuine features are seen. We also take account of aspects of a dataset such as parameter uncertainty. For an illustrative case study using a seismic tomography result, we ﬁnd that the use of RGB color-mapping can introduce non-linearities in the visualization, potentially leading to incorrect inference. Interpolation in CIELAB color space enables the creation of perceptually uniform linear gradients that match the underlying data, along with a simply computable metric for color difference, 1 E. This color space assists accuracy and reproducibility of visualization results. Well-posed scientiﬁc visualization requires both “visual literacy” and “visual numeracy” on an equal footing with clearly written text. It is anticipated that this current work, with the included color-maps and software, will lead to wider usage of informed color-mapping in the geosciences.


INTRODUCTION
Graphical representations in the form of static diagrams, plots, and charts form a fundamental part of the scientific toolset. Scientific visualization aims to reveal and explore relationships in data and assist in the development of robust inference, posing two initial questions of data: "Is what we see really there?" and "Is there something there we cannot see?" The first question encapsulates the interplay between scientific curiosity and apophenia-"the innate human ability to see pattern in noise" (Wickham et al., 2010;Cook, 2017). The second question exposes the concept of "missed discovery, " where the analyst is unaware that unperceived structures await discovery (Buja et al., 2009). Important challenges are thus posed to software designed for visual analytics (Keim et al., 2006) and data-based graphical inference (Cook et al., 2016). Interactive computer-based visualizations can expand the explanatory and exploratory capabilities of scientific software. A significant body of research in visualization, interactivity, analysis and design (e.g., Tukey, 1990;Wilkinson, 2005;Ward et al., 2010;Ware, 2013;Munzner, 2014) provides the foundations for visualization practice.
Well-posed visualizations clearly elicit features of underlying data values, maintaining an overt awareness of the risks of representational ambiguity and error (Rougier et al., 2014). Given the constraints of a human-computer visualization system (Haber and McNabb, 1990;Hansen and Johnson, 2005), they can reveal structures and patterns that may be elusive to other, e.g., statistical, approaches (Tukey, 1977(Tukey, , 1990Tufte, 1990). The informational capacity of static images can be extended by incorporating elements of interactivity (Ward et al., 2010).
Interactivity enables the exploration of the design-space for visualization (Schulz et al., 2013), including constraints for visual encoding and interaction idioms (Munzner, 2014), creating a feedback loop between user and visualization system. Representations may be examined in detail, forming an important part of the analytical and inferential processes (Keim, 2001;Keim et al., 2006) that actively facilitate conceptual model building and analyses Ward et al., 2010;Harold et al., 2016).

BACKGROUND AND RELATED WORK The Interactive Visualization Process
A model of the interactive visualization process (Figure 1) proposes three principal components: "Data, " "Visualization, " and "User." Data (D) is transformed by a specification (S) into a visualization (V). The Image (I) is processed by the perception and cognition of the user (P) to produce knowledge (K), iterated via a time-variant perceptual/cognitive loop (dK/dt), in concert with interactive exploration (IE). Time-variant specification changes (dS/dt) in turn affect V. More explicitly, D undergoes some pre-processing and transformation into an interrogable structure before it is visualized. S includes interactive steps including filtering, mapping, and rendering, affecting the appearance of the visualization. This is pertinent to mapping variables to color, given the interplay between machine models of color spaces (S) and perceptual faculties of users (P) in their context of observation. P implicitly incorporates the context in which a visualization is observed. This includes factors such as ambient illumination conditions and changes in lighting (e.g., shadows and light in a room or daylight through a window). These are all normal criteria for screen and print reproduction quality control in professional digital publishing, and merit greater consideration for well-posed scientific visualization.

Colormaps and Color Scales in Scientific Visualization
Colormaps and color-scales are standard features in interactive scientific visualization software aiming to convey a wide variety of information types: e.g., continuous values, categories and many others (Rheingans, 1992(Rheingans, , 2000Munzner, 2014;Mittelstädt and Keim, 2015;Zhou and Hansen, 2016). Colorization of data can be driven parametrically, e.g., using algorithmic functions (Eisemann et al., 2011), by human aesthetic decisions (Healey and Enns, 2012) or by pre-existing convention and experience (Bertin, 1983;MacEachren et al., 2012). The widelyused rainbow ("Jet") or spectrum-approximation colormap, whilst having specific productive use-cases, is well-known for introducing problems of perceptual non-linearity, hueordering ambiguity and loss of visual discrimination for fine detail (Rogowitz and Treish, 1998;Eddins, 2014;Hawkins, 2015;Stauffer et al., 2015). Research into optimal colormap design for science has an extensive literature (Silva et al., 2011;Kovesi, 2015;Moreland, 2016;Ware et al., 2018), including optimization for color vision deficiencies (Light and Bartlein, 2004). Addressing the need for consistent terminology, Bujack et al. (2018) propose a nomenclature with unambiguous mathematical definitions, characteristics that are quantifiable via their on-line tool .
Colormaps that maximize color difference such as Viridis, Magma, Parula and others are now becoming default schemes in widely-used scientific software (Smith et al., 2015). Ware et al. (2018) and Kovesi (2015) provide thorough analysis of a range of colormaps for different visualization tasks. Crameri (2018a,b) provides extensive discussion of colormaps for geoscientific visualization, as well as software and colormap resources for widely used programs such as GMT, Matlab, QGIS and others.

Human Color Perception
Human color vision is a complex, adaptive system extensively studied by vision researchers (Wyszecki and Stiles, 1982;Gordon, 2004;Stockman and Brainard, 2015). Estimates of the number of discernible colors perceivable by an average human vary widely (Masaoka et al., 2013). The non-uniform nature of human color perception has been wellestablished by techniques in advanced colorimetry (Fairchild, 2013).

RGB, HSL, HSV Color
A simple computable model for linear RGB color calculates and stores color values as 8-bit values of the three primaries Red, Green, and Blue (RGB), following an additive colormixing model capable of generating (2 8 ) 3 colors: 16.7 million colors or "24-bit color" (Poynton, 2012). Whilst computationally simple, RGB color mixing is regarded as non-intuitive for end-users (Meier et al., 2004;Zeileis and Hornik, 2006). Tractable transformations of RGB, such as HSL and HSV (Smith, 1978), are simple geometric reformulations of this schematic color model, rather than perception-based ones (Robertson, 1988), and inadequately represent human color perception (Poynton, 2006;Fairchild, 2013). Despite their ease-of-use and ubiquity in computer interfaces, they are discontinuous and not perceptually uniform. They also present problems in accurately representing color and lightness relationships (Light and Bartlein, 2004;Silva et al., 2011;Kovesi, 2015;FIGURE 1 | Model of Visualization (after Van Wijk, 2005 andLiu et al., 2014). This figure shows a schematic model of the visualization process, incorporating human-computer interaction. Moreland, 2016;Ware et al., 2018). Most importantly for data visualization, there is no meaningful metric for representing color difference in RGB, HSL, or HSV color spaces that match human perception of color differences (Robertson, 1988).

CIE Color
The CIE system (CIE, 2004), an international standard for color specification and communication, provides a series of color models that mathematically represent human color perception and color appearance. The CIEXYZ 1931 model is a perceptually measured color space with known values (CIE, 2004). This model represents all colors that are perceivable by an observer with average eyesight (Fairchild, 2013;Asano et al., 2016). The range of colors produced by the model is referred to as its gamut (Morovic and Luo, 2001). Commonly used color models such as RGB, HSV, HSL, and CMYK exhibit limited gamuts, producing a substantially smaller range of colors than humans are capable of perceiving. Because these models are relative, they require a photometrically defined reference white point, CIE D 50 /D 65 (Poynton, 2006), in order for color values to be mapped from one space to another (Poynton, 1994). The standard RGB (sRGB) color space and gamma curve, using CIE defined chromaticities and D 65 whitepoint, has become the default color space for computer OS and internet color management systems (Anderson et al., 1996;IEC, 1999;Hoffmann, 2000). However, whilst "absolute, " sRGB color space is not a perceptual color space and has a significantly smaller gamut than that of CIEXYZ derivatives (Hoffmann, 2000(Hoffmann, , 2008. Mathematical regularizations of CIEXYZ have led to color models such as CIELAB and others, which closely approximate human color perception (Fairchild, 2013).

Uniform Color Space: CIELAB
Plotting CIE XYZ tristimulus values in Cartesian coordinates produce perceptually non-uniform color spaces (CIE, 2007). Uniform Color Spaces (UCS) are mathematical transformations of the CIE 1931 XYZ gamut that represent color in a perceptually even fashion, defined by the CIE as a color space in which equal metric distances approximately predict and represent equal perceived color differences (Luo et al., 2006;Bujack et al., 2018). As perception-based color models, they more accurately map the human visual gamut and mitigate color-matching and colordifference problems.
CIELAB and other UCS are commonly proposed for creating perceptually uniform color sequences in data visualization (Meyer and Greenberg, 1980;Kovesi, 2015;Ware et al., 2018), despite known limitations and deficiencies (Wyszecki and Stiles, 1982;Sharma and Rodriguez-Pardo, 2012;Fairchild, 2013;Zeyen et al., 2018). They form a set of absolute color spaces defined against reference whites or standard illuminants defined by the CIE (Tkalcic and Tasic, 2003;Foster, 2008;Fairchild, 2013). Due to relative ease of computability, CIELAB has become widely used for color specification and color difference measurement. It provides a complete numerical descriptor of color in a perceptually uniform rectangular coordinate system (Hunter Associates Laboratory Inc., 2018).

Color Difference
The CIELAB UCS color difference metric, E, is calculated as follows (Lindbloom, 2017): for 0 ≤ L ≤ 100, −128 ≤ a ≤ 127, −128 ≤ b ≤127 (signed 8-bit integer), where L = lightness, a = green (−a) to red (+a), b = blue (−b) to yellow (+b). Color differences for RGB values are calculated via transposition into CIELAB coordinates within the sRGB gamut, following standard conversion formulae and standard illuminant values (RGB to XYZ, XYZ to CIELAB; Brainard, 2003;Lindbloom, 2013).This provides a dimensionless Euclidean metric for color difference that can be linearly applied to known data values and ranges during color-mapping. E values of ∼2.3 correspond to a just-noticeable-difference (JND) in color stimuli for an average untrained observer (Sharma and Trussell, 1997;Mokrzycki and Tatol, 2011), indicated in Table 1. Color opponency can be verified in CIELCh space, using Chroma (C) and Hue (h) values, calculated: where atan2 is the 2-argument arctangent function.

3D Representations of Color
Most existing computer-based color-palette tools date back to paint programs from the 1980s (Meier et al., 2004). Standard 2D RGB/HSL/HSV color-selection interfaces do not clearly articulate the non-uniformity of human color perception and provide poorly defined feedback on color difference (Douglas and Kirkpatrick, 1999;Stauffer et al., 2015). 1D, 2D, and 3D representations of different color gamuts form an essential part of a user interface for color selection and application (Robertson, 1988;Zeileis and Hornik, 2006). Color gradients can be visualized as paths through representations of two or three-dimensional color spaces. Dimensionality is an imperative consideration in determining the type of path traversal that can be undertaken in a color space: 1D representations implicitly provide no path information, 2D representations address only co-planar colors, 3D representations provide maximal information about path extent, geometry and color relationships (Rheingans and Tebbs, 1990;Bergman et al., 1995). Path traversal is an important indicator for the location of perceptually isoluminant colors, indication of monotonicity (linear increase/decrease in chroma or lightness), quantization or stepping, orthogonality and other salient features (Ware, 1988;Bergman et al., 1995;Rogowitz and Goodman, 2012).

Interactive Color-Mapping for Geoscience
Interactive color-mapping in an intuitive real-time, performant software application is an appealing proposition for geoscientific data visualization. Interactivity affords immediate visual feedback to the end-user, providing the opportunity to iterate through color palettes and associated colorization functions, exploring available color-spaces and their utility in eliciting features of underlying data. However, great care must be taken to ensure contiguity between data, color, and color-space geometries, including gradient path trajectories.
Although there are many applications that enable the construction of color gradients, few enable live interactive exploration of color spaces whilst being applied to data, concurrently providing visual feedback displaying the gradient path through color space. In this contribution we introduce Gradient Designer (GD), its companion applications and sample colormaps. This suite of tools is suitable not only for colormapping, gradient design and data exploration, but extend live, real-time interactive visualization beyond the computer desktop to a range of visualization platforms, such as MR, VR, and Dome display systems (Milgram and Kishino, 1994;Morse and Bourke, 2012).

Implementation: Gradient Designer
Gradient Designer (GD) is an interactive gradient design and color-mapping software application aimed at the wellposed display of continuous spatial data, as frequently used in geoscience research. It is implemented on the MacOS platform (Morse, 2019).
GD features the following capabilities: Data Handling: Color Control: • RGB gradients can be replicated and analyzed in CIELAB color space. • Live color space visualization of gradient path traversal in CIELAB, RGB, HSL and HCL color spaces through four companion apps. • Manipulation of linear RBG/sRGB (D 65 ) gamut colors in 3D CIELAB/RGB/HSL/HCL color spaces using simple HSL slider UI. • Complex gradients may be designed that target specific values and ranges, including continuous-linear, stepped-linear, noncontinuous and non-contiguous ranges.
Extended Functionality: • Alpha channel control for downstream 3D compositing.
• Live video sharing of color gradient data to Syphoncompatible client applications for display (e.g., on immersive visualization systems).

Application Aims and Development Framework
Gradient Designer (GD) and its companion apps aim to provide an intuitive interface for a set of linear color-mapping tasks for continuous geoscience data. For our case study, data has been pre-processed into whole of globe equirectangular greyscale images stored as 8-bit RGB PNG files, with known data ranges (where 0-255 represent known minima and maxima, linearly mapped to the underlying data, including an alpha channel for lat/long region-of-interest delineation). This provides 256 greyscale values, which are adequate for the data under consideration. The current version is programmed in the MacOS Quartz Composer VPL, using a mixture of pre-defined QC processing nodes as well as custom routines programmed in Objective-C, Javascript, OpenCL and OpenGL. It is compatible with MacOS 10.13.6 High Sierra and MacOS 10.14 Mojave (Morse, 2019). GD can share live video of the gradient display (Figure 2, panel 10) in real-time to external applications running a Syphon-compatible client (Butterworth et al., 2018;NewTek, 2019).

Gradient Designer User Interface Companion Applications
LAB Color Mixer (Figure 3) is a companion color-selection app for designing color gradients in CIELAB color space. LAB Color mixer displays RGB and CIELAB gradients in the same view, demonstrating the disparity between interpolation pathways in their respective color spaces. It displays CIELAB E, as well as CIELCh Hue and Chroma values, for verification and color opponency. Companion visualization apps (Figure 3) GV_LAB, GV_RGB, GV_HSL, and GV_HCL run a continuous realtime image pixel evaluation, mapping incoming gradient color values to geometric positions in the visualized color spaces. The path through color space is drawn via OpenGL line segments in a looping refresh mode, providing visual feedback on the relationships between gradient termini, hinge-points and vectors in each color space. Dots along the path indicate the number of steps of the incoming gradient. This can be a computeintensive process, so the detail density of the visualization can be reduced to speed up draw times, depending upon available GPU/CPU resources.

Example: CIELAB Divergent Gradient
Standard 2D color-picker GUIs impart limited information about the relationships between colors in a color space, requiring the user to infer characteristics that would be useful for scientific visualization, such as E. LAB Color Mixer and GV_LAB apps address this gap.
LAB Color Mixer CIELAB gradients quantize in a binary fashion, enabling step ranges between 2 and 128. End termini are mapped first and interpolate toward the central value. For divergent gradients this ensures that gradient steps fall unambiguously either side of the central value. As quantization increases, we asymptotically approach the center value to the point of indistinguishability ( E <1), creating the appearance of a continuous gradient (JND < 1). Colors in a threepoint divergent gradient can be selected that maximize color difference, indicated by LAB and E values. E values displayed are rounded to the nearest integer. Unit-level quantization is sufficient for discriminability (see Table 1). The UI assists users in defining terminal colors that do not exceed the sRGB gamut by providing gamut warnings (where individual R, G, B values equal or exceed 0 or 255). LAB Color Mixer transmits the CIELABconformed color gradients as linear RGB image data via an addressable Syphon server to external client applications.
GV_LAB detects the Syphon server and draws the incoming linear RGB image data in CIELAB space, spatially transposed to the sRGB gamut representation (default: D 65 , 2 • Observer model). GV_LAB visualizes CIELAB color space threedimensionally, displaying RGB gamut isoluminant colors on the AB plane, L on the vertical axis. This view can be rotated, zoomed and inspected. Path traversal lines between non-adjacent termini indicate where interpolated points may exceed the sRGB gamut. This provides instructive feedback for (a)symmetric gradient design, isoluminance and E interpolation, enabling rapid identification of "problem" gradient regions as users explore the design space.

Case Study: Well-Posed Visualization of Seismic Tomography Depth Slices
As a test case for the visualization of a spatially variable 3D dataset in geoscience, we make use of a published seismic wavespeed model of the Earth's mantle beneath Australia, AuSREM (Kennett et al., 2013). In the following case study, we aim to display a 2D slice through the model in such a way as to: • minimize the introduction of features that are visually salient, but not relevant to the interpretation. • reveal distinctive features of the wavespeed in Earth's mantle. This is the most important intent of the visualization. • manage, in a pragmatic way, the uncertainty in the numerical values. • explore regions of interest in greater detail.

The Mantle Component of the Ausrem Seismic Tomography Model
The AuSREM model is a mature research product, aimed at capturing the distinctive features of the Earth's mantle for this continental area. It was constructed from several sources, primarily seismic surface wave tomography, supplemented by seismic body wave arrivals and regional tomography. The authors have minimized any artifacts of individual modeling procedures by combining 3D information from multiple sources. AuSREM is therefore a sensible choice of spatially variable dataset to use in the exploration of well-posed visualization approaches.
Data are supplied in the form of numerical seismic wavespeed values in 11 layers from 50 to 300 km, at 25 km intervals. Each layer is gridded at 0.5 • intervals between −0.5 and −49.5 • latitude, and 105.5 and 179.5 • longitude. Wavespeed values are in the range 4.0-4.8 kms −1 (Stål, 2019).

Uncertainty
For the purposes of this study, we assume the uncertainty in wavespeed to be constant throughout the model at ± 0.05 kms −1 , i.e., a given value of 4.20 kms −1 could be between 4.15 and 4.25 but would not be as small as 4.14 nor as large as 4.26 kms −1 . We do not consider spatial uncertainty in this study, brought about by effects such as smearing, noted by Rawlinson et al. (2006). From a pragmatic perspective therefore, for a value at a given point, the uncertainty is the maximum departure from the given value within which an experienced analyst would expect the actual value to be. In the case studies that follow, the contour step interval and other color mapping choices may be set to take account of uncertainty.

Visualizations
GD is used for the case study to create a series of visualizations of the AuSREM dataset, focusing on the 100 km depth slice, which is likely to be representative of the main features of the continental lithosphere. We build upon an example appearing in Kennett et al. (2013) (subsequently referred to as KFFY13) and conduct a comparative analysis of our new visualizations. KFFY13 visualizes Earth model reference values at 100 km depth, with wavespeed ranges of 4.00-5.02 kms −1 , quantized in 17 steps, each corresponding to a range of 0.06 kms −1 . We visualize a wavespeed range of 3.8-5.0 kms −1 quantized in 12, 16, 24, 48, 64 steps (0.1, 0.075, 0.05, 0.025, 0.01875 kms −1 respectively) as required. Figures 4-8 are available at the link provided in the figure captions. The first visualization ( Figure 4A) provides a reference view of the model, intended to show the imported model values with a mapping of the underlying values to a continuous gradient, linearly interpolated in RGB color space (transposed to sRGB for display). Subsequent images (Figures 4B-D) use a three-point divergent color-map which enables the researcher to examine areas with both low and high values as distinctive features. In Figure 4B we replicate the color-mapping used by the AuSREM authors (KFFY13), which is, in many ways a successful visualization. It takes a value close to 4.495 kms −1 as its central value, which corresponds to an Earth model reference value at 100 km (Kennett et al., 1995). Two subsequent visualizations (Figures 4C,D) make use of companion apps to Gradient Designer, the LAB Color Mixer and GV_LAB, which enable fine-grained control of variation in lightness and color difference ( E) within the sRGB gamut. These directly affect how the researcher will perceive features in the image. Numerical feedback provided by the companion apps on LAB values, E and path traversal visualizations assist analysis and reproduction for both 2D and 3D display.

High resolution versions of
The LAB color mixer directly displays the color difference values between each gradient terminus and the midpoint ( E-1, a value pair), the color difference between the two termini ( E-2) and E across each interpolated color step. GV LAB visualizes isoluminance, color-map trajectories, E and JNDs in CIELAB color space, clearly indicating the constraints of the sRGB (D 65 ) gamut. These are novel additions to the tools available to the researcher. The divergent sRGB color-map ( Figure 4B) is replicated ( Figure 4C) in CIELAB color space, with interval color values interpolated in that space using clearly enumerated E      Figure 4D, we equalize gradient termini located on an isoluminant AB plane (L = 53). This however, does not guarantee that the color intervals in the divergent threepoint gradient cover equivalent Euclidean distance, nor that interpolated colors do not exceed the sRGB gamut.

values. In visualization
In Figures 5A,B, we optimize the color-map, whilst maintaining the same general color range as Figure 4D, ensuring that all interpolated colors fall within the sRGB (D 65 ) gamut. Gradient termini are isoluminant (L = 30) and have equivalized E-1 (=80) for gradient termini. E-2 (=72) is also larger than that exhibited in Figure 4D (=59). In Figures 5C,D we maximize both E-1 (=93) and E-2 (=100) for that region of the sRGB gamut (visualized by the isosceles triangles on the right column). This increases the dynamic range of the visualization both in lightness (L) and color difference ( E), and assures that Euclidean distances for gradient interpolation steps are equivalent, linearly matching the underlying data values. Figures 5C,D display results using 16 and 48 steps, with interpolated E values of 12 and 4 respectively. These exceed recommended JND (>3) values for clearly discriminable colors, measurably indicating on which side (-or +) of the reference value they fall. They proceed in linear, quantifiable, perceptually accurate steps mapped to the underlying data values according to the CIELAB color model. At lower (16 steps) quantization the visualization performs categorically, where color steps implicitly consolidate wavespeed ranges and uncertainty. In concert with a higher dynamic range in L and E, increased (finer) quantization acts like a lens, sharpening focus upon the underlying data, eliciting physical structural information to the extent this can be visually inferred within the limits of known uncertainty.
In Figures 6A-D Red-White-Blue divergent gradient colors are chosen to align with convention in seismology (i.e., reddish/orange colors represent slow wavespeeds; bluish colors represent fast wavespeeds). Terminal color values and their equivalents in different color spaces appear in Table 2. Following Kovesi (2015, p. 17), Figure 6A presents a standard RGB Red-White-Blue divergent gradient interpolated in RGB color space. Visualizing this in GV_LAB (right-hand column) in CIELAB color space clearly reveals this to be asymmetrical, non-linearly interpolated and volumetrically constrained by the sRGB gamut. Figure 6B replicates 6A in CIELAB colorspace, with Red/Blue terminal values per Table 2. Steps between termini are linearly interpolated within the sRGB volume, with Step E-2 = 14,19. End termini to midpoint quantization constrains the point of closest interpolation to white. The gradient is non-optimal due to non-isoluminant end termini, sRGB volumetric constraint and asymmetry. None of the values in the underlying data map linearly to the Red/Blue extrema, implying that 6A is a poor representation. Figure 6C optimizes 6B in CIELAB, adjusting color values to more closely match 6A. Red/Blue values are isoluminant (L = 50), all interpolated colors fall linearly (Step E = 12) within the sRGB volume, forming a perceptually symmetrical gradient ( E-1 = 94, 94). The balanced dynamic range, linearly matching color differences and symmetry ensure a quantifiable perceptual match with underlying data values. Setting Red/Blue values to L = 50 also ensures that the gradient is easily invertible within the sRGB gamut. Figure 6D sets the midpoint reference value to near Black (L = 4), and maintains Red/Blue CIELAB values from 6C. This maintains the E-1, E-2, and Steps E of Figure 6C. It is perceptually near-equivalent to Figure 6C, with judiciously chosen termini within the complex shape of the sRGB volume. Invertibility of a gradient is a desirable characteristic for downstream 3D compositing methodologies (Porter and Duff, 1984), and should be tested for dynamic range and gamut exceedance at the outset of the design-decision process.
In Figures 7A-D, we introduce the ability of the LAB Color Mixer App to assign an interpolated alpha channel data to the gradient. This is not driven by underlying seismic wavespeed values directly, but by the user: the alpha channel is linearly interpolated across the number of gradient steps, and in this case enables specification of transparency. Figure 7A illustrates the non-linear interpolation this introduces when an alpha channel is applied to the optimized Red-White-Blue gradient. This is a consequence of the alpha blending function in OpenGL: multiplication of alpha values (0-1) applied to the relevant color values as L increases (Telea, 2007). Figure 7B demonstrates the retention of linearity when colors interpolate to black rather than white, affirming that an invertible divergent gradient is desirable for a variety of compositing approaches, dependent upon context and the compositing algorithm chosen. Figure 7C demonstrates the effect of finer gradient steps, which may be desirable in tomographic visualization. Finally, Figure 7D demonstrates the ability to display a selected range of the data (in this case the upper 50%) using alpha information, with the concomitant GV_LAB plot representing this as a straight line, as expected. These outputs are suitable for 3D compositing of multiple layers in external applications.
Our final visualizations in Figures 8A-D dispense with color and apply a simple greyscale gradient, linearly interpolated in CIELAB color space, with the intent to use lightness to reveal shape from shading. In this instance features emerge corresponding to regions of wavespeed contiguity and other structures of the mantle. Figure 8A illustrates the entire model with L ranging from 0 to 100, in 64 steps. This reduces the E of each interpolated step to approximately 2, approaching the limit of JND for an expert observer. Figure 8B highlights the top 50% of the range, indicating regions of high wavespeed (24 steps), with each step E = 4. A coarser approximation (12 steps) in Figure 8C reveals clear groupings within this subset, with a E per step of ∼8. Finally, Figure 8D introduces an alpha channel, applied at 100% for the lower 50% of the data, and linearly stepped from 0 to 100% over the top 50% range. This similarly prepares the output layers for 3D display.

DISCUSSION
In the following section we note current limitations in our software and data visualization pipeline, followed by an appraisal of the strength of our approaches and the on-going potential for future research and development. Implementing our software in the QC VPL limits our software to the MacOS platform. QC was chosen for its simple visual programming paradigm, its facility for rapid application prototyping and wide API support. Since 2018 QC has been deprecated by Apple, and future support is unclear. We intend to reimplement our software in an alternative VPL (e.g., Touch Designer, Derivative Inc., 2019) or a game engine environment (e.g., Unity Technologies, 2019), which include cross-platform support. Aspects of the UI can be improved subject to user-feedback. Future development could incorporate more sophisticated color models (e.g., CIECAM02; Fairchild, 2013), to account for known deficiencies with CIELAB. The 8-bit pipeline can be extended to 16-or 32-bit color and greyscale, including float as well as integer values for greater precision in the manipulation of continuous data. Improvements in alpha channel control could include evaluation of color-shift due to transparency mapping, extra functions for the alpha channel (e.g., tagging or delimiting regions, defining isosurfaces). Output improvements could include more control over Syphon/OSC output, including addressable transfer functions suitable for true volumetric raycasters and other shading models.
Our visualizations demonstrate that color-mapping should be conducted with great care and that extant mappings can be improved. Building on Kovesi (2015), Ware et al. (2018) and Crameri (2018a), we employed CIELAB color space to visualize continuous geoscience data.
We first showed a naive two color HSL/sRGB gradient reference visualization (Figure 4A) for the 100 km depth slice of the AuSREM model. Figure 4B closely replicated the sRGB KFFY13 100 km depth slice visualization incorporating uncertainty. Visualizing this gradient within the sRGB gamut mapped within CIELAB color space revealed the non-linear interpolation of the gradient. The gradient termini were re-mapped within CIELAB space, resulting in linear color interpolation between gradient termini. This revealed the difference in lightness (L) values between the end-point colors, in turn demonstrating that color differences between end termini and midpoint were non-equivalent. Using CIELAB color space we can accurately quantify this non-equivalence in E values, both for the end-midpoint ranges and for the color difference of each step in the gradient. This causes the end points of the gradient to have different "perceptual distances" from the reference midpoint value, potentially creating the visual inference that regions of slower wavespeed are more proximate to the reference value than regions of higher wavespeed, when in fact this is not the case. Figure 4D adjusts for end-point isoluminance, but does not equalize E, demonstrating that despite matching the L values of the endpoints, because color is used in the visualization, adjustments to color termini in the AB plane must also be undertaken in order to ensure gradient symmetry and matching of E values.
Our software enabled us to control precisely and regularize these CIELAB differences, and to characterize uncertainty, using the E metric. Isoluminant gradient termini, equidistant from the midpoint reference value, were established in Figure 5A. Figure 5B quantized the gradient from 16 to 48 steps, approaching the non-professional observer JND discriminability limit of 2 ≤ E ≤ 3.5 per step. Whilst this exceeds our nominal uncertainty of +/− 0.05 kms −1 per step, it affirms that coarser approximations will encode discriminable uncertainty across the gradient and consistently visually agglomerate regions according to a linear E metric.
Optimizing for L and AB variation to elicit form, Figures 5C,D take advantage of the ability of our software to symmetrically maximize E within the sRGB gamut. This demonstrates the capacity to linearly sharpen the chromatic distinction between steps, as well as maximizing lightness variation between end and midpoints of the gradient. This has the effect of enhancing contrast, shape perception and slow-fast discrimination across the data slice, whilst maintaining a JND of between E = 12 and E = 4, values that are well within the capabilities of the non-expert observer.
A standard seismic Red-White-Blue divergent gradient is optimized in Figures 6A,B, clearly demonstrating the nonlinearity of this gradient if it is interpolated in RGB colorspace or naively transposed to CIELAB. This suggests that visualizations that naively use similar gradients may be misleading. Figure 6C represents a controlled, isoluminant, E equivalized CIELAB version, with correct linear interpolation. The attraction of this approach is illustrated in Figure 6D, where the gradient is inverted, but is perceptually isometric. Isometric invertibility is attractive for 3D compositing operations, some 2D display and print operations, as well as for volumetric visualization.
Alpha is an important feature for compositing operations and may have unintended consequences for color perception. Figure 7 demonstrates the use of linearly interpolated alpha channels and their effect upon color values within CIELAB. Figures 7B,C demonstrates the retention of color interpolation linearity by the inverted gradient, which is desirable for additive or multiplicative compositing operations. E values are disregarded when premultiplied alpha is applied. Figure 7D illustrates the capability of isolating value ranges through the use of alpha channel control.
The utility of CIELAB greyscale interpolation is demonstrated in Figure 8. Unlike perceptually non-uniform RGB greyscale interpolation, CIELAB greyscale is perceptually linear and midpoint gray is accurately represented (L = 50). The capability of LAB color mixer, GV_LAB and Gradient Designer is demonstrated in resolving the AusREM data from the limits of discriminability (Figure 8A), to the limits of known uncertainty (Figure 8B), along with the ability to isolate regions of interest (Figures 8C,D).
Visual inference may be one of the first important steps in ascertaining significant formal aspects of geoscientific data. Looking for structure in noisy or uncertain continuous data requires clarity and precision in analytical techniques, including color-mapping. Our software suite, repeatable metrics, and illustrative color-maps are a proof-of-concept that illuminate the relationships between data variables and color that should be part of visually-aware science and human-computer interaction for visual analytics. Interfaces for colorisation using perceptually uniform color spaces, such as CIELAB, provide greater certainty for the accurate visualization of data as well as enhancing the reproducibility of results.

CONCLUSIONS
We have demonstrated the subtle problems that the inherent non-uniformity of common RGB-based color models may present for the interpretation of scientific visualization. Our approach of color-mapping using the CIELAB color model improves the correspondence between a color-map and underlying data. We have demonstrated the capacity of interactive software to apply linear, quantifiable, and perceptually accurate color to a typical geoscience dataset, finding that: 1) Color should be applied to visualization of data with care. 2) CIELAB is a good choice of color space for colorization of linear data as it closely matches human color perception and facilitates a linear mapping between color space metrics and underlying data. Understanding that the sRGB gamut is a constrained subset of the CIELAB gamut is important knowledge. Visualization activities should take this constraint into account at the outset of the visualization process.
3) The E metric accounts for linear color difference and establishes the limits of discriminability for color differences perceivable by the average observer. If color is to be interpolated across underlying data values, then this should DATA AVAILABILITY STATEMENT

AUTHOR CONTRIBUTIONS
PM co-designed the study, developed the visualization software and wrote the text. AR co-designed the study and contributed to the text. TS carried out data pre-processing and contributed to the text.