spacer link to MAST page spacer logo image spacer

The Hubble Helix

Home - Observations - Data - Reductions - Images

ACS data retrieval and pipeline reduction

The 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 drizzle

For background on ACS pointing and drizzling. see:
http://www.stsci.edu/hst/acs/analysis/drizzle

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 registration

We 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.35
As 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 rejection

After 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 analysis

The 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.

Acknowledgements

The 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.

References

Drizzle: A Method for the Linear reconstruction of Undersampled Images,
Fruchter & Hook, 2002, PASP 114: 144-152

Providing Updated Image Shifts to PyDrizzle (PDF),
Hack, Mack, & Hook, 2003, STScI Technical Instrument Report SSB 2003-01

MultiDrizzle: An Integrated PYRAF script for Registering, Cleaning, and Combining Images (PDF),
Koekemoer, Fruchter, Hook, Hack, 2002, HST Calibration Workshop Proceedings

ACS dither and mosaic pointing patterns (PDF),
Mutchler & Cox, 2001, STScI Instrument Science Report ACS 2001-07

Appendix A: Object catalog

The 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.

GSC2 RA GSC2 DEC GSC2 ID reg ID Jmag note
337.265790 -20.797935 311272 1 15.09  
337.328826 -20.813265 3307661 2 15.63  
337.446997 -20.841825 3301918 3 15.67 tiles 4,7
337.346628 -20.934007 3301263 4 15.72  
337.410453 -20.837138 3301945 5 16.25  
337.320993 -20.921604 3301350 6 16.60  
337.323312 -20.796800 311582 7 16.63  
337.319652 -20.911230 3301400 8 16.92  
337.418583 -20.881368 3301652 9 17.72  
337.308317 -20.828199 3115471 10 18.09  
337.387307 -20.803239 3302125 11 18.29 tiles 2,5
337.298494 -20.778415 311641 12 18.35  
337.355923 -20.772519 3307860 13 18.61  
337.394709 -20.826629 3301999 14 18.66  
337.306686 -20.823753 3115482 15 18.67  
337.432529 -20.874450 3301694 16 18.80 tiles 7,8
337.337199 -20.911041 3301399 17 18.95  
337.380407 -20.809702 3302080 18 19.02  
337.447489 -20.860497 3301789 19 19.03  
337.355937 -20.934504 3301248 20 19.05  
337.396212 -20.820845 3302020 21 19.28  
337.308505 -20.845858 3115449 22 19.38  
337.313120 -20.781906 311619 23 19.61  
337.459757 -20.856627 3301814 24 20.12  
337.342642 -20.781560 3307809 25 20.14  
337.308303 -20.790903 311591 26 20.36  
337.423963 -20.838759 3301924 27 20.38  
337.395137 -20.805072 3302103 28 20.76  
337.428841 -20.817115 3305372 29 20.82  
337.380033 -20.806394 3307678 30 21.51  
337.339541 -20.794146 3307752 31 21.82  
337.292322 -20.836734 3115458 32 21.99  
337.413566 -20.891465 3301560 33 99.90  
337.398640 -20.871375 3301717 34 99.90  
337.408370 -20.871168 3301725 35 99.90  
337.365072 -20.861427 3301808 36 99.90 tiles 5,6
337.372114 -20.795657 3302193 37 99.90  
337.412815 -20.794391 3302205 38 99.90 tiles 1,4
337.276376 -20.791138 311603 39 99.90  
337.398000 -20.910160 - 40   galaxy merger
337.398020 -20.910110 - 41   galaxy or knot?
337.427600 -20.901020 - 42   star
337.406610 -20.899690 - 43   star
337.402120 -20.898440 - 44   star
337.413840 -20.891800 - 45   star
337.403930 -20.890440 - 46   star
337.418830 -20.881690 - 47   star
337.432740 -20.874740 - 48   star, tiles 7,8
337.476600 -20.872460 - 49   star
337.398880 -20.871550 - 50   Eagle knot
337.408660 -20.871500 - 51   star
337.417070 -20.867300 - 52   star?
337.365140 -20.862030 - 53   bright star
337.447660 -20.860820 - 54   star in front of knot
337.340200 -20.856160 - 55   brightest star?
337.348810 -20.850570 - 56   galaxy?
337.313360 -20.841570 - 57   galaxy merger
337.424170 -20.838990 - 58   galaxy
337.424130 -20.838990 - 59   faint galaxy
337.338660 -20.838750 - 60   bright star
337.410550 -20.837720 - 61   central star
337.308170 -20.828400 - 62   star
337.370580 -20.825560 - 63   star
337.306590 -20.824050 - 64   star/galaxy
337.306410 -20.823870 - 65   small galaxy?
337.328770 -20.813550 - 66   bright star
337.429260 -20.813170 - 67   edge-on galaxy; aligned with knots!
337.429270 -20.813160 - 68   galaxy
337.336960 -20.811410 - 69   unregistered star?
337.380590 -20.810170 - 70   star
337.463240 -20.807570 - 71   galaxy?
337.380030 -20.806780 - 72   faint galaxy
337.380020 -20.806670 - 73   faint galaxy
337.397120 -20.805000 - 74   brightest knot
337.387490 -20.803580 - 75   on tiles 2,5
337.265620 -20.798380 - 76   star
337.288660 -20.797730 - 77   star?
337.285750 -20.796250 - 78   galaxy?
337.285750 -20.796250 - 79   galaxy?
337.285750 -20.796220 - 80   faint galaxy
337.413070 -20.794580 - 81   star
337.276140 -20.791400 - 82   star
337.290220 -20.788520 - 83   galaxy nucleus
337.298310 -20.778780 - 84   galaxy
337.389800 -20.772150 - 85   bright star
337.373860 -20.759250 - 86   faint galaxy


Maintained by the Hubble Helix Team. Send comments to mutchler@stsci.edu.