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:
To do this one would for example type:
perl design.pl example.cat
In this case, for a file example.catdiagnostics are printed and an information file example.info 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 design.pl file1.cat file2.cat file3.cat ...
For example to allocate a conventional multislit mask:
perl design.pl -a example.cat
This will perform object allocation on the input file example.cat - allocations are written as example_alloc.cat and the extra information as example_alloc.info.
To allocate a microslit mask we need to modify the default allocation paramaters:
perl design.pl -m shuffling -a -s 1.5 -o 1.8 example2.cat
This will allocate a microslit mask with 1.5 arcsec holes and a 1.8 arcsec min slit step (recommended). The result (example2_alloc.cat) should be identical to the supplied file example2_ALLOC.cat - which is a good way to test the software.
The algorithm and parameters are described below.
A simple ASCII format shared with LEXT. See the file example.cat for the format.
The default set is LDSS_pars.pm 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 my.cat ...
This will read an extra parameter file LDSS_shuffling.pm which changes some of the defaults, in this case for charge-shuffling (which has a different CCD window).
An example multislit catalogue file.
example.info Info file for example.
An example microslit input catalogue.
example2_ALLOC.cat The result of allocating example2.cat with
example2_ALLOC.info the recommended microslit parameters.
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.
The design.pl 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.
The full details on the arguments to the design.pl program:
-m mode = Read modified parameters for various modes e.g. -m shuffling for micro-slit/nod-shuffle mode, which reads the file LDSS_shuffling.pm (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
-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.
Create a catalog of objects in the catalogue format (see example.cat). 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 design.pl program I recommend
perl design.pl -a myfield.cat
for multislits and
perl design.pl -m shuffling -a -s 1.5 -o 1.8 myfield.cat
for microslits. If you change the offset make sure the slit size is always less!
Check the allocated objects in the *_alloc.cat *_alloc.info 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.
3/8/99 - Added Field Diameter ($FieldDiam) to LDSS_pars.pm for additional checking.