LSST Applications
21.0.0-147-g0e635eb1+1acddb5be5,22.0.0+052faf71bd,22.0.0+1ea9a8b2b2,22.0.0+6312710a6c,22.0.0+729191ecac,22.0.0+7589c3a021,22.0.0+9f079a9461,22.0.1-1-g7d6de66+b8044ec9de,22.0.1-1-g87000a6+536b1ee016,22.0.1-1-g8e32f31+6312710a6c,22.0.1-10-gd060f87+016f7cdc03,22.0.1-12-g9c3108e+df145f6f68,22.0.1-16-g314fa6d+c825727ab8,22.0.1-19-g93a5c75+d23f2fb6d8,22.0.1-19-gb93eaa13+aab3ef7709,22.0.1-2-g8ef0a89+b8044ec9de,22.0.1-2-g92698f7+9f079a9461,22.0.1-2-ga9b0f51+052faf71bd,22.0.1-2-gac51dbf+052faf71bd,22.0.1-2-gb66926d+6312710a6c,22.0.1-2-gcb770ba+09e3807989,22.0.1-20-g32debb5+b8044ec9de,22.0.1-23-gc2439a9a+fb0756638e,22.0.1-3-g496fd5d+09117f784f,22.0.1-3-g59f966b+1e6ba2c031,22.0.1-3-g849a1b8+f8b568069f,22.0.1-3-gaaec9c0+c5c846a8b1,22.0.1-32-g5ddfab5d3+60ce4897b0,22.0.1-4-g037fbe1+64e601228d,22.0.1-4-g8623105+b8044ec9de,22.0.1-5-g096abc9+d18c45d440,22.0.1-5-g15c806e+57f5c03693,22.0.1-7-gba73697+57f5c03693,master-g6e05de7fdc+c1283a92b8,master-g72cdda8301+729191ecac,w.2021.39
LSST Data Management Base Package
|
Public Member Functions | |
def | __init__ (self, detector=None, nAmp=0, **kwargs) |
def | updateMetadata (self, setDate=False, **kwargs) |
def | fromDetector (self, detector, coeffVector=None) |
def | fromDict (cls, dictionary) |
def | toDict (self) |
def | fromTable (cls, tableList) |
def | toTable (self) |
def | subtractCrosstalk (self, thisExposure, sourceExposure=None, crosstalkCoeffs=None, badPixels=["BAD"], minPixelToMask=45000, crosstalkStr="CROSSTALK", isTrimmed=False, backgroundMethod="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 | fromDetector (self, detector) |
def | fromDict (cls, dictionary, **kwargs) |
def | fromTable (cls, tableList, **kwargs) |
def | validate (self, other=None) |
def | apply (self, target) |
Static Public Member Functions | |
def | extractAmp (image, amp, ampTarget, isTrimmed=False) |
def | calculateBackground (mi, badPixels=["BAD"]) |
Public Attributes | |
hasCrosstalk | |
nAmp | |
crosstalkShape | |
coeffs | |
coeffErr | |
coeffNum | |
coeffValid | |
interChip | |
requiredAttributes | |
log | |
Calibration of amp-to-amp crosstalk coefficients. Parameters ---------- detector : `lsst.afw.cameraGeom.Detector`, optional Detector to use to pull coefficients from. nAmp : `int`, optional Number of amplifiers to initialize. log : `logging.Logger`, optional Log to write messages to. **kwargs : Parameters to pass to parent constructor. Notes ----- The crosstalk attributes stored are: hasCrosstalk : `bool` Whether there is crosstalk defined for this detector. nAmp : `int` Number of amplifiers in this detector. crosstalkShape : `tuple` [`int`, `int`] A tuple containing the shape of the ``coeffs`` matrix. This should be equivalent to (``nAmp``, ``nAmp``). coeffs : `np.ndarray` A matrix containing the crosstalk coefficients. coeff[i][j] contains the coefficients to calculate the contribution amplifier_j has on amplifier_i (each row[i] contains the corrections for detector_i). coeffErr : `np.ndarray`, optional A matrix (as defined by ``coeffs``) containing the standard distribution of the crosstalk measurements. coeffNum : `np.ndarray`, optional A matrix containing the number of pixel pairs used to measure the ``coeffs`` and ``coeffErr``. coeffValid : `np.ndarray`, optional A matrix of Boolean values indicating if the coefficient is valid, defined as abs(coeff) > coeffErr / sqrt(coeffNum). interChip : `dict` [`np.ndarray`] A dictionary keyed by detectorName containing ``coeffs`` matrices used to correct for inter-chip crosstalk with a source on the detector indicated.
Definition at line 41 of file crosstalk.py.
def lsst.ip.isr.crosstalk.CrosstalkCalib.__init__ | ( | self, | |
detector = None , |
|||
nAmp = 0 , |
|||
** | kwargs | ||
) |
Definition at line 90 of file crosstalk.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.
|
static |
Estimate median background in image. Getting a great background model isn't important for crosstalk correction, since the crosstalk is at a low level. The median should be sufficient. Parameters ---------- mi : `lsst.afw.image.MaskedImage` MaskedImage for which to measure background. badPixels : `list` of `str` Mask planes to ignore. Returns ------- bg : `float` Median background level.
Definition at line 433 of file crosstalk.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.
|
static |
Extract the image data from an amp, flipped to match ampTarget. Parameters ---------- image : `lsst.afw.image.Image` or `lsst.afw.image.MaskedImage` Image containing the amplifier of interest. amp : `lsst.afw.cameraGeom.Amplifier` Amplifier on image to extract. ampTarget : `lsst.afw.cameraGeom.Amplifier` Target amplifier that the extracted image will be flipped to match. isTrimmed : `bool` The image is already trimmed. TODO : DM-15409 will resolve this. Returns ------- output : `lsst.afw.image.Image` Image of the amplifier in the desired configuration.
Definition at line 393 of file crosstalk.py.
|
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 495 of file calibType.py.
def lsst.ip.isr.crosstalk.CrosstalkCalib.fromDetector | ( | self, | |
detector, | |||
coeffVector = None |
|||
) |
Set calibration parameters from the detector. Parameters ---------- detector : `lsst.afw.cameraGeom.Detector` Detector to use to set parameters from. coeffVector : `numpy.array`, optional Use the detector geometry (bounding boxes and flip information), but use ``coeffVector`` instead of the output of ``detector.getCrosstalk()``. Returns ------- calib : `lsst.ip.isr.CrosstalkCalib` The calibration constructed from the detector.
Definition at line 134 of file crosstalk.py.
def lsst.ip.isr.crosstalk.CrosstalkCalib.fromDict | ( | cls, | |
dictionary | |||
) |
Construct a calibration from a dictionary of properties. Must be implemented by the specific calibration subclasses. Parameters ---------- dictionary : `dict` Dictionary of properties. Returns ------- calib : `lsst.ip.isr.CalibType` Constructed calibration. Raises ------ RuntimeError : Raised if the supplied dictionary is for a different calibration.
Definition at line 182 of file crosstalk.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.crosstalk.CrosstalkCalib.fromTable | ( | cls, | |
tableList | |||
) |
Construct calibration from a list of tables. This method uses the `fromDict` method to create the calibration, after constructing an appropriate dictionary from the input tables. Parameters ---------- tableList : `list` [`lsst.afw.table.Table`] List of tables to use to construct the crosstalk calibration. Returns ------- calib : `lsst.ip.isr.CrosstalkCalib` The calibration defined in the tables.
Definition at line 314 of file crosstalk.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.
|
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.crosstalk.CrosstalkCalib.subtractCrosstalk | ( | self, | |
thisExposure, | |||
sourceExposure = None , |
|||
crosstalkCoeffs = None , |
|||
badPixels = ["BAD"] , |
|||
minPixelToMask = 45000 , |
|||
crosstalkStr = "CROSSTALK" , |
|||
isTrimmed = False , |
|||
backgroundMethod = "None" |
|||
) |
Subtract the crosstalk from thisExposure, optionally using a different source. We set the mask plane indicated by ``crosstalkStr`` in a target amplifier for pixels in a source amplifier that exceed ``minPixelToMask``. Note that the correction is applied to all pixels in the amplifier, but only those that have a substantial crosstalk are masked with ``crosstalkStr``. The uncorrected image is used as a template for correction. This is good enough if the crosstalk is small (e.g., coefficients < ~ 1e-3), but if it's larger you may want to iterate. Parameters ---------- thisExposure : `lsst.afw.image.Exposure` Exposure for which to subtract crosstalk. sourceExposure : `lsst.afw.image.Exposure`, optional Exposure to use as the source of the crosstalk. If not set, thisExposure is used as the source (intra-detector crosstalk). crosstalkCoeffs : `numpy.ndarray`, optional. Coefficients to use to correct crosstalk. badPixels : `list` of `str` Mask planes to ignore. minPixelToMask : `float` Minimum pixel value (relative to the background level) in source amplifier for which to set ``crosstalkStr`` mask plane in target amplifier. crosstalkStr : `str` Mask plane name for pixels greatly modified by crosstalk (above minPixelToMask). isTrimmed : `bool` The image is already trimmed. This should no longer be needed once DM-15409 is resolved. backgroundMethod : `str` Method used to subtract the background. "AMP" uses amplifier-by-amplifier background levels, "DETECTOR" uses full exposure/maskedImage levels. Any other value results in no background subtraction.
Definition at line 455 of file crosstalk.py.
def lsst.ip.isr.crosstalk.CrosstalkCalib.toDict | ( | self | ) |
Return a dictionary containing the calibration properties. The dictionary should be able to be round-tripped through `fromDict`. Returns ------- dictionary : `dict` Dictionary of properties.
Reimplemented from lsst.ip.isr.calibType.IsrCalib.
Definition at line 275 of file crosstalk.py.
def lsst.ip.isr.crosstalk.CrosstalkCalib.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` [`lsst.afw.table.Table`] List of tables containing the crosstalk calibration information.
Reimplemented from lsst.ip.isr.calibType.IsrCalib.
Definition at line 357 of file crosstalk.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.crosstalk.CrosstalkCalib.updateMetadata | ( | self, | |
setDate = False , |
|||
** | kwargs | ||
) |
Update calibration metadata. 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 110 of file crosstalk.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.crosstalk.CrosstalkCalib.coeffErr |
Definition at line 96 of file crosstalk.py.
lsst.ip.isr.crosstalk.CrosstalkCalib.coeffNum |
Definition at line 97 of file crosstalk.py.
lsst.ip.isr.crosstalk.CrosstalkCalib.coeffs |
Definition at line 95 of file crosstalk.py.
lsst.ip.isr.crosstalk.CrosstalkCalib.coeffValid |
Definition at line 99 of file crosstalk.py.
lsst.ip.isr.crosstalk.CrosstalkCalib.crosstalkShape |
Definition at line 93 of file crosstalk.py.
lsst.ip.isr.crosstalk.CrosstalkCalib.hasCrosstalk |
Definition at line 91 of file crosstalk.py.
lsst.ip.isr.crosstalk.CrosstalkCalib.interChip |
Definition at line 101 of file crosstalk.py.
|
inherited |
Definition at line 86 of file calibType.py.
lsst.ip.isr.crosstalk.CrosstalkCalib.nAmp |
Definition at line 92 of file crosstalk.py.
|
inherited |
Definition at line 81 of file calibType.py.