Feb 21st, 2002, 06:46 AM
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.
Feb 21st, 2002, 06:51 AM
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.
Feb 21st, 2002, 06:57 AM
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?
Pickler; you obviously know a lot about this, how do I find out more?
Feb 21st, 2002, 07:38 AM
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.)
You may want to try www.datacolor.com for more info.
( although they would like the idea of help someone with a HunterLab system. )
If I can help further let me know.
unzip to c:\projects\decmc
Feb 21st, 2002, 07:50 AM
Thanks a lot Pickler.
Any further help will be most appreciated.
Feb 21st, 2002, 07:57 AM
I'll post the equations with some explanation on this thread when I get to work tomorrow.
Feb 21st, 2002, 08:00 AM
Thanks you're a STAR!!!
Feb 21st, 2002, 05:45 PM
OK, awake and refreshed
To Calculate CIE L,a,b,C,h
The Actual formula's are below.
If you step through the code in the ModXYZ and ModLab modules you should be able to get an idea.
L=116(Y/Yn)^1/3-16 'for Y/Yn > 0.008856
L=903.3(Y/Yn) 'for Y/Yn <=0.008856
' for X/Xn,Y/Yn,Z/Zn > 0.008856
' for X/Xn,Y/Yn,Z/Zn <= 0.008856
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)
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.
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.
Feb 22nd, 2002, 04:00 AM
I think I understand now.
Thanks Pickler I really appreciate your help.
Click Here to Expand Forum to Full Width