Photoshop: How do I get float values over 1 when converting 16bit to 32bit?

  • 1
  • Question
  • Updated 3 years ago
  • Answered
  • (Edited)
How do i get float values over 1 when converting a 16bit linear (gamma 1 color profile) to 32bit Linear please?

i.e. if 16bit sRGB was half-float (i.e. not normalized) the 16bit to 32bit conversion would provide some dynamic range.

This works if i use a log lut but i need to either work in 16bit sRGB or Linear.

ta+
Photo of Rafal Kaniewski

Rafal Kaniewski

  • 10 Posts
  • 0 Reply Likes

Posted 3 years ago

  • 1
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 813 Reply Likes
A 16 bit/channel image can't have values over 1.0, because the logical range of the values is 0.0 to 1.0 in 8 and 16 bit/channel, regardless of the gamma/tone curve for that image.

But you can rescale the values after converting to 32 bit/channel.
Photo of Rafal Kaniewski

Rafal Kaniewski

  • 10 Posts
  • 0 Reply Likes
Thanks for the reply Chris.

I don't want to rescale(multiply/exposure) the values, as this would change where mid-tone grey is perceived to be. (Assuming I am using the correct monitor view>proof lut if not working in a sRGB document profile).

If there are no other options, I assume that working in 16bit linear (gamma 1.0) has no advantage when aiming to get a wider 32-bit dynamic range.

Remaping rather than rescaling would be a compromise as it would keep the image looking roughly the same?.....can i apply a color profile or lut in 32-bit mode?
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 813 Reply Likes
Correct, 16 bit/channel has no values over 1.0, so no HDR.
You can keep the image looking the same just by converting to 32 bit/channel. Rescaling is only necessary if you want to make the values greater than 1.0.

Document display corrections are not limited to sRGB in any way. You always need the correct display profile, otherwise you're not accurately seeing your document. And you need a document profile that accurately describes the contents of the document data, of course.

You can apply a 3DLUT in 32 bit/channel, but ICC profile support is limited because 32 bit/channel is always gamma 1.0 and overranged. While ICC profiles support overranged values, the current usage is limited and quite a few people/groups have made mistakes while trying to make and support such profiles (which is, in turn, limiting usage).
Photo of Rafal Kaniewski

Rafal Kaniewski

  • 10 Posts
  • 0 Reply Likes
oh, wasn't aware of the new 3d 16bit/32bit importable luts... that's very good.

I agree about icc profiles not being suited in this situation - it becomes very easy to make a mistake as it's all a bit hidden as there are multiple variables in multiple menus.

What i still need need to do is: Identically preserve the logical range when changing 16bit to 32bit or vice-a-versa. The issue i now have is that when i change to 32bit the values do not stay the same. Is photoshop doing a conversion assuming my image is in the set color profile? Can i turn this off or what am I doing wrong?

==================
16bit to 32bit:

- The image's pixels are have mapped values in a log or vd16(ocio) range in 16bit-mode

- Using a viewer 3DLUT 'to monitorSpace'. The user bypasses PS's color profiles method (so the color profile of the document is 'just' left the same as the monitor)

- To prepare for conversion, the user merge's down and bakes the values without the viewerLUT (i.e. in the logical range of log or vd16). Then the user changes mode to 32bit mode... BUT.... with the values staying the same. This would allow the option to export out in 32bit format after using a 3DLUT 'to linear' LUT to remap the range to a float, linear, preserving where mid-tone grey is perceived to be.
=================

ta+
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 813 Reply Likes
The logical range for 16 bit/channel is always 0.0 to 1.0.

Yes, the conversion takes into account the document color profile on both sides of the conversion. If you want the 16 bit data treated as linear, then you need to assign a linear (gamma 1.0) profile to the document before the conversion. In your case you want a log or vd16 profile assigned, and the values will be converted to gamma 1.0 in 32 bit/channel.

You should not need a "to monitorSpace" LUT at all - Photoshop already does that automatically. (and using such a LUT just adds more steps to be confused)
Photo of Rafal Kaniewski

Rafal Kaniewski

  • 10 Posts
  • 0 Reply Likes
Thanks for your reply.

Ok - so I assume from your answer there is no way of turning off Photoshop re-mapping the image's pixels when going from 16bit(logical) mode to 32-bit(float). The only way of working round this is assigning the document an incorrect gamma of 1.0 before converting and then in 32bit applying ones own shaper lut to re-map the values.

Also I assume that to use a an icc profile to transform a logical range to a float range is impractical as it is prone to many issues including ICC v4.2 limitations. Photoshop is v4.2 not v4.3.

Is there any way i can go from 32-bit(float) mode to 16bit(logical) without Photoshop re-mapping the pixel values. i.e.the artist applied their own lut in 32bit mode to normalize the values to a logical range before conversion to 16bit mode?

ta.
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 813 Reply Likes
No, because the logical range is fixed in the mapping of 16 bit -> 32 bit/channel. (0..1 -> .0..1)

For 32 bit -> 16 bit, you can select the exposure & gamma conversion with null parameters. That results in a straight mapping of 0..1 in the 32 bit range into 0..1 in the 16 bit image, but will still correct for the gamma of the working space profile (because that is the only available assumption for the target of the conversion).
Photo of Rafal Kaniewski

Rafal Kaniewski

  • 10 Posts
  • 0 Reply Likes
Thanks for the information Chris.