MMTF Public Software
We provide here a set of Fortran routines and Perl scripts to (1) calibrate the MMTF; (2) subtract sky background from data; and (3) create annular image masks.
This software is permanently installed on the computers at Magellan, but is provided here for the user's convenience when doing calibrations and data reduction elsewhere.
Please send questions, comments, and bug reports to Michael McDonald
Version 1.3, 3 Sep 2010 (Post April '08 Data)
Downloads:
Version 1.11, 23 June 2008 (Pre April '08 Data)
Downloads:
- the latest optaxis.dat
- the source code
- Linux binaries (compiled under Mandrake 10.1)
- demonstration data
The package README file is as follows:
================================================= Maryland-Magellan Tunable Filter software package ================================================= Send comments and bug reports to David Rupke at drupke@astro.umd.edu. SUMMARY ------- A set of Fortran routines and Perl scripts to (1) calibrate the MMTF for observing and data reduction; (2) subtract sky background from data; and (3) create annular image masks. VERSION ------- 1.0 08jan16 Initial public release. 1.1 08mar03 Small changes for functionality and "good practice." Changes: Fixed bug in RINGBATCH. More helpful FPSOLVE outputs, and new help text. Rearranged directory structure to be more intuitive. Explicit declarations of variables in source files. Finished separation of (most) subroutines into library files. 1.11 08jun23 Added functionality and bug fixes. Changes: RING now accepts input sky spectrum for sky subtraction. New routine XYDRIFT computes expected parallelism drift. RING computes IMACS gravity angle. 1.2 08jul30 Updated for new, red-sensitive CCD Changes: RING and RINGDRIFT now look for ift prefix instead of ccd RING now uses a lookup table for focal length (like wcalc) OPTAXIS.DAT file has been updated for new CCD CCD-to-focal plane transformation updated for new CCD 1.21 10jan20 Added functionality and bug fixes. 1.22 10apr05 Automated optical axis routine Bug fixes 1.3 10sep03 Automated sausage routine, added new documentation Changes: RING, RINGDRIFT and SAUSAGE all require the gravity angle to be with 10 degrees of 0 to function. Filter lookup is more robust to slight differences in name AUTHORS ------- Ben Weiner, David Rupke, and Mike McDonald REQUIREMENTS ------------ a. GFORTRAN (part of the GCC version 4+ distributions): http://gcc.gnu.org/ OR Mac OSX binaries at http://hpc.sourceforge.net OR various platform binaries at http://gcc.gnu.org/wiki/GFortranBinaries b. PGPLOT library: http://www.astro.caltech.edu/~tjp/pgplot/ c. CFITSIO library: http://heasarc.gsfc.nasa.gov/docs/software/fitsio/fitsio.html INSTALLATION ------------ 0. Edit the Makefile to specify the PGPLOT and FITSIO library locations for your system. Be sure that the environment variable PGPLOT_DIR is set properly, so that PGPLOT can find the appropriate font files, etc. 1. Run make: % make all 2. Run the set-up file (sets path and PGPLOT options): % source setup.sh For long-term use, put the contents of setup.sh in your local configuration file. 3. Copy the optaxis.dat file to your data directory, and adjust the optical axis location if necessary. 4. Download and try out the demo. Run programs with no arguments to see optional command-line arguments. Create a radial spectrum for a single image: % ring ccd1156 6400 Create radial spectra for multiple images: % ringbatch 1156 1164 6400 An example parallelism test: % ringplot 1156 1164 Produce a "data sausage" for wavelength calibration: % fitsausage 38 83 2 Compare two radial spectra, checking for wavelength drift: % ringdrift 1156 1162 Compare two exposures, checking for parallelism drift: % xydrift 1156 1162 ROUTINE DESCRIPTIONS -------------------- FITSAUSAGE -- Execute the SAUSAGE routine and create the IRAF commands necessary to fit lines in the resulting spectrum. FPSOLVE -- Solve the Fabry-Perot equation (relating wavelength, Z_fine, and distance from the optical axis) for unknown parameters, given information from a data sausage about the Z_fine values of lamp emission lines (and possibly their relative order numbers and optical axis radii). Used for wavelength calibration. OPTAXIS -- Find the optical axis of the Fabry-Perot etalon, given centers of point sources and their corresponding primary ghost reflections. (The axis of reflection is the optical axis.) RADMASK -- Create an annular image mask, centered on the optical axis. RING -- Create an azimuthally-averaged, radial spectrum from an MMTF image. Optionally, turn this spectrum into an image of the background and subtract it from the original image (to, e.g., subtract the sky from data). RINGBATCH -- Execute the RING routine in batch mode. RINGDRIFT -- Compare peak wavelengths of the same calibration lamp emission line taken at the same Z_fine but at different times. Used for measuring drift in the intercept of the wavelength - Z_fine relation. Requires radial spectra prodcued by RING routine. RINGPLOT -- View multiple radial spectra at once, organized in a grid of X_fine and Y_fine values. Used for testing etalon parallelism. Requires radial spectra prodcued by RING routine. SAUSAGE -- Create a spectrum of a "data sausage." A data sausage is a series of subrastered MMTF images of a calibration lamp, taken at a series of Z_fine settings for the purpose of wavelength calibration. The software will attempt to find the appropriate wavelength calibration automatically, but care should be taken to make sure that this solution is reliable. If uncertain, the user should try a manual calibration (see FPSOLVE). XYDRIFT -- Compare a parallel (reference) and out-of-parallel exposure, and compute the necessary change in X and Y to re-parallelize the etalon. This is done by determining the change in gravity angle between the two exposures and using a lookup table to determine the necessary adjustments to X and Y.