Calculating L,a,b,C,h from reflectance-VBForums
Results 1 to 9 of 9

Thread: Calculating L,a,b,C,h from reflectance

  1. #1

    Thread Starter
    Hyperactive Member GlenW's Avatar
    Join Date
    Nov 2001
    Location
    Gateshead, England
    Posts
    479

    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.
    Please help!!

  2. #2
    Addicted Member Pickler's Avatar
    Join Date
    May 2001
    Location
    nffanb
    Posts
    248
    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. #3

    Thread Starter
    Hyperactive Member GlenW's Avatar
    Join Date
    Nov 2001
    Location
    Gateshead, England
    Posts
    479
    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

  4. #4
    Addicted Member Pickler's Avatar
    Join Date
    May 2001
    Location
    nffanb
    Posts
    248
    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
    Attached Files Attached Files

  5. #5

    Thread Starter
    Hyperactive Member GlenW's Avatar
    Join Date
    Nov 2001
    Location
    Gateshead, England
    Posts
    479
    Thanks a lot Pickler.
    Any further help will be most appreciated.

  6. #6
    Addicted Member Pickler's Avatar
    Join Date
    May 2001
    Location
    nffanb
    Posts
    248
    No Probs,
    I'll post the equations with some explanation on this thread when I get to work tomorrow.
    (Aussie hours)

    Cheers

  7. #7

    Thread Starter
    Hyperactive Member GlenW's Avatar
    Join Date
    Nov 2001
    Location
    Gateshead, England
    Posts
    479
    Thanks you're a STAR!!!

  8. #8
    Addicted Member Pickler's Avatar
    Join Date
    May 2001
    Location
    nffanb
    Posts
    248
    OK, awake and refreshed

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

    The Actual formula's are below.
    VB Code:
    1. L=116(Y/Yn)^1/3-16      'for Y/Yn > 0.008856
    2. L=903.3(Y/Yn)                'for Y/Yn <=0.008856
    3.  
    4. a=500[f(X/Xn)-f(Y/Yn)]
    5. b=200[f(Y/Yn)-f(Z/Zn)]
    6.  
    7. C=(a^2+b^2)^1/2 'pythagoras
    8. h= arctangent(b/a)
    9.  
    10. ' for X/Xn,Y/Yn,Z/Zn > 0.008856
    11. f(X/Xn)=(X/Xn)^1/3
    12. f(Y/Yn)=(Y/Yn)^1/3
    13. f(Z/Zn)=(Z/Zn)^1/3
    14.  
    15. ' for X/Xn,Y/Yn,Z/Zn <= 0.008856
    16. f(X/Xn)=7.787(X/Xn)+16/116
    17. f(Y/Yn)=7.787(Y/Yn)+16/116
    18. f(Z/Zn)=7.787(Z/Zn)+16/116
    19.  
    20. The values X,Y,Z are the tristimulus values of the colour.
    21. 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.)
    22. ie: Calculate X
    23.  
    24. Column1 D6510.ILL( for X)
    25. 0.137*Reflectance Point1
    26. 0.676*Reflectance Point2
    27. 1.603...etc
    28. 2.451
    29. 3.418
    30. 3.699
    31. 3.064
    32. 1.933
    33. 0.802
    34. 0.156
    35. 0.039
    36. 0.347
    37. 1.070
    38. 2.170
    39. 3.397
    40. 4.732
    41. 6.070
    42. 7.311
    43. 8.291
    44. 8.634
    45. 8.672
    46. 7.930
    47. 6.446
    48. 4.669
    49. 3.095
    50. 1.859
    51. 1.056
    52. 0.570
    53. 0.274
    54. 0.121
    55. 0.058*Reflectance Point31
    56.  
    57. X= sum of these calculations 'Depending on how you have your reflectance values you may need to divide by 100, so 1= 100% reflectance.
    58.  
    59. Xn,Yn,Zn are simply the tristimulus values of the normalised illuminant. ( the sum of each column in D6510.ILL )
    60. in this case Xn=94.81, Yn=100.00 , Zn=107.304
    61.  
    62. 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. #9

    Thread Starter
    Hyperactive Member GlenW's Avatar
    Join Date
    Nov 2001
    Location
    Gateshead, England
    Posts
    479
    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


Click Here to Expand Forum to Full Width

Survey posted by VBForums.