Date   

Academy CTF LUT Format Support

Ben Doherty <benjdo...@...>
 

Hello all,

My name is Ben Doherty, and I'm a developer working for CBS Digital. We’re interested in addiing support in OCIO for The Academy's Color Transform File (CTF) LUTs. This additional functionality will benefit us here at CBS and hopefully encourage more studios to adopt the LUT format.

Allow me to outline my ideas and development steps so far.

As I understand it, each LUT file format is abstracted via an anonymous FileFormat which is registered with the FileTransform class.

I've done the following:

  1. Created FileFormatCTF.cpp
  2. Registered the new format with the FileTransform class via registerFileFormat(CreateFileFormatCTF())
  3. Began implementing the GetFormatInfo(), Read(), and BuildFileOps() methods for the LocalFileFormat.
  4. Created a LocalCachedFile class
  5. Created a XMLTagHandler class (explained below)
  6. Created a CachedOp class (explained below)

The CTF format is specified with XML. The bulk of a CTF LUT is sequential "Operator" elements (not to be confused with the OCIO Op class, though they are similar). A few examples: <matrix>, <gamma>, <range>, <lut1d>, etc.

The Read() function parses the XML. For every Operator tag (<matrix>, <gamma>, etc) it comes across, it will instantiate the appropriate XMLTagHandler subclass. For instance, for every <matrix> tag, the class will instantiate a MatrixTagHandler. The job of a TagHandler is to read the specifics of the XML element and cache the salient data in a CachedOp subclass (e.g., MatrixCachedOp). Each tag, then, is converted to a CachedOp. A vector of these CachedOps is stored in the LocalCachedFile class.

When the time comes to BuildFileOps(), the function iterates in order through the CachedOps within the LocalCachedFile, asking each one to create whichever OCIO Op is appropriate and adding it to the ops vector.

Please let me know if I have overlooked anything. At the moment, I’ve successfully implemented the <matrix> tag, which seems to be working as expected. I’m more than open to design / implementation suggestions; I can post my code if necessary.

Thanks!
Ben


Re: ACES OCIO configs, testing and feedback

Andy Jones <andy....@...>
 

+1 for the common still camera gamuts.  Prophoto, Adobe Wide Gamut, and Adobe RGB.  There's a smattering of different whitepoints and gammas with those, which can be annoying to deal with.

On Wed, Dec 3, 2014 at 12:22 PM, Matt Plec <mp...@...> wrote:
I'm a bit late to the party, but for what it's worth, Red log (with their various red color primaries I assume?), Canon log, and GoPro "protune" were popular requests for inclusion in the default Nuke set, so I expect people will also want to convert between those and ACES.

Two others worthy of consideration are ProPhoto and Adobe RGB. May sound crazy but hear me out.... Having them available makes it possible to produce stills out of vfx tools in a form print/marketing can work with directly and also to bring in stills from print/photography workflows directly to an ACES reference space comp/render.

Cheers,
Matt


On Fri, Nov 7, 2014 at 7:02 PM, Haarm-Pieter Duiker <li...@...> wrote:
On the IDT side, the current Academy repo includes IDTs for the following cameras / configurations
  • Arri Alexa with the following exposure indices: EI800, EI640, EI500, EI400, EI3200, EI320, EI2560, EI250, EI2000, EI200, EI1600, EI160, EI1280, EI1000
  • Sony F65 Tungsten and Daylight
  • Sony F35
Are those very specific IDTs what you're looking for? What other camera / IDT color spaces would be helpful? Red? Canon? GoPro?

On the point about including conversion between different primaries, what primaries sets would be useful? Rec2020? Rec709? P3? Arri wide gamut?

We're also looking into the legal vs. full range options for spaces like ACESproxy.

Thanks for the suggestions so far,
HP




 



On Thu, Nov 6, 2014 at 7:50 AM, Francois Lord <franco...@...> wrote:
Yes, and I suspect we will continue to receive camera native material for a while. VFX houses will adopt ACES more quickly than production houses.

