Skip to content

[FEATURE]: Implement support for plotting gamut rings #1405

@kepstin

Description

@kepstin

Description

While #880 implemented support for drawing gamut hull sections (cross-section equal-lightness slices of a gamut hull), it did not actually implement drawing gamut ring diagrams as described in 2D Representation of Display Color Gamut1 as requested in #647.

Specifically, the gamut ring diagrams require integrating the volumes of successive equal-thickness slices of the colour gamut volume along the lightness axis, then displaying these as a radial stacked area chart. The purpose of this is to provide a relatively easy to interpret 2D representation of the entire 3D volume of the gamut - in particular, it allows you to see how the available range of chroma values changes as lightness increases.

Gamut Rings Example
(Note that the single "sRGB" outline displayed in this image is actually the outline of the outer ring of a gamut ring diagram, and is still calculated using the sums of volumes of multiple rings)

Measuring the color capability of modern display systems2 describes some methods for generating the gamut space hull from samples, and methods for calculating the C* values of 2D gamut slices, which can be summed to determine the C*RSS values used as the width of a given ring at a given hue angle. A reference MATLAB implementation (MIT license) is available at CIELab-gamut-tools/gamut-volume-m.

Footnotes

  1. Masaoka, K., Jiang, F., Fairchild, M.D. and Heckaman, R.L. (2018), 78-3: 2D Representation of Display Color Gamut. SID Symposium Digest of Technical Papers, 49: 1048-1051. https://doi.org/10.1002/sdtp.12187
    Available from M.D. Fairchild at http://markfairchild.org/PDFs/PRO48.pdf

  2. Smith E, Heckaman RL, Lang K, Penczek J, Bergquist J. Measuring the color capability of modern display systems. J Soc Inf Display. 2020;28:548–556. https://doi.org/10.1002/jsid.918
    Available from Euan Smith at https://www.researchgate.net/publication/341947066_Measuring_the_color_capability_of_modern_display_systems

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions