[argyllcms] Re: How is delta E calculated in colprof?

  • From: Jason Campbell <campbell.jj76@xxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Fri, 20 Jul 2012 10:50:44 -0400

Hi there.  Sorry for jumping in but I generally lurk on the list but liked
this discussion...

dE76 is a generally accepted Delta-E computation for color difference.  As
Lab is a three dimensional space, dE76 is a simple Euclidean distance
between the two three dimensional points (your two Lab values).  For the
most part, it gives a good sense of how far you are off in terms of color
difference.  It is also nice since it is super easy to calculate.

The other varieties of Delta-E all attempt to improve on the simplistic
approach of dE76 by better modeling human color perception.  The most
recent, dE2000 is a very convoluted set of equations.  As you have already
noted Lindbloom's excellent website, you will have no doubt taken a look at
this monstrosity.  However, it does do a lot to blend many of the nuances
of color perception into the calculation.

In the end, there is no "right one" or even "best one" as each dE function
can be considered well-tailored to certain applications.  For example,
dE-CMC is often used in textiles.  For graphic arts, dE76 is still
generally considered the 'standard' if you will.  It continues to be the dE
used in such things as the G7 GRACoL specification.  A colleague of mine
participates in a number of print industry standards committees and has
indicated that there has been a lot of talk about moving toward dE2000 as
the new specification.  But that is talk, still not the de facto.



On Fri, Jul 20, 2012 at 10:06 AM, Stephen T <stwebvanuatu@xxxxxxxxxxxx>wrote:

> Here are some examples. The input data is a direct cut-and-paste from the
> colprof output. I have calculated delta E with Gaurav Sharma's spreadsheet
> and Bruce Lindblooms web calculator:
>
> http://www.ece.rochester.edu/~gsharma/ciede2000/
> http://www.brucelindbloom.com/index.html?Eqn_DeltaE_CIE2000.html
>
> [5.790875] 0.018533 0.060767 0.188920 -> 16.184140 24.186926 -63.268069
> should be 19.349371 22.206153 -58.841773
>         DE00 spreadsheet = 2.4096
>         DE00 Lindbloom = 2.4096
>         DE76 Lindbloom = 5.7909
> [1.906550] 0.863110 0.849700 0.848230 -> 94.689681 -0.383334 0.713823
> should be 96.521931 -0.897156 0.596434
>         DE00 spreadsheet = 1.3233
>         DE00 Lindbloom = 1.3233
>         DE76 Lindbloom = 1.9066
> [3.648782] 0.114370 0.224380 0.096200 -> 54.928708 -42.874429 37.209866
> should be 52.027751 -44.149537 39.018775
>         DE00 spreadsheet = 2.8834
>         DE00 Lindbloom = 2.883450
>         DE76 Lindbloom = 3.648781
> [4.530066] 0.286760 0.036334 0.022012 -> 38.996835 61.855796 36.960859
> should be 36.036227 64.919159 38.501022
>         DE00 spreadsheet = 2.6417
>         DE00 Lindbloom = 2.6417
>         DE76 Lindbloom = 3.063
> [5.273161] 0.651050 0.422930 0.106950 -> 79.796759 4.157840 84.383180
> should be 80.569480 3.851387 89.590407
>         DE00 spreadsheet = 1.2209
>         DE00 Lindbloom = 1.2209
>         DE76 Lindbloom = 5.2732
> [3.185483] 0.357800 0.131360 0.220400 -> 48.673987 54.123752 -12.755375
> should be 48.059068 55.331845 -15.638028
>         DE00 spreadsheet = 1.3801
>         DE00 Lindbloom = 1.3801
>         DE76 Lindbloom = 3.1855
> [3.829559] 0.071679 0.252420 0.368150 -> 49.812685 -30.674000 -32.260727
> should be 47.791690 -33.193813 -30.203630
>         DE00 spreadsheet = 2.5854
>         DE00 Lindbloom = 2.5854
>         DE76 Lindbloom = 3.8296
> [2.015927] 0.023399 0.024048 0.024181 -> 17.588819 -0.942403 -0.176957
> should be 15.938875 -0.417952 -1.209720
>         DE00 spreadsheet = 1.6780
>         DE00 Lindbloom = 1.6780
>         DE76 Lindbloom = 2.0159
> [11.990115] 0.407720 0.321030 0.050649 -> 70.288554 -10.231232 101.435263
> should be 72.415918 -9.806180 89.643040
>         DE00 spreadsheet = 2.7719
>         DE00 Lindbloom = 2.7719
>         DE76 Lindbloom = 11.9901
>
> I must have not noticed before that the delta E reported by colprof (flag
> -y) exactly matches DE76. Anyone can easily verify this with their own
> data and calculation of delta E for just one patch will do. Graeme has also
> confirmed that colprof returns DE76 (Euclidean distance).
>
> The next question's are:
>
> Is DE76 used only for reporting errors or is it used in colprof for model
> fitting as well?
>
> Which delta E function is most appropriate for profiling (my application
> is graphic arts)? Note there's a huge difference between DE76 = 11.99 and
> DE00 = 2.77 for the last patch in the above examples.
>
> Stephen.
>
>   ------------------------------
> *From:* Graeme Gill <graeme@xxxxxxxxxxxxx>
> *To:* argyllcms@xxxxxxxxxxxxx
> *Sent:* Thursday, 19 July 2012 11:53 PM
> *Subject:* [argyllcms] Re: How is delta E calculated in colprof?
>
> Stephen T wrote:
> > Both of the above are consistent but colprof's delta E values are
> different and do not match
> > DE76 and DE94 either.
>
> Hi,
>     do you have a specific example ?
>
> > Which delta E is colprof reporting? The documentation states only that
> "a summary of the average
> > and maximum Lab delta E's will be printed out if this flag [-y] is set".
>
> There is no qualification, so this is plain delta E (ie. Euclidean
> distance). It's
> open source, so you can always look at the source code...
>
> > Is colprof applying any weighting to the DE00 calculation: KL, KC, KH
> not equal to 1.0?
>
> Again, it's open source - it's easy enough to check, and it's noted in the
> source that the equations are taken from:
>
> "The CIEDE2000 Color-Difference Formula: Implementation Notes,
> Supplementary Test Data, and Mathematical Observations", by
> Gaurav Sharma, Wencheng Wu and Edul N. Dalal,
> Color Res. Appl., vol. 30, no. 1, pp. 21-30, Feb. 2005.
>
> Graeme Gill.
>
>
>
>

Other related posts: