GIL Keyword Summary

GIL keywords act as image names or name modifiers. The following list is meant to be as complete as possible and as descriptive as possible (for a summary document). The list of keywords appears on page 2 of A User's Guide to the Generalized Image Library (Leonard G.C. Hamey, revised August 9, 1990).

Table of Contents
































Notes on Table Format

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).

Image Name Keywords

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                                          ???                           
                                                                              
----------------------------------------------------------------------------

Image Name Modifier Keywords

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.             
-----------------------------------------------------------------------------------------

Note on GIL Image File Extensions

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!

History

06 November 1995 Created by Peter W. Rander (rander@cs.cmu.edu)

Go back to GIL Home Page

 

This page has been accessed [count] times.