Defects¶
- class lsst.ip.isr.Defects(defectList=None, metadata=None, *, normalize_on_init=True, **kwargs)¶
- Bases: - IsrCalib- Calibration handler for collections of - lsst.meas.algorithms.Defect.- Parameters:
- defectListiterable, optional
- Collections of defects to apply to the image. Can be an iterable of - lsst.meas.algorithms.Defector- lsst.geom.BoxI.
- metadatalsst.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_initbool
- If True, normalization is applied to the defects in - defectListto 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_updatecontext manager if necessary.- The attributes stored in this calibration are: - _defectslist[lsst.meas.algorithms.Defect]
- The collection of Defect objects. 
 - Attributes Summary - Methods Summary - append(value)- apply(target)- Method to apply the calibration to the target object. - Temporarily suspend normalization of the defect list. - calibInfoFromDict(dictionary)- Handle common keywords. - copy()- Copy the defects to a new list, creating new defects from the bounding boxes. - determineCalibClass(metadata, message)- Attempt to find calibration class in metadata. - fromDetector(detector)- Modify the calibration parameters to match the supplied detector. - fromDict(dictionary)- Construct a calibration from a dictionary of properties. - fromFootprintList(fpList)- Compute a defect list from a footprint list, optionally growing the footprints. - fromMask(mask, maskName)- Compute a defect list from a specified mask plane. - fromTable(tableList[, normalize_on_init])- Construct a - Defectsfrom the contents of a- BaseCatalog.- Retrieve metadata associated with this calibration. - insert(index, value)- maskPixels(mask[, maskName])- Set mask plane based on these defects. - readFits(filename, **kwargs)- Read calibration data from a FITS file. - readLsstDefectsFile(filename[, ...])- Read defects information from a legacy LSST format text file. - readText(filename, **kwargs)- Read calibration representation from a yaml/ecsv file. - setMetadata(metadata)- Store a copy of the supplied metadata with this calibration. - toDict()- Return a dictionary containing the calibration properties. - Convert defect list to - BaseCatalogusing the FITS region standard.- toTable()- Convert defects to a simple table form that we use to write to text files. - Make a transposed copy of this defect list. - updateCounters([columns, hot, cold])- Update metadata with pixel and column counts. - updateMetadata([camera, detector, ...])- Update metadata keywords with new values. - updateMetadataFromExposures(exposures)- Extract and unify metadata information. - validate([other])- Validate that this calibration is defined and can be used. - writeFits(filename)- Write calibration data to a FITS file. - writeText(filename[, format])- Write the calibration data to a text file. - Attributes Documentation - metadata¶
 - requiredAttributes¶
 - Methods Documentation - append(value)¶
 - apply(target)¶
- Method to apply the calibration to the target object. 
 - bulk_update()¶
- Temporarily suspend normalization of the defect list. 
 - calibInfoFromDict(dictionary)¶
- 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:
- dictionarydictorlsst.daf.base.PropertyList
- Source for the common keywords. 
 
- dictionary
- Raises:
- RuntimeError
- Raised if the dictionary does not match the expected OBSTYPE. 
 
 
 - copy()¶
- Copy the defects to a new list, creating new defects from the bounding boxes. - Returns:
- newDefects
- New list with new - Defectentries.
 
- new
 - Notes - This is not a shallow copy in that new - Defectinstances are created from the original bounding boxes. It’s also not a deep copy since the bounding boxes are not recreated.
 - classmethod determineCalibClass(metadata, message)¶
- Attempt to find calibration class in metadata. - Parameters:
- Returns:
- calibClassobject
- The class to use to read the file contents. Should be an - lsst.ip.isr.IsrCalibsubclass.
 
- calibClass
- Raises:
- ValueError
- Raised if the resulting calibClass is the base - lsst.ip.isr.IsrClass(which does not implement the content methods).
 
 
 - fromDetector(detector)¶
- Modify the calibration parameters to match the supplied detector. - Parameters:
- detectorlsst.afw.cameraGeom.Detector
- Detector to use to set parameters from. 
 
- detector
- Raises:
- NotImplementedError
- Raised if not implemented by a subclass. This needs to be implemented by subclasses for each calibration type. 
 
 
 - classmethod fromDict(dictionary)¶
- Construct a calibration from a dictionary of properties. - Must be implemented by the specific calibration subclasses. - Parameters:
- dictionarydict
- Dictionary of properties. 
 
- dictionary
- Returns:
- caliblsst.ip.isr.CalibType
- Constructed calibration. 
 
- calib
- Raises:
- RuntimeError
- Raised if the supplied dictionary is for a different calibration. 
 
 
 - classmethod fromFootprintList(fpList)¶
- Compute a defect list from a footprint list, optionally growing the footprints. - Parameters:
- fpListlistoflsst.afw.detection.Footprint
- Footprint list to process. 
 
- fpList
- Returns:
- defectsDefects
- List of defects. 
 
- defects
 
 - classmethod fromMask(mask, maskName)¶