Would it be a good idea to include profiles for Rec.2020 so that we can easily convert CG renderings to and from ACES when working with the ocio config?


On Wed Nov 05 2014 at 4:53:54 PM Steve Agland <sag...@...> wrote:
On 6 November 2014 06:56, Haarm-Pieter Duiker <li...@...> wrote:

Could you provide some example of when and how you would use the IDTs with OCIO? From a number of other sources, we're hearing that most IDTs will be applied by the Camera SDKs / toolsets so most OCIO-supporting applications will interact with ACES, ACESproxy or ACESlog images rather than images in the camera raw color spaces.

It's not uncommon to receive external material in camera color spaces and to want to ingest them using the same OCIO-supporting tools that are used for color management internally. That could be scripts, command-line utilities or apps like Nuke. Having the IDTs in OCIO just makes that easier, even though the rest of the pipeline won't necessarily use those transforms.

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.


Re: ACES OCIO configs, testing and feedback

Matt Plec <mp...@...>
 

I'm a bit late to the party, but for what it's worth, Red log (with their various red color primaries I assume?), Canon log, and GoPro "protune" were popular requests for inclusion in the default Nuke set, so I expect people will also want to convert between those and ACES.

Two others worthy of consideration are ProPhoto and Adobe RGB. May sound crazy but hear me out.... Having them available makes it possible to produce stills out of vfx tools in a form print/marketing can work with directly and also to bring in stills from print/photography workflows directly to an ACES reference space comp/render.

Cheers,
Matt


On Fri, Nov 7, 2014 at 7:02 PM, Haarm-Pieter Duiker <li...@...> wrote:
On the IDT side, the current Academy repo includes IDTs for the following cameras / configurations
  • Arri Alexa with the following exposure indices: EI800, EI640, EI500, EI400, EI3200, EI320, EI2560, EI250, EI2000, EI200, EI1600, EI160, EI1280, EI1000
  • Sony F65 Tungsten and Daylight
  • Sony F35
Are those very specific IDTs what you're looking for? What other camera / IDT color spaces would be helpful? Red? Canon? GoPro?

On the point about including conversion between different primaries, what primaries sets would be useful? Rec2020? Rec709? P3? Arri wide gamut?

We're also looking into the legal vs. full range options for spaces like ACESproxy.

Thanks for the suggestions so far,
HP




 



On Thu, Nov 6, 2014 at 7:50 AM, Francois Lord <franco...@...> wrote:
Yes, and I suspect we will continue to receive camera native material for a while. VFX houses will adopt ACES more quickly than production houses.

Would it be a good idea to include profiles for Rec.2020 so that we can easily convert CG renderings to and from ACES when working with the ocio config?


On Wed Nov 05 2014 at 4:53:54 PM Steve Agland <sag...@...> wrote:
On 6 November 2014 06:56, Haarm-Pieter Duiker <li...@...> wrote:

Could you provide some example of when and how you would use the IDTs with OCIO? From a number of other sources, we're hearing that most IDTs will be applied by the Camera SDKs / toolsets so most OCIO-supporting applications will interact with ACES, ACESproxy or ACESlog images rather than images in the camera raw color spaces.

It's not uncommon to receive external material in camera color spaces and to want to ingest them using the same OCIO-supporting tools that are used for color management internally. That could be scripts, command-line utilities or apps like Nuke. Having the IDTs in OCIO just makes that easier, even though the rest of the pipeline won't necessarily use those transforms.

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.


Re: parseColorSpaceFromString() issue

mi...@...
 


I needed to get git-savvy anyway, so I went ahead and made a pull request for this patch: https://github.com/imageworks/OpenColorIO/pull/381

Cheers,
-Mike


On Thursday, October 2, 2014 10:16:05 AM UTC-7, mik...@... wrote:
On Wednesday, October 1, 2014 2:23:56 PM UTC-7, Mark Boorer wrote:

If you feel like knocking up a pull request containing your patch, I'll merge it (assuming it's all good). Otherwise I'm happy to do so on your behalf.


