This suite has many common keywords and much common functionality. We describe briefly now some of the common keywords, although not all the tasks in the suite use them in all possible ways. Refer to the individual help files to see what each task offers. Specific uses by cgspec will be described in Chapter 19. Note that minimum match is usually accepted for the value of keywords. Each keyword usually defaults to the same value in all tasks, but you should again refer to the help files for details.
You can bin up the two spatial axes of an image independently, and you can enter up to 4 values, 2 for each axis specifying the increment and binning size. As an example, xybin=4,4,3,1 would bin up the image by 4 pixels in the x direction and pick out every third pixel in the y direction. If the binning size is not unity, it must equal the increment.
The channels available are those designated by the region keyword. A new group of channels (sub-plot) is started if there is a discontinuity in the region selected channels (such as region=image(10,20),image(22,30). The combination of the region and chan determines how many sub-plots there will be.
The first two values indicate the range of pixel values (intensities) to map onto the lookup table. Pixels with values outside this range will be represented with the colour of the nearest extremum. Thus, if the image was being displayed with a simple linear black and white transfer function on an interactive device, range=-0.2, 2.0 would cause all pixels with values below -0.2 to come out black, all pixels with values greater than 2.0 to come out white, and all pixels in between that range to have shades of grey from black to white.
The third argument of range allows you to specify a transfer function so that the pixel values can be mapped onto the lookup table in some way other than linearly. Allowed values are lin,sqr,log,heq for linear, square root, logarithmic and histogram equalisation transfer functions respectively. Histogram equalisation can be very handy for images which have a large dynamic range. What this does is use the device colour levels for pixel values which occur the most often.
The fourth argument of range is an integer between 1 and 9 specifying the type of lookup table. The available tables are 1 (b&w), 2 (spectrum colours), 3 (linear pseudo colour), 4 (floating zero colour contours), 5 (fixed zero colour contours), 6 (rgb), 7 (background), 8 (heat) and 9 (absolute b&w) . If you enter a negative integer, then the reversed lookup table is displayed.
Fixed zero colour contours fix a colour boundary (blue-green) at 0 intensity, with 4 colour pairs ([light blue, light green], [dark blue, dark green], [purple,yellow], [black,orange]) distributed positive and negative of 0. There are then two more colours (red and white) for the remaining positive intensity values. Once you have arranged the colour pairs so that they define the noise level, the red and white colours quickly show you the true signal. You need to use options=fiddle to get the scaling to the noise level right.
Note that in cgdisp, you can enter a group of 4 values for each subplot that is drawn. This is useful for hardcopy output, as you can have an individual scaling and lookup table for each subplot. For example, you may have made a ``cube'' with unlike quantities in different planes (total intensity, polarised intensity, fractional polarisation, rotation measure etc) and it would be impossible to display them all with just one set of 4 values for the range keyword.
The following figure shows the possible colour table types for a simple image. The colour bars or wedges show the differences most clearly.
Possible values are:
All the offsets are with respect to the reference pixel. Note that you are expected to match your values with the order of the axes. For example, if you asked for labtyp=abskms,dms, it is expected that the first two axes of the image are velocity and declination. You will get rude messages if this is not the case.
This option allows you to cycle through all of the same colour tables offered by keyword range (see above), and reverse them if desired. You can cycle through all of the same pre-defined transfer functions that are available with keyword range (see above).
In addition, there is an interactive linear transfer function fiddle mode, where you can change the slope and offset of the linear transfer function. When you invoke the different transfer function modes, you get a little plot in the bottom right corner showing you what the transfer function is doing.
Note that if you are plotting on a hard-copy device such as a postscript file, this option is then activated with keyboard inputs. You have the usual ability to cycle through lookup tables and transfer functions, but you do not get the interactive linear transfer function fiddler for obvious reasons. This gives you the same functionality as you could have obtained with the keyword range.