Any colour calculation experts?
I need to calculate L,a,b,C,h values from 31 piece reflectance data.
I've absolutely no idea.
Please help!!
Printable View
Any colour calculation experts?
I need to calculate L,a,b,C,h values from 31 piece reflectance data.
I've absolutely no idea.
Please help!!
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.
:)
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?
Thanks
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.
Cheers
Ex-Datacolor Employee
PS
unzip to c:\projects\decmc
Thanks a lot Pickler.
Any further help will be most appreciated.
No Probs,
I'll post the equations with some explanation on this thread when I get to work tomorrow.
(Aussie hours)
Cheers
Thanks you're a STAR!!!:D
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.VB Code:
L=116(Y/Yn)^1/3-16 'for Y/Yn > 0.008856 L=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 'pythagoras h= arctangent(b/a) ' for X/Xn,Y/Yn,Z/Zn > 0.008856 f(X/Xn)=(X/Xn)^1/3 f(Y/Yn)=(Y/Yn)^1/3 f(Z/Zn)=(Z/Zn)^1/3 ' for X/Xn,Y/Yn,Z/Zn <= 0.008856 f(X/Xn)=7.787(X/Xn)+16/116 f(Y/Yn)=7.787(Y/Yn)+16/116 f(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 Point1 0.676*Reflectance Point2 1.603...etc 2.451 3.418 3.699 3.064 1.933 0.802 0.156 0.039 0.347 1.070 2.170 3.397 4.732 6.070 7.311 8.291 8.634 8.672 7.930 6.446 4.669 3.095 1.859 1.056 0.570 0.274 0.121 0.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.
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.
:)
I think I understand now.
Thanks Pickler I really appreciate your help.