| OPEN-MAP-FILE | Create a new map file, or open an existing one |
| CLOSE-MAP | Close the map file |
| ADD-TO-MAP | Add spectrum in X to map at appropriate position |
| GET-SPECTRUM-FROM-MAP | Push stack and get spectrum from map into X |
| INTERPOLATE-MAP | Convolve map with gaussian beam, fill in missing points |
| LIST-MAP | List map header and summary of contents |
| SET-MAP-ACCEPT | Define acceptance criteria for ADD-TO-MAP |
| DELETE-FROM-MAP | Remove a spectrum from the map |
| ROTATE-MAP | Regrid cube to new set of spatial axes |
A number of commands have been added to allow spectral maps to be created from individual processed spectra, and to display any two co-ordinates with averaging or integration in the third (i.e. two spatial and one velocity co-ordinates). Note that the program deals with channel maps only. There is no checking routine. This if the centre frequencies of spectra added into the map are different, proper velocity plots will not be produced. The spectra must first be conditioned using the rest of the facilities of SPECX, such as SHIFT-SPECTRUM.
The map file is created or invoked using OPEN-MAP, which is analogous to OPEN-FILE for data files. Only one map file may be open at any time. The extension .MAP is added automatically, and need not (must not) be specified. Spectra are included in the map file using ADD-TO-MAP - if not specified explicitly during OPEN-MAP, the position referred to as map-centre on the first scan included is taken as map centre for the whole file. Spectra are only included in the map if they lie sufficiently close to one of the (regularly-sampled) map grid points, and if there is not a spectrum there already - use SET-MAP-ACCEPT to modify this behaviour. Retrieval of a single spectrum from the file, for inspection or modification, is by means of GET-SPECTRUM-FROM-MAP. An unwanted or incorrect spectrum can be removed using DELETE-FROM-MAP.
The map file, and hence data cube, may use spatial coordinates rotated with respect to RA and Dec axes, to suit maps taken with scan-angles not equal to multiples of 90-degrees. The angle of the map need not equal that of the data being read in though, although it is generally more satisfactory if it does. The position angle (P.A.) of the map file is specified when the map is opened. Use ROTATE-MAP to get SPECX to interpolate from the P.A. of the map file to some other P.A. prior to plotting.
The contents of a map may be listed using LIST-MAP. At present the map may contain a maximum of 4096 spectra, although this is set by the size of the array INDEX declared in various of the mapping routines, and not by anything intrinsic to the file structure. (This is a way of saying that the size limit can be increased easily if there is any pressure from users for me to do so, but remember that 4096 spectra of even only 64 points each takes up quite a lot of memory...)
If the map file is declared to have sampling closer than that of the data, then the ``unsampled" points can be deduced from the known ones using a gaussian interpolating function. Use INTERPOLATE-MAP for this purpose. This convolves from the old cube to a new one, using the beam you give it as a convolving function. Thus interpolating the map leads to a loss in apparent resolution. Interpolation may be applied at this time, in which case you will need a working set quota sufficient to contain two complete cubes, as one is interpolated onto the other, or, alternatively, interpolation can be specified as taking place ``on demand'' -- that is, interpolated spectra are produced from the uninterpolated cube as and when they are required by the plotting command. This uses less memory, but the individual plotting commands may execute more slowly due to the greater number of disk accesses. Interpolation on demand has the added advantage that the interpolation can be altered at will, without having to reopen the map and wait for the cube actually to be interpolated. The choice is yours. During INTERPOLATE-MAP you also specify a (gaussian) convolving function for the velocity dimension of the cube. This convolving function is only applied if velocity is one of the map axes, and is applied only after the map has been extracted from the cube. It thus provides a method for smoothing the velocity dimension of a position-velocity diagram.
Loading the data cube from the map file can be quite tedious, so you don't want to be opening it unnecessarily. On the other hand, if the program crashes and you come back in you don't want to have to remember that you had the cube all loaded just before. So if a map is already open it will be reopened on entry to SPECX or RESTART (unless you use the /NOMAP option). To prevent this happening use CLOSE-MAP, which closes the map file and releases the cube.