Skip to content

Latest commit

 

History

History

color_model

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Color Models

A color models is an abstract mathematical model describing the way colors can be represented as tuples of numbers. We are used to working with RGB colorspaces like ACEScg or sRGB. These colorspaces use the RGB color model. There are many other ways to represent and encode color like HSV or L*a*b*. Different color models have different utility for image processing.

These nodes were implemented referencing the various whitepapers and other resources, as well as the models module of the fantastic colour-science python library

CIE L*a*b* is a perceptually uniform opponent color model created by the CIE in 1976. L represents perceptual lightness, a represents the red-green axis, b represents the blue-yellow axis.

The CIE 1976 L*, u*, v* color space is a simple transform of the CIE 1931 XYZ colorspace, which aims to achieve increased perceptual uniformity. You may be familiar with this colorspace which is used to create the CIE 1976 u'v' Uniform Chromaticity Scale (UCS) diagram.

Converts from CIE XYZ to CIE xyY colorspace.

A cylindrical color model that represents color as Hue, Saturation, and Value.

Hunter Lab is a Richard Hunter's Lab color model, similar to CIE L*a*b*

ICtCp is an opponent color model developed by Dolby Labratories based on the IPT color model from Ebner and Fairchild. I represents intensity, Ct stands for chroma tritanopia and encodes blue-yellow, Cp stands for chroma protanopia, and encodes red-green.

References

IgPgTg is a recent color model developed by the Munsell Color Science Labratory, described in the paper Using Gaussian Spectra to Derive a Hue-linear Color Space by Luke Hellwig and Mark D. Fairchild. Similar to IPT, it is a hue-uniform colorspace useful for gamut mapping applications.

IHLS is a color model similar to HSV, except that it does not construct a cylindrical representation of saturation, instead opting for a more simple hexagonal representation. Based on the paper "A 3D-polar Coordinate Colour Representation Suitable for Image Analysis" by Allan Hanbury and Jean Serra.

JzAzBz is a perceptually uniform colorspace described in the paper "Perceptually uniform color space for image signals including high dynamic range and wide gamut". It has good iso-hue linearity. https://observablehq.com/@jrus/jzazbz https://downloads.bbc.co.uk/rd/pubs/whp/whp-pdf-files/WHP283.pdf

Oklab is a perceptually uniform colorspace for image processing developed by Björn Ottosson, described in his post "The Oklab Colorspace".

CIE CAM16 UCS

https://observablehq.com/@jrus/cam16?collection=@jrus/color

A few node implmentations for miscelaneous colorspace conversions. CIE XYZ to CIE Yxy to CIE Luv and back are now possible! There is also a node implementing the IHLS colorspace which has a reprsentation of saturation more useful for scene linear images.