Thanks Mark.  If you wouldn't mind handling the pull request, that'd be helpful.  I'm afraid I'm still not fully up to speed on git.

-miker


Re: ACES OCIO configs, testing and feedback

Haarm-Pieter Duiker <li...@...>
 

On the IDT side, the current Academy repo includes IDTs for the following cameras / configurations
  • Arri Alexa with the following exposure indices: EI800, EI640, EI500, EI400, EI3200, EI320, EI2560, EI250, EI2000, EI200, EI1600, EI160, EI1280, EI1000
  • Sony F65 Tungsten and Daylight
  • Sony F35
Are those very specific IDTs what you're looking for? What other camera / IDT color spaces would be helpful? Red? Canon? GoPro?

On the point about including conversion between different primaries, what primaries sets would be useful? Rec2020? Rec709? P3? Arri wide gamut?

We're also looking into the legal vs. full range options for spaces like ACESproxy.

Thanks for the suggestions so far,
HP




 



On Thu, Nov 6, 2014 at 7:50 AM, Francois Lord <franco...@...> wrote:
Yes, and I suspect we will continue to receive camera native material for a while. VFX houses will adopt ACES more quickly than production houses.

Would it be a good idea to include profiles for Rec.2020 so that we can easily convert CG renderings to and from ACES when working with the ocio config?


On Wed Nov 05 2014 at 4:53:54 PM Steve Agland <sag...@...> wrote:
On 6 November 2014 06:56, Haarm-Pieter Duiker <li...@...> wrote:

Could you provide some example of when and how you would use the IDTs with OCIO? From a number of other sources, we're hearing that most IDTs will be applied by the Camera SDKs / toolsets so most OCIO-supporting applications will interact with ACES, ACESproxy or ACESlog images rather than images in the camera raw color spaces.

It's not uncommon to receive external material in camera color spaces and to want to ingest them using the same OCIO-supporting tools that are used for color management internally. That could be scripts, command-line utilities or apps like Nuke. Having the IDTs in OCIO just makes that easier, even though the rest of the pipeline won't necessarily use those transforms.

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.


OT: MOX on Indiegogo

Brendan Bolles <bre...@...>
 

Hey open source VFX fans, excuse the spam but I wanted to point you to a project I think would be of interest to people on this list. It's MOX, an open source movie format for production:

http://www.indiegogo.com/projects/mox-file-format/

You can think of it as OpenEXR in a movie format. In fact, it will quite literally be that, and also support some other codecs for non-float images.

One thing I'm proposing to do is write the OCIO color space into the file. We're also considering other things like embedding LUTs, which might come in handy when you open a file years from now and have lost track of the OCIO configuration setup.


Brendan


Re: ACES OCIO configs, testing and feedback

Francois Lord <franco...@...>
 

Yes, and I suspect we will continue to receive camera native material for a while. VFX houses will adopt ACES more quickly than production houses.

Would it be a good idea to include profiles for Rec.2020 so that we can easily convert CG renderings to and from ACES when working with the ocio config?


On Wed Nov 05 2014 at 4:53:54 PM Steve Agland <sag...@...> wrote:
On 6 November 2014 06:56, Haarm-Pieter Duiker <li...@...> wrote:

Could you provide some example of when and how you would use the IDTs with OCIO? From a number of other sources, we're hearing that most IDTs will be applied by the Camera SDKs / toolsets so most OCIO-supporting applications will interact with ACES, ACESproxy or ACESlog images rather than images in the camera raw color spaces.

It's not uncommon to receive external material in camera color spaces and to want to ingest them using the same OCIO-supporting tools that are used for color management internally. That could be scripts, command-line utilities or apps like Nuke. Having the IDTs in OCIO just makes that easier, even though the rest of the pipeline won't necessarily use those transforms.

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.


Re: ACES OCIO configs, testing and feedback

Steve Agland <sag...@...>
 

On 6 November 2014 06:56, Haarm-Pieter Duiker <li...@...> wrote:

