colour.anomalous_trichromacy_matrix_Machado2009

colour.anomalous_trichromacy_matrix_Machado2009(cmfs, primaries, d_LMS)[source]

Computes Machado et al. (2009) CVD matrix for given LMS cone fundamentals colour matching functions and display primaries tri-spectral distributions with given \(\Delta_{LMS}\) shift amount in nanometers to simulate anomalous trichromacy.

Parameters:
  • cmfs (LMS_ConeFundamentals) – LMS cone fundamentals colour matching functions.
  • primaries (RGB_DisplayPrimaries) – RGB display primaries tri-spectral distributions.
  • d_LMS (array_like) – \(\Delta_{LMS}\) shift amount in nanometers.

Notes

  • Input LMS cone fundamentals colour matching functions interval is expected to be 1 nanometer, incompatible input will be interpolated at 1 nanometer interval.
  • Input \(\Delta_{LMS}\) shift amount is in domain [0, 20].
Returns:Anomalous trichromacy matrix.
Return type:ndarray

References

[Colblindorb], [Colblindora], [Colblindorc], [Machado2009]

Examples

>>> from colour import DISPLAYS_RGB_PRIMARIES, LMS_CMFS
>>> cmfs = LMS_CMFS['Stockman & Sharpe 2 Degree Cone Fundamentals']
>>> d_LMS = np.array([15, 0, 0])
>>> primaries = DISPLAYS_RGB_PRIMARIES['Apple Studio Display']
>>> anomalous_trichromacy_matrix_Machado2009(cmfs, primaries, d_LMS)
... # doctest: +ELLIPSIS
array([[-0.2777465...,  2.6515008..., -1.3737543...],
       [ 0.2718936...,  0.2004786...,  0.5276276...],
       [ 0.0064404...,  0.2592157...,  0.7343437...]])