colour.recovery.find_coefficients_Jakob2019(XYZ, cmfs=XYZ_ColourMatchingFunctions(name='CIE 1931 2 Degree Standard Observer', ...), illuminant=SpectralDistribution(name='D65', ...), coefficients_0=array([ 0., 0., 0.]), max_error=0.023, dimensionalise=True)[source]

Computes the coefficients for Jakob and Hanika (2019) reflectance spectral model.

  • XYZ (array_like, (3,)) – CIE XYZ tristimulus values to find the coefficients for.

  • cmfs (XYZ_ColourMatchingFunctions) – Standard observer colour matching functions.

  • illuminant (SpectralDistribution) – Illuminant spectral distribution.

  • coefficients_0 (array_like, (3,), optional) – Starting coefficients for the solver.

  • max_error (float, optional) – Maximal acceptable error. Set higher to save computational time. If None, the solver will keep going until it is very close to the minimum. The default is ACCEPTABLE_DELTA_E.

  • dimensionalise (bool, optional) – If True, returned coefficients are dimensionful and will not work correctly if fed back as coefficients_0. The default is True.


  • coefficients (ndarray, (3,)) – Computed coefficients that best fit the given colour.

  • error (float) – \(\Delta E_{76}\) between the target colour and the colour corresponding to the computed coefficients.




>>> XYZ = np.array([0.20654008, 0.12197225, 0.05136952])
>>> find_coefficients_Jakob2019(XYZ)  
(array([  1.3723791...e-04,  -1.3514399...e-01,   3.0838973...e+01]), 0.0141941...)