The basic element of image processing in Ansel is the processing module. In order to process a raw image a number of such modules act on the input image in sequence, each performing a different operation on the image data. For those familiar with Adobe Photoshop, the concept of a processing module in Ansel is analogous to that of an adjustment layer in that both make an incremental adjustment to the image, building on top of the adjustments that came before.
The ordered sequence of processing modules operating on an input file to generate an output image is known as the “pixelpipe”.
The order of the pixelpipe is represented graphically by the order in which modules are presented in the user interface – the pixelpipe starts with a RAW image at the bottom of the module list, and applies the processing modules one by one, piling up layer upon layer of processing from the bottom up, until it reaches the top of the list, where it outputs the fully processed image.
The history stack stores the entire editing history for a given image, in the order in which those edits were applied. It is saved to Ansel’s library database and the image’s XMP sidecar file and persists between editing sessions.
Each time a processing module is enabled, disabled, moved or amended a new entry is added to the top of the history stack.
The history stack can be queried and modified within the history stack module in the darkroom.
While you are editing your image, Ansel records all of the modifications you make to that image. This means that it is possible to undo and redo changes to recover a previous editing state. Note that the undo/redo facility is unlimited in the number of steps while editing an image, but is reset each time the darkroom is switched to a new image.
Press Ctrl+Z to undo the last modification and Ctrl+Y to redo the last undone modification (if any).