Could you provide some example of when and how you would use the IDTs with OCIO? From a number of other sources, we're hearing that most IDTs will be applied by the Camera SDKs / toolsets so most OCIO-supporting applications will interact with ACES, ACESproxy or ACESlog images rather than images in the camera raw color spaces.

It's not uncommon to receive external material in camera color spaces and to want to ingest them using the same OCIO-supporting tools that are used for color management internally. That could be scripts, command-line utilities or apps like Nuke. Having the IDTs in OCIO just makes that easier, even though the rest of the pipeline won't necessarily use those transforms.


Re: ACES OCIO configs, testing and feedback

Haarm-Pieter Duiker <li...@...>
 

Good suggestion. We'll have to override some of the currently automatically generated transforms.

Could you provide some example of when and how you would use the IDTs with OCIO? From a number of other sources, we're hearing that most IDTs will be applied by the Camera SDKs / toolsets so most OCIO-supporting applications will interact with ACES, ACESproxy or ACESlog images rather than images in the camera raw color spaces.

Having proper support for IDTs would also be greatly aided by support for dynamic inclusion of color spaces and transforms, but that's a different issue.

HP




On Wed, Nov 5, 2014 at 10:24 AM, Dithermaster <dither...@...> wrote:
I'm looking forward to updates to this config, especially when it includes the existing IDTs.

Once comment so far: You don't need a LUT to convert between ACES and ACESproxy; OpenColorIO can do it more accurately (and likely faster) using an AllocationTransform:

        - !<AllocationTransform> {allocation: lg2, vars: [-9.72, 7.8], direction: inverse} # ACESproxy Annex C to ACES

        - !<AllocationTransform> {allocation: lg2, vars: [-9.72, 7.8]} # ACES to ACESproxy Annex C


On Thu, Oct 30, 2014 at 4:19 PM, Haarm-Pieter Duiker <li...@...> wrote:
Hello OCIO developers and users,

The Academy is moving towards an official 1.0 release of ACES this fall. As part of that development effort, we are looking at the best way to support ACES through OCIO. Building on Alex Fry's earlier work, we have automated the generation of OCIO configs based on the transforms defined in CTL for a given release. Links to the configs representing the latest working group release follow this message.

We are hoping to get your feedback on the following items
  • The new ACES configs
    • What features should we include?
    • What's missing? (IDTs right now, for instance)
  • ACES overall
    • What's blocking adoption as we move towards 1.0
If you are interested in the scripts that were used to generate these configs, let me know and those can be made available.

Thanks in advance for your help,
HP Duiker
Consultant for the Academy on ACES
Duiker Research




Example configs for the latest working group release, WGR8, are available for private evaluation here:

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.


Re: ACES OCIO configs, testing and feedback

Kevin Wheatley <kevin.j....@...>
 

you might want to account for different scalings of the log spaces
(full range vs SMPTE levels), although the most useful form for OCIO
is obviously the one in which CDL values apply directly.

Kevin


Re: ACES OCIO configs, testing and feedback

Dithermaster <dither...@...>
 

I'm looking forward to updates to this config, especially when it includes the existing IDTs.

Once comment so far: You don't need a LUT to convert between ACES and ACESproxy; OpenColorIO can do it more accurately (and likely faster) using an AllocationTransform:

        - !<AllocationTransform> {allocation: lg2, vars: [-9.72, 7.8], direction: inverse} # ACESproxy Annex C to ACES

        - !<AllocationTransform> {allocation: lg2, vars: [-9.72, 7.8]} # ACES to ACESproxy Annex C


On Thu, Oct 30, 2014 at 4:19 PM, Haarm-Pieter Duiker <li...@...> wrote:
Hello OCIO developers and users,

The Academy is moving towards an official 1.0 release of ACES this fall. As part of that development effort, we are looking at the best way to support ACES through OCIO. Building on Alex Fry's earlier work, we have automated the generation of OCIO configs based on the transforms defined in CTL for a given release. Links to the configs representing the latest working group release follow this message.

