stis_cti Modules

stis_cti.stis_cti()

stis_cti.stis_cti(science_dir, dark_dir, ref_dir, num_processes, pctetab=None, all_weeks_flag=False, allow=False, clean=False, clean_all=False, crds_update=False, ignore_missing=False, verbose=1)

Runs the HST/STIS/CCD pixel-based CTI-correction on science data and component darks, generating and applying a CTI-corrected super-dark in the process.

Documentation is available at https://stis-cti.readthedocs.io

Parameters:
  • science_dir (str) – Directory containing uncalibrated science data to be corrected.

  • dark_dir (str) – str Directory containing calibrated component darks to be corrected and location where CTI-corrected component darks are placed.

  • ref_dir (str) – str Directory where CTI-corrected super-darks are placed. These will be used again unless they are deleted or clean_all=True.

  • num_processes (int) – Max number of parallel processes to use when running the CTI-correction algorithm.

  • pctetab (str, optional) – The path + name of the PCTETAB reference file to use in the CTI-correction. If not specified, one is selected from (1) the ref_dir, or (2) from the package data directory. The last file (alphabetically) is chosen.

  • all_weeks_flag (bool, optional) – UNTESTED. Generates weekdarks for all weeks within each annealing period to be processed.

  • allow (bool, optional) – UNTESTED. Use more lenient filtering when determining which files should be allowed to be corrected.

  • clean (bool, optional) – Remove intermediate and final products in the science_dir from previous runs of this script.

  • clean_all (bool, optional) – ‘clean’ + remove CTI-corrected super-darks and component darks before reprocessing.

  • crds_update (bool, optional) – Runs crds.bestrefs script to update science file headers and download pipeline reference files.

  • ignore_missing (bool, optional, default=False) – Ignore missing dark files. This is useful for when annealing month contains amp=A RAW files, but no associated FLT files.

  • verbose (int {0,1,2}, optional, default=1) – Verbosity of text printed to the screen and saved in the log file.

Note

Unless crds_update is True, the $oref shell variable must be set to the directory of STIS standard pipeline reference files.

Note

Note that the all_week_flag and allow options have not been thoroughly tested.

stis_cti.archive_dark_query()

stis_cti.archive_dark_query(files, anneal_data=None, min_exptime=None, verbose=False, print_results=True)

Queries the MAST archive to determine which component darks are needed to generate a CTI-corrected super-dark.

Parameters:
  • files – list of str, str Science files to re-reduce (or search string).

  • anneal_data – Previously saved anneal boundary data, as restored from a Pickle file.

  • min_exptime – float or None Minimum exposure time of component darks (in seconds) [default=960]

  • verbose – bool Print more information about matching annealing periods.

  • print_url – bool Print data retrieval URL [default=Truee]

Returns:

list of matching dark rootnames

stis_cti.viable_ccd_file()

stis_cti.viable_ccd_file(file, earliest_date_allowed=None, amplifiers_allowed=None, gains_allowed=None, offsts_allowed=None)
Parameters:
  • earliest_date_allowed (datetime.datetime object (default=2009-May-01 00:00:00 UTC)) – Beginning datetime allowed.

  • amplifiers_allowed (list of strings (default=['D'])) – CCDAMP values allowed.

  • gains_allowed (list of ints (default=[1,4])) – CCDGAIN values allowed.

  • offsts_allowed (list of ints (default=[3])) – CCDOFFST values allowed

Returns:

bool – Run stis_cti.stis_cti() on the file?

stis_cti.custom_superdark_info()

stis_cti.custom_superdark_info()

Prints informative text on manually applying the CTI-correction and creating custom super-darks.

stis_cti.StisPixCteCorr()

Runs the perturbative part of the correction on a bias-corrected data file.

stis_cti.StisPixCteCorr()

Functions to apply pixel-based CTE correction to STIS 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

Note

  • This code only works for STIS/CCD but can be modified to work on other detectors.

  • It was developed for use with full-frame GAIN={1,4} 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.

  • This code also does not account for second-exposure effect.

  • Multi-threading support was not implemented in this version.

Optional preprocessing for nonstandard FLT input:

If you are not using a fully calibrated FLT image as input, you might also need to do one or more of the following before running the task:

  • Convert image to unit of electrons.

  • For combined image (e.g., superdark), set noise_model to 0.

  • Primary FITS header (EXT 0) must have these keywords populated:
    • ROOTNAME

    • INSTRUME (must be STIS)

    • DETECTOR (must be CCD)

    • NEXTEND (number of extensions = 3 * number of image sets)

    • CCDAMP (ABCD, AD, BC, A, B, C, or D)

    • TEXPSTRT

    • ATODGAIN

  • SCI FITS header must have these keywords populated:
    • EXTNAME (must be SCI)

    • EXTVER (1 or greater)

  • ERR FITS header must have these keywords populated:
    • EXTNAME (must be ERR)

    • EXTVER (1 or greater)

  • DQ FITS header must have these keywords populated:
    • EXTNAME (must be DQ)

    • EXTVER (1 or greater)

Example:

To correct a set of STIS FLT images, with one new CTE-corrected image for each input.

>>> from stistools import StisPixCteCorr
>>> StisPixCteCorr.CteCorr('o*q_flt.fits')
References: