HCL (Hue-Chroma-Luminance) or LCh refers to any of the many cylindrical color space models that are designed to accord with human perception of color with the three parameters. Lch has been adopted by information visualization practitioners to present data without the bias implicit in using varying saturation.[1][2][3] They are, in general, designed to have characteristics of both cylindrical translations of the RGB color space, such as HSL and HSV, and the L*a*b* color space. Some conflicting definitions of the terms are:
See also: Color vision |
HCL concerns the following attributes of color appearance:[A]
The HSL and HSV color spaces are more intuitive translations of the RGB color space, because they provide a single hue number. However, their luminance variation does not match the way humans perceive color. Perceptually uniform color spaces outperform RGB in cases such as high noise environments.[7]
CIE-based LCh color spaces are transformations of the two chroma values (ab or uv) into the polar coordinate. The source color spaces are still very well-regarded for their uniformity, and the transformation does not cause degradation in this aspect. See the respective articles for how the underlying coordinates are derived.
Sarifuddin, noting the lack of blue hue consistency of CIELAB—a common complaint among its users—[8] decided to make their own color space by mashing up some of the features.[5]
According to the Stack Overflow user Tatarize, what Sarifuddin proposes as "HCL" is algorithmically similar to HSL. While pointing out advantages in computational efficiency, they argue that Sarifuddin's work does not represent a significant improvement over the CIELAB color space while showing failure to reproduce the paper's claims.[9][10] They also propose what they consider to be an improved version of Sarifuddin's algorithm.[11][original research]
In general, any color appearance model with a lightness and two chroma components can also be transformed into a HCL-type color space by turning the chroma components into polar coordinates.
CIELCh has been implemented in a wide range of ways: as programmatic code for generating color swatches in statistics tools, as standalone tools for designing and testing swatches, or as libraries that allow other programs to use the color space. Some implementations include: