Photoshop: Can we get more '32 bit image adjustments'?

  • 2
  • Question
  • Updated 4 years ago
  • (Edited)
Hi,

When can we see more '32 bit image adjustments'?

I see 16 bit image support was introduced in

1992 with 2.5 and image adjustments for 16 bit in
2003 with CS2 8.0.

32 bit image support introduced
2005 with CS2 9.0 and then in
2007 with CS3 10.0 it says

"More complete 32 bit / HDR support (layers, painting, more filters and adjustments)",

but to be honest it lacks most adjustments curves being the most obvious.

http://en.wikipedia.org/wiki/Adobe_Ph...

With HDR becoming more the norm do you think this is something we will see?

Brian.
Photo of Brian

Brian

  • 4 Posts
  • 0 Reply Likes

Posted 5 years ago

  • 2
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 812 Reply Likes
Most of the missing adjustments just don't work when the range of values goes to infinity. Many of the filters, blend modes, and adjustments assume that values are between zero and one - which isn't true for 32 bit/channel data (HDR). A few even require that the values be limited in range and have no possible way to extend the math.

It is possible to define curves on a larger range, but we have yet to see or come up with a UI that makes sense of such a large range (but we've seen a lot of really bad, failed UI attempts).
Photo of Brian

Brian

  • 4 Posts
  • 0 Reply Likes
So how then does this toning curve work 32-bit data or 16 bit?

Just wondering.

Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 812 Reply Likes
Because you're dealing with a known set of data and can normalize the range to 0..1. When the toning curve is applied, it is applied to data that has a 0..1 range, not arbitrary HDR data.
Photo of Martijn Saly

Martijn Saly

  • 9 Posts
  • 1 Reply Like
Anything that can be adapted to work on 16-bits channels, can be adapted to work on 32-bits channels. It's just a matter of putting man-hours into it. And seeing how expensive Photoshop is, I think it's totally reasonable for Adobe to pull this off.

Values that go from 0 to an arbitrary "1", are not really an issue, as 32-bit values have an upper limit exactly like 16-bit values do. 32-bit integer will certainly work perfectly and exactly as well (if not better).

No, integer is not a problem. The problem is dealing with floating point.
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 812 Reply Likes
That is not correct - 32 bit values have an upper limit of infinity: they are floating point, not integer (like 8 and 16 bit/channel).
Many of the blend modes, adjustments and filters cannot be made to work with 32 bit/channel data, because they rely on using a 0..1 range.

And even if you have the "highest value in the image" and try to define that as 1.0 - the logic just doesn't work or look anything like you would expect.

No, this is not reasonable - we still have to live within the limitations of math.

We can make some more filters available, maybe a few more adjustments - but not all of them can be converted because of the infinite range of floating point numbers.
Photo of Brian

Brian

  • 4 Posts
  • 0 Reply Likes
ok,

Maybe this can help?

Color_depth, Deep color (30/36/48-bit): http://en.wikipedia.org/wiki/Color_depth

bytes: http://computer.howstuffworks.com/byt...

A-Simple-Explanation-Of-What-32-Bit-Programming-Really-Means: http://www.programmingz.com/b/212545/...

Floating_point: http://en.wikipedia.org/wiki/Floating...

Fixed-point_arithmetic: http://en.wikipedia.org/wiki/Fixed-po...

IEEE Standard 754 Floating Point Numbers: http://steve.hollasch.net/cgindex/cod...

How do arbitrary floating point values compare to infinity?: http://stackoverflow.com/questions/46...

Or maybe you can help me get a better understanding of what you mean.
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 812 Reply Likes
The 32 bit programming link has nothing to do with anything here.

And the color depth link is confusing bits/channel with total number of bits (which is a useless number that could have many different meanings).

We're talking about 32 bit/channel, floating points data. (or 96 bit RGB if you go by that color depth link)

Curves work well for 0..1 data, but not for infinite ranged data.

When working with a 32 bit/channel HDR image, the values range -infinity to +infinity.

When toning the image, you convert that huge range (or the range that is actually used) into 0..1, then you can apply some curves to that limited range data before reducing it to 8 or 16 bit/channel.
Photo of Brian

Brian

  • 4 Posts
  • 0 Reply Likes
So what does -infinity or +infinity mean as pixel color data then?

please help me understand
Photo of Chris Cox

Chris Cox

  • 20280 Posts
  • 812 Reply Likes
-infinity is incredibly dark but less than zero (which is the absence of light).
+infinity is incredibly bright (infinite amounts of light).

They have no fixed meaning until you decide how the values are going to be interpreted. Negative values can mean that a color is outside the gamut of the original sensor, or can arise from adjustments to the colors. Sometimes the negative values are used as filters to modify existing images (sort of like filters on a camera lens). Super positive values come about because you have decided on a fixed white point (say a lightbulb) and taken an image of something even brighter (like the sun or an arc lamp).

The questions you're asking make it sound like you don't know too much about high dynamic range imaging, and may have been using 32 bit/channel images by mistake - perhaps confusing them with misnamed "32 bit" images which are really 8 bit/channel.

If you want to learn why high dynamic range imaging is about, try this book: http://www.amazon.com/Dynamic-Range-I...
Photo of accel accel

accel accel

  • 2 Posts
  • 0 Reply Likes
Sorry about the Zombie thread, but...

What about filters such as Adaptive Wide Angle?

I don't program, so I could be way over simplifying but what can't AWA just interpret the perspective adjustments as a mesh, like Liquify?

I really don't get how bit depth affects a filter like that.

It would be amazing for Architectural HDR photography.