CrosstalkCalib¶
- 
class lsst.ip.isr.CrosstalkCalib(detector=None, nAmp=0, **kwargs)¶
- Bases: - lsst.ip.isr.IsrCalib- 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 coeffsmatrix. This should be equivalent to (nAmp,nAmp).
- coeffs : numpy.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 : numpy.ndarray, optional
- A matrix (as defined by coeffs) containing the standard distribution of the crosstalk measurements.
- coeffNum : numpy.ndarray, optional
- A matrix containing the number of pixel pairs used to measure
the coeffsandcoeffErr.
- coeffValid : numpy.ndarray, optional
- A matrix of Boolean values indicating if the coefficient is valid, defined as abs(coeff) > coeffErr / sqrt(coeffNum).
- interChip : dict[numpy.ndarray]
- A dictionary keyed by detectorName containing coeffsmatrices used to correct for inter-chip crosstalk with a source on the detector indicated.
 - Attributes Summary - requiredAttributes- Methods Summary - apply(target)- Method to apply the calibration to the target object. - calculateBackground(mi[, badPixels])- Estimate median background in image. - calibInfoFromDict(dictionary)- Handle common keywords. - determineCalibClass(metadata, message)- Attempt to find calibration class in metadata. - extractAmp(image, amp, ampTarget[, isTrimmed])- Extract the image data from an amp, flipped to match ampTarget. - fromDetector(detector[, coeffVector])- Set calibration parameters from the detector. - fromDict(dictionary)- Construct a calibration from a dictionary of properties. - fromTable(tableList)- Construct calibration from a list of tables. - getMetadata()- Retrieve metadata associated with this calibration. - readFits(filename, **kwargs)- Read calibration data from a FITS file. - readText(filename, **kwargs)- Read calibration representation from a yaml/ecsv file. - setMetadata(metadata)- Store a copy of the supplied metadata with this calibration. - subtractCrosstalk(thisExposure[, …])- Subtract the crosstalk from thisExposure, optionally using a different source. - toDict()- Return a dictionary containing the calibration properties. - toTable()- Construct a list of tables containing the information in this calibration. - updateMetadata([setDate])- Update calibration metadata. - 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 - 
requiredAttributes¶
 - Methods Documentation - 
apply(target)¶
- 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. 
 
- target : 
 - 
static calculateBackground(mi, badPixels=['BAD'])¶
- 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: 
 - 
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: - dictionary : dictorlsst.daf.base.PropertyList
- Source for the common keywords. 
 - Raises: - RuntimeError
- Raised if the dictionary does not match the expected OBSTYPE. 
 
- dictionary : 
 - 
classmethod determineCalibClass(metadata, message)¶
- Attempt to find calibration class in metadata. - Parameters: - Returns: - calibClass : object
- The class to use to read the file contents. Should be an - lsst.ip.isr.IsrCalibsubclass.
 - Raises: - ValueError
- Raised if the resulting calibClass is the base - lsst.ip.isr.IsrClass(which does not implement the content methods).
 
- calibClass : 
 - 
static extractAmp(image, amp, ampTarget, isTrimmed=False)¶
- Extract the image data from an amp, flipped to match ampTarget. - Parameters: - image : lsst.afw.image.Imageorlsst.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. 
 
- image : 
 - 
fromDetector(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 - coeffVectorinstead of the output of- detector.getCrosstalk().
 - Returns: - calib : lsst.ip.isr.CrosstalkCalib
- The calibration constructed from the detector. 
 
- detector : 
 - 
classmethod fromDict(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. 
 
- dictionary : 
 - 
classmethod fromTable(tableList)¶
- Construct calibration from a list of tables. - This method uses the - fromDictmethod 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. 
 
- tableList : 
 - 
getMetadata()¶
- Retrieve metadata associated with this calibration. - Returns: - meta : lsst.daf.base.PropertyList
- Metadata. The returned - PropertyListcan be modified by the caller and the changes will be written to external files.
 
- meta : 
 - 
classmethod readFits(filename, **kwargs)¶
- Read calibration data from a FITS file. - Parameters: - Returns: - calib : lsst.ip.isr.IsrCalib
- Calibration contained within the file. 
 
- calib : 
 - 
classmethod readText(filename, **kwargs)¶
- Read calibration representation from a yaml/ecsv file. - Parameters: - Returns: - calib : IsrCalibType
- Calibration class. 
 - Raises: - RuntimeError
- Raised if the filename does not end in “.ecsv” or “.yaml”. 
 
- calib : 
 - 
setMetadata(metadata)¶
- 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. 
 
- metadata : 
 - 
subtractCrosstalk(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 - crosstalkStrin 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 : listofstr
- Mask planes to ignore. 
- minPixelToMask : float
- Minimum pixel value (relative to the background level) in source amplifier for which to set - crosstalkStrmask 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. 
 
- thisExposure : 
 - 
toDict()¶
- Return a dictionary containing the calibration properties. - The dictionary should be able to be round-tripped through - fromDict.- Returns: - dictionary : dict
- Dictionary of properties. 
 
- dictionary : 
 - 
toTable()¶
- 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. 
 
- tableList : 
 - 
updateMetadata(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. 
 
- setDate : 
 - 
validate(other=None)¶
- 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. 
 
- other : 
 - 
writeFits(filename)¶
- 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. 
 
- filename : 
 - 
writeText(filename, format='auto')¶
- Write the calibration data to a text file. - Parameters: - 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. 
- used : 
 
- detector :