LSST Applications g0f08755f38+9c285cab97,g1635faa6d4+13f3999e92,g1653933729+a8ce1bb630,g1a0ca8cf93+bf6eb00ceb,g28da252d5a+0829b12dee,g29321ee8c0+5700dc9eac,g2bbee38e9b+9634bc57db,g2bc492864f+9634bc57db,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+9634bc57db,g35bb328faa+a8ce1bb630,g3a166c0a6a+9634bc57db,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+fde0dd39b6,g5fbc88fb19+17cd334064,g781aacb6e4+a8ce1bb630,g80478fca09+55a9465950,g82479be7b0+d730eedb7d,g858d7b2824+9c285cab97,g9125e01d80+a8ce1bb630,g9726552aa6+10f999ec6a,ga5288a1d22+2a84bb7594,gacf8899fa4+c69c5206e8,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gc28159a63d+9634bc57db,gcf0d15dbbd+4b7d09cae4,gda3e153d99+9c285cab97,gda6a2b7d83+4b7d09cae4,gdaeeff99f8+1711a396fd,ge2409df99d+5e831397f4,ge79ae78c31+9634bc57db,gf0baf85859+147a0692ba,gf3967379c6+41c94011de,gf3fb38a9a8+8f07a9901b,gfb92a5be7c+9c285cab97,w.2024.46
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) | |
Protected Attributes | |
_detectorName | |
_detectorSerial | |
_detectorId | |
Static Protected Attributes | |
str | _OBSTYPE = "LINEARIZER" |
str | _SCHEMA = 'Gen3 Linearizer' |
float | _VERSION = 1.4 |
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 ) |
Reimplemented from lsst.ip.isr.calibType.IsrCalib.
Definition at line 113 of file linearize.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.
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.
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.
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.
|
protected |
Definition at line 185 of file linearize.py.
|
protected |
Definition at line 183 of file linearize.py.
|
protected |
Definition at line 184 of file linearize.py.
|
staticprotected |
Definition at line 109 of file linearize.py.
|
staticprotected |
Definition at line 110 of file linearize.py.
|
staticprotected |
Definition at line 111 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.ampNames |
Definition at line 117 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.fitChiSq |
Definition at line 123 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.fitParams |
Definition at line 121 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.fitParamsErr |
Definition at line 122 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.fitResiduals |
Definition at line 124 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.fitResidualsSigmaMad |
Definition at line 125 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.hasLinearity |
Definition at line 114 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.linearFit |
Definition at line 126 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.linearityBBox |
Definition at line 120 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.linearityCoeffs |
Definition at line 118 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.linearityMaxSignal |
Definition at line 128 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.linearityTurnoff |
Definition at line 127 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.linearityType |
Definition at line 119 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.linearityUnits |
Definition at line 139 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.log |
Definition at line 555 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.override |
Definition at line 115 of file linearize.py.
lsst.ip.isr.linearize.Linearizer.tableData |
Definition at line 129 of file linearize.py.