Calculating L,a,b,C,h from reflectance-VBForums

1. Calculating L,a,b,C,h from reflectance

Any colour calculation experts?
I need to calculate L,a,b,C,h values from 31 piece reflectance data.
I've absolutely no idea.

2. What do you need.
For which illiminant
D65 , A , TL84
also which observer condition
2 degree 10 dgree

You will need the XYZ tristimiulus values for 400-700 nm, can provide if need be.

3. I'm reading from a Hunter LabScanLSXE.
So need to convert the reflectance output into L,a,b,C,h.
The observer condition can be either 2 or 10 degrees.

Thats as much as I understand.
Why can't I just get a function(s) somewhere that will accept the output and give me the answer?

Thanks

4. Sorry for the delay, trying to find my copy of the equations so I can you a better explanation than i can off the top of my head.
I definitely have it at work so I can post more info for you tomorrow ( about 10 hours in my time)

But anyway, attached is a project which will do the calculations
and a file which has the tristimulus weighting values for D65 ( daylight ) for a 10 degree observer. Sorry it isn't well commented, it was one of the very first projects/demos I did in VB.
It calculates DE DL Da Db DC Dh from some reflectance values in a mdb file.

( This is generally the standard used for most colometric evaluations. It is important to note however, that L,a,b,C,h calculations are only valid for the particular illuminant ie: You cannot compare the L,a,b values for D65 with L,a,b values from A - tungsten.)

( although they would like the idea of help someone with a HunterLab system. )

If I can help further let me know.

Cheers
Ex-Datacolor Employee

PS
unzip to c:\projects\decmc

5. Thanks a lot Pickler.
Any further help will be most appreciated.

6. No Probs,
I'll post the equations with some explanation on this thread when I get to work tomorrow.
(Aussie hours)

Cheers

7. Thanks you're a STAR!!!

8. OK, awake and refreshed

To Calculate CIE L,a,b,C,h

The Actual formula's are below.
VB Code:
`L=116(Y/Yn)^1/3-16      'for Y/Yn > 0.008856L=903.3(Y/Yn)                'for Y/Yn <=0.008856 a=500[f(X/Xn)-f(Y/Yn)]b=200[f(Y/Yn)-f(Z/Zn)] C=(a^2+b^2)^1/2 'pythagorash= arctangent(b/a) ' for X/Xn,Y/Yn,Z/Zn > 0.008856f(X/Xn)=(X/Xn)^1/3f(Y/Yn)=(Y/Yn)^1/3f(Z/Zn)=(Z/Zn)^1/3 ' for X/Xn,Y/Yn,Z/Zn <= 0.008856f(X/Xn)=7.787(X/Xn)+16/116f(Y/Yn)=7.787(Y/Yn)+16/116f(Z/Zn)=7.787(Z/Zn)+16/116 The values X,Y,Z are the tristimulus values of the colour.They are calculated by Multipling the 31 reflectance points with the standard observer weightings and the power distribution of the light source. Most of this is already done in the D6510.ILL file I posted earlier. ( first column for X, second for Y, third for Z.)ie: Calculate X Column1 D6510.ILL( for X)0.137*Reflectance Point10.676*Reflectance Point21.603...etc2.4513.4183.6993.0641.9330.8020.1560.0390.3471.0702.1703.3974.7326.0707.3118.2918.6348.6727.9306.4464.6693.0951.8591.0560.5700.2740.1210.058*Reflectance Point31 X= sum of these calculations 'Depending on how you have your reflectance values you may need to divide by 100, so 1= 100% reflectance.  Xn,Yn,Zn are simply the tristimulus values of the normalised illuminant. ( the sum of each column in D6510.ILL )in this case Xn=94.81, Yn=100.00 , Zn=107.304  So thats pretty much it, once you have X,Y,Z it is just a matter of passing through the equations at the top.`
If you step through the code in the ModXYZ and ModLab modules you should be able to get an idea.

A couple of important notes..
These values are the 'Absolute' L, a, b for that colour in colour space.
Therefore they cannot be compared to L,a,b values using different conditions.
They can only be compared with Lab values calculated using D65 ( simulated daylight )
and a 10 degree observer.
Also different spectrophotometers have different geometries whcih will also affect readings. So, although colour difference equations will hold true because they are relative. Absolute L,a,b values will not.

Hope this helps.
Let me know if you have any problems.

9. I think I understand now.
Thanks Pickler I really appreciate your help.

Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•

Featured