3.2 Structure of CALACS
The CALACS package consists of four individual tasks listed in table 3.1. These tasks are called automatically by CALACS, but each may be run separately should some variation in the normal processing be desired by the user.
Table 3.1: Tasks in the CALACS pipeline
|
CCD specific calibrations |
|
Cosmic-ray rejection task |
|
Basic MAMA and CCD calibrations |
|
|
The flow of data through the ACS calibration pipeline and the decisions made while working with associated data are diagrammed in figure 3.1. These calibration steps are also outlined below:
- Calculate a noise model for each pixel and record in the error array
- Flag known bad pixels and saturated pixels in the data quality array
- Correct for A-to-D conversion errors, if necessary (CCD only)
- Subtract bias-level determined from overscan regions (CCD only)
- Subtract bias image (CCD only)
- Subtract post-flash image (CCD only)
- Perform cosmic-ray rejection and combining of
CR-SPLIT data (CCD only)
- Perform global linearity corrections (MAMA only)
- Scale and subtract dark image and calculate mean dark value
- Perform flatfielding
- Perform shutter-shading correction (if not done in cosmic-ray rejection)
- Calculate photometry header keywords for flux conversion
- Calculate image statistics
Additional calibration steps are performed using PyDrizzle, including:
- Correct the geometric distortion of non-dithered images
- Convert the data units from counts to count-rates
- Combine dithered observations into a single product
Figure 3.1: Flow Diagram for ACS data shown with CALACS task names.
In figure 3.1, we can see that the calibration tasks have been split to handle CCD-specific calibrations (ACSCCD) separate from those steps which can be applied to any ACS data (ACS2D). The MAMA data obtained with the SBC do not have the overscan regions found in CCD data.
The initial processing performed on CCD data alone is shown in figure 3.2. The reference files appropriate for each processing step and the calibration switches controlling them are also given in the figure beside the name of the task they control. The output (overscan-trimmed image) from ACSCCD is then sent through ACS2D as shown in figure 3.3. Raw MAMA data are processed from the start with ACS2D, which initializes the error and DQ arrays (already performed for CCD data) and which performs linearity corrections.
Figure 3.2: Flow diagram for CCD data using ACSCCD in CALACS.
Figure 3.3: Flow diagram for MAMA and overscan-trimmed CCD data using ACS2D in CALACS.
3.2.1 Running CALACS
CALACS exists within STSDAS under hst_calib.acs.calacs and can be run like any other IRAF task. The input to CALACS can be given either as an association table name with the `_asn' suffix, a single uncalibrated image with the `_raw' suffix, or a sub-product with any product suffix (See chapter 2 for a description of sub-products and product suffixes). Table 3.2 gives a summary of the input file types. For a given input association file, CALACS will process all exposures listed in the input `_asn' file, including all intermediate products referred to as sub-products, as appropriate for the exposure. An individual exposure would be run through the entire process when the input file is a `_raw' file. Finally, if the root name of any sub-product is given, CALACS will search the current directory for an association table which contains the given root name, determine which exposures are involved in producing that sub-product, then process all those exposures as necessary.
Table 3.2: Types of files used as input by CALACS:
|
name of association table |
|
name of individual, uncalibrated exposure |
|
name of any sub-product from an association table |
While both CR-SPLIT and REPEAT-OBS exposures from an association get combined using CALACS, dithered observations from an association do not. Instead, an empty product is created which must then be processed with PyDrizzle to create a dither-combined product. All observations, not just dithered images, will need to be processed by PyDrizzle to correct for distortion and pixel area effects. These steps are discussed in detail in chapter 4.