lsst.ip.isr  21.0.0-10-g17396bd+5e1057a006
Public Member Functions | Public Attributes | List of all members
lsst.ip.isr.calibType.IsrProvenance Class Reference
Inheritance diagram for lsst.ip.isr.calibType.IsrProvenance:
lsst.ip.isr.calibType.IsrCalib

Public Member Functions

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

Public Attributes

 calibType
 
 dimensions
 
 dataIdList
 
 requiredAttributes
 
 log
 

Detailed Description

Class for the provenance of data used to construct calibration.

Provenance is not really a calibration, but we would like to
record this when constructing the calibration, and it provides an
example of the base calibration class.

Parameters
----------
instrument : `str`, optional
    Name of the instrument the data was taken with.
calibType : `str`, optional
    Type of calibration this provenance was generated for.
detectorName : `str`, optional
    Name of the detector this calibration is for.
detectorSerial : `str`, optional
    Identifier for the detector.

Definition at line 570 of file calibType.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.ip.isr.calibType.IsrProvenance.__init__ (   self,
  calibType = "unknown",
**  kwargs 
)

Definition at line 591 of file calibType.py.

Member Function Documentation

◆ __eq__()

def lsst.ip.isr.calibType.IsrProvenance.__eq__ (   self,
  other 
)
Calibration equivalence.

Subclasses will need to check specific sub-properties.  The
default is only to check common entries.

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

Definition at line 604 of file calibType.py.

◆ __str__()

def lsst.ip.isr.calibType.IsrProvenance.__str__ (   self)

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

Definition at line 601 of file calibType.py.

◆ apply()

def 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 549 of file calibType.py.

◆ calibInfoFromDict()

def 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 229 of file calibType.py.

◆ fromDataIds()

def lsst.ip.isr.calibType.IsrProvenance.fromDataIds (   self,
  dataIdList 
)
Update provenance from dataId List.

Parameters
----------
dataIdList : `list` [`lsst.daf.butler.DataId`]
    List of dataIds used in generating this calibration.

Definition at line 621 of file calibType.py.

◆ fromDetector()

def lsst.ip.isr.calibType.IsrCalib.fromDetector (   self,
  detector 
)
inherited
Modify the calibration parameters to match the supplied detector.

Parameters
----------
detector : `lsst.afw.cameraGeom.Detector`
    Detector to use to set parameters from.

Raises
------
NotImplementedError
    This needs to be implemented by subclasses for each
    calibration type.

Reimplemented in lsst.ip.isr.linearize.Linearizer.

Definition at line 432 of file calibType.py.

◆ fromDict() [1/2]

def lsst.ip.isr.calibType.IsrProvenance.fromDict (   cls,
  dictionary 
)
Construct provenance from a dictionary.

Parameters
----------
dictionary : `dict`
    Dictionary of provenance parameters.

Returns
-------
provenance : `lsst.ip.isr.IsrProvenance`
    The provenance defined in the tables.

Definition at line 672 of file calibType.py.

◆ fromDict() [2/2]

def lsst.ip.isr.calibType.IsrCalib.fromDict (   cls,
  dictionary,
**  kwargs 
)
inherited
Construct a calibration from a dictionary of properties.

Must be implemented by the specific calibration subclasses.

Parameters
----------
dictionary : `dict`
    Dictionary of properties.
kwargs : `dict` or collections.abc.Mapping`, optional
    Set of key=value options.

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

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

Definition at line 449 of file calibType.py.

◆ fromTable() [1/2]

def lsst.ip.isr.calibType.IsrProvenance.fromTable (   cls,
  tableList 
)
Construct provenance from table list.

Parameters
----------
tableList : `list` [`lsst.afw.table.Table`]
    List of tables to construct the provenance from.

Returns
-------
provenance : `lsst.ip.isr.IsrProvenance`
    The provenance defined in the tables.

Definition at line 636 of file calibType.py.

◆ fromTable() [2/2]

def lsst.ip.isr.calibType.IsrCalib.fromTable (   cls,
  tableList,
**  kwargs 
)
inherited
Construct a calibration from a dictionary of properties.

Must be implemented by the specific calibration subclasses.

Parameters
----------
tableList : `list` [`lsst.afw.table.Table`]
    List of tables of properties.
kwargs : `dict` or collections.abc.Mapping`, optional
    Set of key=value options.

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

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

Definition at line 492 of file calibType.py.

◆ getMetadata()

def 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 114 of file calibType.py.

◆ readFits()

def 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 370 of file calibType.py.

◆ readText()

def 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 284 of file calibType.py.

◆ requiredAttributes() [1/2]

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

Definition at line 107 of file calibType.py.

◆ requiredAttributes() [2/2]

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

Definition at line 111 of file calibType.py.

◆ setMetadata()

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

Definition at line 126 of file calibType.py.

◆ toDict()

def lsst.ip.isr.calibType.IsrProvenance.toDict (   self)
Return a dictionary containing the provenance information.

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

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

Definition at line 701 of file calibType.py.

◆ toTable()

def lsst.ip.isr.calibType.IsrProvenance.toTable (   self)
Return a list of tables containing the provenance.

This seems inefficient and slow, so this may not be the best
way to store the data.

Returns
-------
tableList : `list` [`lsst.afw.table.Table`]
    List of tables containing the provenance information

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

Definition at line 725 of file calibType.py.

◆ updateMetadata() [1/2]

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

Definition at line 148 of file calibType.py.

◆ updateMetadata() [2/2]

def lsst.ip.isr.calibType.IsrProvenance.updateMetadata (   self,
  setDate = False,
**  kwargs 
)
Update calibration metadata.

Parameters
----------
setDate : `bool, optional
    Update the CALIBDATE fields in the metadata to the current
    time. Defaults to False.
kwargs : `dict` or `collections.abc.Mapping`, optional
    Other keyword parameters to set in the metadata.

Definition at line 607 of file calibType.py.

◆ validate()

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

Definition at line 534 of file calibType.py.

◆ writeFits()

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

Definition at line 408 of file calibType.py.

◆ writeText()

def 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 316 of file calibType.py.

Member Data Documentation

◆ calibType

lsst.ip.isr.calibType.IsrProvenance.calibType

Definition at line 593 of file calibType.py.

◆ dataIdList

lsst.ip.isr.calibType.IsrProvenance.dataIdList

Definition at line 595 of file calibType.py.

◆ dimensions

lsst.ip.isr.calibType.IsrProvenance.dimensions

Definition at line 594 of file calibType.py.

◆ log

lsst.ip.isr.calibType.IsrCalib.log
inherited

Definition at line 82 of file calibType.py.

◆ requiredAttributes

lsst.ip.isr.calibType.IsrCalib.requiredAttributes
inherited

Definition at line 77 of file calibType.py.


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