Thanks for your response!
I am aware of what you are showing, but it is not what I am asking. I should have been more descriptive in the first place! Sorry!
It is possible to define “Looks” inside the config.ocio and subsequent use them in a “view/display”. Looks are basically collections of color transform operations (be it colorspace changes or LUTs). A view uses a look and applies a colorspace transformation at the end to map it to a certain monitor, projector or whatever your end point might be.
This is terribly useful if you have some kind of pre-grading on your plates and want to have it displayed correctly in Maya/Nuke/RV/etc. All you have to do, is figure out the correct color transformation steps and collect them in a look (and a view). If OCIO is correctly configured in all your applications, you can be certain that your plates are displayed correctly everywhere.
Here is the catch: Draft does not support applying looks and views from OCIO. This means I have to code all the color operations in python which is error prone and very limiting. Long story short, what I’d like to see in Draft would be a function that looks anything like this:
def CreateOCIODisplay(displayName, viewName, fromSpace="", unpremultiply=True, ocioContext=None):
:param str displayName: The name of the display.
:param str viewName: The name of the view.
:param str fromSpace: Assume the image is in the named color space.
:param bool unpremultiply: Whether pixel values will be "unpremultipled" (divided by alpha) prior
to the actual color conversion, and then re-multipled by alpha afterwards.
:param dict|None ocioContext: key/value pair to the "context" that OCIO will use when applying the
:return: A OCIO "display" transformation given by the displayName and viewName.
Hope this helps. If you still have questions let me know.