Recalculation
Recalculation, or recalc as it is sometimes called for convenience, is the processes of making sure that all the images in the workspace are up to date. When you create or delete images or modify their transformation settings, it can affect other images. To avoid problems, it is important that all images a given image depends on be recalculated before the image itself is recalculated.
In the simple case, this means that a change to an image causes all the images below it on its branch to be recalculated. However, if an image being recalculated has additional inputs or masks that depend on additional inputs, those inputs must be recalculated first.
During recalculation, the image currently being recalculated is temporarily highlighted in the image browser with a cyan background to its title bar. This not only gives you a visual cue that recalculation is in progress, but it also lets you watch it propagate through the image tree.
Circular References
While they rarely arise in normal usage, it is possible to create a workspace that includes one or more circular references. This is a situation where for example image A depends on image B and image B depends on image A, possibly via one or more intermediate images. When this happens, there is no way to recalculate the two images that guarantees a stable result, so all the images in the loop are marked as being part of a circular reference. To let you see that a circular reference has been created, all the images that form part of a circular reference loop are displayed with a red caption bar in the image browser.
To avoid circular references, when you are creating or editing a transformation and try to select another image for use as an input or mask, the menu of available images only includes those that do not depend on the result of the transformation.
In case the term circular reference sounds familiar from working with spreadsheets, Picture Window’s image tree is very similar to a spreadsheet in which transformations are like formulas. Just like a spreadsheet, when you change an image, all the other images that depend on it are recalculated. The big difference is that a spreadsheet displays rows and columns of data and its dependency tree is hidden from view, while Picture Window displays the data in a dependency tree instead of a grid.