Re: Which colorspace is used as the reference space for an OCIO config?
chris....@...
Hi folks- H.P., I also agree with that definition. But - it's also true that if you are converting to or from the 1st colorspace in the config list (aka "Reference" colorspace) we should see the to_reference or from_reference transform (or inverse as-needed) applied alone. More specifically, we don't need to explicitly convert from colorspace A to Reference colorspace, then from Reference colorspace to colorspace B because the conversion from Reference to Reference is a non-op. So the OCIO ColorSpace isn't ignoring the reference colorspace in its conversion (as we can explicitly use it if desired), it's simply skipping the conversion from Reference<>Reference that is implied which seems to be standard OCIO behavior. Nevertheless I agree - it's up to the config author to accuratly define the to_reference and from_reference transforms. From my view, the relevant issues that crop up are symptoms of inconsistent implementations, esp. where Roles are used for implied conversions in the host application. For example, I can see that Nuke OCIO CDLTransform uses the "reference" ROLE assignment for converting to/from the "working space" assigned in the OCIO CDLTransform node. This is inconsistent, because for other standard operations Nuke honors the reference colorspace that is implied by the first colorspace in the config file. A Read node transforms colors from the Read node colorspace to the Project Settings working space, as do other standard Nuke nodes with colorspace assignments. Of course, we can set the Project Settings working space to the reference/1st colorspace if we want to, and the conversions still happen as expected. As for the Roles in the config - some of them are used to populate the color Project Settings assignments for "working space," "log files," etc. when a given config file is first loaded. But when some plugins like OCIO CDLTransform use OCIO Roles in its own way, ignoring the Nuke color Project Settings, things are getting overly complicated. From the source code comments: https://github.com/imageworks/OpenColorIO/blob/a557a85454ee1ffa8cb66f8a96238e079c452f08/export/OpenColorIO/OpenColorTypes.h#L341 ColorSpace Roles are used so that plugins, in addition to this API can have abstract ways of asking for common colorspaces, without referring to them by hardcoded names. All this considered, I conclude that the "reference" role should always be the "reference" (1st) colorspace in the config list. A few suggestions for improved behavior in the wild: 1. As users, get in the habit of setting the reference role to the 1st colorspace in the list. 2. OCIO sanity checks and ociocheck app should return an error if "reference" role is anything other the 1st colorspace. 3. Maybe - hardcode the "reference" role to the first colorspace in the list when configs are read in. I.e.: don't allow custom assignments. I expect some backlash for this suggestion - please don't rake me over the coals :) This at least enforces the intended usage. -Chris
On Thursday, April 19, 2018 at 8:52:43 AM UTC-7, Dennis Adams wrote:
|
|||||||
|
|||||||
Re: Which colorspace is used as the reference space for an OCIO config?
Dithermaster <dither...@...>
Yes, I completely agree with that definition. My assertion that 'reference' was related turned out to be something in our own code, not OCIO. ///d@
On Wed, Apr 18, 2018 at 11:25 PM, Haarm-Pieter Duiker <li...@...> wrote:
|
|||||||
|
|||||||
Re: Which colorspace is used as the reference space for an OCIO config?
Haarm-Pieter Duiker <li...@...>
Cross posting for completeness The document detailing ACES support in various applications, is here (read only): If anyone is interested in updating the document for more current versions, let me know. I'd be happy to provide an editable link. Just message me. For those interested in implementations, I think the Nuke nodes are supposed to be a reference. The OCIO Colorspace node creates the path from one colorspace to the next with this call m_processor = config->getProcessor(context, inputName, outputName); which leads to this call to create a color space conversion processor->getImpl()->addColorSpaceConversion(*this, context, src, dst); which eventually leads to this function BuildColorSpaceOps which takes two colorspaces and concatenates the source colorspace's to_reference (or inverse from_reference) transforms with the destination colorspace's from_reference (or inverse to_reference) transforms. So... the code has it. The reference colorspace isn't the first colorspace. It isn't the space pointed to by the 'reference' role. It's the space that the config colorspace's various to_reference and from_reference transforms use as a target or as a source. Hopefully all the colorspace's in the config agree on that definition!
On Mon, Apr 16, 2018 at 12:38 AM, Abraham Schneider <abraham....@...> wrote:
|
|||||||
|
|||||||
Re: Implement Open Color IO in Maya and 3ds Max
Patrick Hodoul <patric...@...>
Hi Marion,
Maya supports OCIO as synColor embeds the OCIO library for config file reading. Below are some links explaining the OCIO support in Maya & Arnold: Arnold -> https://arnold-rendering.com/2017/06/01/color-management-in-arnold-for-maya/ Here is the command to query/edit the Color Management settings in Maya: https://help.autodesk.com/cloudhelp/2017/ENU/Maya-Tech-Docs/Commands/colorManagementPrefs.html
Having an OCIO config file at Maya startup could be done by setting the OCIO env. variable to a specific config file before starting Maya. Regards, Patrick.
On Tuesday, April 17, 2018 at 4:42:44 PM UTC-4, marion michon wrote:
|
|||||||
|
|||||||
Implement Open Color IO in Maya and 3ds Max
marion michon <marion...@...>
Hello, I would like to implement OpenColor IO in Maya and 3ds Max at startup. Can you explain me how can I do that from Python please ? The goal is that Open Color IO will be implemented at startup of each software, i'm using Vray for both of them so if you can help me, I would be grateful ! Thanks, Best regards, Marion
|
|||||||
|
|||||||
Re: Digest for oci...@googlegroups.com - 1 update in 1 topic
Haarm-Pieter Duiker <li...@...>
Thanks for the clarification. I’ll make sure that the team working on the next iteration of the ACES config is aware and addresses this. It’s a one line fix. HP Author of the ACES config
On Tue, Apr 17, 2018 at 2:18 AM dbr/Ben <dbr....@...> wrote:
|
|||||||
|
|||||||
Re: Digest for oci...@googlegroups.com - 1 update in 1 topic
dbr/Ben <dbr....@...>
The reference role doesn't appear to be used anywhere inside OCIO itself. The choice of a reference space is just an choice when creating all your transforms. That said, it is a good idea to specify this role for people reading the config, and some applications "could" potentially use it (but setting it to something weird like "utility - raw" would work technically fine, it is only confusing) The suggestions in that thread of "it's the first colorspace" is probably just because the example SPI config a happen to specify their "lnf" space first. However this is mistaken - there is nothing special about the first defined space. I would suspect whoever created the ACES config misinterpreted the "reference" role as "what space to use for reference footage" The meaning of the default roles are defined here: http://opencolorio.org/userguide/config_syntax.html#roles As you say, the reference role should be set to the main ACES space, as that is what the other spaces are defined relative to These meanings should be a bit easier to find (e.g in the C++ API docs and Python bindings too) - made ticket for this,
On 17 Apr 2018, at 17:50, Abraham Schneider <abraham....@...> wrote:
|
|||||||
|
|||||||
Re: Digest for oci...@googlegroups.com - 1 update in 1 topic
Abraham Schneider <abraham....@...>
Hi there! Thanks for your answer. The reason for a reference colourspace and the 'star topology' of the colorspaces is perspicous for me. I was just wandering, why the ACES 1.0.3 config has at least 2 colourspace that are missing all 'from' and 'to' transforms (and in this definition would both be THE reference), why the 'reference' role points to 'Utility - Raw' and not to 'ACES2065-1' and why these two spaces have different allocation vars. And in the discussion on the ACES page now there is the uncertainty, if the reference role defines the reference space or some other logic, because there needs to be a logic which space definition will be used when there are more than one that misses all from/to definitions. Abraham Am Dienstag, 17. April 2018 06:17:04 UTC+2 schrieb bsloan:
|
|||||||
|
|||||||
Re: Digest for ocio...@googlegroups.com - 1 update in 1 topic
Blake Sloan <bsl...@...>
Hi Abraham, The reference colorspace is the one that every colorspace defined in the config converts from (or to). It may or may not be defined in the config. If it does, the to_reference and from_reference transforms for the reference colorspace are necessarily null. As for the purpose of having a reference colorspace, one cannot simply take a bunch of pixel values and transform them to colorspace X without knowing the colorspace associated with the incoming pixel values -- a transformation requires well-defined source and destination colorspaces. Within ocio, a conversion from colorspace X to colorspace Y is built by concatenating colorspace X's from_reference and colorspace Y's to_reference*. The alternative to having a reference colorspace would be for the config to define transformations from each colorspace in the config to every other colorspace in the config, which I think is N! entities instead of N. The ACES 1.0.3 config uses ACES-2065 as its reference colorspace, but a custom config could as easily define all of it's colorspaces in terms of an ACEScg reference or some camera vendor's encoding and gamut. *most ocio colorspaces are invertible so they need only provide a from_ or a to_. Hoping this is helpful.
On Mon, Apr 16, 2018, 1:34 PM <ocio...@...> wrote:
|
|||||||
|
|||||||
Which colorspace is used as the reference space for an OCIO config?
Abraham Schneider <abraham....@...>
Hi there! I just posted this question on the ACES website: http://acescentral.com/t/why-utility-raw-as-reference-for-aces1-0-3-and-not-aces2065-1/1378 It seems like it's not just me that is unsure, how OCIO decides, which colorspace in a config is used as the reference space, that all other colorspaces are related to. And what excact purpose the 'reference' role has. Could you maybe have a look at this and shine some light on this topic? Thanks, Abraham
|
|||||||
|
|||||||
Re: Converting Primaries
Breadbox <markel.j...@...>
Thank you all, after searching around I stumbled upon the site Sean mentioned and ended up using it. They were PCS-relative XYZ values for AdobeRGB in case anyone was wondering. Here's another site I also found that works for XY values. Not as sophisticated but it seems to work.
On Monday, March 26, 2018 at 12:32:16 PM UTC-5, Sean Cooper wrote:
|
|||||||
|
|||||||
Re: Digest for ocio...@googlegroups.com - 6 updates in 2 topics
tony cole <ton...@...>
Hi, This is likely a very old request. I am charged with setting up a global config for a new startup. I am basing the .ocio on aces1.0.3 I'm confused on how to customise profiles, looks etc ... I do not need half of the colourspaces, ie; dolby ... Any advice from all of you would be greatly appreciated ! Thanks
On 27 March 2018 at 04:32, <ocio...@...> wrote:
|
|||||||
|
|||||||
Re: Slack invite
Sean Cooper <se...@...>
Luis, Chris added. If someone could make a Slack invite bot that would be useful :)
On Mon, Mar 12, 2018 at 5:43 PM, <chris....@...> wrote:
|
|||||||
|
|||||||
Re: Converting Primaries
Sean Cooper <se...@...>
I'd also point you here:
On Mon, Mar 26, 2018 at 5:34 PM, Troy Sobotka <troy.s...@...> wrote:
|
|||||||
|
|||||||
Re: Converting Primaries
Troy Sobotka <troy.s...@...>
On Mon, Mar 26, 2018, 9:22 AM Jim Houston, <jim.h...@...> wrote:
Thanks so much for the check Jim! With respect, TJS
|
|||||||
|
|||||||
Re: Converting Primaries
Jim Houston <jim.h...@...>
Jim
|
|||||||
|
|||||||
Re: Converting Primaries
Troy Sobotka <troy.s...@...>
Not sure if you got help here Markel. I managed to craft up a spreadsheet that should work. Should being that it hasn't been tested extensively and that you'll need to manually make your OCIO stanzas from the provided entries. This isn't nearly as terrific as Colour, but I realize not everyone has Python handy, and a sort of "online calculator" probably couldn't hurt as I found myself doing the adaptation frequently. https://docs.google.com/spreadsheets/d/1qB1YVuQFTlAKeRLyQXtOJalbZQv3V1vRPXBywqIGV_o/edit?usp=sharing I've input the values you gave along with ACES AP0 primaries. The chromatic adaptation is the Bradford CAT. The OpenColorIO stanzas appear on the final three lines. Those should be suitable to copypasta into a configuration as part of a group transform. Note that your source buffer will need to be linearized however appropriate for your encoded image. Let me know if anyone spots a mistake. With respect, TJS
On Wed, Mar 7, 2018 at 8:26 AM Troy Sobotka <troy.s...@...> wrote: Convert the xy coordinates to XYZ, with red being the first column, then green, then blue. That forms a 3x3 matrix for taking linearized RGB to the XYZ domain.
|
|||||||
|
|||||||
Re: Slack invite
chris....@...
Hi Sean, Would you please add me as well? chris....@... Thanks! -Chris Davies
|
|||||||
|
|||||||
Re: Slack invite
Luis Barrancos <luis.b.b...@...>
Hi
I'd like to have access to the ocio slack channel as well. Regards
|
|||||||
|
|||||||
Re: Slack invite
Sean Cooper <se...@...>
Sorry for the delay, Chris, Simon, Espen, Sean, and Remi I've sent the invite
On Fri, Mar 9, 2018 at 8:53 AM, <remia...@...> wrote:
|
|||||||
|