A MeLMSens_SteadyAdapt acquisition is currently hardcoded to have a max LMS contrast of 5%. It assumes that the nominal direction passed in would have an LMS contrast of 5%. Thus, it assumes that calling ToDesiredReceptorContrast on the direction will yield .05 for the L, M, S receptors. ToDesiredReceptorContrast relies on the desiredSPD property of the direction, which gets set when the nominal direction is created (and remains unchanged after that).
However, when attempting to make a nominal direction with 5% contrast, we might not actually be able to produce that, due to gamut issues. In that case, the direction will have whatever maximum contrast it can produce. As a result, calling ToDesiredReceptorContrast on such a direction will not yield .05 for the L, M, and S receptors.
The acquisition then attempts to scale this receptor to 5% contrast, but that will push it out of gamut. This resulted in a failed gamut check.
Two things should be implement:
- Test that the nominal directions can achieve the desired contrasts
- Within the acquisition, set the max nominal contrast to the
ToDesiredReceptorContrast of the direction, to ensure that once we're running an acquisition, we're not going to push out of gamut dynamically.
A MeLMSens_SteadyAdapt
acquisitionis currently hardcoded to have a max LMS contrast of 5%. It assumes that the nominal direction passed in would have an LMS contrast of 5%. Thus, it assumes that callingToDesiredReceptorContraston the direction will yield.05for the L, M, S receptors.ToDesiredReceptorContrastrelies on thedesiredSPDproperty of the direction, which gets set when the nominal direction is created (and remains unchanged after that).However, when attempting to make a nominal direction with 5% contrast, we might not actually be able to produce that, due to gamut issues. In that case, the direction will have whatever maximum contrast it can produce. As a result, calling
ToDesiredReceptorContraston such a direction will not yield.05for the L, M, and S receptors.The acquisition then attempts to scale this receptor to 5% contrast, but that will push it out of gamut. This resulted in a failed gamut check.
Two things should be implement:
ToDesiredReceptorContrastof the direction, to ensure that once we're running an acquisition, we're not going to push out of gamut dynamically.