lsst.ip.isr gf5f1c85443+e8e946ae08
Loading...
Searching...
No Matches
lsst.ip.isr.deferredCharge.DeferredChargeCalib Class Reference
Inheritance diagram for lsst.ip.isr.deferredCharge.DeferredChargeCalib:
lsst.ip.isr.calibType.IsrCalib

Public Member Functions

 __init__ (self, **kwargs)
 
 fromDetector (self, detector)
 
 fromDict (cls, dictionary)
 
 toDict (self)
 
 fromTable (cls, tableList)
 
 toTable (self)
 
 requiredAttributes (self)
 
 requiredAttributes (self, value)
 
 __str__ (self)
 
 __eq__ (self, other)
 
 metadata (self)
 
 getMetadata (self)
 
 setMetadata (self, metadata)
 
 updateMetadata (self, camera=None, detector=None, filterName=None, setCalibId=False, setCalibInfo=False, setDate=False, **kwargs)
 
 updateMetadataFromExposures (self, exposures)
 
 calibInfoFromDict (self, dictionary)
 
 determineCalibClass (cls, metadata, message)
 
 readText (cls, filename, **kwargs)
 
 writeText (self, filename, format="auto")
 
 readFits (cls, filename, **kwargs)
 
 writeFits (self, filename)
 
 validate (self, other=None)
 
 apply (self, target)
 

Public Attributes

dict driftScale = {}
 
dict decayTime = {}
 
dict globalCti = {}
 
dict serialTraps = {}
 
dict signals = {}
 
dict inputGain = {}
 
dict serialEper = {}
 
dict parallelEper = {}
 
dict serialCtiTurnoff = {}
 
dict parallelCtiTurnoff = {}
 
dict serialCtiTurnoffSamplingErr = {}
 
dict parallelCtiTurnoffSamplingErr = {}
 
 requiredAttributes = set(["_OBSTYPE", "_SCHEMA", "_VERSION"])
 
 log = log if log else logging.getLogger(__name__)
 

Protected Attributes

 _instrument = None
 
 _raftName = None
 
 _slotName = None
 
 _detectorName = None
 
 _detectorSerial = None
 
 _detectorId = None
 
 _filter = None
 
str _calibId = None
 
 _seqfile = None
 
 _seqname = None
 
 _seqcksum = None
 
 _metadata = PropertyList()
 
 _requiredAttributes
 

Static Protected Attributes

str _OBSTYPE = "generic"
 
str _SCHEMA = "NO SCHEMA"
 
int _VERSION = 0
 

Detailed Description

Calibration containing deferred charge/CTI parameters.

This includes, parameters from Snyder+2021 and exstimates of
the serial and parallel CTI using the extended pixel edge
response (EPER) method (also defined in Snyder+2021).

Parameters
----------
**kwargs :
    Additional parameters to pass to parent constructor.

Notes
-----
The charge transfer inefficiency attributes stored are:

driftScale : `dict` [`str`, `float`]
    A dictionary, keyed by amplifier name, of the local electronic
    offset drift scale parameter, A_L in Snyder+2021.
decayTime : `dict` [`str`, `float`]
    A dictionary, keyed by amplifier name, of the local electronic
    offset decay time, \tau_L in Snyder+2021.
globalCti : `dict` [`str`, `float`]
    A dictionary, keyed by amplifier name, of the mean global CTI
    paramter, b in Snyder+2021.
serialTraps : `dict` [`str`, `lsst.ip.isr.SerialTrap`]
    A dictionary, keyed by amplifier name, containing a single
    serial trap for each amplifier.
signals : `dict` [`str`, `np.ndarray`]
    A dictionary, keyed by amplifier name, of the mean signal
    level for each input measurement.
inputGain : `dict` [`str`, `float`]
    A dictionary, keyed by amplifier name of the input gain used
    to calculate the overscan statistics and produce this calib.
serialEper : `dict` [`str`, `np.ndarray`, `float`]
    A dictionary, keyed by amplifier name, of the serial EPER
    estimator of serial CTI, given in a list for each input
    measurement.
parallelEper : `dict` [`str`, `np.ndarray`, `float`]
    A dictionary, keyed by amplifier name, of the parallel
    EPER estimator of parallel CTI, given in a list for each
    input measurement.
serialCtiTurnoff : `dict` [`str`, `float`]
    A dictionary, keyed by amplifier name, of the serial CTI
    turnoff (unit: electrons).
