The keywords are broken down into two tables, one for image names and the other for image name modifiers. Throughout the tables, user-selectable numbers are printed as one of the following upper case letters: F, I, and R. They represent (in order) a Floating point number (e.g. 3.54), an Integer (e.g. 7), and a Ratio of two integers (e.g. 3/2). Unless otherwise noted, expressions allowing Floating point numbers or Ratios can also take integers (note: there are exceptions that will be noted below, but are incorrectly represented in the hardcopy manuals).
All of the image name keywords can be used alone, except for the constant image name, which must include a crop:I,I,I,I: prefix (see next section for prefixes). All of the image name keywords can be used with (at least some of) the prefixes, too.
The table lists each keyword and a short description. No keywords contain uppercase letters. Uppercase letters in the keyword specification indicate a numerical argument supplied by the user. Optional portions of keywords are enclosed in square bracket [like this]. Note that some optional text is simply a longer name, so dropping it gives an abbreviation of the keyword.
Table 1: Image Name Keywords
----------------------------------------------------------------------------
Keyword Description
----------------------------------------------------------------------------
con[stant]:I[,I,...] image with constant intensity I (one I per image band)
xwin[I] X frame buffer created using xdisptool [default: I=0]
disp[lay] default GIL frame buffer for the host computer
matrox GIL name of the Matrox framegrabber
suntools SunView frame buffer created using disptool utility
memory ???
matrix ???
----------------------------------------------------------------------------
All of the image name modifier keywords must be used with a valid GIL image name. The table lists each keyword and a short description. No keywords contain uppercase letters. Uppercase letters in the keyword specification indicate a numerical argument supplied by the user. Optional portions of keywords are enclosed in square brackets, i.e. []. Note that some optional text is simply a longer name, so dropping it gives an abbreviation of the keyword.
Table 2: Image Name Keywords
-----------------------------------------------------------------------------------------
Keyword Description
-----------------------------------------------------------------------------------------
bw: force image to be interpreted as a greyscale image
c[olor]: color image; same as bands:r[ed],g[reen],b[lue]:
st[ereo]: stereo image; same as bands:left,right:
threed: color image of stereo image formatted for viewing with
red/blue 3D glasses
3d: abbreviation for threed:
bands:{bandnames}: force image to be interpreted as a multi-band image.
bandnames can include the following:
r[ed], g[reen], b[lue]
left, right
int, hue, sat
dig[itize]: digitize from the named image (must be source image)
using some default settings. (same as camera:0,M,B,1:
with M and B set to reasonable values for the digitizer.)
camera:[I],[I],[I],[I]: digitize an image. The first term is an optional camera
number that defaults to 0. Next are the optional gain and
offset, respectively, that default to reasonable values for
the digitizer. Last is the type of interaction desired, with
0 turning interaction off, 1 turning interaction on (default)
u[nsigned]:I: convert image to unsigned integer pixels, I bits per pixel
s[igned]:I: convert image to signed integer pixels, I bits per pixel
f[loat]:I: convert image to floating point pixels, I bits per pixel
mul[tiply]:F: multiply the image's pixels by the constant F
add:F: add the constant F to each of the image's pixels
ltrans:F1,F2: multiply the image's pixels by F1 and then add F2
mag[nify]:R1[,R2]: If R2 is not present, scale both image dimensions by R1
(R1 > 0) or -1/R1 (R1 < 0). If R2 is present, then scale
rows by R1, columns by R2 (with same rules for signs of
R1 and R2).
NOTE: To scale rows and columns independently (i.e.,
both R1 and R2 are present), then the numbers MUST be
ratios of integers, not just integers
zoom:R1[,R2]: scale an output image just like magnify scales an input
crop:[I],[I],[I],[I]: select portion of image. The first two numbers are the
beginning and ending row numbers, while the last two
are the beginning and ending column numbers of the
desired region. Any of the 4 parameters can be left out,
but all the commas (,) must be present. Missing
parameters are set to the limits of the image itself.
extend:[F],[I],[I],[I],[I] increase size of image. The first parameter is an optional
fill value (default is to replicate the original image's
borders). The next two terms are the new starting and
ending rows. The last two terms are the starting and
ending columns. Any omitted bounds default to the
bounds of the original image.
shift:[I],[I]: move the origin of the image coordinate system. Either
coordinate may be omitted, in which case it will default
to the current coordinate.
q[uarter]:I: (same as divide:2,2,I:) select one quarter of the
image, with the number I representing the desired
quarter number. I=1 is upper left, I=2 upper right, I=3
lower left, and I=4 lower right.
div[ide]:I,I,I: address one region of an image split into a grid of
subregions. The first two terms are the number of
vertical and horizontal divisions of the original image,
respectively. The last term is the number of the region.
Regions are numbered in row-major order, with I=1 at
the upper left; thus I=2 is to the right of I=1 if at least
two horizontal divisions are specified.
tee:img1,img2 put an output image in two places, specified by img1 and
img2. This takes the place of a single image name.
-----------------------------------------------------------------------------------------
GIL images typically have one of two filename extensions: .gil or .gif. I highly recommend that everyone use the .gil format. Why? The extension .gif is now in common use as an extension for a world-standard file format called (I think!) Generic Image Format. This is NOT, I repeat, NOT the format used by the GIL. The simplest way I know of to make the difference clear is to use the new .gil format. Please help yourself and everyone else by avoiding the .gif confusion!
06 November 1995 Created by Peter W. Rander (rander@cs.cmu.edu)
Go back to GIL Home Page