colour.msds_cmfs_anomalous_trichromacy_Machado2009#

colour.msds_cmfs_anomalous_trichromacy_Machado2009(cmfs: LMS_ConeFundamentals, d_LMS: ArrayLike) LMS_ConeFundamentals[source]#

Shift given LMS cone fundamentals colour matching functions with given \(\Delta_{LMS}\) shift amount in nanometers to simulate anomalous trichromacy using Machado et al. (2009) method.

Parameters:
  • cmfs (LMS_ConeFundamentals) – LMS cone fundamentals colour matching functions.

  • d_LMS (ArrayLike) – \(\Delta_{LMS}\) shift amount in nanometers.

Return type:

LMS_ConeFundamentals

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 LMS cone fundamentals colour matching functions.

Return type:

colour.LMS_ConeFundamentals

Parameters:

Warning

Machado et al. (2009) simulation of tritanomaly is based on the shift paradigm as an approximation to the actual phenomenon and restrain the model from trying to model tritanopia. The pre-generated matrices are using a shift value in domain [5, 59] contrary to the domain [0, 20] used for protanomaly and deuteranomaly simulation.

References

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

Examples

>>> from colour.colorimetry import MSDS_CMFS_LMS
>>> cmfs = MSDS_CMFS_LMS["Stockman & Sharpe 2 Degree Cone Fundamentals"]
>>> cmfs[450]
array([ 0.0498639,  0.0870524,  0.955393 ])
>>> msds_cmfs_anomalous_trichromacy_Machado2009(cmfs, np.array([15, 0, 0]))[
...     450
... ]  
array([ 0.0891288...,  0.0870524 ,  0.955393  ])