|
LSST Applications
21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
|
Public Member Functions | |
| def | __init__ (self, table=None, **kwargs) |
| def | updateMetadata (self, setDate=False, **kwargs) |
| def | fromDetector (self, detector) |
| def | fromDict (cls, dictionary) |
| def | toDict (self) |
| def | fromTable (cls, tableList) |
| def | toTable (self) |
| def | getLinearityTypeByName (self, linearityTypeName) |
| def | validate (self, detector=None, amplifier=None) |
| def | applyLinearity (self, image, detector=None, log=None) |
| def | requiredAttributes (self) |
| def | requiredAttributes (self, value) |
| def | __str__ (self) |
| def | __eq__ (self, other) |
| 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 | determineCalibClass (cls, metadata, message) |
| def | readText (cls, filename, **kwargs) |
| def | writeText (self, filename, format="auto") |
| def | readFits (cls, filename, **kwargs) |
| def | writeFits (self, filename) |
| def | fromDict (cls, dictionary, **kwargs) |
| def | fromTable (cls, tableList, **kwargs) |
| def | validate (self, other=None) |
| def | apply (self, target) |
Public Attributes | |
| hasLinearity | |
| override | |
| ampNames | |
| linearityCoeffs | |
| linearityType | |
| linearityBBox | |
| fitParams | |
| fitParamsErr | |
| fitChiSq | |
| tableData | |
| requiredAttributes | |
| log | |
Parameter set for linearization.
These parameters are included in 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.
tableData : `numpy.array`, optional
Lookup table data for the linearity correction.
Definition at line 38 of file linearize.py.
| def lsst.ip.isr.linearize.Linearizer.__init__ | ( | self, | |
table = None, |
|||
| ** | kwargs | ||
| ) |
Definition at line 99 of file linearize.py.
|
inherited |
Calibration equivalence. Running ``calib.log.setLevel(0)`` enables debug statements to identify problematic fields.
Reimplemented in lsst.ip.isr.defects.Defects, and lsst.ip.isr.calibType.IsrProvenance.
Definition at line 95 of file calibType.py.
|
inherited |
Reimplemented in lsst.ip.isr.defects.Defects, and lsst.ip.isr.calibType.IsrProvenance.
Definition at line 92 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 612 of file calibType.py.
| def lsst.ip.isr.linearize.Linearizer.applyLinearity | ( | self, | |
| image, | |||
detector = None, |
|||
log = 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`
Detector to use for linearity parameters if not already
populated.
log : `~logging.Logger`, optional
Log object to use for logging.
Definition at line 428 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 261 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 316 of file calibType.py.
| def 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 147 of file linearize.py.
| def 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.
Definition at line 176 of file linearize.py.
|
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 512 of file calibType.py.
| def 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.
Eextension 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.
Definition at line 255 of file linearize.py.
|
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 555 of file calibType.py.
| def 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 347 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 145 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 432 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 346 of file calibType.py.
|
inherited |
Definition at line 138 of file calibType.py.
|
inherited |
Definition at line 142 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.
Definition at line 157 of file calibType.py.
| def 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 226 of file linearize.py.
| def 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 313 of file linearize.py.
|
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 179 of file calibType.py.
| def 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.
Definition at line 127 of file linearize.py.
| def 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.
Definition at line 371 of file linearize.py.
|
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 597 of file calibType.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.
Definition at line 471 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 379 of file calibType.py.
| lsst.ip.isr.linearize.Linearizer.ampNames |
Definition at line 103 of file linearize.py.
| lsst.ip.isr.linearize.Linearizer.fitChiSq |
Definition at line 110 of file linearize.py.
| lsst.ip.isr.linearize.Linearizer.fitParams |
Definition at line 108 of file linearize.py.
| lsst.ip.isr.linearize.Linearizer.fitParamsErr |
Definition at line 109 of file linearize.py.
| lsst.ip.isr.linearize.Linearizer.hasLinearity |
Definition at line 100 of file linearize.py.
| lsst.ip.isr.linearize.Linearizer.linearityBBox |
Definition at line 106 of file linearize.py.
| lsst.ip.isr.linearize.Linearizer.linearityCoeffs |
Definition at line 104 of file linearize.py.
| lsst.ip.isr.linearize.Linearizer.linearityType |
Definition at line 105 of file linearize.py.
|
inherited |
Definition at line 86 of file calibType.py.
| lsst.ip.isr.linearize.Linearizer.override |
Definition at line 101 of file linearize.py.
|
inherited |
Definition at line 81 of file calibType.py.
| lsst.ip.isr.linearize.Linearizer.tableData |
Definition at line 112 of file linearize.py.