LSST Applications  22.0.1,22.0.1+01bcf6a671,22.0.1+046ee49490,22.0.1+05c7de27da,22.0.1+0c6914dbf6,22.0.1+1220d50b50,22.0.1+12fd109e95,22.0.1+1a1dd69893,22.0.1+1c910dc348,22.0.1+1ef34551f5,22.0.1+30170c3d08,22.0.1+39153823fd,22.0.1+611137eacc,22.0.1+771eb1e3e8,22.0.1+94e66cc9ed,22.0.1+9a075d06e2,22.0.1+a5ff6e246e,22.0.1+a7db719c1a,22.0.1+ba0d97e778,22.0.1+bfe1ee9056,22.0.1+c4e1e0358a,22.0.1+cc34b8281e,22.0.1+d640e2c0fa,22.0.1+d72a2e677a,22.0.1+d9a6b571bd,22.0.1+e485e9761b,22.0.1+ebe8d3385e
LSST Data Management Base Package
Public Member Functions | List of all members
lsst.cp.pipe.makeBrighterFatterKernel.BrighterFatterKernel Class Reference

Public Member Functions

def __init__ (self, originalLevel, **kwargs)
 
def __setattr__ (self, attribute, value)
 
def replaceDetectorKernelWithAmpKernel (self, ampName, detectorName)
 
def makeDetectorKernelFromAmpwiseKernels (self, detectorName, ampsToExclude=[], overwrite=False)
 

Detailed Description

A simple class to hold the kernel(s) generated and the intermediate
data products.

kernel.ampwiseKernels are the kernels for each amplifier in the detector,
as generated by having LEVEL == 'AMP'

kernel.detectorKernel is the kernel generated for the detector as a whole,
as generated by having LEVEL == 'DETECTOR'

kernel.detectorKernelFromAmpKernels is the kernel for the detector,
generated by averaging together the amps in the detector

The originalLevel is the level for which the kernel(s) were generated,
i.e. the level at which the task was originally run.

Definition at line 260 of file makeBrighterFatterKernel.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.cp.pipe.makeBrighterFatterKernel.BrighterFatterKernel.__init__ (   self,
  originalLevel,
**  kwargs 
)

Definition at line 277 of file makeBrighterFatterKernel.py.

277  def __init__(self, originalLevel, **kwargs):
278  self.__dict__["originalLevel"] = originalLevel
279  self.__dict__["ampwiseKernels"] = {}
280  self.__dict__["detectorKernel"] = {}
281  self.__dict__["detectorKernelFromAmpKernels"] = {}
282  self.__dict__["means"] = []
283  self.__dict__["rawMeans"] = []
284  self.__dict__["rawXcorrs"] = []
285  self.__dict__["xCorrs"] = []
286  self.__dict__["meanXcorrs"] = []
287  self.__dict__["gain"] = None # will be a dict keyed by amp if set
288  self.__dict__["gainErr"] = None # will be a dict keyed by amp if set
289  self.__dict__["noise"] = None # will be a dict keyed by amp if set
290  self.__dict__["noiseErr"] = None # will be a dict keyed by amp if set
291 
292  for key, value in kwargs.items():
293  if hasattr(self, key):
294  setattr(self, key, value)
295 

Member Function Documentation

◆ __setattr__()

def lsst.cp.pipe.makeBrighterFatterKernel.BrighterFatterKernel.__setattr__ (   self,
  attribute,
  value 
)
Protect class attributes

Definition at line 296 of file makeBrighterFatterKernel.py.

296  def __setattr__(self, attribute, value):
297  """Protect class attributes"""
298  if attribute not in self.__dict__:
299  print(f"Cannot set {attribute}")
300  else:
301  self.__dict__[attribute] = value
302 

◆ makeDetectorKernelFromAmpwiseKernels()

def lsst.cp.pipe.makeBrighterFatterKernel.BrighterFatterKernel.makeDetectorKernelFromAmpwiseKernels (   self,
  detectorName,
  ampsToExclude = [],
  overwrite = False 
)

Definition at line 306 of file makeBrighterFatterKernel.py.

306  def makeDetectorKernelFromAmpwiseKernels(self, detectorName, ampsToExclude=[], overwrite=False):
307  if detectorName not in self.detectorKernelFromAmpKernels.keys():
308  self.detectorKernelFromAmpKernels[detectorName] = {}
309 
310  if self.detectorKernelFromAmpKernels[detectorName] != {} and overwrite is False:
311  raise RuntimeError('Was told to replace existing detector kernel with overwrite==False')
312 
313  ampNames = self.ampwiseKernels.keys()
314  ampsToAverage = [amp for amp in ampNames if amp not in ampsToExclude]
315  avgKernel = np.zeros_like(self.ampwiseKernels[ampsToAverage[0]])
316  for ampName in ampsToAverage:
317  avgKernel += self.ampwiseKernels[ampName]
318  avgKernel /= len(ampsToAverage)
319 
320  self.detectorKernelFromAmpKernels[detectorName] = avgKernel
321 
322 
323 @dataclass

◆ replaceDetectorKernelWithAmpKernel()

def lsst.cp.pipe.makeBrighterFatterKernel.BrighterFatterKernel.replaceDetectorKernelWithAmpKernel (   self,
  ampName,
  detectorName 
)

Definition at line 303 of file makeBrighterFatterKernel.py.

303  def replaceDetectorKernelWithAmpKernel(self, ampName, detectorName):
304  self.detectorKernel[detectorName] = self.ampwiseKernels[ampName]
305 

The documentation for this class was generated from the following file: