Table Of Contents

Previous topic

ACS_DESTRIPE Task

This Page

ACS Pixel CTE Correction

This task implements a pixel-based CTE correction for calibrated ACS/WFC images.

Functions to apply pixel-based CTE correction to ACS images.

The algorithm implemented in this code was described in detail by [Anderson] as available online at:

http://adsabs.harvard.edu/abs/2010PASP..122.1035A

Authors:
 

Pey Lian Lim and W.J. Hack (Python), J. Anderson (Fortran)

Organization:
 

Space Telescope Science Institute

History:
 
  • 2010/09/01 PLL created this module.
  • 2010/10/13 WH added/modified documentations.
  • 2010/10/15 PLL fixed PCTEFILE lookup logic.
  • 2010/10/26 WH added support for multiple file processing
  • 2010/11/09 PLL modified YCte, _PixCteParams and _DecomposeRN to reflect noise improvement by JA. Also updated documentations.

References

[Anderson](1, 2) Anderson J. & Bedin, L.R., 2010, PASP, 122, 1035

Notes

  • This code only works for ACS/WFC but can be modified to work on other detectors.
  • It was developed for use with full-frame GAIN=2 FLT images as input.
  • It has not been fully tested with any other formats.
  • Noise is slightly enhanced in the output (see [Anderson]).
  • This code assumes a linear time dependence for a given set of coefficients.
  • This algorithm does not account for traps with very long release timescale but it is not an issue for ACS/WFC.
  • This code also does not account for second-exposure effect.
  • Multi-threading support was not implemented in this version as it would interfere with eventual pipeline operation.
acstools.PixCteCorr.CteCorr(input, outFits='', noise=1, nits=0, intermediateFiles=False)

Run all the CTE corrections on all the input files.

This function simply calls YCte() on each input image parsed from the input parameter, and passes all remaining parameter values through unchanged.

Parameters :
 

input: string or list of strings :

name of FLT image(s) to be corrected. The name(s) can be specified either as:

  • a single filename (‘j1234567q_flt.fits’)
  • a Python list of filenames
  • a partial filename with wildcards (‘*flt.fits’)
  • filename of an ASN table (‘j12345670_asn.fits’)
  • an at-file ('@input‘)

outFits: string :

USE DEFAULT IF `input` HAS MULTIPLE FILES. CTE corrected image in the same directory as input. If not given, will use ROOTNAME_cte.fits instead. Existing file will be overwritten.

noise: int :

Noise mitigation algorithm. As CTE loss occurs before noise is added at readout, not removing noise prior to CTE correction will enhance the noise in output image.

  • 0: None.
  • 1: Vertical linear, +/- 1 pixel.

intermediateFiles: bool :

Generate intermediate files in the same directory as input? Useful for debugging. These are:

  1. ROOTNAME_cte_rn_tmp.fits - Noise image.
  2. ROOTNAME_cte_wo_tmp.fits - Noiseless image.
  3. ROOTNAME_cte_log.txt - Log file.

nits: int :

Not used. Future work.

Examples

  1. This task can be used to correct a set of ACS images simply with:

    >>> import PixCteCorr
    >>> PixCteCorr.CteCorr('j*q_flt.fits')
    

    This task will generate a new CTE-corrected image for each of the FLT images.

  2. The TEAL GUI can be used to run this task using:

    >>> epar PixCteCorr  # under PyRAF only
    

    or from a general Python command line:

    >>> from pytools import teal
    >>> teal.teal('PixCteCorr')
    
acstools.PixCteCorr.XCte()

FUTURE WORK. Not Implemented yet.

Apply correction to serial CTE loss. This is to be done before parallel CTE loss correction.

Probably easier to call as routine from YCte().

acstools.PixCteCorr.YCte(inFits, outFits='', noise=1, nits=0, intermediateFiles=False)

Apply correction for parallel CTE loss.

Input image that is already de-striped is desired but not compulsory. Using image with striping will enhance the stripes in output. Calibrations that have been applied to FLT should not significantly affect the result.

Parameters :
 

inFits: string :

FLT image to be corrected.

outFits: string :

CTE corrected image in the same directory as input. If not given, will use ROOTNAME_cte.fits instead. Existing file will be overwritten.

noise: int :

Noise mitigation algorithm. As CTE loss occurs before noise is added at readout, not removing noise prior to CTE correction will enhance the noise in output image.

  • 0: None.
  • 1: Vertical linear, +/- 1 pixel.

intermediateFiles: bool :

Generate intermediate files in the same directory as input? Useful for debugging. These are:

  1. ROOTNAME_cte_rn_tmp.fits - Noise image.
  2. ROOTNAME_cte_wo_tmp.fits - Noiseless image.
  3. ROOTNAME_cte_log.txt - Log file.

nits: int :

Not used. Future work.

Notes

  • EXT 0 header will be updated. ERR arrays will be added in quadrature with 10% of the correction. DQ not changed.
  • Does not work on RAW but can be modified to do so.

Examples

  1. This task can be used to correct a single FLT image with:

    >>> import PixCteCorr
    >>> PixCteCorr.YCte('j12345678_flt.fits')
    

    This task will generate a new CTE-corrected image.