|
LSST Applications g00d0e8bbd7+8c5ae1fdc5,g013ef56533+603670b062,g083dd6704c+2e189452a7,g199a45376c+0ba108daf9,g1c5cce2383+bc9f6103a4,g1fd858c14a+cd69ed4fc1,g210f2d0738+c4742f2e9e,g262e1987ae+612fa42d85,g29ae962dfc+83d129e820,g2cef7863aa+aef1011c0b,g35bb328faa+8c5ae1fdc5,g3fd5ace14f+5eaa884f2a,g47891489e3+e32160a944,g53246c7159+8c5ae1fdc5,g5b326b94bb+dcc56af22d,g64539dfbff+c4742f2e9e,g67b6fd64d1+e32160a944,g74acd417e5+c122e1277d,g786e29fd12+668abc6043,g87389fa792+8856018cbb,g88cb488625+47d24e4084,g89139ef638+e32160a944,g8d7436a09f+d14b4ff40a,g8ea07a8fe4+b212507b11,g90f42f885a+e1755607f3,g97be763408+34be90ab8c,g98df359435+ec1fa61bf1,ga2180abaac+8c5ae1fdc5,ga9e74d7ce9+43ac651df0,gbf99507273+8c5ae1fdc5,gc2a301910b+c4742f2e9e,gca7fc764a6+e32160a944,gd7ef33dd92+e32160a944,gdab6d2f7ff+c122e1277d,gdb1e2cdc75+1b18322db8,ge410e46f29+e32160a944,ge41e95a9f2+c4742f2e9e,geaed405ab2+0d91c11c6d,w.2025.44
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 704 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 325 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 391 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 586 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 174 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 171 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 517 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 425 of file calibType.py.
|
inherited |
Definition at line 162 of file calibType.py.
|
inherited |
Definition at line 166 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 186 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 208 of file calibType.py.
|
inherited |
Extract and unify metadata information.
Parameters
----------
exposures : `list`
Exposures or other calibrations to scan.
Definition at line 294 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 689 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 563 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 463 of file calibType.py.
|
protected |
Definition at line 87 of file defects.py.
|
protectedinherited |
Definition at line 76 of file calibType.py.
|
protected |
Definition at line 84 of file defects.py.
|
protectedinherited |
Definition at line 74 of file calibType.py.
|
protectedinherited |
Definition at line 72 of file calibType.py.
|
protectedinherited |
Definition at line 73 of file calibType.py.
|
protectedinherited |
Definition at line 75 of file calibType.py.
|
protectedinherited |
Definition at line 69 of file calibType.py.
|
protectedinherited |
Definition at line 80 of file calibType.py.
|
staticprotectedinherited |
Definition at line 64 of file calibType.py.
|
protectedinherited |
Definition at line 70 of file calibType.py.
|
protectedinherited |
Definition at line 115 of file calibType.py.
|
staticprotectedinherited |
Definition at line 65 of file calibType.py.
|
protectedinherited |
Definition at line 79 of file calibType.py.
|
protectedinherited |
Definition at line 77 of file calibType.py.
|
protectedinherited |
Definition at line 78 of file calibType.py.
|
protectedinherited |
Definition at line 71 of file calibType.py.
|
staticprotectedinherited |
Definition at line 66 of file calibType.py.
|
inherited |
Definition at line 96 of file calibType.py.
|
inherited |
Definition at line 90 of file calibType.py.