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], [MOF09]

Examples

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