- Compute a defect list from a specified mask plane. 
 - classmethod fromTable(tableList, normalize_on_init=True)¶
- Construct a - Defectsfrom the contents of a- BaseCatalog.- Parameters:
- tablelsst.afw.table.BaseCatalog
- Table with one row per defect. 
- normalize_on_initbool, 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.
 
- table
- Returns:
 - Notes - Two table formats are recognized. The first is the FITS regions definition tabular format written by - toFitsRegionTablewhere 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),- widthand- height.- The FITS standard regions can only read BOX, POINT, or ROTBOX with a zero degree rotation. 
 - getMetadata()¶
- Retrieve metadata associated with this calibration. - Returns:
- metalsst.daf.base.PropertyList
- Metadata. The returned - PropertyListcan be modified by the caller and the changes will be written to external files.
 
- meta
 
 - insert(index, value)¶
 - maskPixels(mask, maskName='BAD')¶
- Set mask plane based on these defects. - Parameters:
- maskedImagelsst.afw.image.MaskedImageorlsst.afw.image.Mask
- Image to process. Only the mask plane is updated. 
- maskNamestr, optional
- Mask plane name to use. 
 
- maskedImage
 
 - classmethod readFits(filename, **kwargs)¶
- Read calibration data from a FITS file. - Parameters:
- Returns:
- caliblsst.ip.isr.IsrCalib
- Calibration contained within the file. 
 
- calib
 
 - classmethod readLsstDefectsFile(filename, normalize_on_init=False)¶
- Read defects information from a legacy LSST format text file. - Parameters:
- Returns:
- defectsDefects
- The defects. 
 
- 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: - x0int
- X coordinate of bottom left corner of box. 
- y0int
- Y coordinate of bottom left corner of box. 
- widthint
- X extent of the box. 
- heightint
- Y extent of the box. 
 - Files of this format were used historically to represent defects in simple text form. Use - Defects.readTextand- Defects.writeTextto use the more modern format.
 - classmethod readText(filename, **kwargs)¶
- Read calibration representation from a yaml/ecsv file. - Parameters:
- Returns:
- calibIsrCalibType
- Calibration class. 
 
- calib
- Raises:
- RuntimeError
- Raised if the filename does not end in “.ecsv” or “.yaml”. 
 
 
 - setMetadata(metadata)¶
- Store a copy of the supplied metadata with this calibration. - Parameters:
- metadatalsst.daf.base.PropertyList
- Metadata to associate with the calibration. Will be copied and overwrite existing metadata. 
 
- metadata
 
 - toDict()¶
- Return a dictionary containing the calibration properties. - The dictionary should be able to be round-tripped through - fromDict.- Returns:
- dictionarydict
- Dictionary of properties. 
 
- dictionary
 
 - toFitsRegionTable()¶
- Convert defect list to - BaseCatalogusing the FITS region standard.- Returns:
- tablelsst.afw.table.BaseCatalog
- Defects in tabular form. 
 
- table
 - Notes - The table created uses the FITS regions definition tabular format. The - Xand- Ycoordinates are converted to FITS Physical coordinates that have origin pixel (1, 1) rather than the (0, 0) used in LSST software.
 - toTable()¶
- Convert defects to a simple table form that we use to write to text files. - Returns:
- tablelsst.afw.table.BaseCatalog
- Defects in simple tabular form. 
 
- table
 - 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: 
 - transpose()¶
- Make a transposed copy of this defect list. - Returns:
- retDefectListDefects
- Transposed list of defects. 
 
- retDefectList
 
 - updateCounters(columns=None, hot=None, cold=None)¶
- Update metadata with pixel and column counts. 
 - updateMetadata(camera=None, detector=None, filterName=None, setCalibId=False, setCalibInfo=False, setDate=False, **kwargs)¶
- Update metadata keywords with new values. - Parameters:
- cameralsst.afw.cameraGeom.Camera, optional
- Reference camera to use to set - _instrumentfield.
- detectorlsst.afw.cameraGeom.Detector, optional
- Reference detector to use to set - _detector*fields.
- filterNamestr, optional
- Filter name to assign to this calibration. 
- setCalibIdbool, optional
- Construct the - _calibIdfield from other fields.
- setCalibInfobool, optional
- Set calibration parameters from metadata. 
- setDatebool, optional
- Ensure the metadata - CALIBDATEfields are set to the current datetime.
- kwargsdictorcollections.abc.Mapping, optional
- Set of - key=valuepairs to assign to the metadata.
 
- camera
 
 - updateMetadataFromExposures(exposures)¶
- Extract and unify metadata information. - Parameters:
- exposureslist
- Exposures or other calibrations to scan. 
 
- exposures
 
 - validate(other=None)¶
- Validate that this calibration is defined and can be used. 
 - writeFits(filename)¶
- Write calibration data to a FITS file. 
 - writeText(filename, format='auto')¶
- Write the calibration data to a text file. - Parameters:
- Returns:
- usedstr
- The name of the file used to write the data. This may differ from the input if the format is explicitly chosen. 
 
- used
- 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.