parallelCtiTurnoff : `dict` [`str`, `float`]
    A dictionary, keyed by amplifier name, of the parallel CTI
    turnoff (unit: electrons).
serialCtiTurnoffSamplingErr : `dict` [`str`, `float`]
    A dictionary, keyed by amplifier name, of the serial CTI
    turnoff sampling error (unit: electrons).
parallelCtiTurnoffSamplingErr : `dict` [`str`, `float`]
    A dictionary, keyed by amplifier name, of the parallel CTI
    turnoff sampling error (unit: electrons).

Also, the values contained in this calibration are all derived
from and image and overscan in units of electron as these are
the most natural units in which to compute deferred charge.
However, this means the the user should supply a reliable set
of gains when computing the CTI statistics during ISR.

Version 1.1 deprecates the USEGAINS attribute and standardizes
    everything to electron units.
Version 1.2 adds the ``signal``, ``serialEper``, ``parallelEper``,
    ``serialCtiTurnoff``, ``parallelCtiTurnoff``,
    ``serialCtiTurnoffSamplingErr``, ``parallelCtiTurnoffSamplingErr``
    attributes.
Version 1.3 adds the `inputGain` attribute.

Definition at line 724 of file deferredCharge.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.ip.isr.deferredCharge.DeferredChargeCalib.__init__ ( self,
** kwargs )

Definition at line 797 of file deferredCharge.py.

Member Function Documentation

◆ __eq__()

lsst.ip.isr.calibType.IsrCalib.__eq__ ( self,
other )
inherited
Calibration equivalence.

Running ``calib.log.setLevel(0)`` enables debug statements to
identify problematic fields.

Definition at line 105 of file calibType.py.

◆ __str__()

lsst.ip.isr.calibType.IsrCalib.__str__ ( self)
inherited

Definition at line 102 of file calibType.py.

◆ apply()

lsst.ip.isr.calibType.IsrCalib.apply ( self,
target )
inherited
Method to apply the calibration to the target object.

Parameters
----------
target : `object`
    Thing to validate against.

Returns
-------
valid : `bool`
    Returns true if the calibration was applied correctly.

Raises
------
NotImplementedError
    Raised if not implemented.

Definition at line 706 of file calibType.py.

◆ calibInfoFromDict()

lsst.ip.isr.calibType.IsrCalib.calibInfoFromDict ( self,
dictionary )
inherited
Handle common keywords.

This isn't an ideal solution, but until all calibrations
expect to find everything in the metadata, they still need to
search through dictionaries.

Parameters
----------
dictionary : `dict` or `lsst.daf.base.PropertyList`
    Source for the common keywords.

Raises
------
RuntimeError
    Raised if the dictionary does not match the expected OBSTYPE.

Definition at line 325 of file calibType.py.

◆ determineCalibClass()

lsst.ip.isr.calibType.IsrCalib.determineCalibClass ( cls,
metadata,
message )
inherited
Attempt to find calibration class in metadata.

Parameters
----------
metadata : `dict` or `lsst.daf.base.PropertyList`
    Metadata possibly containing a calibration class entry.
message : `str`
    Message to include in any errors.

Returns
-------
calibClass : `object`
    The class to use to read the file contents.  Should be an
    `lsst.ip.isr.IsrCalib` subclass.

Raises
------
ValueError
    Raised if the resulting calibClass is the base
    `lsst.ip.isr.IsrClass` (which does not implement the
    content methods).

Definition at line 391 of file calibType.py.

◆ fromDetector()

lsst.ip.isr.deferredCharge.DeferredChargeCalib.fromDetector ( self,
detector )
Read metadata parameters from a detector.

Parameters
----------
detector : `lsst.afw.cameraGeom.detector`
    Input detector with parameters to use.

Returns
-------
calib : `lsst.ip.isr.Linearizer`
    The calibration constructed from the detector.

Reimplemented from lsst.ip.isr.calibType.IsrCalib.

Definition at line 827 of file deferredCharge.py.

◆ fromDict()

lsst.ip.isr.deferredCharge.DeferredChargeCalib.fromDict ( cls,
dictionary )
Construct a calibration from a dictionary of properties.

Parameters
----------
dictionary : `dict`
    Dictionary of properties.

Returns
-------
calib : `lsst.ip.isr.CalibType`
    Constructed calibration.

Raises
------
RuntimeError
    Raised if the supplied dictionary is for a different
    calibration.

Reimplemented from lsst.ip.isr.calibType.IsrCalib.

