Monday, February 6, 2017

OpenColorIO for Photoshop

Many moons ago I released an OpenColorIO plug-in for After Effects. Now there's a Photoshop plug-in as well. It has most of the same features and a similar interface.

One useful feature for Photoshop workflows is the ability to export ICC Profiles and LUTs right from the plug-in. You can test out a color conversion directly on your pixels by running it normally. Then undo and export an ICC Profile that can be assigned to your document (make sure you save it in the proper directory). Or export a LUT to be assigned to a Color Lookup adjustment layer in Photoshop.

As usual, it's free and open source.

Enjoy!

Plug-in version: 2.1.1
Date: 19 December 2021
Mac | Win

25 comments:

jlang said...

Hi Brendan,

Thanks for making this available for photoshop! Unfortunately I'm getting a "Photoshop is not responding crash" whenever I try to select the "convert" or "display" options in Windows 10. Can this be supported for Windows?

Brendan said...

Thanks for the bug report. I'll work on this Windows 10 issue. The Win plug-in was made on Windows 7.

drhein said...

This is amazing ! We've been wanting something like this for so long, it doesn't seem real, but it's really here and it works. Thank you so much for this.

drhein said...

A couple of things I did wanted to mention for feedback

I get a specifc error when loading custom luts :

Error: Loading the OCIO profile failed. Unsupported transform type! in OCIO profile.


I also get an error while trying to display the lut (I'm not actually sure what the behavior should be - is it supposed to create an adjustment layer automatically ?)

Error: Could not complete the OpenColorIO command because DisplayTransform error. Cannot find display colorspace, "..


just for info, I am using WIN 7 x64 with PS CC 2017.01

Brendan said...

drhein, send me an email and hopefully I can reproduce your problem.

drhein said...

the unsupported transform was an ExpressionTransform by the way, it just never showed up on my previous post because I used the < and > characters.


drhein said...

I've also emailed you at info@fnordware.com. Let me know if that 's still an email address that works for you

Alex Sikorsky said...

I tested your plugin. This opens up great opportunities. Unfortunately, for version for Windows 8.1 x64 has errors, and after selecting the "Monitor" switch fails.

Brendan said...

"Monitor"? Do you mean "Device"? Could you be more specific?

Derek said...

What menu is the plug-in launched from in Photoshop? Thanks!

Brendan said...

I should appear under Filter > OpenColorIO.

Derek said...

Thanks. I'm having some trouble converting exr images. Using the spi-anim OCIO, if I select input:Inf output:Film(vd16) this makes the EXR image over-bright. This is not the case if I do the same to an 8-bit PNG. It appears that Photoshop (CC 2017) does not read in EXR files as linear raw, and applies a 2.2 gamma view transform to them. This is true even when the color profile is set to linear (gamma 1.0). So instead of getting the EXR displayed in vd16 it appears to be vd16+2.2 gamma. Do you know a way to address this?

Ultimately, I would like to generate ICC profiles. However when I export the ICC profile and then assign it to an EXR in Photoshop I get a very different problem: the image has a blue tint to it and appears to still be in gamma 2.2 rather than vd16 (which has a noticeable toe and shoulder).

Brendan said...

Photoshop automatically sets 32-bit images to linear color space, 8- and 16-bit to non-linear (typically sRGB). If you convert an 8-bit sRGB PNG to 32-bit, it will be made linear in the process, and then if you switch back to 8-bit it will be changed back to sRGB.

So Photoshop does import an EXR as linear, but then it displays it as sRGB using a display transform. You can turn it off by going to View > Proof Setup > Monitor RGB.

Derek said...

Thanks that works for converting the image with the filter. However, when I write out an ICC profile and apply it to the image (with raw Monitor RGB display as you described) using "edit>assign profile" the ICC appears to have no affect.

Brendan said...

Applying profiles in 32-bit generally won't do anything because Photoshop linearizes them. They only work in 8- or 16-bit. You could export a LUT and use the Color Lookup adjustment layer.

Derek said...

Tried exporting a LUT and using the Color Lookup adjustment layer as you suggested. While the OCIO filter displays the image correctly in the bright areas, the LUT clips these. Oddly it clips them to a bright yellow, which is odd since the pixel values are actually blue (if I sample them in Nuke I get <2.7, 3.0, 3.9>).

It looks like the filter (both for the "display" and convert" options) bakes the display transform into the image, so if I save the EXR and open it in Nuke it is no longer linear and has the vd16 tonemap baked into it. I would like to instead simply view the linear EXR through the OCIO display transform in Photoshop, like one does in Nuke. The Color Lookup adjustment LUT would be perfect for this, but as I described above it clips the brights.

Derek said...

Could you explain the difference between the "display" and "convert" modes please?

Brendan said...

"Convert" is used to simply convert from one color space to another. For example, you might convert from log to linear. Display is used for viewing. So if you have log pixels, you choose how to display them, often by choosing a device and maybe between a few different transforms.

In general, for any Display setup there will be an equivalent Convert setup if you figure out which output space is being used. I offer both because you see both interfaces in other programs like Nuke.

Daniel said...

It is still crashing on W10, is there any fix? ir will be any coming soon?
Thanks, this is an awesome tool.

Unknown said...

Hi there. I'm installing your plugin on Mac OS X for PS CC and am getting the following error when I try to run the filter: Could not complete the OpenColorIO command because The specified file reference 'CineonLog_to_linear.spi1d' could not be located. The following attempts were made: (path goes to location of config.ocio/luts)

Is this a problem with the plugin install or other information I am missing? Thanks in advance.

Unknown said...

Hi! I was wondering if there is an update for windows 10 Phtoshop CC 17 as it keeps crashing whenever I try to do anything. This is an amazing feature,I would love to be able to use it, thanks for all the hard work :)

Unknown said...

I have the same clipping issue Derek has.
Using the filter to convert to ACEScg to Rec709 everything looks fine.
But exporting it as either a LUT or ICC profile produces blown out highlights...

Honestly thinking it's a Photoshop limitation.

vincent* said...

Is the latest update production ready to use with windows 10 and latest photoshop?

thanks you for bringing this tool, happy new year!

vincent*

Martin said...

What is the oldest version of PS that the plugin supports? Can it go as far as PS CS3?
Thanks a lot!

jatingupta344 said...

I am using this tool to convert textures from Substance painter into ACES environment textures. What should i use as my IDT and ODTs??

I used ODT as Utility sRGB Texture
But i am unsure of my IDT.

Can you please help??