0

color operation functions in MU

----------------------------------------------------------------------
(1) Is it possible to create a function in Mu that does color operations
    directly to the image data? In other words, is there anything similar
    to Shake's [ColorX] node that applies math expressions to the channels?

----------------------------------------------------------------------
(2) Are there any existing Mu functions for converting from "Linear" color
    space to "Kodak Log" color space, and vice versa?

I've created gui widgets that allow interactive color correction. Once
the color correction is done, the settings are saved to Tippett's .cc
file which is basically a text config file with "Name-Value" pairs
as well as some additional info.

The issue here is that the color settings saved from RV can not be directly
translated to the values in Tippett's .cc file format. The color correction
settings in .cc file are based on the logarithm data. For example, here is
our legacy color correction pipeline:


    EXR linear image input
           |
    Convert to log space using Shake's [LogLin] node
           |
    Color correct using the settings from .cc file
           |
    Convert back to linear space using Shake's [LogLin] node
           |
    EXR linear output


I know it would be better to just update our pipeline to do color
correction directly to linear data. But it's not as easy as we'd like
to think. So, I need some way in RV to convert to source image to log
space, apply the color correction, then convert the image back to linear
space so that the settings I save from RV will match exactly what .cc
file would interpret.

Do you have any suggestions on this?

----------------------------------------------------------------------
(3) What's the internal order of the color operations? For example,
    if I do following steps:

    (3a)   Gamma = 2.2
                   |
         Color offset = 0.03


    (3b)   Color offset = 0.03
                   |
           Gamma = 2.2

Does RV treat (3a) and (3b) the same internally?

Thanks a lot,

-Jean

8 comments

  • 0
    Avatar
    Jim Hourihan

    Hi Jean, in answer to the first question we don't currently have a way to modify the actual source pixels from Mu or as a C++ plugin.

    As far the second part goes: you can create a LUT that goes from linear to the log space your .cc file expects and use that as the pre-cache LUT as a .csp file. This will cause the cached pixels to be in your log space. Make sure no other conversions are on in the color menu. If you then do your color corrections on the image you will be viewing the color corrections applied to the log space (and viewing them in the log space as well). If you want to see the result properly you can make an additional look LUT which converts the log back to linear. Then make sure sRGB or your display LUT is set in the view menu.

        -Jim

  • 0
    Avatar
    Qin Shen

    Thanks, Jim!  I'll give it a try.


    -Jean

  • 0
    Avatar
    Qin Shen

    Forgot to ask, what's the answer for question #3?  Thanks,


    -Jean

  • 0
    Avatar
    Jim Hourihan

    Missed the third part: for that the order is gamma followed by linear ops like offset. The order definitely matters. We currently don't allow arbitrary ordering of operations. Gamma is intended as either a conversion to linear or a color correction in 3.6.

        -Jim

  • 0
    Avatar
    Qin Shen

    Thanks a lot, Jim!

    -Jean

  • 0
    Avatar
    Qin Shen

    Hi Jim,


    If I want to apply a File Lut in addition to adjusting the gamma & offsets, when is the lut applied, BEFORE or AFTER the gamma & offsets adjustment?

    Thanks,

    -Jean

     

  • 0
    Avatar
    Jim Hourihan

    The file LUT is applied before gamma and offset, the look LUT is applied after. If you look in the manual at chapter 5 there's a flow diagram explaining the order of operations.

     

    -Jim

  • 0
    Avatar
    Qin Shen

    Thanks, Jim!

    -Jean

Please sign in to leave a comment.