LSST Applications g04a91732dc+cc8870d3f5,g07dc498a13+5aa0b8792f,g0fba68d861+80045be308,g1409bbee79+5aa0b8792f,g1a7e361dbc+5aa0b8792f,g1fd858c14a+f64bc332a9,g208c678f98+1ae86710ed,g35bb328faa+fcb1d3bbc8,g4d2262a081+47ad8a29a8,g4d39ba7253+9633a327c1,g4e0f332c67+5d362be553,g53246c7159+fcb1d3bbc8,g60b5630c4e+9633a327c1,g668ecb457e+25d63fd678,g78460c75b0+2f9a1b4bcd,g786e29fd12+cf7ec2a62a,g7b71ed6315+fcb1d3bbc8,g8852436030+8b64ca622a,g89139ef638+5aa0b8792f,g89e1512fd8+04325574d3,g8d6b6b353c+9633a327c1,g9125e01d80+fcb1d3bbc8,g989de1cb63+5aa0b8792f,g9f33ca652e+b196626af7,ga9baa6287d+9633a327c1,gaaedd4e678+5aa0b8792f,gabe3b4be73+1e0a283bba,gb1101e3267+71e32094df,gb58c049af0+f03b321e39,gb90eeb9370+2807b1ad02,gcf25f946ba+8b64ca622a,gd315a588df+a39986a76f,gd6cbbdb0b4+c8606af20c,gd9a9a58781+fcb1d3bbc8,gde0f65d7ad+4e42d81ab7,ge278dab8ac+932305ba37,ge82c20c137+76d20ab76d,gfe73954cf8+a1301e4c20,w.2025.11
LSST Data Management Base Package
|
Public Member Functions | |
__init__ (self, defectList=None, metadata=None, *, normalize_on_init=True, **kwargs) | |
__len__ (self) | |
__getitem__ (self, index) | |
__setitem__ (self, index, value) | |
__iter__ (self) | |
__delitem__ (self, index) | |
__eq__ (self, other) | |
__str__ (self) | |
bulk_update (self) | |
append (self, value) | |
insert (self, index, value) | |
copy (self) | |
transpose (self) | |
maskPixels (self, mask, maskName="BAD") | |
updateCounters (self, columns=None, hot=None, cold=None) | |
toFitsRegionTable (self) | |
fromDict (cls, dictionary) | |
toDict (self) | |
toTable (self) | |
fromTable (cls, tableList, normalize_on_init=True) | |
readLsstDefectsFile (cls, filename, normalize_on_init=False) | |
fromFootprintList (cls, fpList) | |
fromMask (cls, mask, maskName) | |
requiredAttributes (self) | |
requiredAttributes (self, value) | |
metadata (self) | |
getMetadata (self) | |
setMetadata (self, metadata) | |
updateMetadata (self, camera=None, detector=None, filterName=None, setCalibId=False, setCalibInfo=False, setDate=False, **kwargs) | |
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) | |
fromDetector (self, detector) | |
validate (self, other=None) | |
apply (self, target) | |
Public Attributes | |
requiredAttributes = set(["_OBSTYPE", "_SCHEMA", "_VERSION"]) | |
log = log if log else logging.getLogger(__name__) | |
Protected Member Functions | |
_check_value (self, value) | |
_normalize (self) | |
Static Protected Member Functions | |
_get_values (values, n=1) | |
Protected Attributes | |
list | _defects = [] |
bool | _bulk_update = True |
_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 |
Calibration handler for collections of `lsst.meas.algorithms.Defect`. Parameters ---------- defectList : iterable, optional Collections of defects to apply to the image. Can be an iterable of `lsst.meas.algorithms.Defect` or `lsst.geom.BoxI`. metadata : `lsst.daf.base.PropertyList`, optional Metadata to associate with the defects. Will be copied and overwrite existing metadata, if any. If not supplied the existing metadata will be reset. normalize_on_init : `bool` If True, normalization is applied to the defects in ``defectList`` to remove duplicates, eliminate overlaps, etc. Notes ----- Defects are stored within this collection in a "reduced" or "normalized" form: rather than simply storing the bounding boxes which are added to the collection, we eliminate overlaps and duplicates. This normalization procedure may introduce overhead when adding many new defects; it may be temporarily disabled using the `Defects.bulk_update` context manager if necessary. The attributes stored in this calibration are: _defects : `list` [`lsst.meas.algorithms.Defect`] The collection of Defect objects.
The calibration type used for ingest.
Definition at line 47 of file defects.py.
lsst.ip.isr.defects.Defects.__init__ | ( | self, | |
defectList = None, | |||
metadata = None, | |||
* | , | ||
normalize_on_init = True, | |||
** | kwargs ) |
Definition at line 83 of file defects.py.
lsst.ip.isr.defects.Defects.__delitem__ | ( | self, | |
index ) |
Definition at line 145 of file defects.py.
lsst.ip.isr.defects.Defects.__eq__ | ( | self, | |
other ) |
Compare if two `Defects` are equal. Two `Defects` are equal if their bounding boxes are equal and in the same order. Metadata content is ignored.
Definition at line 148 of file defects.py.
lsst.ip.isr.defects.Defects.__getitem__ | ( | self, | |
index ) |
Definition at line 133 of file defects.py.
lsst.ip.isr.defects.Defects.__iter__ | ( | self | ) |
Definition at line 142 of file defects.py.
lsst.ip.isr.defects.Defects.__len__ | ( | self | ) |
Definition at line 130 of file defects.py.
lsst.ip.isr.defects.Defects.__setitem__ | ( | self, | |
index, | |||
value ) |
Can be given a `~lsst.meas.algorithms.Defect` or a `lsst.geom.BoxI`
Definition at line 136 of file defects.py.
lsst.ip.isr.defects.Defects.__str__ | ( | self | ) |
Definition at line 170 of file defects.py.
|
protected |
Check that the supplied value is a `~lsst.meas.algorithms.Defect` or can be converted to one. Parameters ---------- value : `object` Value to check. Returns ------- new : `~lsst.meas.algorithms.Defect` Either the supplied value or a new object derived from it. Raises ------ ValueError Raised if the supplied value can not be converted to `~lsst.meas.algorithms.Defect`
Definition at line 98 of file defects.py.
|
staticprotected |
Retrieve N values from the supplied values. Parameters ---------- values : `numbers.Number` or `list` or `np.array` Input values. n : `int` Number of values to retrieve. Returns ------- vals : `list` or `np.array` or `numbers.Number` Single value from supplied list if ``n`` is 1, or `list` containing first ``n`` values from supplied values. Notes ----- Some supplied tables have vectors in some columns that can also be scalars. This method can be used to get the first number as a scalar or the first N items from a vector as a vector.
Definition at line 486 of file defects.py.
|
protected |
Recalculate defect bounding boxes for efficiency. Notes ----- Ideally, this would generate the provably-minimal set of bounding boxes necessary to represent the defects. At present, however, that doesn't happen: see DM-24781. In the cases of substantial overlaps or duplication, though, this will produce a much reduced set.
Definition at line 174 of file defects.py.
lsst.ip.isr.defects.Defects.append | ( | self, | |
value ) |
Definition at line 219 of file defects.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 675 of file calibType.py.
lsst.ip.isr.defects.Defects.bulk_update | ( | self | ) |
Temporarily suspend normalization of the defect list.
Definition at line 209 of file defects.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 321 of file calibType.py.
lsst.ip.isr.defects.Defects.copy | ( | self | ) |
Copy the defects to a new list, creating new defects from the bounding boxes. Returns ------- new : `Defects` New list with new `Defect` entries. Notes ----- This is not a shallow copy in that new `Defect` instances are created from the original bounding boxes. It's also not a deep copy since the bounding boxes are not recreated.
Definition at line 227 of file defects.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 378 of file calibType.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 Raised if not implemented by a subclass. This needs to be implemented by subclasses for each calibration type.
Reimplemented in lsst.ip.isr.crosstalk.CrosstalkCalib, lsst.ip.isr.deferredCharge.DeferredChargeCalib, lsst.ip.isr.linearize.Linearizer, and lsst.ip.isr.ptcDataset.PhotonTransferCurveDataset.
Definition at line 557 of file calibType.py.
lsst.ip.isr.defects.Defects.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.
Reimplemented from lsst.ip.isr.calibType.IsrCalib.
Definition at line 357 of file defects.py.
lsst.ip.isr.defects.Defects.fromFootprintList | ( | cls, | |
fpList ) |
Compute a defect list from a footprint list, optionally growing the footprints. Parameters ---------- fpList : `list` of `lsst.afw.detection.Footprint` Footprint list to process. Returns ------- defects : `Defects` List of defects.
Definition at line 666 of file defects.py.
lsst.ip.isr.defects.Defects.fromMask | ( | cls, | |
mask, | |||
maskName ) |
Compute a defect list from a specified mask plane. Parameters ---------- mask : `lsst.afw.image.Mask` or `lsst.afw.image.MaskedImage` Image to process. maskName : `str` or `list` Mask plane name, or list of names to convert. Returns ------- defects : `Defects` Defect list constructed from masked pixels.
Definition at line 686 of file defects.py.
lsst.ip.isr.defects.Defects.fromTable | ( | cls, | |
tableList, | |||
normalize_on_init = True ) |
Construct a `Defects` from the contents of a `~lsst.afw.table.BaseCatalog`. Parameters ---------- table : `lsst.afw.table.BaseCatalog` Table with one row per defect. normalize_on_init : `bool`, optional If `True`, normalization is applied to the defects listed in the table to remove duplicates, eliminate overlaps, etc. Otherwise the defects in the returned object exactly match those in the table. Returns ------- defects : `Defects` A `Defects` list. Notes ----- Two table formats are recognized. The first is the `FITS regions <https://fits.gsfc.nasa.gov/registry/region.html>`_ definition tabular format written by `toFitsRegionTable` where the pixel origin is corrected from FITS 1-based to a 0-based origin. The second is the legacy defects format using columns ``x0``, ``y0`` (bottom left hand pixel of box in 0-based coordinates), ``width`` and ``height``. The FITS standard regions can only read BOX, POINT, or ROTBOX with a zero degree rotation.
Reimplemented from lsst.ip.isr.calibType.IsrCalib.
Definition at line 517 of file defects.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.
lsst.ip.isr.defects.Defects.insert | ( | self, | |
index, | |||
value ) |
Definition at line 223 of file defects.py.
lsst.ip.isr.defects.Defects.maskPixels | ( | self, | |
mask, | |||
maskName = "BAD" ) |
Set mask plane based on these defects. Parameters ---------- maskedImage : `lsst.afw.image.MaskedImage` or `lsst.afw.image.Mask` Image to process. Only the mask plane is updated. maskName : str, optional Mask plane name to use.
Definition at line 261 of file defects.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 495 of file calibType.py.
lsst.ip.isr.defects.Defects.readLsstDefectsFile | ( | cls, | |
filename, | |||
normalize_on_init = False ) |
Read defects information from a legacy LSST format text file. Parameters ---------- filename : `str` Name of text file containing the defect information. normalize_on_init : `bool`, optional If `True`, normalization is applied to the defects listed in the table to remove duplicates, eliminate overlaps, etc. Otherwise the defects in the returned object exactly match those in the table. Returns ------- defects : `Defects` The defects. Notes ----- These defect text files are used as the human readable definitions of defects in calibration data definition repositories. The format is to use four columns defined as follows: x0 : `int` X coordinate of bottom left corner of box. y0 : `int` Y coordinate of bottom left corner of box. width : `int` X extent of the box. height : `int` Y extent of the box. Files of this format were used historically to represent defects in simple text form. Use `Defects.readText` and `Defects.writeText` to use the more modern format.
Definition at line 615 of file defects.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 408 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.defects.Defects.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 398 of file defects.py.
lsst.ip.isr.defects.Defects.toFitsRegionTable | ( | self | ) |
Convert defect list to `~lsst.afw.table.BaseCatalog` using the FITS region standard. Returns ------- table : `lsst.afw.table.BaseCatalog` Defects in tabular form. Notes ----- The table created uses the `FITS regions <https://fits.gsfc.nasa.gov/registry/region.html>`_ definition tabular format. The ``X`` and ``Y`` coordinates are converted to FITS Physical coordinates that have origin pixel (1, 1) rather than the (0, 0) used in LSST software.
Definition at line 302 of file defects.py.
lsst.ip.isr.defects.Defects.toTable | ( | self | ) |
Convert defects to a simple table form that we use to write to text files. Returns ------- table : `lsst.afw.table.BaseCatalog` Defects in simple tabular form. Notes ----- These defect tables are used as the human readable definitions of defects in calibration data definition repositories. The format is to use four columns defined as follows: x0 : `int` X coordinate of bottom left corner of box. y0 : `int` Y coordinate of bottom left corner of box. width : `int` X extent of the box. height : `int` Y extent of the box.
Reimplemented from lsst.ip.isr.calibType.IsrCalib.
Definition at line 436 of file defects.py.
lsst.ip.isr.defects.Defects.transpose | ( | self | ) |
Make a transposed copy of this defect list. Returns ------- retDefectList : `Defects` Transposed list of defects.
Definition at line 244 of file defects.py.
lsst.ip.isr.defects.Defects.updateCounters | ( | self, | |
columns = None, | |||
hot = None, | |||
cold = None ) |
Update metadata with pixel and column counts. Parameters ---------- columns : `int`, optional Number of full columns masked. hot : `dict` [`str`, `int`], optional Dictionary with the count of hot pixels, indexed by amplifier name. cold : `dict` [`str`, `int`], optional Dictionary with the count of hot pixels, indexed by amplifier name.
Definition at line 279 of file defects.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.
Reimplemented in lsst.ip.isr.brighterFatterKernel.BrighterFatterKernel, lsst.ip.isr.calibType.IsrProvenance, lsst.ip.isr.crosstalk.CrosstalkCalib, lsst.ip.isr.linearize.Linearizer, lsst.ip.isr.photodiodeCorrection.PhotodiodeCorrection, and lsst.ip.isr.ptcDataset.PhotonTransferCurveDataset.
Definition at line 205 of file calibType.py.
|
inherited |
Extract and unify metadata information. Parameters ---------- exposures : `list` Exposures or other calibrations to scan.
Definition at line 291 of file calibType.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.
Reimplemented in lsst.ip.isr.linearize.Linearizer, and lsst.ip.isr.photodiodeCorrection.PhotodiodeCorrection.
Definition at line 660 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.
Reimplemented in lsst.ip.isr.transmissionCurve.IntermediateTransmissionCurve.
Definition at line 534 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 441 of file calibType.py.
|
protected |
Definition at line 87 of file defects.py.
|
protectedinherited |
Definition at line 74 of file calibType.py.
|
protected |
Definition at line 84 of file defects.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.
|
inherited |
Definition at line 94 of file calibType.py.
|
inherited |
Definition at line 88 of file calibType.py.