We are hoping to get your feedback on the following items
  • The new ACES configs
    • What features should we include?
    • What's missing? (IDTs right now, for instance)
  • ACES overall
    • What's blocking adoption as we move towards 1.0
If you are interested in the scripts that were used to generate these configs, let me know and those can be made available.

Thanks in advance for your help,
HP Duiker
Consultant for the Academy on ACES
Duiker Research




Example configs for the latest working group release, WGR8, are available for private evaluation here:

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.


OCIO Looks, graceful failure.

Alex Fry <al...@...>
 

Hey guys

I'm trying to implement OCIO Looks on a job at the moment.

Ideally, I'd like to be able to point to a series of shot specific .cc files on disk, but this falls over when I have shots with no grade present on disk.

"OCIOIPNode: The specified file reference 'CDL_testing/$SHOT.cc' could not be found" (This is in RV)

I can get it to behave If I name the .cc file something static like clientCDL.cc, and move the $SHOT variable further up the path string, and then have fallback search paths to SEQ and SHOW directories with generic blank clientCDL.cc files. But I just feel like I might be missing a trick here somewhere.

How are other people implementing Looks in the wild?

Regards
Alex Fry
 



ACES OCIO configs, testing and feedback

Haarm-Pieter Duiker <li...@...>
 

Hello OCIO developers and users,

The Academy is moving towards an official 1.0 release of ACES this fall. As part of that development effort, we are looking at the best way to support ACES through OCIO. Building on Alex Fry's earlier work, we have automated the generation of OCIO configs based on the transforms defined in CTL for a given release. Links to the configs representing the latest working group release follow this message.

We are hoping to get your feedback on the following items
  • The new ACES configs
    • What features should we include?
    • What's missing? (IDTs right now, for instance)
  • ACES overall
    • What's blocking adoption as we move towards 1.0
If you are interested in the scripts that were used to generate these configs, let me know and those can be made available.

Thanks in advance for your help,
HP Duiker
Consultant for the Academy on ACES
Duiker Research




Example configs for the latest working group release, WGR8, are available for private evaluation here:


OCIO default config when using CreateFromEnv

Michel Lerenard <micheli...@...>
 

Hi,

I have an issue when trying to create a config from the environment, more specifically when no env variable is set.
The configuration that is returned contains one color space named "raw".

In my application, we need to have a colorspace named "linear" in the config, so I check if one already exists in the configuration returned, and add it if it doesn't.
I use the getIndexForColorSpace() function to check if my "linear" color space is there, and the weird thing is that the call returns 0, instead of -1!
I've printed the list of color spaces to be sure, I only have one item in it, "raw". I checked the source code, no role or display named "linear" appears, so I'm really wondering why the function finds something that matches.
Even the call getIndexForColorSpace("foobar") returns 0, so I did a last test:

OCIO::ConstColorSpaceRcPtr cs_ptr =config->getColorSpace("foobar");
printf("Colorspace name=%s\n", cs_ptr->getName());

The printed result was "raw".

I'm really lost here. I need to point out that if I load a configuration from an existing file that does not contains the "linear" color space, my code does work. It's not working only with the default configuration returned by CreateFromEnv.

Any help is appreciated.

Michel


PS:On a side note, I was surprised to see that the CreateFromEnv would not return a null pointer or an empty config if no env variable was set. There is not return code, no exception that can give any clue whether a config could be loaded or not after calling the function. That's quite a problem if you want to create a default config at runtime if none can be loaded.
How can I check that a configuration file was indeed loaded ?


Re: parseColorSpaceFromString() issue

Sean Looper <sean....@...>
 

I don't think so. I used to use the "colorspace" attribute stored on assets at my *previous* job to determine color space and only fall back to the file name if that didn't exist. Naming conventions are fragile things, as we know.

On Fri, Oct 3, 2014 at 6:13 PM, Sam Richards <sam.ri...@...> wrote:
I'm going through this right now, and have the horrible problem of trying to educate people to add the right color space to their filename, knowing full well that there is a strong likelyhood that initially things will only get worse, where they are writing files out as linear, but calling them log. 

