ACES & Photoshop friendly workflows

Nice work @alexfry!

One thing I found I had to do to get a match was to make sure “Compensate for Scene-referred Profiles” was switched off in the Color Settings. Otherwise Photoshop treats the ACEScg as scene-referred and applies a “system gamma” of about 1.1 to the image. Since your LUT is doing the scene to display conversion, this system gamma is unnecessary, and indeed gives an incorrect result.

Correction. I appear to have two ACEScg profiles installed on my system, and originally I had the one called “ACEScg ACES Working Space AMPAS S-2014-004” set as the working space. With this selected, the “Compensate for Scene-referred Profiles” check-box changes the image. With the other one called “ACES CG Linear (Academy Colour Encoding System AP1)” as the working space, that check-box has no effect.

Thanks for the rundown, Alex. While 32-bit linear workflows in PS solve the colour science/Nuke interchange side of things, the gotcha I’ve found is matte painters hate it, as it seriously restricts their toolset. As such, it’s been a non-starter, despite the obvious benefits. How did you get the PS users on board with 32-bit mode?

Ha!

I haven’t.

We have 2 sets of photoshop users within the company.

The belligerent ones who insist on staying in 16bit or lower (they have to use the AP1 48nit display referred workflow outlined in my original post).

And the more forward looking ones who are happy to join us in the present in 32bit mode.

Honestly I’m starting to lose sympathy for the first group. It’s 2020, HDR is a real thing, and soon I’m going to have to simply say “sorry, your files are no longer acceptable inputs into the compositing pipeline”. An uncomfortable conversation to be sure, but it’s going to have to happen at some point.

6 Likes

@alexfry thanks for sharing this updated workflow for Photoshop.

I was testing your process in Blender > Photoshop workflow. I used ACES in Blender and images looked as expected with your LUT in Photoshop.

Can I make a request? While I understand the benefits of ACES, right now Blender doesn’t offer the best experience when you force to use it. At the moment Filmic is just more convenient. Would it be possible for you to produce a LUT that works with Filmic based workflow?

I tried to do it myself but the color science gets too complex for me here and I couldn’t make a correct LUT.

Although, I used your LUT and it worked surprisingly well with Blender output of 32bit EXR image. The only thing I had to adjust was to make a tone curve lifting shadows and mid tones to match Filmic look. I understand it’s not very accurate, that’s why I’m asking if you can produce a proper LUT for this workflow.

It would be very helpful while we’re waiting for Blender to implement full support of OCIO and ACES standards. Which should happen relatively soon as I gathered form latest updates.

If not, it’s totally ok. Maybe I’ll eventually be able to figure it out on my own. :thinking: Thanks.

Sorry, do you mean make a LUT to match the Blender Filmic look in Photoshop? Or create and ACES LUT for Blender?

Sorry, do you mean make a LUT to match the Blender Filmic look in Photoshop?

Sorry for the confusion Alex. Yes, I meant to make a LUT to match the Blender Filmic look in Photohsop.

@alexfry congrats ! this looks like a proper way to work in Photoshop with ACES. I’ll give that a try hopefully soon (we are in crunch time right now).

1 Like

Hi,
@alexfry
Thank you for starting this discussion and sharing your insights. Very much appreciated!

I am going the log route in Photoshop for years now, but as I never managed to assign a proper ICC profile to the images, I was only able to use Photoshops “Proof Setup” with an baked ICC profile via ociobakelut.
Never felt really good to me, because PS deals with uncommon data and does not even know about it (because it assumed the standard sRGB profile)

Currently we mattepaint in:

AP1 primaries with anAlexaV3LogC transfer function

I would like to switch to a display referred transfer function. Pretty much like Alex’s workflow.

Can anyone here give me some insights on how to create such an ICC profile and how to programmatically assign it to a picture?

Best,
Tobi

1 Like

After doing some tests this was actually more straight forward than I thought it would be.

I did a setup for a mattepainting colorspace with AP1 primaries and an Alexa rec709 1D Lookup Table on top.

For those who are interested.

I created a synthetic ICC profile with DisplayCal. set to ACEScg primaries with sRGB tone curve.

This was working pretty much out of the box.

But Photoshop did the gamut remapping to the displays gamut not in proper linear light, but just in an “sRGB to Linear sandwich”. That’s why I created a mattepainting colorspace with slightly distorted AP1 primaries. This introduces an “error” which gets evened out with PS’s conversion.

from_reference: !<GroupTransform>
  children:
    - !<ColorSpaceTransform> {src: ACES - ACES2065-1, dst: Utility - Linear - sRGB}
    - !<ColorSpaceTransform> {src: ACES - ACES2065-1, dst: Input - ARRI - Curve - V3 LogC (EI800)}
    - !<FileTransform> {src: AlexaV3_K1S1_LogC2Video_EE_1d.cube}
    - !<ColorSpaceTransform> {src: Utility - Curve - sRGB, dst: ACES - ACES2065-1}
    - !<ColorSpaceTransform> {src: Utility - Linear - sRGB, dst: ACES - ACEScg}
    - !<ColorSpaceTransform> {src: ACES - ACES2065-1, dst: Utility - Curve - sRGB}

