The MultiDrizzle Handbook
5.1 Available Software
Several software packages have been developed to implement the drizzle algorithm, to correct images for distortion, to identify cosmic rays and to align and combine images into a cosmic ray cleaned, distortion-free product. The software was originally developed as a set of Fortran routines which were available both as stand-alone executables and as IRAF tasks in the Dither package. The original drizzle software was developed as a collaborative effort by Andy Fruchter and Richard Hook. The main code was written in Fortran77 and incorporated into IRAF with STSDAS v2.0, inside the Dither package. This set of code formed the basis for a more automated task for aligning images to produce distortion-corrected images; namely, the Python task PyDrizzle (Section 5.3). Finally, all the steps required to identify cosmic rays using the aligned images produced by PyDrizzle were automated in the Python task MultiDrizzle (Section 5.4). The Python tasks can only be run from the PyRAF environment while the original IRAF tasks can be run from either PyRAF or the original IRAF command language (also known as the "cl").
5.1.1 Original IRAF Tasks
There are many tasks which are available in the PyRAF dither package. Many of them represent the original interface to the drizzle codeset in IRAF and are no longer supported - though their functionality has been included in the new scripts which are used by PyDrizzle and MultiDrizzle. It is important for the user to realize that use of the non-supported functions may result in inferior output products since the most current updates to the code and methodology are only implemented in the Python functions called by PyDrizzle and MultiDrizzle.
The following functions are the original IRAF interface routines and are no longer being fully supported:avshift - Averages the shifts measured on the 4 WFPC chips. crossdriz - Builds a set of cross-correlation images (shift + rotation). deriv - Take the absolute derivative of an image. driz_cr - Create cosmic ray mask based for dithered data. loop_blot - Runs blot for a given list of input and output images. loop_driz - Runs drizzle for a list of input, output, and mask images. offsets - Builds cross-correlation image (shift only). mask_head - Attach mask names to image headers; invert mask if requested precor - cosmic ray processing. rotfind - Finds rotation angle from a set of cross-correlation images. shiftfind - Finds X,Y shifts in a cross-correlation image. dunlearn - Resets all task parameters to default values. gprep - Transform shifts for one WFPC2 chip into parameters for mosaicing all four chips. wfpc2_chips @ parameter set for 'avshift' and 'gprep' tasks. cdriz @ parameter set for the 'offsets' task.
5.1.2 Currently Supported Tasks
The latest developments in the dither package have focused on automating the functionality of the original separate IRAF tasks. The native IRAF tasks which are still fully supported include:drizzle - Perform linear image reconstruction using "drizzling". blot - Image sampling using interpolation (reverse "drizzling"). tran - Transform coordinates taking into account distortion tranback - Transform an X,Y position from output to input pixel position using the same conventions as drizzle traxy - Transform an X,Y position from input to output pixel position using the same conventions as drizzle wcs2dr - Convert WCS header information into drizzle parameters for image registration
A majority of the new task development has been done by writing the new tasks in Python. These new tasks use PyRAF to provide an IRAF EPAR interface to use them as if they were native IRAF tasks. These Python tasks can only be run under PyRAF or directly under Python itself, and include:multidrizzle - Automated Python task for performing cosmic ray rejection pydrizzle - Automated Python-based interface for the "drizzle" task tweakshifts - Compute residual shifts between images xytosky - Translate a 2-D image pixel coordinate to right ascension and declination, optionally applying the distortion coefficients for the detector. wtraxy - Transform an X,Y position from input to output pixel position using the same conventions as drizzle, with WCS and list support wtranback - Transform an X,Y position from output to input pixel position using the same conventions as drizzle - with WCS and list input support wblot - Image Sampling using Interpolation - reverse Drizzle version with WCS support
5.1.3 Supplemental Tasks
The last set of tasks involve operations which are generally useful, but not directly involved in image alignment or coordinate transformations. These are supporting PyRAF tasks which may still aid the user in preparing and analyzing their datasets:cgsky - Compute sky using `gsky' plus a correction for histogram truncation. gsky - Compute sky using the same mode algorithm used in task "crrej". imextreme - Locates the maximum and minimum pixels in an image. sky - Sky processing by "crrej-like" algorithm.\ dq @ parameter set for the 'sky' task.
These tasks, however, have been written as native IRAF tasks and have been known to have problems with some datasets. Problems with any of the tasks in the Dither package can be reported to
Space Telescope Science Institute
Voice: (410) 338-1082