LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
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


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
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

Constructor & Destructor Documentation

◆ __init__()

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

Definition at line 437 of file

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 = []
daf::base::PropertySet * set
std::shared_ptr< FrameSet > append(FrameSet const &first, FrameSet const &second)
Construct a FrameSet that performs two transformations in series.

Member Function Documentation

◆ runQuantum()

def lsst.pipe.tasks.extended_psf.MeasureExtendedPsfTask.runQuantum (   self,

Definition at line 476 of file

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"No detector groups were provided to MeasureExtendedPsfTask; computing a single, "
482  "constant extended PSF model over all available observations.")
483  output_e_psf = ExtendedPsf(
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 =, 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)

◆ select_detector_refs()

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

ref_list : `list` of
    List of available bright star stamps data references.

Definition at line 450 of file

450  def select_detector_refs(self, ref_list):
451  """Split available sets of bright star stamps according to focal plane
452  regions.
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

Member Data Documentation

◆ ConfigClass

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

Definition at line 434 of file

◆ focal_plane_regions


Definition at line 440 of file

◆ regionless_dets


Definition at line 448 of file

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