LSST Applications  21.0.0-147-g0e635eb1+1acddb5be5,22.0.0+052faf71bd,22.0.0+1ea9a8b2b2,22.0.0+6312710a6c,22.0.0+729191ecac,22.0.0+7589c3a021,22.0.0+9f079a9461,22.0.1-1-g7d6de66+b8044ec9de,22.0.1-1-g87000a6+536b1ee016,22.0.1-1-g8e32f31+6312710a6c,22.0.1-10-gd060f87+016f7cdc03,22.0.1-12-g9c3108e+df145f6f68,22.0.1-16-g314fa6d+c825727ab8,22.0.1-19-g93a5c75+d23f2fb6d8,22.0.1-19-gb93eaa13+aab3ef7709,22.0.1-2-g8ef0a89+b8044ec9de,22.0.1-2-g92698f7+9f079a9461,22.0.1-2-ga9b0f51+052faf71bd,22.0.1-2-gac51dbf+052faf71bd,22.0.1-2-gb66926d+6312710a6c,22.0.1-2-gcb770ba+09e3807989,22.0.1-20-g32debb5+b8044ec9de,22.0.1-23-gc2439a9a+fb0756638e,22.0.1-3-g496fd5d+09117f784f,22.0.1-3-g59f966b+1e6ba2c031,22.0.1-3-g849a1b8+f8b568069f,22.0.1-3-gaaec9c0+c5c846a8b1,22.0.1-32-g5ddfab5d3+60ce4897b0,22.0.1-4-g037fbe1+64e601228d,22.0.1-4-g8623105+b8044ec9de,22.0.1-5-g096abc9+d18c45d440,22.0.1-5-g15c806e+57f5c03693,22.0.1-7-gba73697+57f5c03693,master-g6e05de7fdc+c1283a92b8,master-g72cdda8301+729191ecac,w.2021.39
LSST Data Management Base Package
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.pipe.tasks.extended_psf.MeasureExtendedPsfTask Class Reference
Inheritance diagram for lsst.pipe.tasks.extended_psf.MeasureExtendedPsfTask:

Public Member Functions

def __init__ (self, initInputs=None, *args, **kwargs)
 
def select_detector_refs (self, ref_list)
 
def runQuantum (self, butlerQC, inputRefs, outputRefs)
 

Public Attributes

 focal_plane_regions
 
 regionless_dets
 

Static Public Attributes

 ConfigClass = MeasureExtendedPsfConfig
 

Detailed Description

Build and save extended PSF model.

The model is built by stacking bright star stamps, extracted and
preprocessed by
`lsst.pipe.tasks.processBrightStars.ProcessBrightStarsTask`.
If a mapping from detector IDs to focal plane regions is provided,
a different extended PSF model will be built for each focal plane
region. If not, a single, constant extended PSF model is built using
all available data.

Definition at line 423 of file extended_psf.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.pipe.tasks.extended_psf.MeasureExtendedPsfTask.__init__ (   self,
  initInputs = None,
args,
**  kwargs 
)

Definition at line 437 of file extended_psf.py.

437  def __init__(self, initInputs=None, *args, **kwargs):
438  pipeBase.CmdLineTask.__init__(self, *args, **kwargs)
439  self.makeSubtask("stack_bright_stars")
440  self.focal_plane_regions = {region: [] for region in
441  set(self.config.detectors_focal_plane_regions.values())}
442  for det, region in self.config.detectors_focal_plane_regions.items():
443  self.focal_plane_regions[region].append(det)
444  # make no assumption on what detector IDs should be, but if we come
445  # across one where there are processed bright stars, but no
446  # corresponding focal plane region, make sure we keep track of
447  # it (eg to raise a warning only once)
448  self.regionless_dets = []
449 
daf::base::PropertySet * set
Definition: fits.cc:912
std::shared_ptr< FrameSet > append(FrameSet const &first, FrameSet const &second)
Construct a FrameSet that performs two transformations in series.
Definition: functional.cc:33

Member Function Documentation

◆ runQuantum()

def lsst.pipe.tasks.extended_psf.MeasureExtendedPsfTask.runQuantum (   self,
  butlerQC,
  inputRefs,
  outputRefs 
)

Definition at line 476 of file extended_psf.py.

476  def runQuantum(self, butlerQC, inputRefs, outputRefs):
477  input_data = butlerQC.get(inputRefs)
478  bss_ref_list = input_data['input_brightStarStamps']
479  # Handle default case of a single region with empty detector list
480  if not self.config.detectors_focal_plane_regions:
481  self.log.info("No detector groups were provided to MeasureExtendedPsfTask; computing a single, "
482  "constant extended PSF model over all available observations.")
483  output_e_psf = ExtendedPsf(self.stack_bright_stars.run(bss_ref_list))
484  else:
485  output_e_psf = ExtendedPsf()
486  region_ref_list = self.select_detector_refs(bss_ref_list)
487  for region_name, ref_list in region_ref_list.items():
488  if not ref_list:
489  # no valid references found
490  self.log.warning('No valid brightStarStamps reference found for region "%s"; '
491  'skipping it.', region_name)
492  continue
493  ext_psf = self.stack_bright_stars.run(ref_list, region_name)
494  output_e_psf.add_regional_extended_psf(ext_psf, region_name,
495  self.focal_plane_regions[region_name])
496  output = pipeBase.Struct(extended_psf=output_e_psf)
497  butlerQC.put(output, outputRefs)
def run(self, coaddExposures, bbox, wcs)
Definition: getTemplate.py:603

◆ select_detector_refs()

def lsst.pipe.tasks.extended_psf.MeasureExtendedPsfTask.select_detector_refs (   self,
  ref_list 
)
Split available sets of bright star stamps according to focal plane
regions.

Parameters
----------
ref_list : `list` of
        `lsst.daf.butler._deferredDatasetHandle.DeferredDatasetHandle`
    List of available bright star stamps data references.

Definition at line 450 of file extended_psf.py.

450  def select_detector_refs(self, ref_list):
451  """Split available sets of bright star stamps according to focal plane
452  regions.
453 
454  Parameters
455  ----------
456  ref_list : `list` of
457  `lsst.daf.butler._deferredDatasetHandle.DeferredDatasetHandle`
458  List of available bright star stamps data references.
459  """
460  region_ref_list = {region: [] for region in self.focal_plane_regions.keys()}
461  for dataset_handle in ref_list:
462  det_id = dataset_handle.ref.dataId["detector"]
463  if det_id in self.regionless_dets:
464  continue
465  try:
466  region_name = self.config.detectors_focal_plane_regions[det_id]
467  except KeyError:
468  self.log.warning('Bright stars were available for detector %d, but it was missing '
469  'from the "detectors_focal_plane_regions" config field, so they will not '
470  'be used to build any of the extended PSF models', det_id)
471  self.regionless_dets.append(det_id)
472  continue
473  region_ref_list[region_name].append(dataset_handle)
474  return region_ref_list
475 

Member Data Documentation

◆ ConfigClass

lsst.pipe.tasks.extended_psf.MeasureExtendedPsfTask.ConfigClass = MeasureExtendedPsfConfig
static

Definition at line 434 of file extended_psf.py.

◆ focal_plane_regions

lsst.pipe.tasks.extended_psf.MeasureExtendedPsfTask.focal_plane_regions

Definition at line 440 of file extended_psf.py.

◆ regionless_dets

lsst.pipe.tasks.extended_psf.MeasureExtendedPsfTask.regionless_dets

Definition at line 448 of file extended_psf.py.


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