Cookbook for undithered datasets with the target placed on the PC chip (only)
NOTE: You may use the c0m/c1m files you now receive from the archive 'as is', there is no need to convert them to GEIS format using STRFITS as mentioned below. If you have WFITS (c0f/c1f) data, then please follow the instructions for converting your data to GEIS (c0h/c1h) format. These instructions are intended for datasets with no dithering (i.e. CR-SPLIT), and the target on the PC chip. This strategy was common in the mid-1990s, so many archival datasets from that era may not be dithered. For CR-SPLIT datasets, the rejection of cosmic rays is usually good. But detector artifacts such as bad columns and hot pixels won't be rejected, and so they will either remain on the final output, or be replaced with a fill value. Such artifacts can also be replaced via cosmetic interpolation, although that is not described here.
De-archive the science and data quality FITS files to your working directory. Make a uref directory and download the distortion reference files (IDCTAB and OFFTAB in your image headers) into it, and define your uref directory (set uref). Convert the files to GEIS format (with strfits), and make a list of input images (list_c0h):
> set uref = "/data/mymachine/uref/" > strfits *c0f.fits "" "" > strfits *c1f.fits "" "" > ls u*c0h > list_c0h (no blank lines!)
If your data are not all from the same visit, or otherwise did not use the same guide stars, you need to refine the image registration.
MultiDrizzle parametersThe following are sample parameters (with some rationale in the comments) for applying the geometric distortion correction, combining, and cleaning your dataset. Some of the default parameters are not listed here.
> unlearn multidrizzle # reset all parameters to default values first multidrizzle.input = '@list_c0h' # input image list multidrizzle.output = 'ngc999_f555w' # convenient target_filter filenaming multidrizzle.group = '1' # process PC chip only multidrizzle.build = no # single-extension FITS output multidrizzle.shiftfile = 'shifts.txt' # apply measured delta-shifts, if relevant multidrizzle.static = yes multidrizzle.skysub = no multidrizzle.driz_separate = yes multidrizzle.driz_sep_outnx = 800 multidrizzle.driz_sep_outny = 800 multidrizzle.driz_sep_kernel = 'turbo' multidrizzle.driz_sep_scale = 0.0455 # PC detector pixel scale multidrizzle.driz_sep_pixfrac = 1.0 multidrizzle.driz_sep_rot = INDEF # don't rotate north up for CR-detection multidrizzle.driz_sep_fillval = -9.9 # arbitrary low value; easy to exclude multidrizzle.driz_sep_bits = 0 # exclude all flagged pixels multidrizzle.median = yes multidrizzle.combine_type = 'median' multidrizzle.combine_lthresh = '-8.8' # exclude fill values from median multidrizzle.blot = yes multidrizzle.driz_cr = yes multidrizzle.driz_cr_snr = '4.0 3.5' multidrizzle.driz_combine = yes multidrizzle.final_outnx = 1024 multidrizzle.final_outny = 1024 multidrizzle.final_kernel = 'square' multidrizzle.final_scale = 0.0455 # PC detector pixel scale multidrizzle.final_pixfrac = 1.0 multidrizzle.final_rot = 0.0 # rotate north up multidrizzle.final_fillval = 0.0 # zero or INDEF multidrizzle.final_bits = 0
Inspect your output and iterate as needed
Since flagged detector artifacts cannot be rejected from undithered datasets, you may want to set the final_bits to include some flagged pixels, rather than having them replaced by the fill value (final_fillval). Or you can set final_fillval=INDEF to include all flagged pixels "as is".Look for under-rejection of cosmic rays, or over-rejection of real features (e.g. stellar cores) by blink-comparing the output drizzled image and weight map (drz_sci.fits and drz_weight.fits). You may need to adjust your rejection thresholds (driz_cr_snr), or grow the rejections and/or reject CTE tails (driz_cr_grow and driz_cr_ctegrow).
Send any questions or concerns to the STScI Help Desk (firstname.lastname@example.org).