Definition at line 844 of file deferredCharge.py.

◆ fromTable()

lsst.ip.isr.deferredCharge.DeferredChargeCalib.fromTable ( cls,
tableList )
Construct calibration from a list of tables.

This method uses the ``fromDict`` method to create the
calibration, after constructing an appropriate dictionary from
the input tables.

Parameters
----------
tableList : `list` [`lsst.afw.table.Table`]
    List of tables to use to construct the CTI
    calibration.  Two tables are expected in this list, the
    first containing the per-amplifier CTI parameters, and the
    second containing the parameters for serial traps.

Returns
-------
calib : `lsst.ip.isr.DeferredChargeCalib`
    The calibration defined in the tables.

Raises
------
ValueError
    Raised if the trap type or trap coefficients are not
    defined properly.

Reimplemented from lsst.ip.isr.calibType.IsrCalib.

Definition at line 937 of file deferredCharge.py.

◆ getMetadata()

lsst.ip.isr.calibType.IsrCalib.getMetadata ( self)
inherited
Retrieve metadata associated with this calibration.

Returns
-------
meta : `lsst.daf.base.PropertyList`
    Metadata. The returned `~lsst.daf.base.PropertyList` can be
    modified by the caller and the changes will be written to
    external files.

Definition at line 174 of file calibType.py.

◆ metadata()

lsst.ip.isr.calibType.IsrCalib.metadata ( self)
inherited

Definition at line 171 of file calibType.py.

◆ readFits()

lsst.ip.isr.calibType.IsrCalib.readFits ( cls,
filename,
** kwargs )
inherited
Read calibration data from a FITS file.

Parameters
----------
filename : `str`
    Filename to read data from.
kwargs : `dict` or collections.abc.Mapping`, optional
    Set of key=value pairs to pass to the ``fromTable``
    method.

Returns
-------
calib : `lsst.ip.isr.IsrCalib`
    Calibration contained within the file.

Definition at line 517 of file calibType.py.

◆ readText()

lsst.ip.isr.calibType.IsrCalib.readText ( cls,
filename,
** kwargs )
inherited
Read calibration representation from a yaml/ecsv file.

Parameters
----------
filename : `str`
    Name of the file containing the calibration definition.
kwargs : `dict` or collections.abc.Mapping`, optional
    Set of key=value pairs to pass to the ``fromDict`` or
    ``fromTable`` methods.

Returns
-------
calib : `~lsst.ip.isr.IsrCalibType`
    Calibration class.

Raises
------
RuntimeError
    Raised if the filename does not end in ".ecsv" or ".yaml".

Definition at line 425 of file calibType.py.

◆ requiredAttributes() [1/2]

lsst.ip.isr.calibType.IsrCalib.requiredAttributes ( self)
inherited

Definition at line 162 of file calibType.py.

◆ requiredAttributes() [2/2]

lsst.ip.isr.calibType.IsrCalib.requiredAttributes ( self,
value )
inherited

Definition at line 166 of file calibType.py.

◆ setMetadata()

lsst.ip.isr.calibType.IsrCalib.setMetadata ( self,
metadata )
inherited
Store a copy of the supplied metadata with this calibration.

Parameters
----------
metadata : `lsst.daf.base.PropertyList`
    Metadata to associate with the calibration.  Will be copied and
    overwrite existing metadata.

Reimplemented in lsst.ip.isr.transmissionCurve.IntermediateTransmissionCurve.

Definition at line 186 of file calibType.py.

◆ toDict()

lsst.ip.isr.deferredCharge.DeferredChargeCalib.toDict ( self)
Return a dictionary containing the calibration properties.
The dictionary should be able to be round-tripped through
``fromDict``.

Returns
-------
dictionary : `dict`
    Dictionary of properties.

Reimplemented from lsst.ip.isr.calibType.IsrCalib.

Definition at line 899 of file deferredCharge.py.

◆ toTable()

lsst.ip.isr.deferredCharge.DeferredChargeCalib.toTable ( self)
Construct a list of tables containing the information in this
calibration.

The list of tables should create an identical calibration
after being passed to this class's fromTable method.

Returns
-------
tableList : `list` [`lsst.afw.table.Table`]
    List of tables containing the crosstalk calibration
    information.  Two tables are generated for this list, the
    first containing the per-amplifier CTI parameters, and the
    second containing the parameters for serial traps.

Reimplemented from lsst.ip.isr.calibType.IsrCalib.

