BrighterFatterKernel¶
- class lsst.ip.isr.BrighterFatterKernel(camera=None, level=None, **kwargs)¶
- Bases: - 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:
- cameralsst.afw.cameraGeom.Camera
- Camera describing detector geometry. 
- levelstr
- Level the kernels will be generated for. 
- loglogging.Logger, optional
- Log to write messages to. 
- **kwargs
- Parameters to pass to parent constructor. 
 
- camera
 - Notes - Version 1.1 adds the - expIdMaskproperty, and substitutes- meansand- variancesfor- rawMeansand- rawVariancesfrom the PTC dataset.- expIdMaskdict, [str,`numpy.ndarray`]
- Dictionary keyed by amp names containing the mask produced after outlier rejection. 
- rawMeansdict, [str,numpy.ndarray]
- Dictionary keyed by amp names containing the unmasked average of the means of the exposures in each flat pair. 
- rawVariancesdict, [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. 
- rawXcorrsdict, [str,numpy.ndarray]
- Dictionary keyed by amp names containing an array of measured covariances per mean flux. Corresponds to covariances of PTC. 
- badAmpslist
- List of bad amplifiers names. 
- shapetuple
- Tuple of the shape of the BFK kernels. 
- gaindict, [str,`float`]
- Dictionary keyed by amp names containing the fitted gains. 
- noisedict, [str,`float`]
- Dictionary keyed by amp names containing the fitted noise. 
- meanXcorrsdict, [str,`numpy.ndarray`]
- Dictionary keyed by amp names containing the averaged cross-correlations. 
- validdict, [str,`bool`]
- Dictionary keyed by amp names containing validity of data. 
- ampKernelsdict, [str,numpy.ndarray]
- Dictionary keyed by amp names containing the BF kernels. 
- detKernelsdict
- Dictionary keyed by detector names containing the BF kernels. 
 - Attributes Summary - 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. - Return the set of lengths needed for reshaping components. - 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. - repackCorrelations(amp, correlationShape)- If the correlations were masked, they need to be repacked into the correct shape. - 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. - 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 - requiredAttributes¶
 - Methods Documentation - apply(target)¶
- Method to apply the calibration to the target object. 
 - 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. 
 
 
 - 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. - Parameters:
- dictionarydict
- Dictionary of properties. 
 
- dictionary
- Returns:
- caliblsst.ip.isr.BrighterFatterKernel
- Constructed calibration. 
 
- calib
- Raises:
- RuntimeError
- Raised if the supplied dictionary is for a different calibration. Raised if the version of the supplied dictionary is 1.0. 
 
 
 - 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:
- tableListlist[astropy.table.Table]
- List of tables to use to construct the brighter-fatter calibration. 
 
- tableList
- Returns:
- caliblsst.ip.isr.BrighterFatterKernel
- The calibration defined in the tables. 
 
- calib
 
 - getLengths()¶
- Return the set of lengths needed for reshaping components. 
 - 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
 
 - initFromCamera(camera, detectorId=None)¶
- Initialize kernel structure from camera. - Parameters:
- cameralsst.afw.cameraGeom.Camera
- Camera to use to define geometry. 
- detectorIdint, optional
- Index of the detector to generate. 
 
- camera
- Returns:
- caliblsst.ip.isr.BrighterFatterKernel
- The initialized calibration. 
 
- calib
- Raises:
- RuntimeError
- Raised if no detectorId is supplied for a calibration with - level='AMP'.
 
 
 - makeDetectorKernelFromAmpwiseKernels(detectorName, ampsToExclude=[])¶
- Average the amplifier level kernels to create a detector level kernel. There is no change in index ordering/orientation from this averaging. 
 - classmethod readFits(filename, **kwargs)¶
- Read calibration data from a FITS file. - Parameters:
- Returns:
- caliblsst.ip.isr.IsrCalib
- Calibration contained within the file. 
 
- calib
 
 - 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”. 
 
 
 - repackCorrelations(amp, correlationShape)¶
- If the correlations were masked, they need to be repacked into the correct shape. 
 - replaceDetectorKernelWithAmpKernel(ampName, detectorName)¶
 - 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
 
 - 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:
- tableListlist[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:
- setDatebool, 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
 
 - 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.