Is it a horrible idea to use the ICC profile name that is in the file-header (assuming we could ever get that right?) to do the mapping? I'm sure the adobe products are at least trying to write that out correctly (its a shame Nuke isnt).

Sam.



On Thu, Oct 2, 2014 at 10:16 AM, <mike...@...> wrote:
On Wednesday, October 1, 2014 2:23:56 PM UTC-7, Mark Boorer wrote:

If you feel like knocking up a pull request containing your patch, I'll merge it (assuming it's all good). Otherwise I'm happy to do so on your behalf.


Thanks Mark.  If you wouldn't mind handling the pull request, that'd be helpful.  I'm afraid I'm still not fully up to speed on git.

-miker

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.


Re: parseColorSpaceFromString() issue

Sam Richards <sam.ri...@...>
 

I'm going through this right now, and have the horrible problem of trying to educate people to add the right color space to their filename, knowing full well that there is a strong likelyhood that initially things will only get worse, where they are writing files out as linear, but calling them log. 

Is it a horrible idea to use the ICC profile name that is in the file-header (assuming we could ever get that right?) to do the mapping? I'm sure the adobe products are at least trying to write that out correctly (its a shame Nuke isnt).

Sam.



On Thu, Oct 2, 2014 at 10:16 AM, <mike...@...> wrote:
On Wednesday, October 1, 2014 2:23:56 PM UTC-7, Mark Boorer wrote:

If you feel like knocking up a pull request containing your patch, I'll merge it (assuming it's all good). Otherwise I'm happy to do so on your behalf.


Thanks Mark.  If you wouldn't mind handling the pull request, that'd be helpful.  I'm afraid I'm still not fully up to speed on git.

-miker

--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.


Re: parseColorSpaceFromString() issue

mike...@...
 

On Wednesday, October 1, 2014 2:23:56 PM UTC-7, Mark Boorer wrote:

If you feel like knocking up a pull request containing your patch, I'll merge it (assuming it's all good). Otherwise I'm happy to do so on your behalf.


Thanks Mark.  If you wouldn't mind handling the pull request, that'd be helpful.  I'm afraid I'm still not fully up to speed on git.

-miker


Search path vs resource path

Lerenard Michel <micheli...@...>
 

Hi,

I'm a bit puzzled by the existence of these two variables, as they seem to do the same thing at first glance.

Looking quickly at the code it seems they have different behavior, but I don't quite get it.

Could someone explain when and how to use one or the other ?

Thanks.

MIchel


Re: advice, supporting dynamic color space additions to config

Osiris Perez <osiris.pe...@...>
 

Same here. We can easily do this through the API by re-generating configs on the fly as outlined in this thread. However, 3rd party tools that have standard OCIO integration are not aware of our changes. 

Having this support natively would make it easier to support global studio settings and show/project overrides throughout the pipe without having to re-write or work around 3rd party implementations. 

 


On Thursday, 25 September 2014 16:15:21 UTC-7, Steve Agland wrote:
I've also been thinking about the general idea of configs "inheriting" from one another. I haven't delved far into the API for manipulating configs yet, so perhaps there is some support there if you're okay with dynamically creating configs on the fly.

It'd be great if there was a formal way to have a "global" config from which "show" configs (or some other more specific context) can be automatically derived with some overrides. Overrides could include defining new color spaces, limiting/extending the available display/view options, reassigning "roles" etc.

Steve


On 26 September 2014 05:16, Haarm-Pieter Duiker <li...@...> wrote:

This email was originally going to be a question about 'What happened to the idea of having an $include statement' but I figured that that was just the tip of the iceberg.


Re: parseColorSpaceFromString() issue

Larry Gritz <l...@...>
 

It's complicated. Metadata, file naming conventions, and color space dictates/restrictions in the specification of particular file formats may all be mutually contradictory. What do you do? What is the decision hierarchy?

