A `spiketrum' is a half-way house between a table of values and a spectrum. It has an element for each wavelength value in its range, but only a few of these elements-those that correspond to the table entries-actually have non-zero values. Obviously a spiketrum may be generated very simply given just a table of wavelengths and values at those wavelengths, and a range of wavelength values to be covered. Usually an existing spectrum is used as a template to indicate the wavelength values, and the resulting spiketrum has elements that match those of the template spectrum exactly in wavelength. If a spiketrum is plotted, the result is a set of spikes of varying height-hence the name.
A spiketrum may be turned into a spectrum by interpolating between the spike values.
The `gspike' command will generate a spiketrum from a table of wavelengths and data values, and the `interp' command will interpolate between the points to generate a spectrum. `gspike' also records the nearest values that are just outside the wavelength range covered by the template spectrum, so that `interp' may make use of these as well as the actual spiketrum values. `gspike' also allows some control to be exercised over the data structure of the spiketrum-`SET' records included in the table file can cause the UNITS or LABEL objects in the structure to be set to appropriate values. As an example, see any of the supplied flux standard table files (files intended for `gspike' usually have a `.tab' extension); these generally set the units of the spiketrum to match those used in the table, so that `gspike' can produce spiketra whose units are AB magnitudes, micro-Janskys, or whatever, simply depending on what is in the table file used.
For more details about `gspike' tables, see the section on standard files in fluxing.
The main reason for the use of spiketra is that they enable what is essentially tabulated data-instrumental response values at certain wavelengths, as calculated by `cspike', for example-to be manipulated using the standard Figaro routines designed to manipulate spectra.
Since spiketra are really just spectra, they can be plotted using `splot'. They may be modified, if necessary, using the fudge commands such as `tippex' or `setobj'. If `spike' is a spiketrum and `smooth' is the interpolated spectrum generated from it by `interp', the following sequence will generate a plot of the two superimposed-
ICL> soft xw draw=false ICL> splot spike reset accept ICL> splot smooth noaxes noerase accept
Alternative commands to `interp' for interpolating between the points of a spiketrum are `spifit' (which fits a global polynomial to the points) and `linterp' (which uses linear interpolation). The `spied' command is designed to help modify spiketrum points in order to influence the interpolation result-i.e. to fudge the resulting spectrum.
FIGARO A general data reduction system