Announcement

Collapse
No announcement yet.

Curve of a curve of a curve...

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Curve of a curve of a curve...

    I've been thinking about a new (I think) technique, but it requires multiple curve adjustment layers. Thinking used to be that multiple curve adjustments was a destructive workflow. But lately I've seen it more and more in high-end workflows.

    Did this used to be bad with curves adjustments but adjustment layers changed it to a good thing?

    I can see the thinking in both good and bad arguments. An adjustment layer takes a value and adds or subtracts something to/from that value. Adding or subtracting again simply changes that number again. OR, adjacent values get stretched or compressed, then stretching or compressing them again loses data or introduces interpolated data.

    So which is it, multiple curves are non-destructive, destructive, or destructive in theory but doesn't actually matter in the real world? Or is it destructive but new technology minimizes that in a way that didn't used to be possible, so both POVs are correct but at different decades?

    And does whichever argument equally hold for ACR/Lightroom and Photoshop?
    Learn by teaching
    Take responsibility for learning

  • #2
    Re: Curve of a curve of a curve...

    Hi Doug

    (all my opinion below)

    Bottom line is if you use 16 bit image data it is highly unlikely you will notice any issues with multiple curve adjustment layers. Also, yes Lightroom and ACR is better at not degrading data.

    Details:

    I usually reserve the word "destructive" editing for when I cannot revert back to the original pixels without any degradation. With that definition, Curves Adjustment Layers are non-destructive.

    However, each mathematical operation that is done does "degrade" the pixels due to rounding or truncation errors. A single basic operation on the pixels introduces about 0.2% degradation with 8 bit images yet only 0.0008% degradation with 16 bit image data.

    Each adjustment layer can accumulate additional error (the error does not linearly add yet I will not go into that detail). Unless you have an extremely low noise image you typically do not see an issue with 8 bit image data and it is extremely difficult to see a problem with 16 bit image data.

    Now there are situations where you can exacerbate the errors introduced with multiple curves adjustment layers. If you make extreme adjustments in opposing directions. e.g. if you drive darks very hard even darker and then try and then try and recover details by pulling them out of the dark, the data can become posterized. This is most noticeable with 8 bit image data and much less so with 16 bit image data. However, the problem is totally avoidable by avoiding extreme adjustments in opposing directions

    Details on "it depends"

    -Seeing degradation can be masked even with subtle noise in the image
    -They eye has high resolution for luminosity changes and low resolution with hue/saturation changes.
    - Luminosity changes stand out in slowly changing luminosity gradients yet that is not always common in all images.
    - If adjustments are made where the luminosity is held tight and only colors are changed, pretty gross degradation will go unnoticed by the eye
    - If the 3 Curves Adjustment Layers are operating on separate color channels then this is the same as the degradation when operating on a single Curves Adjustment Layer
    - Mathematically, 3 Curve Adjustment Layers could be converted to a single Curve Adjustment Layer. This is more akin to what happens in Lightroom and ACR yet quite difficult to do in PS

    So again, bottom line is use 16 bit data and avoid extreme opposing adjustments and I bet you never see a problem.

    Comment


    • #3
      Re: Curve of a curve of a curve...

      Doug, put this topc on facebook, link it.

      Any adjustment layer results in a different pixel values, making it destructive by default.
      The non-destructive concept comes with the possibility that you can go back after the fact and re-adjust. So, in that sense none of the adjustment layers, or cloning on new layers etc are destructive techniques.

      My opinion is that any change to the initial file that brings it closer to the final result is constructive. It can be 50 curves one on top of the other, if the final image is what you intended it to be, everything is fine.

      That being said, you will "break" your file if you do opposite adjustments multiple times.
      Last edited by skoobey; 04-13-2015, 10:15 PM.

      Comment


      • #4
        Re: Curve of a curve of a curve...

        I've been trying to make an experiment to test. In theory if you apply a curve, then apply the inverse of that curve, you should end up back at where you started.

        I made a relatively highrez blank doc, applied a gradient across it, then added a randomly wacky adjustment curve on top. Where I fell down was creating the inverse curve for the next adjustment layer.

        I thought Invert worked for curves, but evidently not. Hand-drawing the inverse curve would introduce variables. So ideas for inversing any arbitrary curve would be appreciated. As would other approaches to testing this.

        In an unrelated discussion with various people that should know, I got conflicting opinions over whether Photoshop applies layers in stack order, or if it has some internal logic that it uses to crunch all the values simultaneously and only display the final result. I could see the former being destructive and the latter being less so. Figuring out how to precisely invert a curve might solve this as well, as you could apply a dozen curve pairs, reshuffle them, and see if you get the same results (ie: an unchanged gradient).
        Learn by teaching
        Take responsibility for learning

        Comment


        • #5
          Re: Curve of a curve of a curve...

          Originally posted by skoobey View Post
          Doug, put this topc on facebook, link it.
          Any any adjustment layer results in a different pixel values, making it destructive by default.
          If the definition of non destructive is, no rounding errors due to processing upon our data, adjustment layers are destructive. At least if you ever decide to do anything but view the image in Photoshop. Want a print? It’s going to be flattened data going to the driver. You get the rounding errors. In high bit, as John stated, nothing to worry about.

          If your definition of non destructive editing is to back out of edits you made, then OK, adjustment layers provide that. It’s a silly way to think of this IMHO because again, there will be rounding errors in the math which affect the pixel data. The term should be something more in line with what’s really happening; non-permanent editing but not non-destructive. But the later sounds better if you’re marketing all this to others....

          LR/ACR and other parametric (instruction based) editors can be truly non destructive when provided the right kind of data. They create (render) new, virgin pixels from raw data.

          Comment


          • #6
            Re: Curve of a curve of a curve...

            Yes, I can see the value of parsing "non-destructive" more precisely as "lossless" vs. "reversible". That actually might be the gist of my original question, and a better way to phrase it.
            Learn by teaching
            Take responsibility for learning

            Comment


            • #7
              Re: Curve of a curve of a curve...

              Originally posted by Doug Nelson View Post
              Yes, I can see the value of parsing "non-destructive" more precisely as "lossless" vs. "reversible". That actually might be the gist of my original question, and a better way to phrase it.
              Good luck getting the rest of the world to accept this logical and correct language. If I had a dollar for every post I’ve seen on the web suggesting this is non destructive, or that all displays produce 72DPI, or that Adobe RGB has more colors than sRGB, or that my display produces billions of colors, I’d buy an island to retire upon.

              Comment


              • #8
                Re: Curve of a curve of a curve...

                Originally posted by Doug Nelson View Post
                ....In an unrelated discussion with various people that should know, I got conflicting opinions over whether Photoshop applies layers in stack order, or if it has some internal logic that it uses to crunch all the values simultaneously and only display the final result.
                I'm sure most people who use multiple curve layers, have wondered about this. I certainly have on many occasions. The question seems clear yet no-one has given a straight, simple answer.

                The closest to an answer seems to be from John Wheeler when he said that, "Each adjustment layer can accumulate additional error (the error does not linearly add yet I will not go into that detail."

                I for one would really like to know the answer. If PS makes a calculation 'in stack order', how does it recalculate when you remove a curve layer from the middle of the stack? And if it simply takes all the numbers from all the curve layers and does one calculation, why should there be a cumulative error?

                I realise that due to my limited arithmetic knowledge this question itself may seem stupid, but I'm not a mathematician. If someone could give a simple, clear explanation of how PS does these calculations, one that a non-mathematician can easily grasp (it is a retouching forum after all) that would be great.

                PS The fact that any minor errors may be irrelevant in 16bit is understood, but most of us prefer to work with big files in 8bit and only opt for 16bit where banding and related problems are anticipated.

                Comment


                • #9
                  Re: Curve of a curve of a curve...

                  Originally posted by Doug Nelson View Post
                  I thought Invert worked for curves, but evidently not. Hand-drawing the inverse curve would introduce variables. So ideas for inversing any arbitrary curve would be appreciated. As would other approaches to testing this.
                  Simple answer: You can’t. At least not 100 %. Think of curves as a mathematical function. Unless this function is injective, you’ll always end up with two values being mapped to the same output. Now when you try to reverse this process, how should a simple function decide if the output gets mapped back to the first or the second value?
                  Since there is almost always the case (in 8 bpc anyways) that two input values get mapped to the same output value, reversing them to perfection is impossible and you’ll end up with some loss at least.
                  I’ve created a blog post in German a while ago where I explain how to combine multiple curves adj. layers (or most of the other adj. layers as well for that sake) into a single curve that can then be manipulated and smoothed to lessen banding introduced by too harsh transitions. If you’re interested, you can find the article here: https://jwpixxblog.wordpress.com/201...r-jeden-zweck/ as well as an action to somewhat automate the process: https://jwpixxblog.wordpress.com/201...kurven-aktion/

                  Comment


                  • #10
                    Re: Curve of a curve of a curve...

                    In ACR and Lightroom, the order of edits is applied in ‘best processing order’ when the image is rendered. That’s not the case with Photoshop. So multiple edits, even on adjustment layers will affect the data differently depending on their order produced and how many are applied. I know many love Photoshop but it’s 1990 circa product. Parametric editing is a newer approach which allows the ‘engine’ applying those instructions to do so in a more efficient manner.

                    On high bit data, it’s probably moot.

                    Comment


                    • #11
                      Re: Curve of a curve of a curve...

                      Originally posted by AKMac View Post
                      I for one would really like to know the answer. If PS makes a calculation 'in stack order', how does it recalculate when you remove a curve layer from the middle of the stack? And if it simply takes all the numbers from all the curve layers and does one calculation, why should there be a cumulative error?
                      I can't believe you are the one asking this.
                      It's simple, like in any other math. Every adjustment layer produces a new number value for each channel.
                      Now the next adjustment layer uses the resulting number. Once you remove a layer from the stack, pixels that it was affecting get re-calculated by adjustments above one by one.

                      So, every adjustment calculation treats everything underneath it as if it was a single layer.

                      There is a cumulative error because things get rounded up(as you know Photoshop turns RGB 0-255 values into decimals 0-1, and then rounds up after the third figure/decimal before it turns it into a 0-255 number yet again,meaning you get some clipping). This is for 8 bit, in 16 bit same rule applies, it's just a larger resulting number(but it doesn't matter, because photoshop still calculates based on 0-1 before returning the results to 0-65536)

                      And then there the clipping issue. When doing conflicting adjustments, if the R,G,B value has hit it's maximum brightness or minimum brightness as a result of adjustments before being affected by the top adjustment in the layer stack, the resulting calculation will be very different from using a single adjustment and not get conflict, or using multiple cumulative adjustments that don't conflict(example brighten vs. darken curve).

                      Layer stack doesn't matter in some calculations(especially if results are not values that clip), a+b=c same as b+a=c
                      Last edited by skoobey; 04-14-2015, 09:35 AM.

                      Comment


                      • #12
                        Re: Curve of a curve of a curve...

                        Here's a rough experiment result.

                        By my figuring, the one curve should cancel out the other. Do you agree? I used the arrow keys and a calculator to place the points.

                        Forgive the animated GIF, but it is merely to illustrate something happened, the quality isn't important. Orig was RGB/8, 900x600.

                        So, unless I've made some erroneous assumptions along the way, this should pretty much settle it.

                        What do you think, does it stand up?
                        Attached Files
                        Learn by teaching
                        Take responsibility for learning

                        Comment


                        • #13
                          Re: Curve of a curve of a curve...

                          No, they don't. I disagree. Give me a minute, I'll show you why.

                          It's like baking, adding to much salt, and then adding sugar to make it less salty won't result in the initial meal.

                          case-in-pint.jpg
                          Last edited by skoobey; 04-14-2015, 09:42 AM.

                          Comment


                          • #14
                            Re: Curve of a curve of a curve...

                            Anticipating one possible question, here's the same thing recreated in 16bit. I redrew the gradient in 16bit, not just a conversion.
                            Attached Files
                            Learn by teaching
                            Take responsibility for learning

                            Comment


                            • #15
                              Re: Curve of a curve of a curve...

                              Look at my example and a lot of things will be clear. We don't need to go into math, even though it's simple math, results speak for them selves.

                              Problem with your experiment is that you're trying to do things on pixels that have same values in all channels, so it's less apparent.

                              This happens because the second curve is no longer calculating based on the initial pixels, but rather based on the resulting pixels of the first curve.
                              Last edited by skoobey; 04-14-2015, 09:50 AM.

                              Comment

                              widgetinstance 175 (Related Topics) skipped due to lack of content & hide_module_if_empty option.
                              Working...
                              X