NOTE: Most of the High Level Science Products are unavailable while unscheduled maintenance is being performed. They will be incrementally restored over the course of this week. We apologize for any inconvenience.
The Hubble HelixHome - Observations - Data - Reductions - Images
ACS data retrieval and pipeline reductionThe data was obtained during the Leonid meteor shower on 19 November 2002, and a hastily assembled ACS F658N mosaic was produced for a poster at the January AAS Meeting in Seattle. The data used to produce the graphics for the poster did not utilize the best calibration reference files, it still contained a significant amount of cosmic ray contamination, and it was not carefully registered. Following the production of the poster, the data was more carefully re-processed as follows.
After the best calibration reference files became available, the data was re-retrieved from the archive, such that on-the-fly (OTFR) pipeline processing automatically applied the latest calibrations. In particular, the "best" dark reference file corrects and flags the hot pixels present on the date of our observations. An improved filter-specific distortion correction solution was also available at this later time (which was applied during the re-drizzling described below). The remainder of this report describes post-pipeline data reduction, although a future version of MultiDrizzle may someday be incorporated into the ACS pipeline.
Combining the ACS mosaic with drizzleFor background on ACS pointing and drizzling. see:
The primary pipeline product we utilized was the flat-fielded images (*flt.fits) - our input files for drizzling. We used MultiDrizzle to apply the distortion and registration corrections, combine the exposures into the full mosaic, and reject cosmic rays in any overlap regions. We combined all the exposures for each filter using the following parameters (F658N scale 2 shown here). We provide explanations for some of the non-default parameters used below:
--> lpar multidrizzle output = f658n_s2 Rootname for output drizzled products (suffix = ) Suffix of the input files (filelist = list_f658n_all) (refimage = ) (runfile = multidrizzle.run) File for logging the script commands (restart = ) (coeffs = header) Use header-based distortion coefficients? (context = no) Create context image during final drizzle? (clean = no) Remove temporary files? (section = ) (bits = 8578) Integer mask bit values considered good (ra = 337.389) right ascension output frame center (dec = -20.832) declination output frame center (build = no) Create multi-extension output file? (shiftfile = shifts_delta_pix) Shiftfile name STEP 1: STATIC MASK (static = no) Create static bad-pixel mask from the data? (staticfile = ) Name of (optional) input static bad-pixel mask (static_goodval = 1.0) Value of good pixels in the input static mask STEP 2: SKY SUBTRACTION (skysub = no) Perform sky subtraction? (skytype = quadrants) Type of sky subtraction (skyname = SKYSUM) Header keyword containing sky value (skywidth = 50.0) Interval width for sky statistics (skystat = median) Sky correction statistics parameter (skylower = -50.0) Lower limit of usable data for sky (DN) (skyupper = 200.0) Upper limit of usable data for sky (DN) STEP 3: SEPARATE DRIZZLED IMAGES (driz_separate = yes) Drizzle onto separate output images? (driz_sep_outnx = 6300.0) Size of separate output frame's X-axis (pixels) (driz_sep_outny = 6900.0) Size of separate output frame's Y-axis (pixels) (driz_sep_kernel = turbo) Shape of kernel function (driz_sep_scale = 2.0) Linear size of output pixels in terms of input (driz_sep_pixfrac = 1.0) Linear size of drop in input pixels (driz_sep_rot = 0.0) Rotation to be applied (degrees anti-clockwise) (driz_sep_fillval = 9999.9) Value assigned to undefined output points STEP 4: CREATE MEDIAN IMAGE (median = yes) Create a median image? (median_newmasks = no) Create new masks when doing the median? (combine_type = median) Type of combine operation (combine_reject = minmax) Type of rejection (combine_nsigma = 6 3) Significance for accepting min instead of med (combine_nlow = 0) minmax: Number of low pixels to reject (combine_nhigh = 17) minmax: Number of high pixels to reject (combine_lthresh = 0.0001) Lower threshold for clipping input values (combine_hthresh = 9998.8) Upper threshold for clipping input values (combine_grow = 1.0) Radius (pixels) for neighbor rejection STEP 5: BLOT BACK THE MEDIAN IMAGE (blot = yes) Blot the median back to the input frame? STEP 6: REMOVE COSMIC RAYS WITH DERIV, DRIZ_CR (driz_cr = yes) Perform CR rejection with deriv and driz_cr? (driz_cr_snr = 3.0 2.5) Driz_cr.SNR parameter (driz_cr_scale = 1.2 0.7) Driz_cr.scale parameter STEP 7: COMBINED DRIZZLED IMAGE (driz_combine = yes) Perform final drizzle image combination? (final_outnx = 6300.0) Size of FINAL output frame X-axis (pixels) (final_outny = 6900.0) Size of FINAL output frame Y-axis (pixels) (final_kernel = square) Shape of kernel function (final_scale = 2.0) Linear size of output pixels in terms of input (final_pixfrac = 1.0) Linear size of drop in input pixels (final_rot = 0.0) Rotation to be applied (degrees anti-clockwise) (final_fillval = 0.0) Value assigned to undefined output point (mode = al)The bits are set to 8578 to ignore the data quality flags for corrected bias and dark features, which would otherwise be assigned the fillval. Sky subtraction was turned off (skysub=no) since there is almost no real sky available to measure (the nebula fills the field-of-view), and this would only introduce sky estimation discrepancies across the mosaic. We set the fillval=9999.9 (very high) and set nhigh=n-1 to reject both the cosmic ray contaminated pixels, and all the overlapping fillval pixels which would otherwise affect the calculation of the median image (and manifest itself as noticeable edges in the final mosaic). All the outlying fillval-like zeros get excluded from the median calculation by specifying combine_lthresh=0.0001 (barely above zero). The central (RA,DEC) and dimensions of the output frame (outnx,outny) were specified as a matter of convenience -- reasonable values would be automatically determined if these parameters were left blank (INDEF).
Refining the mosaic registrationWe used the version of MultiDrizzle available in the STSDAS dither package, which evolved considerably during (and largely because of) the reduction of this dataset. This version does not currently have the internal "tweakshifts" (shift measurement) feature available in the prototype version of MultiDrizzle. By default, MultiDrizzle relies on the imperfect World Coordinate System (WCS) in the headers to register the images. This can result in registration errors of roughly 0.5 arcseconds (~10 WFC pixels) for adjacent pointings, which can manifest itself as "double stars", and cause real (but non-registered) features to get rejected along with the cosmic rays in the overlap regions.
In any case, there are not enough stars in this field for tweakshifts or similar registration tools (e.g. wcsfix or imwcs) to work. At most there are typically zero or one stars in any overlap region (a total of only five for the entire mosaic) between adjacent tiles. See the "road map" on the Observations page for the relative locations of the exposures and registrations stars. The positions of these artificial "double stars" was measured with imexam in each exposure where they are present. This measurement can be made from the individual pipeline-drizzled images (*drz.fits), or from the separate drizzled images produced by MultiDrizzle Step 3 (*single_sci.fits). The tile 5 images were defined to be (0,0) and all other delta shifts are relative to them, which are provided to MultiDrizzle via a shift file named shifts_delta_pix (which augments the WCS information, see Hack et al. 2003):
# units: pixels # frame: input # form: delta j8kr01lkq_flt.fits 8.11 5.59 j8kr01lmq_flt.fits 8.11 5.59 j8kr02maq_flt.fits 5.85 1.10 j8kr02meq_flt.fits 5.85 1.10 j8kr03mzq_flt.fits 7.67 2.25 j8kr03n3q_flt.fits 7.67 2.25 j8kr14jdq_flt.fits 8.45 6.91 j8kr14jfq_flt.fits 9.00 9.00 j8kr05k3q_flt.fits 0.00 0.00 j8kr05kaq_flt.fits 0.00 0.00 j8kr06o0q_flt.fits 9.49 3.40 j8kr06o9q_flt.fits 9.49 3.40 j8kr07ktq_flt.fits 5.34 4.40 j8kr07l2q_flt.fits 4.89 4.76 j8kr08odq_flt.fits 4.60 11.29 j8kr08omq_flt.fits 4.60 11.29 j8kr09nlq_flt.fits 7.05 7.35 j8kr09nvq_flt.fits 7.05 7.35As an additional registration check, the coordinates of all the Guide Star Catalog (GSC2) objects present were converted into pixel coordinates using rd2xy. Note that about 95% of the GSC2 objects in the field appear to be spurious detections of cometary knots and other non-stellar Helix nebula features! With the delta shifts applied, the GSC2 objects (and therefore the WCS of the mosaic) appear to be offset from the GSC2 reference frame by ~20 WFC pixels or 1.5 arcseconds of RA. We did not attempt to adjust the WCS of our mosaics to align with any other reference frame, but this could be done to further improve the astrometric accuracy of the mosaics.
Residual cosmic ray rejectionAfter drizzling, there is still a considerable amount of residual cosmic ray contamination (where there was no overlap from multiple exposures). This occurs mainly in the interchip gaps of each exposure, and around the outer edges of the mosaic. But some residual contamination is also left wherever cosmic rays overlapped in multiple exposures; this kind of residual contamination is scattered throughout the mosaic.
We suppressed the residual cosmic ray contamination with a simple cosmetic smoothing method. Cosmic rays were detected and then replaced using a median-smoothed image (a 5x5 box for scales 2 and 4, a 7x7 box for scale 1) of the mosaic itself. Any pixel which was ~50% brighter than it's local median was flagged (flag=1) and then replaced with that median, along with adjacent pixels which are likely to be a part of the same cosmic ray event. Stars were arbitrarily protected (flag=2) from this process so that they (nor any part of their complicated PSFs) would get smoothed. Some cosmic rays near stars may therefore have survived this process, and some faint unprotected stars may, in fact, have been smoothed or even completely rejected. The pre-cleaned mosaics, and the residual rejection masks are available for inspection for anyone concerned about the impact of this cosmetic cleaning step (or would like to try and improve upon it with their own method).
Preliminary analysisThe ACS images provide higher resolution and greater angular coverage of the nebula than ever before. The WFPC2 images supplement the ACS images with additional wavelength and sky coverage. The NICMOS images detect the 2.12mm line of H 2 quite well at many positions. Very cursory visual inspection reveals no nebulosity in any of the NICMOS Paschen-a 1.87mm images and the STIS [O II] 3727Å images.
AcknowledgementsThe Hubble Helix Team is indebted to Warren Hack for tirelessly developing, testing, debugging, and expanding the capabilities of PyDrizzle and MultiDrizzle throughout the reduction of this dataset. His efforts in support of this project will reap benefits for all current and future HST users seeking to produce large ACS mosaics.
ReferencesDrizzle: A Method for the Linear reconstruction of Undersampled Images,
Fruchter & Hook, 2002, PASP 114: 144-152
Providing Updated Image Shifts to PyDrizzle (PDF),
MultiDrizzle: An Integrated PYRAF script for Registering, Cleaning,
and Combining Images (PDF),
ACS dither and mosaic pointing patterns (PDF),
Appendix A: Object catalogThe objects numbered 1-39 are listed in the Guide Star Catalog 2 (GSC2), and most are stars. Some of the objects numbered 40-86 are also stars, but many are background galaxies. We used only five stars (stars 3, 11, 16, 36, 38; which happened to lie in tile overlap regions) to register the mosaic tiles with respect to each other (as described above). The other objects could be used to further refine the astrometric registration the entire mosaic, but we did not do this. See the "road map" on the Observations page for the relative locations of the exposures and objects.
Maintained by the Hubble Helix Team. Send comments to firstname.lastname@example.org.