Skip to main content
Participating Frequently
March 13, 2024
Question

32 Bits/Channel Mode and color profiles

  • March 13, 2024
  • 4 replies
  • 5001 views

Color settings: Monitor RGB (sRGB IEC61966-2.1 in this case)
OpenEXR file opened in 32 Bits/Channel Mode, Photoshop applies sRGB transfer function so the image looks too bright.
Proof Colors: sRGB IEC61966-2.1 with Preserve RGB Numbers ON - OpenEXR file looks like it should (without any transfer function applied).
Export as: Convert to sRGB OFF - exports as expected, no sRGB transfer function applied. Limited to 8 Bits/Channel.

How do I maintain this behaviour (avoiding automatic sRGB transfer function) when changing Mode from 32 Bits/Channel to 16 Bits/Channel?

This topic has been closed for replies.

4 replies

Participating Frequently
March 28, 2024

I tested the suggested solution in Krita. With a few different linear icc profiles.
Linear icc profile assigned to the file, linear icc profile working space.
Everything works/looks as expected.

So is it just limitation of 32 bits/channel mode in Photoshop in regards to icc profiles?

Participating Frequently
March 21, 2024

nobody?

should I assume what I'm trying to do is still not possible?
a clear answer from an Expert would be much apreciated.

davescm
Community Expert
Community Expert
March 21, 2024

The answer to that was given several posts up. Temporarily set your RGB working profile to a linear profile and use exposure and gamma as the toning method.

 

Dave

Participating Frequently
March 21, 2024

working: linear profile (screenshot)
opening exr: looks too bright, gets RGB build-in profile assigned automatically.
converting to 16 bits/channel: merge, gamma = 1.0 - looks too bright still.

davescm
Community Expert
Community Expert
March 17, 2024

32 bit differs from 8 and 16 bit in more than just bit depth and tone curve. 8 and 16 bit share the same black and white levels. 32 bit extends the entire range so can contain darker values than 8/16 bit 0% and lighter values than 8/16bit 100%.

 

When working in 32 bit linear, as D Fosse correctly describes, your monitor is just showing a window onto the available image data. Photoshop provides a 32 bit exposure slider at the bottom left of the document window so you can adjust which part of the range of image values is displayed on screen. That slider does not affect the actual image at all - just the on screen preview. If your image looks too bright on screen (your monitor will be 8bit or 10 bit) , move the slider.

 

When the time comes to map to 16bit, then you have a choice of toning methods. To match the screen display use Exposure and Gamma, but to squeeze some of those darker/lighter values into the 16 bit range then use one of the other available toning methods.  Always convert to 8/16 bit first then Export/Proof, that way you have control over the data to be used. 

Note - when you convert a document from 32bit to 8/16 bit, using whatever toning method you choose, it will be to the colour space profile set in your colour settings as your working RGB profile. 

 

Dave

 

 

Participating Frequently
March 17, 2024

Thank you.
"Exposure and gamma" method (gamma set to 1.0) applies mentioned sRGB transfer function.  The one I'm trying to turn off. I need pixel values transfered 1:1 to 16 bits /channel, within SDR range.

Also whenever I try to assign ICC profile in 32 bits/channel mode it looks like the "gamma" part of the profile is discarded. But soft proof in 32 bits/channel mode with "preserve RGB numbers" is showing me the correct colours - how do I tell PS to "preserve RGB numbers" in an assigned ICC profile? Or how to do it by default for every 32 bits/channel document?

davescm
Community Expert
Community Expert
March 17, 2024

"Which values? A 32 bit floating point image contains values outside the range that can be contained within an 8 or 16 bit integer value. So a 16 bit image cannot contain the range of values contained in a 32 bit image. "

Values from 0-1 float. 

"

...how do I tell PS to "preserve RGB numbers" in an assigned ICC profile?
I am not sure why you want to do that - but you could set up a linear profile ( sRGB white and colour points with gamma 1.0) as your working RGB space and then use exposure gamma toning method to select the range from the 32 bit image to map into it.  Your converted image will of course suffer from  the limitations that  SDR non-linear gamma spaces were set to overcome i.e. insufficent steps used at the lower (darker) end of the scale. "

I would like to do that  to obviously keep my pixels intact. 16 bits/channel mode will clip all the values above 1.0 float but I do not need photoshop messing with "gamma".


Setting up a linear working profile affects the look of 8 and 16 bits/channel files but does not make Photoshop skip the sRGB "view transform".


16 bit images do not clip values above 32 bit 1.0 float. The 16 bit range is a small subset of the 0-1.0 32 bit range. Hence my question on which values, and why tone mapping is provided on conversion so you decide which part of that huge 32 bit 0-1.0 range is mapped into the comparatively small 16 bit range.

Unlike mapping 16 bit to 8 bit which shares the same range just in a smaller number of steps, mapping 32 bit into 16 bit is like saying I want a mile fitted into 100 yards but without changing any values. It can't be done. You have to decide which part of the mile to use in your  100 yards range, or  squeeze more than 100byards into the 100 yards by non linear mapping.

All the display, all image software, including 3D, has a view transform which maps the image profile to the monitor profile. That profile can be an accurate map of the monitor response, as in ICC colour managed software such as Photoshop, which is why the monitor profile should be made with calibration hardware and software and therefore tells the colour management system how the monitor displays in its current settings. In some video and 3D software then an accurate monitor profile is not used, but instead an assumed standard is set forcthe transform such as Rec709 or sRGB, but in that case the monitor has to be calibrated to that standard again using hardware. In both systems a view transform is used, without it the linear (or gamma mapped) image data would go straight to the display and guarantee inaccuracy.

 

Dave

NB, colourmanagement
Community Expert
Community Expert
March 16, 2024

@m36054796i2qa What's your working colourspace in Color Settings? Maybe add a screenshot please.

 

What is the embedded ICC profile in the incoming file?

 

I'm not understanding why Photoshop should apply an "sRGB transfer function" if the ICC profiles for incoming file and working color space match.

 

Why are you using "export" - is the resulting file for web only? I'd generally recommend "save as".

 

 

Also, I'd be super surprised if your display colourspace is actually accurately characterised by sRGB IEC61966-2.1.icc.

A display should ideally be calibrated and profiled using a sensor device to measure performance, so that it is accurately characterized.

(and there's no need to match the display colourspace to the working colourspace. This is the world of "device independent colour")

 

I hope this helps
neil barstow, colourmanagement net - adobe forum volunteer - co-author: 'getting colour right'
google me "neil barstow colourmanagement" for lots of free articles on colour management
Help others by clicking "Correct Answer" if the question is answered.
Found the answer elsewhere? Share it here. "Upvote" is for useful posts.

Participating Frequently
March 16, 2024

Thanks for having a look.
No ICC profile in the file. PS working space set to "monitor" to turn off any colour management.
File: https://we.tl/t-1hIiSwdoRc 



D Fosse
Community Expert
Community Expert
March 17, 2024

If you're disabling color management, there is no "sRGB transfer function". There is no such thing as sRGB at all, anywhere - the numbers in the file are just passed on unchanged. You're taking the whole concept of sRGB or any other profile out of the equation.

 

However, HDR complicates things a bit, because you only see a "window" of the original data. You need to map the data to fit into that window, and you need to choose what part of the data to appear in that window.

 

Since HDR is linear data, bypassing the monitor profile will obviously affect how it's displayed. The monitor is not linear.

 

I generally avoid HDR because I never liked the artificial way it looks, so I don't have much experience with it. I remember @davescm has explained this very well previously.