diff options
Diffstat (limited to 'test_example.py')
-rw-r--r-- | test_example.py | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/test_example.py b/test_example.py index 80b07c7..a4104b1 100644 --- a/test_example.py +++ b/test_example.py @@ -1,31 +1,25 @@ import numpy as np from colour import * -from colour.difference import delta_E_CIE1976 from colour.models import eotf_inverse_sRGB -from gsoc_common import D65, D65_xy, jakob_hanika, model_sd, plot_comparison - - - -# These numbers are taken from Jakob and Hanika's Jupyter notebook. -RGB_ref = np.array([0.79264853, 0.4, 0.63703843]) # *linear* sRGB -cc_ref = np.array([ 18.70184886, -13.19804478, 2.12180137]) - - +from colour.difference import delta_E_CIE1976 +from colour.recovery import XYZ_to_sd_Jakob2019 +from gsoc_common import model_sd, D65, D65_xy, plot_comparison if __name__ == "__main__": - #XYZ = sRGB_to_XYZ(eotf_inverse_sRGB(RGB_ref), D65_xy) - XYZ = np.array([1/3, 1/4, 1/3]) - Lab = XYZ_to_Lab(XYZ, D65_xy) + # These numbers are taken from Jakob and Hanika's Jupyter notebook. + RGB_ref = np.array([0.79264853, 0.4, 0.63703843]) # *linear* sRGB + cc_ref = np.array([ 18.70184886, -13.19804478, 2.12180137]) + XYZ = sRGB_to_XYZ(eotf_inverse_sRGB(RGB_ref), D65_xy) + Lab = XYZ_to_Lab(XYZ, D65_xy) print("Target: X=%g, Y=%g, Z=%g, L=%g, a=%g, b=%g" % (*XYZ, *Lab)) - ccp, error = jakob_hanika(XYZ, D65, D65_xy) reference_sd = model_sd(cc_ref) - reference_XYZ = sd_to_XYZ(reference_sd, illuminant=D65) + reference_XYZ = sd_to_XYZ(reference_sd, illuminant=D65) / 100 reference_Lab = XYZ_to_Lab(reference_XYZ, D65_xy) - found_sd = model_sd(ccp) - found_XYZ = sd_to_XYZ(found_sd, illuminant=D65) + found_sd, error = XYZ_to_sd_Jakob2019(XYZ, return_error=True) + found_XYZ = sd_to_XYZ(found_sd, illuminant=D65) / 100 found_Lab = XYZ_to_Lab(found_XYZ, D65_xy) print("Our results differ from the reference by ΔE = %g" \ |