VTK  9.3.20240425
Classes | Functions
CIEDE2000 Namespace Reference

Private header used by vtkColorTransferFunction to support LAB/CIEDE2000 interpolation. More...

Classes

struct  Node
 Node of the color path. More...
 

Functions

void MapColor (double rgb[3])
 Map a RGB color to its corresponding color in the sampled RGB space.
 
double GetCIEDeltaE2000 (const double lab1[3], const double lab2[3])
 Returns the distance between two colors as given by the CIE Delta E 2000 (CIEDE2000) color distance measure.
 
double GetColorPath (const double rgb1[3], const double rgb2[3], std::vector< Node > &path, bool forceExactSupportColors)
 Calculates the shortest color path between two colors with respect to the CIEDE2000 measure and returns its overall length.
 

Detailed Description

Private header used by vtkColorTransferFunction to support LAB/CIEDE2000 interpolation.

Reference: "Color Interpolation for Non-Euclidean Color Spaces", Zeyen, M., Post, T., Hagen, H., Ahrens, J., Rogers, D. and Bujack, R., SciVis ShortPapers IEEE VIS 2018. (https://datascience.dsscale.org/wp-content/uploads/sites/3/2019/01/ColorInterpolationforNon-EuclideanColorSpaces.pdf)

The implementation is a modified version based on the following: https://github.com/gfiumara/CIEDE2000

Function Documentation

◆ MapColor()

void CIEDE2000::MapColor ( double  rgb[3])

Map a RGB color to its corresponding color in the sampled RGB space.

◆ GetCIEDeltaE2000()

double CIEDE2000::GetCIEDeltaE2000 ( const double  lab1[3],
const double  lab2[3] 
)

Returns the distance between two colors as given by the CIE Delta E 2000 (CIEDE2000) color distance measure.

◆ GetColorPath()

double CIEDE2000::GetColorPath ( const double  rgb1[3],
const double  rgb2[3],
std::vector< Node > &  path,
bool  forceExactSupportColors 
)

Calculates the shortest color path between two colors with respect to the CIEDE2000 measure and returns its overall length.