Definition at line 1073 of file deferredCharge.py.

◆ updateMetadata()

lsst.ip.isr.calibType.IsrCalib.updateMetadata ( self,
camera = None,
detector = None,
filterName = None,
setCalibId = False,
setCalibInfo = False,
setDate = False,
** kwargs )
inherited
Update metadata keywords with new values.

Parameters
----------
camera : `lsst.afw.cameraGeom.Camera`, optional
    Reference camera to use to set ``_instrument`` field.
detector : `lsst.afw.cameraGeom.Detector`, optional
    Reference detector to use to set ``_detector*`` fields.
filterName : `str`, optional
    Filter name to assign to this calibration.
setCalibId : `bool`, optional
    Construct the ``_calibId`` field from other fields.
setCalibInfo : `bool`, optional
    Set calibration parameters from metadata.
setDate : `bool`, optional
    Ensure the metadata ``CALIBDATE`` fields are set to the current
    datetime.
kwargs : `dict` or `collections.abc.Mapping`, optional
    Set of ``key=value`` pairs to assign to the metadata.

Reimplemented in lsst.ip.isr.brighterFatterKernel.BrighterFatterKernel, lsst.ip.isr.calibType.IsrProvenance, lsst.ip.isr.crosstalk.CrosstalkCalib, lsst.ip.isr.electrostaticBrighterFatter.ElectrostaticBrighterFatterDistortionMatrix, lsst.ip.isr.linearize.Linearizer, lsst.ip.isr.photodiodeCorrection.PhotodiodeCorrection, and lsst.ip.isr.ptcDataset.PhotonTransferCurveDataset.

Definition at line 208 of file calibType.py.

◆ updateMetadataFromExposures()

lsst.ip.isr.calibType.IsrCalib.updateMetadataFromExposures ( self,
exposures )
inherited
Extract and unify metadata information.

Parameters
----------
exposures : `list`
    Exposures or other calibrations to scan.

Definition at line 294 of file calibType.py.

◆ validate()

lsst.ip.isr.calibType.IsrCalib.validate ( self,
other = None )
inherited
Validate that this calibration is defined and can be used.

Parameters
----------
other : `object`, optional
    Thing to validate against.

Returns
-------
valid : `bool`
    Returns true if the calibration is valid and appropriate.

Reimplemented in lsst.ip.isr.linearize.Linearizer, and lsst.ip.isr.photodiodeCorrection.PhotodiodeCorrection.

Definition at line 691 of file calibType.py.

◆ writeFits()

lsst.ip.isr.calibType.IsrCalib.writeFits ( self,
filename )
inherited
Write calibration data to a FITS file.

Parameters
----------
filename : `str`
    Filename to write data to.

Returns
-------
used : `str`
    The name of the file used to write the data.

Reimplemented in lsst.ip.isr.transmissionCurve.IntermediateTransmissionCurve.

Definition at line 565 of file calibType.py.

◆ writeText()

lsst.ip.isr.calibType.IsrCalib.writeText ( self,
filename,
format = "auto" )
inherited
Write the calibration data to a text file.

Parameters
----------
filename : `str`
    Name of the file to write.
format : `str`
    Format to write the file as.  Supported values are:
        ``"auto"`` : Determine filetype from filename.
        ``"yaml"`` : Write as yaml.
        ``"ecsv"`` : Write as ecsv.

Returns
-------
used : `str`
    The name of the file used to write the data.  This may
    differ from the input if the format is explicitly chosen.

Raises
------
RuntimeError
    Raised if filename does not end in a known extension, or
    if all information cannot be written.

Notes
-----
The file is written to YAML/ECSV format and will include any
associated metadata.

Definition at line 463 of file calibType.py.

Member Data Documentation

◆ _calibId

str lsst.ip.isr.calibType.IsrCalib._calibId = None
protectedinherited

Definition at line 76 of file calibType.py.

◆ _detectorId

lsst.ip.isr.calibType.IsrCalib._detectorId = None
protectedinherited

Definition at line 74 of file calibType.py.

◆ _detectorName

lsst.ip.isr.calibType.IsrCalib._detectorName = None
protectedinherited

Definition at line 72 of file calibType.py.

◆ _detectorSerial

lsst.ip.isr.calibType.IsrCalib._detectorSerial = None
protectedinherited

Definition at line 73 of file calibType.py.

◆ _filter

lsst.ip.isr.calibType.IsrCalib._filter = None
protectedinherited

