Color Map Path Generation for Perceptually Uniform Data Visualizations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing color selection techniques for data visualization often result in perceptual mismatches due to the mismatch between how colors are modeled in RGB systems and how they are perceived by the human eye, leading to cumbersome processes for achieving perceptually uniform color gradients.
Innovation Solution
An interactive color map path is used through a color space to generate color gradients with uniform transitions in lightness, chroma, and hue, allowing for the selection of colors that accurately represent data values, reducing perceptual mismatches and improving the quality of color visualizations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If RGB color values are used to represent data values, then color selection is simple and straightforward, but perceptual mismatch occurs where color changes do not accurately reflect data variations
Solution Approach 1:
The patent transforms the color selection process from direct RGB value manipulation to working in perceptually uniform color spaces (such as CIELAB or CIELCH). By changing the parameter space from device-dependent RGB to perceptually uniform coordinates, the system maintains ease of operation while achieving accurate perceptual representation of data variations
Solution Approach 2:
The patent introduces an intermediary color space transformation layer between data values and display colors. This intermediary step converts data-driven color selections through perceptual uniformity corrections, allowing simple data-to-color mapping while compensating for perceptual non-linearities in the final displayed colors
2Measurement precision
If manual color adjustment is performed to achieve perceptual uniformity, then perceptual accuracy improves, but the process becomes time-consuming and complex
Solution Approach 1:
The patent pre-computes and stores transformation matrices or lookup tables that encode perceptual uniformity corrections. By performing the complex perceptual adjustment calculations in advance and caching the results, the system achieves perceptual accuracy without requiring time-consuming manual adjustments during actual color selection
Solution Approach 2:
The patent implements automated perceptual uniformity correction that operates without user intervention. The system self-adjusts color values through algorithmic transformation in perceptually uniform color spaces, eliminating the need for manual color tweaking while maintaining high perceptual accuracy
3Productivity
If direct RGB interpolation is used between start and end colors, then the process is simple and fast, but the resulting color gradient does not provide uniform perceptual transitions
Solution Approach 1:
The patent changes the interpolation parameter space from linear RGB values to perceptually uniform coordinates. By performing interpolation in a color space where distances correspond to perceptual differences (such as CIELCH), the system generates color gradients that are both computationally efficient and perceptually uniform, resolving the contradiction between speed and accuracy
Data Source
AI summary
In some embodiments, a computing system generates a color gradient for data visualizations by displaying a color selection design interface. The computing system receives a user input identifying a start point of a color map path and an end point of a color map path. The computing system computes a color map path between the start point and the end point constrained to traverse colors having uniform transitions between one or more of lightness, chroma, and hue. The computing system selects a color gradient having a first color corresponding to the start point of the color map path and a second color corresponding to the end point of the color map path, and additional colors corresponding to additional points along the color map path. The computing system generates a color map for visually representing a range of data values.


