BrighterFatterKernel¶
- 
class lsst.ip.isr.BrighterFatterKernel(camera=None, level=None, **kwargs)¶
- Bases: - lsst.ip.isr.IsrCalib- Calibration of brighter-fatter kernels for an instrument. - ampKernels are the kernels for each amplifier in a detector, as generated by having - level == 'AMP'.- detectorKernel is the kernel generated for a detector as a whole, as generated by having - level == 'DETECTOR'.- makeDetectorKernelFromAmpwiseKernels is a method to generate the kernel for a detector, constructed by averaging together the ampwise kernels in the detector. The existing application code is only defined for kernels with - level == 'DETECTOR', so this method is used if the supplied kernel was built with- level == 'AMP'.- Parameters: - camera : lsst.afw.cameraGeom.Camera
- Camera describing detector geometry. 
- level : str
- Level the kernels will be generated for. 
- log : logging.Logger, optional
- Log to write messages to. 
- **kwargs
- Parameters to pass to parent constructor. 
 - Notes - Version 1.1 adds the - expIdMaskproperty, and substitutes- meansand- variancesfor- rawMeansand- rawVariancesfrom the PTC dataset.- expIdMask : dict, [str,`numpy.ndarray`]
- Dictionary keyed by amp names containing the mask produced after outlier rejection.
- rawMeans : dict, [str,numpy.ndarray]
- Dictionary keyed by amp names containing the unmasked average of the means of the exposures in each flat pair.
- rawVariances : dict, [str,numpy.ndarray]
- Dictionary keyed by amp names containing the variance of the difference image of the exposures in each flat pair. Corresponds to rawVars of PTC.
- rawXcorrs : dict, [str,numpy.ndarray]
- Dictionary keyed by amp names containing an array of measured covariances per mean flux. Corresponds to covariances of PTC.
- badAmps : list
- List of bad amplifiers names.
- shape : tuple
- Tuple of the shape of the BFK kernels.
- gain : dict, [str,`float`]
- Dictionary keyed by amp names containing the fitted gains.
- noise : dict, [str,`float`]
- Dictionary keyed by amp names containing the fitted noise.
- meanXcorrs : dict, [str,`numpy.ndarray`]
- Dictionary keyed by amp names containing the averaged cross-correlations.
- valid : dict, [str,`bool`]
- Dictionary keyed by amp names containing validity of data.
- ampKernels : dict, [str,numpy.ndarray]
- Dictionary keyed by amp names containing the BF kernels.
- detKernels : dict
- Dictionary keyed by detector names containing the BF kernels.
 - Attributes Summary - requiredAttributes- Methods Summary - apply(target)- Method to apply the calibration to the target object. - calibInfoFromDict(dictionary)- Handle common keywords. - 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. - fromTable(tableList)- Construct calibration from a list of tables. - getLengths()- Return the set of lengths needed for reshaping components. - getMetadata()- Retrieve metadata associated with this calibration. - initFromCamera(camera[, detectorId])- Initialize kernel structure from camera. - makeDetectorKernelFromAmpwiseKernels(…[, …])- Average the amplifier level kernels to create a detector level kernel. - readFits(filename, **kwargs)- Read calibration data from a FITS file. - readText(filename, **kwargs)- Read calibration representation from a yaml/ecsv file. - replaceDetectorKernelWithAmpKernel(ampName, …)- setMetadata(metadata)- Store a copy of the supplied metadata with this calibration. - 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 : 
 - 
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 : 
 - 
fromDetector(detector)¶
- 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. 
 
- detector : 
 - 
classmethod fromDict(dictionary)¶
- Construct a calibration from a dictionary of properties. - Parameters: - dictionary : dict
- Dictionary of properties. 
 - Returns: - calib : lsst.ip.isr.BrighterFatterKernel
- Constructed calibration. 
 - Raises: - RuntimeError
- Raised if the supplied dictionary is for a different calibration. Raised if the version of the supplied dictionary is 1.0. 
 
- 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[astropy.table.Table]
- List of tables to use to construct the brighter-fatter calibration. 
 - Returns: - calib : lsst.ip.isr.BrighterFatterKernel
- The calibration defined in the tables. 
 
- tableList : 
 - 
getLengths()¶
- Return the set of lengths needed for reshaping components. - Returns: 
 - 
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 : 
 - 
initFromCamera(camera, detectorId=None)¶
- Initialize kernel structure from camera. - Parameters: - camera : lsst.afw.cameraGeom.Camera
- Camera to use to define geometry. 
- detectorId : int, optional
- Index of the detector to generate. 
 - Returns: - calib : lsst.ip.isr.BrighterFatterKernel
- The initialized calibration. 
 - Raises: - RuntimeError
- Raised if no detectorId is supplied for a calibration with - level='AMP'.
 
- camera : 
 - 
makeDetectorKernelFromAmpwiseKernels(detectorName, ampsToExclude=[])¶
- Average the amplifier level kernels to create a detector level kernel. 
 - 
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 : 
 - 
replaceDetectorKernelWithAmpKernel(ampName, detectorName)¶
 - 
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 : 
 - 
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 : 
 
- camera :