Back to Table of Contents

Writing routines for COSMOS

The COSMOS software does not do everything, and may very well not do the things it does the way you would like. If you would like to customize the processing, a good starting place would be with the output of adjust-map. The mapfile produced by adjust-map provides all the information you need to extract the spectral data, using any method you may chose. The information necessary to locate any wavelength and slit position is given as a set of polynomials.

 

The mapfile has the following format:

 
Xdispersion = dirflat
Fit orders = ord_disp ord_sag ord_tilt ord_sagit ord_len
Scale ~     telscale
Lambda  =  lamin lamax
 
SLIT slitnum  objectname
LENGTH = slitlength
CHIP chipnum slmax slmin lammin lammax nfint prtl xmin xmax ymin ymax
dispersion polynomial
inverse-dispersionn polynomial
sag polynomial
tilt polynomial
sagitta polynomial
slit-length polynomial
CHIP chipnum slmin slmax lammin lammax nfint
.
.
.
 
SLIT slitnum  objectname
.
.
.
END

 

The first 4 lines give general parameters:

Xdispersion = dirflat

dirflat = 1 if the dispersion is along the x direction of the chips (i.e. along the rows), otherwise dirflat = 0.

 

Fit orders = ord_disp ord_sag ord_tilt ord_sagit ord_leni

ord_disp

order of the dispersion fit, and the inverse dispersion fit

ord_sag

order of the spectrum "sag" fit

ord_tilt

order of the spectrum tilt fit

ord_sagitta

order of the slit curvature fit

ord_len

order of the slit length fit

 

Scale ~ telscale

Image scale at CCD focal plane. (Hard-wired into map-spectra.)

 

Lambda = lamin lamax

Minimum and maximum wavelengths of spectrum fits in this file

 

For each slit, there is a line:

SLIT slitnum objectname

slitnum is the sequence number, and objectname the name given in the SMF file.

 

Only well-behaved slits have the following data. A well--behaved slit is one in which both ends of the slit fall onto the same chip (the spectrum may well span several slits in the dispersion direction).

 

LENGTH = slitlength

slitlength is the nominal length of the slit, in pixels

 

For each chip that the spectrum traverses, the following data are given:

CHIP chipnum slmax slmin lammin lammax nfint prtl xmin xmax ymin ymax

chipnum

chip number

slmin

distance to "left" end of slit from object, in pixels

slmax

distance to "right" end of slit from object, in pixels

lammin

minimum wavelength of spectrum on this chip

lammax

maximum wavelength of spectrum on this chip

nfint

an almost useless number; ignore

prtl

= 1 if a partial slit (one end of slit off edge of chip)

xmin

minimum x value of mapped area in coordinates used by display

xmax

maximum x value of mapped area in coordinates used by display

ymin

minimum y value of mapped area in coordinates used by display

xmax

minimum y value of mapped area in coordinates used by display

 

Then for each chip that the spectrum traverses, SIX polynomial coefficients are given:

1.     . The inverse of the dispersion solution (pixel coordinate in the dispersion direction, as a function of wavelength)
2.     The dispersion solution (wavelength as a polynomial function of pixel coordinate in the dispersion direction ). This is only approximate, since it is not corrected by adjust-map
3.     The pixel coordinate orthogonal to the dispersion direction, as a function of wavelength (Note that the pixel coordinate along the slit is equal to the slit center only if the mask design places the object midway along the slit.)
4.     The tilt of the spectrum, in pixels, (i.e., the line curvature) as a function of wavelength
5.     The slit curvature, defined as follows. If x is the pixel position in the dispersion direction, then curvature = x(mid-slit)- <x(top end),x(bottom end)>
6.     The slit-length, in pixels, as a function of wavelength

 

Back to Table of Contents