I’ve pushed a few updates to my python branch.
I added a “constrained” plot that creates a similar interactive plot but where the user only inputs the min and max luminance of their display device. There is also a control for the luminance of mid-gray. If you play with this slider, you will see that it just shifts the curve left/right, i.e. an overall exposure adjustment. I also provided a few “presets” as examples of ways this might be used for different display device dynamic ranges.
Note this is just an example, attempting to communicate my intent. The slopes at the end points are still set to 0 although we may ultimately decide to change this. Also, the decision about how many stops of scene exposure gets mapped to display luminance is something that needs to be determined. As is the sharpness of the toe/shoulder. So I’m not sure my full wide open (“OCES”) and cinema curves are “correct”. I just modeled them roughly after where they are in v1.0.
The behavior of this interactive plot is more representative of the extent to which I think a system tone scale should be “controllable” by the user. I’m not in favor of full parameterization exposed to user, but an intelligently designed tone curve algorithm that adjusts to the dynamic range of the display and consistently produces the same results given the same display parameters.