I. Overview of the Code
The ESIRedux code was built with the IDL software pacakge, originally
to reduce the data from the ESI/KeckII Damped Lya Abundance Survey and users should always
keep this in mind. While the code was designed for single object,
point-source observations, it can be used for extended and/or multiple
objects within the slit. The code can work with users that have little
IDL experience, but you will struggle at first. I highly recommend you
read the Intro to IDL book or some other resource before diving in.
The general approach of the code is as follows:
- Construct a normalized flat image
- Create a wavelength image. In this image, every science
pixel has a unique wavelength is associated with it. This
wavelength image is used for both sky subtraction and extraction.
- Identify the science (and other) objects within the slit.
- Sky subtract masking all objects. The routines use a combination
of polynomial and b-spline fitting algorithms.
- Extract (boxcar or optimal assuming Gaussian profile)
- Combine, flux and coadd into 1D spectra
II. Installing the Software
The code relies on several IDL packages in addition the routines
that were designed specifically from ESI. These include:
More detailed notes for obtaining and installing these packages can
be found at the XIDL site. I wish
to emphasize that the code expects the most up-to-date versions of
the Sloan and XIDL codes. Users with old versions of any
of these packages beware!
III. Using the Code
There is a quick reduction version of the
Moderately detailed descriptions of running the code are given in
this reduction cookbook. While I am
trying to include a lot of detail here, it still is insufficient.
All of the ESI routines are described in this
html file. The more savvy IDL users
should be able to dig into my codes and follow along.
Hopefully, I will include an example session of running the code in
this space before long.
III. Developing the Code + Bug Fixing
I do encourage all users to consier ways to improve the code
and to suggest them to me. Of course, I'd also like to hear about
bugs. Please do make an effort to verify it is a bug in the code
as opposed to 'user error'. Along those lines, if you are a novice
to IDL, I suspect you will have many more 'user errors' than bugs