delta_e library

A package of CIE76, CIE94 and CIEDE2000 algorithms.

Example use case:

LabColor lab1 = LabColor(50, 50, 50);
LabColor lab2 = LabColor(20, 20, 20);
deltaE(lab1, lab2, algorithm: DeltaEAlgorithm.cie94); // The default algorithm is CIEDE2000.


A color represented in the CIELAB color space which expresses a color as three values: its lightness (L*) from black (0) to white (100), its chroma (a*) from green (-180) to red (+180), and its hue (b*) from blue (-180) to yellow (+180).
Used to configure weight factors.


The algorithms used to calculate the difference between two colors.


deltaE(LabColor lab1, LabColor lab2, {DeltaEAlgorithm algorithm = DeltaEAlgorithm.ciede2000, Weights weights = const Weights()}) double
Calculates the color difference between lab1 and lab2.
deltaE00(LabColor lab1, LabColor lab2, [Weights weights = const Weights()]) double
Since the 1994 definition did not adequately resolve the perceptual uniformity issue, the CIE refined their definition, adding five corrections:
deltaE76(LabColor lab1, LabColor lab2) double
The 1976 formula is the first formula that related a measured color difference to a known set of CIELAB coordinates. This formula has been succeeded by the 1994 and 2000 formulas because the CIELAB space turned out to be not as perceptually uniform as intended, especially in the saturated regions. This means that this formula rates these colors too highly as opposed to other colors.
deltaE94(LabColor lab1, LabColor lab2, [Weights weights = const Weights()]) double
The 1976 definition was extended to address perceptual non-uniformities, while retaining the CIELAB color space, by the introduction of application-specific weights derived from an automotive paint test's tolerance data.