The result is very accurately matching to Nuke, even though feeling a bit hacky.

Currently I am asssigning the profile with Image Magicks convert tool.

Just my 2 cents.
Best,
Tobi

Hey, reopening the thread cause I have a hard time to figure a matte painting workflow.

So we are using Photoshop to create matte-painting to be integrated in Nuke in an ACES workflow.
We would like the artist to be working in Ps in 8/16 bit mode with a workflow that involve minimal work for him.
Goal is to have something in Ps that looks like what you could see in Nuke through the ODT.

So we could just use "Output-sRGB " as an IDT for the matte-painting but it’s wrong and I think we can find an other solution.

Then i tried to just create a “Utility-sRGB-Texture” to “Output-Rec709” LUT for Ps but with that you can get bright white in 8/16bit mode.

So has anyone find a convenient workflow or has been able to make the Alex’s first method works ?
Cheers.

Liam.

the described method works, but using 2 color-lookups is very slow in PS

i would recommend using Affinity Photo , it has OCIO implemented and it works flawlessly

sorry but where did you get the .csp file for PS from?

Forgot to answer you sorry !
Thanks, yes i know affinity has OCIO support but from what i read it has an issue where it bake the icc profile on the output file.

1 Like

Hi Liam,

up to now I never exported an image from Affinity Photo with OCIO other than EXR files. And with these I never had any problems. Now I tried to export a JPG and apart form the ODT something else is baked into the image and make it lighter in my case.

Where did you read about this issue? Is this filed as a bug? Do you know this?

Thanks for the information.

Daniel

Thank you Alex. This will help us a lot on our current film (Adipurush)

Behram

hello, reopening the topic with a little bit of a twist :slight_smile:

thank you @alexfry for explaining the workflow in your initial post, very helpful
Although the main problem with limited tool palette in 32bit mode in PS is still on the table and something DMP Artists cannot live with…but that’s another topic…

Please, how would you do this in Photoshop:

import AcesCG EXR and export as AcesCCT 16bit TIFF

?

I know how to do it in other programs, but I’m interested in Photoshop particularly.
I have the OCIO Photoshop Plugin. I’m doing the conversion, but the whole issue is when I want to go from 32bit mode to 16bit - PS always adds sRGB gamma to the step…
I don’t see a way how to force it back to “linear” profile, just so it doesn’t touch the gamma.

I only found, that using Export As PNG, I can say, do not do the sRGB conversion…but that PNG is only 8bit. And even if the image is logarithmic, it is not enough.

Thanks for any tips you might have! :slight_smile:

1 Like

Hi Martin,

I don’t think you are able to convert an ACEScg EXR file to a ACEScct TIF, because you don’t have access to the colorspace transforms in Photoshop.
Photoshop is just not the tool to do such a conversion in the first place.

I put together a little new article about Photoshop & ACES. Maybe you find something else useful there:
https://www.toodee.de/?p=4996

Best regards

Daniel

1 Like

PNG can be 8bpc or 16 bpc but even at 16, you are not having a proper linear scene referred high dynamic range file.
I would not recommend anything else but the openEXR file format (not even .tiff or .hdr).

:point_up:This.

1 Like

Hi Daniel,
yes, this is exactly the workflow we use at the studio :slight_smile:
In a flame/nuke/ps environment, we use ACEScct tiffs with a lut in ps and conversions in the 2d packages.
No problem.

What I’m trying to build is a simple way for MP artists to have the ability to do the conversion from ACEScg to ACEScct themselves.

To be more flexible and not rely on 2D guys.

I’ve created a simple Nuke script, with correct unpremult, etc. and it works great, but…
Then you have the problem of licences, where MP guys fight with 2D guys for available licence :smiley:

So that’s why I’m trying to find alternative.

Let me describe the steps I do in PS:

  1. Load the ACEScg EXR - no prob
  2. Use the OCIO PS plugin and convert the ACEScg to ACEScct - no prob
  3. Export it that as 16bit tiff or png - and I’m screwed :smiley:

The problem is, that because I’m still in 32bit mode - even after the conversion to ACEScct - thats just the plugin doing the work, PS has no idea - anytime you want to go from 32bit mode to 16bit mode - PS adds some kind of mapping to it - either srgb gamma, or some version of exposure/hightlights mapping or whatever - it won’t just leave it be! :smiley:

The only option in a menu I found is under
File - Export - Export As - PNG


here, you have the option to NOT apply the srgb gamma going from 32bit to anything lower
but this png is 8bit :smiley: kill me now…

so that’s where I got, if you’d have any suggestions, that would be great
or maybe PS just not the app to do this…but it easily could be
if only they had the option to export a 16bit PNG from that menu - that’s it!

thanks

I am aware of all of that, I described the steps in my reply to TooDee, if you’d like to take a look.
Thanks a lot! :slight_smile:

1 Like