colour.matrix_anomalous_trichromacy_Machado2009#

colour.matrix_anomalous_trichromacy_Machado2009(cmfs: LMS_ConeFundamentals, primaries: RGB_DisplayPrimaries, d_LMS: ArrayLike) NDArrayFloat[source]#

Compute the 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 (ArrayLike) – \(\Delta_{LMS}\) shift amount in nanometers.

Return type:

NDArrayFloat

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:

numpy.ndarray

Parameters:

References

[Colblindorb], [Colblindora], [Colblindorc], [MOF09]

Examples

>>> from colour.characterisation import MSDS_DISPLAY_PRIMARIES
>>> from colour.colorimetry import MSDS_CMFS_LMS
>>> cmfs = MSDS_CMFS_LMS["Stockman & Sharpe 2 Degree Cone Fundamentals"]
>>> d_LMS = np.array([15, 0, 0])
>>> primaries = MSDS_DISPLAY_PRIMARIES["Apple Studio Display"]
>>> matrix_anomalous_trichromacy_Machado2009(cmfs, primaries, d_LMS)
... 
array([[-0.2777465...,  2.6515008..., -1.3737543...],
       [ 0.2718936...,  0.2004786...,  0.5276276...],
       [ 0.0064404...,  0.2592157...,  0.7343437...]])