GainCorrection¶
- class lsst.ip.isr.GainCorrection(ampNames=[], gainAdjustments=[], **kwargs)¶
Bases:
IsrCalibGain correction parameters.
- Parameters:
Attributes Summary
Methods Summary
apply(target)Method to apply the calibration to the target object.
calibInfoFromDict(dictionary)Handle common keywords.
correctGains(gains[, exposure])Correct a dictionary of gains (in place).
determineCalibClass(metadata, message)Attempt to find calibration class in metadata.
fromDetector(detector)Modify the calibration parameters to match the supplied detector.
fromDict(dictionary)Construct a GainCorrection from a dictionary of properties.
fromTable(tableList)Construct a calibration from a list of tables.
Retrieve metadata associated with this calibration.
readFits(filename, **kwargs)Read calibration data from a FITS file.
readText(filename, **kwargs)Read calibration representation from a yaml/ecsv file.
setMetadata(metadata)Store a copy of the supplied metadata with this calibration.
setParameters(*[, ampNames, gainAdjustments])Set the parameters for the gain correction model.
toDict()Return a dictionary containing the calibration properties.
toTable()Construct a list of table(s) containing the GainCorrection data.
updateMetadata([camera, detector, ...])Update metadata keywords with new values.
updateMetadataFromExposures(exposures)Extract and unify metadata information.
validate([other])Validate that this calibration is defined and can be used.
writeFits(filename)Write calibration data to a FITS file.
writeText(filename[, format])Write the calibration data to a text file.
Attributes Documentation
- metadata¶
- requiredAttributes¶
Methods Documentation
- apply(target)¶
Method to apply the calibration to the target object.
- calibInfoFromDict(dictionary)¶
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
dictorlsst.daf.base.PropertyList Source for the common keywords.
- dictionary
- Raises:
- RuntimeError
Raised if the dictionary does not match the expected OBSTYPE.
- correctGains(gains, exposure=None)¶
Correct a dictionary of gains (in place).
- classmethod determineCalibClass(metadata, message)¶
Attempt to find calibration class in metadata.
- Parameters:
- Returns:
- calibClass
object The class to use to read the file contents. Should be an
lsst.ip.isr.IsrCalibsubclass.
- calibClass
- Raises:
- ValueError
Raised if the resulting calibClass is the base
lsst.ip.isr.IsrClass(which does not implement the content methods).
- fromDetector(detector)¶
Modify the calibration parameters to match the supplied detector.
- Parameters:
- detector
lsst.afw.cameraGeom.Detector Detector to use to set parameters from.
- detector
- Raises:
- NotImplementedError
Raised if not implemented by a subclass. This needs to be implemented by subclasses for each calibration type.
- classmethod fromDict(dictionary)¶
Construct a GainCorrection from a dictionary of properties.
- Parameters:
- dictionary
dict Dictionary of properties.
- dictionary
- Returns:
- calib
lsst.ip.isr.GainCorrection Constructed calibration.
- calib
- classmethod fromTable(tableList)¶
Construct a calibration from a list of tables.
- Parameters:
- tableList
list[astropy.table.Table] List of table(s) to use to construct the GainCorrection.
- tableList
- Returns:
- calib
lsst.ip.isr.GainCorrection The calibration defined in the table(s).
- calib
- getMetadata()¶
Retrieve metadata associated with this calibration.
- Returns:
- meta
lsst.daf.base.PropertyList Metadata. The returned
PropertyListcan be modified by the caller and the changes will be written to external files.
- meta
- classmethod readFits(filename, **kwargs)¶
Read calibration data from a FITS file.
- Parameters:
- Returns:
- calib
lsst.ip.isr.IsrCalib Calibration contained within the file.
- calib
- classmethod readText(filename, **kwargs)¶
Read calibration representation from a yaml/ecsv file.
- Parameters:
- Returns:
- calib
IsrCalibType Calibration class.
- calib
- Raises:
- RuntimeError
Raised if the filename does not end in “.ecsv” or “.yaml”.
- setMetadata(metadata)¶
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.
- metadata
- setParameters(*, ampNames=[], gainAdjustments=[])¶
Set the parameters for the gain correction model.
- toDict()¶
Return a dictionary containing the calibration properties.
- Returns:
- dictionary
dict Dictionary of properties.
- dictionary
- toTable()¶
Construct a list of table(s) containing the GainCorrection data.
- Returns:
- tableList
list[astropy.table.Table] List of tables containing the GainCorrection information.
- tableList
- updateMetadata(camera=None, detector=None, filterName=None, setCalibId=False, setCalibInfo=False, setDate=False, **kwargs)¶
Update metadata keywords with new values.
- Parameters:
- camera
lsst.afw.cameraGeom.Camera, optional Reference camera to use to set
_instrumentfield.- 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
_calibIdfield from other fields.- setCalibInfo
bool, optional Set calibration parameters from metadata.
- setDate
bool, optional Ensure the metadata
CALIBDATEfields are set to the current datetime.- kwargs
dictorcollections.abc.Mapping, optional Set of
key=valuepairs to assign to the metadata.
- camera
- updateMetadataFromExposures(exposures)¶
Extract and unify metadata information.
- Parameters:
- exposures
list Exposures or other calibrations to scan.
- exposures
- validate(other=None)¶
Validate that this calibration is defined and can be used.
- writeFits(filename)¶
Write calibration data to a FITS file.
- writeText(filename, format='auto')¶
Write the calibration data to a text file.
- Parameters:
- 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.
- used
- 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.