Definition at line 75 of file calibType.py.

◆ _instrument

lsst.ip.isr.calibType.IsrCalib._instrument = None
protectedinherited

Definition at line 69 of file calibType.py.

◆ _metadata

lsst.ip.isr.calibType.IsrCalib._metadata = PropertyList()
protectedinherited

Definition at line 80 of file calibType.py.

◆ _OBSTYPE

str lsst.ip.isr.calibType.IsrCalib._OBSTYPE = "generic"
staticprotectedinherited

Definition at line 64 of file calibType.py.

◆ _raftName

lsst.ip.isr.calibType.IsrCalib._raftName = None
protectedinherited

Definition at line 70 of file calibType.py.

◆ _requiredAttributes

lsst.ip.isr.calibType.IsrCalib._requiredAttributes
protectedinherited

Definition at line 115 of file calibType.py.

◆ _SCHEMA

str lsst.ip.isr.calibType.IsrCalib._SCHEMA = "NO SCHEMA"
staticprotectedinherited

Definition at line 65 of file calibType.py.

◆ _seqcksum

lsst.ip.isr.calibType.IsrCalib._seqcksum = None
protectedinherited

Definition at line 79 of file calibType.py.

◆ _seqfile

lsst.ip.isr.calibType.IsrCalib._seqfile = None
protectedinherited

Definition at line 77 of file calibType.py.

◆ _seqname

lsst.ip.isr.calibType.IsrCalib._seqname = None
protectedinherited

Definition at line 78 of file calibType.py.

◆ _slotName

lsst.ip.isr.calibType.IsrCalib._slotName = None
protectedinherited

Definition at line 71 of file calibType.py.

◆ _VERSION

int lsst.ip.isr.calibType.IsrCalib._VERSION = 0
staticprotectedinherited

Definition at line 66 of file calibType.py.

◆ decayTime

dict lsst.ip.isr.deferredCharge.DeferredChargeCalib.decayTime = {}

Definition at line 799 of file deferredCharge.py.

◆ driftScale

dict lsst.ip.isr.deferredCharge.DeferredChargeCalib.driftScale = {}

Definition at line 798 of file deferredCharge.py.

◆ globalCti

dict lsst.ip.isr.deferredCharge.DeferredChargeCalib.globalCti = {}

Definition at line 800 of file deferredCharge.py.

◆ inputGain

dict lsst.ip.isr.deferredCharge.DeferredChargeCalib.inputGain = {}

Definition at line 803 of file deferredCharge.py.

◆ log

lsst.ip.isr.calibType.IsrCalib.log = log if log else logging.getLogger(__name__)
inherited

Definition at line 96 of file calibType.py.

◆ parallelCtiTurnoff

dict lsst.ip.isr.deferredCharge.DeferredChargeCalib.parallelCtiTurnoff = {}

Definition at line 807 of file deferredCharge.py.

◆ parallelCtiTurnoffSamplingErr

dict lsst.ip.isr.deferredCharge.DeferredChargeCalib.parallelCtiTurnoffSamplingErr = {}

Definition at line 809 of file deferredCharge.py.

◆ parallelEper

dict lsst.ip.isr.deferredCharge.DeferredChargeCalib.parallelEper = {}

Definition at line 805 of file deferredCharge.py.

◆ requiredAttributes

lsst.ip.isr.calibType.IsrCalib.requiredAttributes = set(["_OBSTYPE", "_SCHEMA", "_VERSION"])
inherited

Definition at line 90 of file calibType.py.

◆ serialCtiTurnoff

dict lsst.ip.isr.deferredCharge.DeferredChargeCalib.serialCtiTurnoff = {}

Definition at line 806 of file deferredCharge.py.

◆ serialCtiTurnoffSamplingErr

dict lsst.ip.isr.deferredCharge.DeferredChargeCalib.serialCtiTurnoffSamplingErr = {}

Definition at line 808 of file deferredCharge.py.

◆ serialEper

dict lsst.ip.isr.deferredCharge.DeferredChargeCalib.serialEper = {}

Definition at line 804 of file deferredCharge.py.

◆ serialTraps

dict lsst.ip.isr.deferredCharge.DeferredChargeCalib.serialTraps = {}

Definition at line 801 of file deferredCharge.py.

◆ signals

dict lsst.ip.isr.deferredCharge.DeferredChargeCalib.signals = {}

Definition at line 802 of file deferredCharge.py.


The documentation for this class was generated from the following file: