At any time, G'MIC manages one list of numbered (and optionally named) pixel-based images, entirely stored in computer memory (uncompressed).
The first image of the list has index 0 and is denoted by . The second image of the list is denoted by , the third by  and so on.
Negative indices are treated in a periodic way: [-1] refers to the last image of the list, [-2] to the penultimate one, etc. Thus, if the list has 4 images,  and [-3] both designate the second image of the list.
A named image may be also indicated by [name]
, if name
uses the character set [a-zA-Z0-9_]
and does not start with a number. Image names can be set or reassigned at any moment during the processing pipeline (see command name
for this purpose).
G'MIC defines a set of various commands and substitution mechanisms to allow the design of complex pipelines and operators managing this list of images, in a very flexible way: You can insert or remove images in the list, rearrange image order, process images (individually or grouped), merge image data together, display and output image files, etc.
Such a pipeline can define a new custom G'MIC command (stored in a user command file), and re-used afterwards as a regular command, in a larger pipeline if necessary.