LSST Applications g0000d66e7c+ce78115f25,g0485b4d2cb+c8d56b10d4,g0fba68d861+fcbc158cd0,g1ec0fe41b4+3e153770da,g1fd858c14a+57ee4e1624,g2440f9efcc+8c5ae1fdc5,g35bb328faa+8c5ae1fdc5,g4d2262a081+1e04cc5a47,g53246c7159+8c5ae1fdc5,g55585698de+7a33f081c8,g56a49b3a55+b9d5cac73f,g60b5630c4e+7a33f081c8,g67b6fd64d1+035c836e50,g78460c75b0+7e33a9eb6d,g786e29fd12+668abc6043,g7ac00fbb6c+b938379438,g8352419a5c+8c5ae1fdc5,g8852436030+5ba78a36c9,g89139ef638+035c836e50,g94187f82dc+7a33f081c8,g989de1cb63+035c836e50,g9d31334357+7a33f081c8,g9f33ca652e+e34120223a,ga815be3f0b+911242149a,gabe3b4be73+8856018cbb,gabf8522325+21619da9f3,gb1101e3267+0b44b44611,gb89ab40317+035c836e50,gc91f06edcd+e59fb3c9bc,gcf25f946ba+5ba78a36c9,gd6cbbdb0b4+958adf5c1f,gde0f65d7ad+6c98dcc924,ge278dab8ac+83c63f4893,ge410e46f29+035c836e50,gf35d7ec915+97dd712d81,gf5e32f922b+8c5ae1fdc5,gf67bdafdda+035c836e50,gf6800124b1+1714c04baa,w.2025.19
LSST Data Management Base Package
|
Public Member Functions | |
__init__ (self, table=None, **kwargs) | |
updateMetadata (self, setDate=False, **kwargs) | |
fromDetector (self, detector) | |
fromDict (cls, dictionary) | |
toDict (self) | |
fromTable (cls, tableList) | |
toTable (self) | |
getLinearityTypeByName (self, linearityTypeName) | |
validate (self, detector=None, amplifier=None) | |
applyLinearity (self, image, detector=None, log=None, gains=None) | |
requiredAttributes (self) | |
requiredAttributes (self, value) | |
__str__ (self) | |
__eq__ (self, other) | |
metadata (self) | |
getMetadata (self) | |
setMetadata (self, metadata) | |
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) | |
apply (self, target) | |
Public Attributes | |
bool | hasLinearity = False |
bool | override = False |
ampNames = list() | |
linearityCoeffs = dict() | |
linearityType = dict() | |
linearityBBox = dict() | |
fitParams = dict() | |
fitParamsErr = dict() | |
fitChiSq = dict() | |
fitResiduals = dict() | |
fitResidualsSigmaMad = dict() | |
linearFit = dict() | |
linearityTurnoff = dict() | |
linearityMaxSignal = dict() | |
tableData = None | |
str | linearityUnits = 'adu' |
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 |
Parameter set for linearization. These parameters are included in `lsst.afw.cameraGeom.Amplifier`, but should be accessible externally to allow for testing. Parameters ---------- table : `numpy.array`, optional Lookup table; a 2-dimensional array of floats: - one row for each row index (value of coef[0] in the amplifier) - one column for each image value To avoid copying the table the last index should vary fastest (numpy default "C" order) detector : `lsst.afw.cameraGeom.Detector`, optional Detector object. Passed to self.fromDetector() on init. log : `logging.Logger`, optional Logger to handle messages. kwargs : `dict`, optional Other keyword arguments to pass to the parent init. Raises ------ RuntimeError Raised if the supplied table is not 2D, or if the table has fewer columns than rows (indicating that the indices are swapped). Notes ----- The linearizer attributes stored are: hasLinearity : `bool` Whether a linearity correction is defined for this detector. override : `bool` Whether the detector parameters should be overridden. ampNames : `list` [`str`] List of amplifier names to correct. linearityCoeffs : `dict` [`str`, `numpy.array`] Coefficients to use in correction. Indexed by amplifier names. The format of the array depends on the type of correction to apply. linearityType : `dict` [`str`, `str`] Type of correction to use, indexed by amplifier names. linearityBBox : `dict` [`str`, `lsst.geom.Box2I`] Bounding box the correction is valid over, indexed by amplifier names. fitParams : `dict` [`str`, `numpy.array`], optional Linearity fit parameters used to construct the correction coefficients, indexed as above. fitParamsErr : `dict` [`str`, `numpy.array`], optional Uncertainty values of the linearity fit parameters used to construct the correction coefficients, indexed as above. fitChiSq : `dict` [`str`, `float`], optional Chi-squared value of the linearity fit, indexed as above. fitResiduals : `dict` [`str`, `numpy.array`], optional Residuals of the fit, indexed as above. Used for calculating photdiode corrections fitResidualsSigmaMad : `dict` [`str`, `float`], optional Robust median-absolute-deviation of fit residuals, scaled by the signal level. linearFit : The linear fit to the low flux region of the curve. [intercept, slope]. tableData : `numpy.array`, optional Lookup table data for the linearity correction. Version 1.4 adds ``linearityTurnoff`` and ``linearityMaxSignal``.
Definition at line 40 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.__init__ | ( | self, | |
table = None, | |||
** | kwargs ) |
Definition at line 113 of file linearize.py.
|
inherited |
Calibration equivalence. Running ``calib.log.setLevel(0)`` enables debug statements to identify problematic fields.
Definition at line 103 of file calibType.py.
|
inherited |
Definition at line 100 of file calibType.py.
|
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 685 of file calibType.py.
lsst.ip.isr.linearize.Linearizer.applyLinearity | ( | self, | |
image, | |||
detector = None, | |||
log = None, | |||
gains = None ) |
Apply the linearity to an image. If the linearity parameters are populated, use those, otherwise use the values from the detector. Parameters ---------- image : `~lsst.afw.image.image` Image to correct. detector : `~lsst.afw.cameraGeom.detector`, optional Detector to use to determine exposure trimmed state. If supplied, but no other linearity information is provided by the calibration, then the static solution stored in the detector will be used. log : `~logging.Logger`, optional Log object to use for logging. gains : `dict` [`str`, `float`], optional Dictionary of amp name to gain. If this is provided then linearity terms will be converted from adu to electrons. Only used for Spline linearity corrections.
Definition at line 497 of file linearize.py.
|
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 322 of file calibType.py.
|
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 388 of file calibType.py.
lsst.ip.isr.linearize.Linearizer.fromDetector | ( | self, | |
detector ) |
Read linearity 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 170 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.fromDict | ( | cls, | |
dictionary ) |
Construct a calibration from a dictionary of properties Parameters ---------- dictionary : `dict` Dictionary of properties Returns ------- calib : `lsst.ip.isr.Linearity` Constructed calibration. Raises ------ RuntimeError Raised if the supplied dictionary is for a different calibration.
Reimplemented from lsst.ip.isr.calibType.IsrCalib.
Definition at line 202 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.fromTable | ( | cls, | |
tableList ) |
Read linearity from a FITS file. This method uses the `fromDict` method to create the calibration, after constructing an appropriate dictionary from the input tables. Parameters ---------- tableList : `list` [`astropy.table.Table`] afwTable read from input file name. Returns ------- linearity : `~lsst.ip.isr.linearize.Linearizer`` Linearity parameters. Notes ----- The method reads a FITS file with 1 or 2 extensions. The metadata is read from the header of extension 1, which must exist. Then the table is loaded, and the ['AMPLIFIER_NAME', 'TYPE', 'COEFFS', 'BBOX_X0', 'BBOX_Y0', 'BBOX_DX', 'BBOX_DY'] columns are read and used to set each dictionary by looping over rows. Extension 2 is then attempted to read in the try block (which only exists for lookup tables). It has a column named 'LOOKUP_VALUES' that contains a vector of the lookup entries in each row.
Reimplemented from lsst.ip.isr.calibType.IsrCalib.
Definition at line 300 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.getLinearityTypeByName | ( | self, | |
linearityTypeName ) |
Determine the linearity class to use from the type name. Parameters ---------- linearityTypeName : str String name of the linearity type that is needed. Returns ------- linearityType : `~lsst.ip.isr.linearize.LinearizeBase` The appropriate linearity class to use. If no matching class is found, `None` is returned.
Definition at line 413 of file linearize.py.
|
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 171 of file calibType.py.
|
inherited |
Definition at line 168 of file calibType.py.
|
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 505 of file calibType.py.
|
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 418 of file calibType.py.
|
inherited |
Definition at line 159 of file calibType.py.
|
inherited |
Definition at line 163 of file calibType.py.
|
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 183 of file calibType.py.
lsst.ip.isr.linearize.Linearizer.toDict | ( | self | ) |
Return linearity parameters as a dict. Returns ------- outDict : `dict`:
Reimplemented from lsst.ip.isr.calibType.IsrCalib.
Definition at line 263 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.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` [`astropy.table.Table`] List of tables containing the linearity calibration information.
Reimplemented from lsst.ip.isr.calibType.IsrCalib.
Definition at line 373 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.updateMetadata | ( | self, | |
setDate = False, | |||
** | kwargs ) |
Update metadata keywords with new values. This calls the base class's method after ensuring the required calibration keywords will be saved. Parameters ---------- setDate : `bool`, optional Update the CALIBDATE fields in the metadata to the current time. Defaults to False. kwargs : Other keyword parameters to set in the metadata.
Reimplemented from lsst.ip.isr.calibType.IsrCalib.
Definition at line 149 of file linearize.py.
|
inherited |
Extract and unify metadata information. Parameters ---------- exposures : `list` Exposures or other calibrations to scan.
Definition at line 291 of file calibType.py.
lsst.ip.isr.linearize.Linearizer.validate | ( | self, | |
detector = None, | |||
amplifier = None ) |
Validate linearity for a detector/amplifier. Parameters ---------- detector : `lsst.afw.cameraGeom.Detector`, optional Detector to validate, along with its amplifiers. amplifier : `lsst.afw.cameraGeom.Amplifier`, optional Single amplifier to validate. Raises ------ RuntimeError Raised if there is a mismatch in linearity parameters, and the cameraGeom parameters are not being overridden.
Reimplemented from lsst.ip.isr.calibType.IsrCalib.
Definition at line 437 of file linearize.py.
|
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 544 of file calibType.py.
|
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 451 of file calibType.py.
|
protectedinherited |
Definition at line 74 of file calibType.py.
|
protectedinherited |
Definition at line 72 of file calibType.py.
|
protectedinherited |
Definition at line 70 of file calibType.py.
|
protectedinherited |
Definition at line 71 of file calibType.py.
|
protectedinherited |
Definition at line 73 of file calibType.py.
|
protectedinherited |
Definition at line 67 of file calibType.py.
|
protectedinherited |
Definition at line 78 of file calibType.py.
|
staticprotectedinherited |
Definition at line 62 of file calibType.py.
|
protectedinherited |
Definition at line 68 of file calibType.py.
|
protectedinherited |
Definition at line 113 of file calibType.py.
|
staticprotectedinherited |
Definition at line 63 of file calibType.py.
|
protectedinherited |
Definition at line 77 of file calibType.py.
|
protectedinherited |
Definition at line 75 of file calibType.py.
|
protectedinherited |
Definition at line 76 of file calibType.py.
|
protectedinherited |
Definition at line 69 of file calibType.py.
|
staticprotectedinherited |
Definition at line 64 of file calibType.py.
lsst.ip.isr.linearize.Linearizer.ampNames = list() |
Definition at line 117 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.fitChiSq = dict() |
Definition at line 123 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.fitParams = dict() |
Definition at line 121 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.fitParamsErr = dict() |
Definition at line 122 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.fitResiduals = dict() |
Definition at line 124 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.fitResidualsSigmaMad = dict() |
Definition at line 125 of file linearize.py.
bool lsst.ip.isr.linearize.Linearizer.hasLinearity = False |
Definition at line 114 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.linearFit = dict() |
Definition at line 126 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.linearityBBox = dict() |
Definition at line 120 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.linearityCoeffs = dict() |
Definition at line 118 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.linearityMaxSignal = dict() |
Definition at line 128 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.linearityTurnoff = dict() |
Definition at line 127 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.linearityType = dict() |
Definition at line 119 of file linearize.py.
str lsst.ip.isr.linearize.Linearizer.linearityUnits = 'adu' |
Definition at line 139 of file linearize.py.
|
inherited |
Definition at line 94 of file calibType.py.
bool lsst.ip.isr.linearize.Linearizer.override = False |
Definition at line 115 of file linearize.py.
|
inherited |
Definition at line 88 of file calibType.py.
lsst.ip.isr.linearize.Linearizer.tableData = None |
Definition at line 129 of file linearize.py.