LINEID: Identify Lines in a Wavelength-Calibration Spectrum



LINEID will match emission-lines in a wavelength calibration spectrum with tables of known line wavelengths. The routine looks for peaks and attempts to identify them based on an initial estimate of the reciprocal dispersion in Angstroms/pixel and a list of line identifications read from a file in in the spectrum directory (SEE PRINT DIRECTORIES) with name 'xxx.WAV'. Accurate line centers are calculated, and if specified in the data file, partial line blends deconvolved. The matched lines are saved into a common block in VISTA. The contents of the common block can be examined using the command 'PRINT LINEID'. By default, the previous contents of the common block are replaced with the current identifications. However, if you use the 'ADD' keyword the new identifications will be appended to the older results. This allows you to combine the identifications from several independent wavelength calibration spectra. If the keyword 'INT' is specified, interactive line identifications can be made. Once your line list has been created with LINEID you use the WSCALE command to fit a polynomial to the wavelengths as a function of pixel number.

Normally the first guess as to the dispersion of the wavelength fit (and the second order term in the fit) are given as the first line of the wavelength list. (The central wavelength is then left as a free parameter.) However, the starting dispersion guess may be specified via the DISP= keyword (specifying two numbers here allows the second order term to be input as well). Also, using the CEN= keyword allows the user to input a starting guess for the central wavelength, a necessary feature in high-resolution work where the line lists are prohibitively long.

In instances where you have a small number of lines in your calibration spectrum the automatic line identification algorithm may find several possible matches between the observed lines and the wavelengths given in your line list. In these instances the LAMBDA= option may help to identify the correct match. You need to know the approximate wavelength of one point in your spectrum. With the LAMBDA= keyword you specify a wavelength, a pixel number for that wavelength, and an uncertainty in that pixel number. The line identification algorithm will then reject any set of line/wavelength identifications which are inconsistent with the given pixel/wavelength pair. For this option to work you much choose a pixel which lies between identified lines in your spectrum; don't use a pixel near the ends of your spectrum.

If you only specify the wavelength and pixel number with the LAMBDA= option then the pixel uncertainty will default to 1. You may want to supply a larger value though to avoid rejecting all line identifications.

In these examples, assume the default spectrum directory is ccd/spec:

The wavelength file has the following format: The file is formatted, with the first line showing the estimated dispersion, followed by any second-order term. The format is free, but the second-order term must be 0.0 if it is to be ignored. Subsequent lines contain an ordered set of line wavelengths in Angstroms. One spectral line is given per file line. The wavelength if followed by a two-letter ID code. If the code is CO, that line is ignored. The code is followed by the wavelengths of any blue-side or red-side satellites which might be blended with the primary line. The wavelengths must be set to 0.0 if there are no lines blended with the primary.

Example file:
7.86 1.0E-03    
5881.4900 NE 5852.4900 0.0
5944.8300 NE 0.0 5975.2800
6030.0000 NE 0.0 0.0
6096.1600 NE 6074.3400 6143.0600