Personally, I would prefer that filenames be arbitrary and that metadata be used to indicate colorspace. (Notwithstanding hard color space constraints of particular formats.)

Jeremy and I have discussed this many times before, and (if I may put words in his mouth) he believed strongly that metadata was so frequently wrong as to be useless (image apps may not set, drop, or incorrectly set the color space metadata).

It's true that the convention at SPI is to bake the color space name into the file name, and ignore everything else. This is, IMHO, largely a historical response to file formats that did not support any way to specify color space information, and a hodgepodge of image-handling applications and libraries that might botch it or simply not propagate the color space info from input to output (and more often than not, were almost completely ignorant of metadata). Perhaps with EXR gaining dominance (arbitrary metadata, yay) and OIIO being the basis of a growing majority of our image-handling software (a lot of attention to reading and propagating the metadata), relying on metadata for color space hints is more achievable than it once was. But there are still a lot of edge cases to struggle with.

Jeremy and I had, at some point, discussed the possibility of a coordinated attack involving a function (in one or both of our packages) that might take as parameters the filename, format name, and metadata (if any), and given all this information would return the best guess of color space, with some set of (documented) sensible rules to adjudicate any conflicts. It's even possible that the rules could be part of an OCIO configuration (i.e., a way to say "at studio TLA, filenames take precedence over metadata, here's the regex that isolates the color space name, but override that by knowing that '.blah' files are always color space 'foo'"). But we never quite got around to fully fleshing it out.

-- lg


On Oct 1, 2014, at 2:23 PM, Mark Boorer <mark...@...> wrote:

Hi,

> May I suggest making parseColorSpaceFromString() optionally a little more strict?

I'm certainly happy to add in this functionality if it makes your lives easier.

> This is an especially egregious failure, considering that JPEG files are by specification LDR and sRGB (so very not "lnf").

As a quick aside, do many people use this functionality? I was under the impression that this was mostly an SPI thing (baking the colorspaces in to the filenames). Personally we use metadata / heuristics to determine which colorspaces our images are in. (eg, JPG files are sRGB, DPX's are in the camera's log space).

If you feel like knocking up a pull request containing your patch, I'll merge it (assuming it's all good). Otherwise I'm happy to do so on your behalf.

Cheers,
Mark


On Wed, Oct 1, 2014 at 9:49 PM, Sean Looper <sean....@...> wrote:
I've been bitten by this as well. Ended up writing my own parsing function.

On Wed, Oct 1, 2014 at 1:43 PM, Larry Gritz <l...@...> wrote:
+1 on the suggestion of recognizing OCIO color spaces in the filenames only if they are fully delimited.

    "brickKilnFront.jpg"              => "lnf"

This is an especially egregious failure, considering that JPEG files are by specification LDR and sRGB (so very not "lnf").


On Oct 1, 2014, at 12:46 PM, Michael Root <mi...@...> wrote:

May I suggest making parseColorSpaceFromString() optionally a little more strict?

The basic problem is that as we're transitioning to using OCIO, there are still many situations where a file might have an OCIO colorspace in the filename....but it may also not have one.

Even if strictparsing is true, the 'strictness' is still pretty lax.  Any part of the filename that happens to line up with a colorspace suddenly becomes the colorspace.  

For example, parseColorSpaceFromString() returns:

    "dialogSync1020.0100.dpx"         => "nc10"
    "brickKilnFront.jpg"              => "lnf"
    "digiDoubleForeign1029.0100.dpx"  => "gn10"

May I suggest a config option like:

    delimiters: _./

Which would restrict the parser to only consider substrings delimited on both sides by one of those chars (or the beginning or end of the string).  By default, delimiters is an empty string, which results in the current behavior.

Attached is a patch against 1.0.9 that implements this idea.

-miker

--
Larry Gritz
l...@...




--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.


--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.


--
You received this message because you are subscribed to the Google Groups "OpenColorIO Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ocio-dev+u...@....
For more options, visit https://groups.google.com/d/optout.

--
Larry Gritz
l...@...



821 - 840 of 2217