LDSS design package

version 1.1

Here is an experimental package to assist in LDSS mask design, the idea is to allow astronomers to make masks without the need for the full LEXT software which is complicated and obscure to compile, install and use.  My goals is to eventually remove the need for LEXT completely.

This package is written in Perl so does not need to be compiled, can probably even be used on Windows, though your perl version probably ought to be at least 5.004 (hint: type 'perl -v' to find out). Just unpack everything in your working directory.

This is still relatively new.

There is only one program:

This can be used in two modes:

Mode 1. Checking a mask for validity.

To check catalog files (conventionally named `')  for validity (overlaps, slit placement etc.) and writes .info files with lots of useful information (wavelength range and slit length of each object for example). If a cat file passes it ought to be OK in LEXT and thus save a lot of horsetrading between the AAO astronomer running LEXT (viz me) and the observer.

To do this one would for example type:


In this case, for  a file example.catdiagnostics are printed and an information file is written.

Pay attention to the program's warnings and edit the catalogue appropriately! (Note: it is alright for fiducials to overlap).

More than one catalogue file can be done:

  perl ...

Mode 2. Allocating slits from object catalogues to create masks.

This uses the same input cataloge format as the validation mode, except this time it selects slits via an allocation algorithm. This is selected using the -a option.

For example to allocate a conventional multislit mask:

   perl -a

This will  perform object allocation on the input file - allocations are written as and the extra information as

To allocate a microslit mask we need to modify the default allocation paramaters:

   perl -m shuffling -a -s 1.5 -o 1.8

This will allocate a microslit mask with 1.5 arcsec holes and a 1.8 arcsec min slit step (recommended).  The result ( should be identical to the supplied file - which is a good way to test the software.

The algorithm and parameters are described below.

File format of catalogue files.

A simple ASCII format shared with LEXT. See the file for the format.

Instrument parameter sets.

These specify the instrument/CCD parameters and need to be modified according to choice of grating/CCD/observing mode etc.

The default set is and can simply be editted if desired. The setup is for LDSS + VPH RED GRISM + MIT/LL CCD, normal multislit model (i.e. no charge shuffling)

To read modifed parameter sets use -m something, e.g.:

   perl -m shuffling ...

This will read an extra parameter file  which changes some of the defaults, in this case for charge-shuffling (which has a different CCD window).

Files in the package:

README                                Intro
ldss-design.html          This file                         The mask design program (Perl script)               Utility subroutines for the program                  Default instrument parameter set        Modifications to above for shuffling.                    An example multislit catalogue file.                   Info file for example.                   An example microslit input catalogue.     The result of allocating with    the recommended microslit parameters.

The Allocation Algorithm

The allocation algorithm I have invented basically assumes a mininum offset, in arcsecs between slit centres, starts at one end of the mask and works it way up allocating the next nearest slit along the spatial axis. This is optimum on the assumption of fixed PA. Objects are constrained not to overlay spatially and not to have too big a wavelength shift from the wavelength centre  (as you move a slit off the centre of the mask the spectrum shifts blue or red on the CCD). The default maximum shift is 1000 Angstroms which corresponds to a 2.5 arcmin shift on the sky.

The key parameter is obviously the offset. For multislit masks where you typically want 10-15 arcsec long slits I recommend using 12 arcsecs - which is the default. For microslit masks I recommend an offset of 1.8 arcsec which works well with 1.5 arcsec microslits - a small 0.3 arcsec gap is thus left so that the spatial profiles of the objects do not overlap too much. (This was determined empirically using LDSS).

You will probably be asking: `This is all very well but how do I determine the PA to use?'  Well the optimum PA for multislits is 0 for a field to be observed all night - this gives the minimum losses from atmospheric dispersion. If you are using microslits or observe at zenith distance < 60 degrees then the PA is irrelevant - obviously one could write a more sophisticated version of the algorithm which searched for a global optimum solution across a range of PAs - I decided this was beyond the scope of this simple program! In any case for most fields it is possible to figure out the optimum geometry by looking at a plot of the objects to be allocated.

Object Priority values.

The program  also handles object prioroties. This is done by running the allocation algorithm independently for each priority level, then at the end a global sorting-out algorithm is run which removes overlapping objects according to priority.

Priorities run 1..9 - high priority objects (9) are allocated first. Priority=0 is a special case (fiducial stars) and are always allocated. So choose your fiducial stars first. This is generally advisable anyway as one usually has little choice.

Program optional arguments

The full details on the arguments to the program:

 -m mode = Read modified parameters for various modes
           e.g. -m shuffling for micro-slit/nod-shuffle mode,
           which reads the file (this sets
           a different CCD window among other things).
 -s size = Set the size of the slits. The default is 10 arcsecs which
           is appropriate for multislits. Note this is non-critical
           for multislits as slits are grown to fit anyway, just make
           sure it is less than the slit-to-slit offset below.
           I recommend 1.5 arcsec for microslits.
 -o offset = offset between slits for slit allocation algorithm.
           The default is 12 arcsecs which is appropriate for
           multislits, I recommend 1.8 arcsecs for microslits.
 -w wavelen  = maximum allowed wavelength shift from centre
               in allocation algorithm (default = 1000A).

 -f fudge   = fudge factor (in arcsec) to allow as OK in slit overlaps
              - useful for checking some pre-grown masks, this is really
              for AAO's use.

Step-by-step guide for mask creation

  • Create a catalog of objects in the catalogue format (see You need to specify RA and DEC and perhaps the priority.  Note LDSS has the freedom to acquire in rotation as well as telescope position so only good relative astrometry (to ~0.3 arcsec) is needed not absolute astrometry. Aquisition is speedier though if the absolute accuracy is ~1 arcsec. You will also need to choose a field centre.
  • Choose your fiducial stars. I recommend having at least 4 - 3 are required for the aquisition software and it is good to have at least one backup. Choose them to lie at all ends of your field., e.g. 1 at each corner. Mags - we can get down to R=20 in a 120 sec aquisition exposure. One can go brighter but it takes 70 secs to readout the CCD anyway and bright fiducials can cause lots of scattered light in your spectra. Edit the fiducials in your catalog to have priority=0.
  • Run the program I recommend

  • perl -a
    for multislits and
    perl -m shuffling -a -s 1.5 -o 1.8
    for microslits. If you change the offset make sure the slit size is always less!
  • Check the allocated objects in the * * files on a plot of the field and make sure you are happy with them. If you want to force inclusion of certain objects set them to priority 9 - this will work as long as they don't overlap each other.
  • CHANGES History

    3/8/99 - Added Field Diameter  ($FieldDiam) to for additional checking.


    Karl Glazebrook, 3rd August1999.