next up previous 79
Next: Line parameter estimation
Up: Abline-A Figaro program for absorption line analysis
Previous: Introduction


Running `abline'

Before starting `abline', make sure the soft and hard plot devices are appropriately specified, using the Figaro commands `soft' and `hard'.

When you are in Figaro, just type `abline' to run the program. Only interactive use (not batch) is feasible. `abline' reads data from one-dimensional spectra only. There are three options for handling the continuum fit in the vicinity of the required line:

  1. Make a continuum fit, use it for analysis of one or more lines, but do not save the continuum fit.
  2. Make a continuum fit, use it as above and save the fit to the continuum as a separate spectrum.
  3. Read in continuum fit as written in (2) and use it instead of fitting it again. This mode also allows you to use a continuum fit you have constructed in some other way (check the X axes match!).

`abline' needs a graphics terminal for soft plots and cursor input (as specified by Figaro command `soft'). It will be useful to have a hard copy plot of the spectrum on hand before entering `abline', so that you can see the approximate wavelengths of lines to be analysed, and reasonable values for the wavelength range over which to fit the continuum. `abline' assumes that the .AXIS(1).DATA_ARRAY structure of the input spectrum gives the wavelength in Angstroms, although other units (e.g. velocity) will work if one suitably re-interprets the wavelength, equivalent width and line width outputs. The .AXIS(1).DATA_ARRAY structure must be linear (i.e. scrunched) because this is assumed in the calculations. Conversion of the .AXIS(1).DATA_ARRAY structure to vacuum heliocentric or LSR can be made using `vachel' (and `scrunch') if necessary, before using `abline'. For a noisy spectrum it may be useful to slightly smooth the data used as input to `abline' (this does not bias the wavelength or equivalent width; it obviously does affect the width parameter and to a lesser extent the asymmetry).

`abline' has a number of parameters. These may be set in the command line, since they are ordinary Figaro parameters and keywords, but since `abline' is inherently an interactive program it is expected that most users will just type `abline' and allow themselves to be prompted by the program. The prompts in this case are as follows-

If the continuum is to be fitted in this run, the system next asks:

Alternatively, if you elect to read in a pre-computed continuum, the program prompts

At this stage the program examines the .AXIS(1) structure of the input spectrum, and displays its label and units for the user to check (e.g. they will usually be `Wavelength' and `Angstroms'). The first and last values of the .AXIS(1).DATA_ARRAY structure are also displayed for checking.

The next parameter requested from the user controls how the wavelength bounds of the absorption line will be found:

The next parameter requested is

You are now asked whether you want to save the continuum fit(s) to a separate spectrum, and if so, what the name of this spectrum should be. Normally one does not want to use the continuum after the present `abline' run; in this case answer `no'.

You now reach the loop in which individual lines (all from the same input spectrum) are analysed. A help facility explains the available commands. The program prompts with

   123.4,Sig,Deg,Itn,(No)Limit,Width,Cont,Fit,Recont,Quit,Help

The most usual response is a floating point number: This is the approximate wavelength of the next line to be analysed. After a further question to find the name of this line (which will label the hard and soft plots) a soft plot will be displayed. Its wavelength range will be as specified above for `wavelength range...' and it will be centred at the wavelength specified here, unless this is too close to one end of the spectrum, in which case the plot will extend just to the end of the data. Further progress from this point is discussed below.

Other responses enable you to change the way the program fits the continuum or analyses the line. It is useful to be able to change these parameters here because different lines may require different treatment, and we do not want to have to re-enter the program to specify these. The other possible responses are (where xxx is a floating point number and nnn is an integer):

The changes made will remain in force for all subsequent lines analysed unless they are changed again.

At this stage in analysing a line you have a soft plot of the selected region. You now have to use the cursor to specify the exact channel ranges to be used for fitting the continuum (unless a pre-computed continuum fit is being used). It is clearly necessary that the continuum fit does not include the absorption line itself; there may also be other absorption lines or defects nearby which you want to explicitly exclude from influencing the continuum fit. This is handled by allowing you to specify up to 10 wavelength sub-segments (within the plotted range) which will be used as input to the continuum fit. Type `cont' and in answer to the rather extensive prompt `Selection of sub-segments for continuum fitting ....' Do the following:

  1. Move the cursor to the lowest wavelength to be used in the continuum fit, and press any key except Q, to read the cursor position.
  2. Move the cursor up in wavelength to the end of the first sub-segment you want to include (e.g. just before an absorption line) and press any key except Q [unless this is the only sub-segment, in which case press Q].
  3. Repeat for up to 10 sub-segments, specifying both lower and upper boundaries. Use Q to terminate sub-segment input. Naturally you should choose sub-segments to span both sides of the line to be fitted, so that the continuum is well tied down.
  4. Notes: If you specify a start position for a sub-segment lower in wavelength than the end position of the previous one, it will be simply truncated (and a message output). However if any sub-segment has an end wavelength less than its start wavelength, or if any sub-segment totally encloses another, you will have to start the whole process again.

Having finished sub-segment selection, a polynomial fit is made to the specified continuum channels. Channels whose data values deviate from the fitted curve by more than the `multiple of sigma for continuum point rejection' are rejected and the fit recomputed. This process is repeated as specified by `number of iterations for continuum point rejection'. For the initial fit and each subsequent iteration the terminal screen displays information about the fit. The right hand two columns give the number of channels included in the fit on each iteration, and the number rejected as being too far from the fitted curve. This number usually stabilises after a few iterations, i.e. the process converges to a limit and further iterations result in no further change. The first 8 columns of the display are the rms residuals of the (remaining) data points relative to polynomial fits of degrees 0 to 7. This full table is produced no matter what degree of polynomial fit you have selected. It enables you to see how low the degree of the polynomial can be without obtaining a noticeably worse fit to the data.

The continuum fit is drawn on the soft plot; if you have elected to write the continuum to an output Figaro file, the same data is written into the appropriate wavelength range of that file. It will overwrite any previous fit in this same `abline' run which included the same wavelength range; i.e. all continuum fits in the one run go into the same output continuum file.

The next step is to use the cursor to specify the wavelength (channel) limits of the line. How this is done depends on the response you gave to the Limit parameter. The usual case is `limit=yes': type `fit' and centre the cursor on the last channel you want included, on each side of the line. Do the lower wavelength edge first.

The limits of the line are then drawn on the soft plot as vertical lines; for clarity they are drawn at the outer edges of the last channels included.

If the net area of the selected line is above the continuum rather than below it, the program reports that this is an emission line.



next up previous 79
Next: Line parameter estimation
Up: Abline-A Figaro program for absorption line analysis
Previous: Introduction

FIGARO A general data reduction system
Starlink User Note 86
Keith Shortridge, Horst Meyerdierks,
Malcolm Currie, Martin Clayton, Jon Lockley,
Anne Charles, Clive Davenhall,
Mark Taylor, Tim Ash, Tim Wilkins, Dave Axon,
John Palmer, Anthony Holloway and
Vito Graffagnino
2004 February 17
E-mail:ussc@star.rl.ac.uk

Copyright © 2010 Science and Technology Facilities Council