Non-Destructive Editing

Share

What is Non-Destructive Editing?

Non-destructive editing are features (and sometimes techniques) in image-editing, photo manipulation, and video-editing applications that allow you to make changes to the original image or footage without losing its original data.

For example, in destructive editing, if you change the brightness of an image to 0 and apply it, the entire image becomes black. If try to change the brightness back to 50, the black pixels may become gray, i.e. the entire image becomes gray, instead of you getting back the pixel data that you had before. This happens because that original data was "destroyed" by being modified. By contrast, with non-destructive editing, the original data isn't modified, so it can be re-used: the program keeps a list of the operations you performed on the data, and it has to re-process these operations every time you want to see the outcome of them. This is more computationally expensive, but it's also more convenient because you can modify a middle-step without having to redo every step manually.

For example, let's say I have an image and I want to desaturate it, change the contrast, blur it, and then apply a noise effect on top of it. If I did this with destructive editing, and I wanted to change how much blur or contrast I want, I would have to undo several steps with Ctrl+Z, redo everything manually, and do this several times to check the result until I get the result I want. With non-destructive editing, I can just click on the step I want to edit, change its parameters, and the computer program re-processes the image for me. Often, it will show the effect of a later step while you're editing a middle step. In this case, I could be changing the contrast in step 2 and previewing how the image looks after the noise effect in step 4 is applied, for example.

One free image-editing program that supports non-destructive editing today is Krita. GIMP will gain support for them in the future (version 3.0), but the current version (2.10) doesn't support it. Also, Krita has transform and clone layers which let you do certain kinds of non-destructive editing that even the beta versions of GIMP don't seem to support. In other words, sometimes an application supports only some operations non-destructively, but not all of them.

Non-destructiveness is also found in scalable graphics (vector images and layers). In raster images, if you drew an icon at 32x32 pixels, and then tomorrow you need a 64x64 version of it, you would have to redraw it targeting this higher resolution. With vector graphics, you instead tell the computer which shapes to draw, and then you tell the computer which scale to draw those shapes, so drawing the shapes is done non-destructively because it's the computer performing the steps to draw the things, not you. This also applies to "line art" layers found in some drawing applications like Paint Tool SAI and Clip Studio Paint. In this case, the lines are stored as vector values with line thickness or pressure applied, for example, instead of as pixel data, and then the program re-renders the lines, as if it was a human being drawing with a pen at those specific points, with specific pressures and angles. This allows you to manually edit the lines with precision after they have been drawn without losing line art quality.

Observations

I love non-destructive editing because it's basically programming: you have an input, a function that modifies it, and an output. Although it's never as efficient as it could be, it's very convenient, and we can combine several non-destructive steps to create very complex effects that can be easily applied to any input we want.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *