LSST Applications g02d81e74bb+86cf3d8bc9,g180d380827+7a4e862ed4,g2079a07aa2+86d27d4dc4,g2305ad1205+e1ca1c66fa,g29320951ab+012e1474a1,g295015adf3+341ea1ce94,g2bbee38e9b+0e5473021a,g337abbeb29+0e5473021a,g33d1c0ed96+0e5473021a,g3a166c0a6a+0e5473021a,g3ddfee87b4+c429d67c83,g48712c4677+f88676dd22,g487adcacf7+27e1e21933,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+b41db86c35,g5a732f18d5+53520f316c,g64a986408d+86cf3d8bc9,g858d7b2824+86cf3d8bc9,g8a8a8dda67+585e252eca,g99cad8db69+84912a7fdc,g9ddcbc5298+9a081db1e4,ga1e77700b3+15fc3df1f7,ga8c6da7877+a2b54eae19,gb0e22166c9+60f28cb32d,gba4ed39666+c2a2e4ac27,gbb8dafda3b+6681f309db,gc120e1dc64+f0fcc2f6d8,gc28159a63d+0e5473021a,gcf0d15dbbd+c429d67c83,gdaeeff99f8+f9a426f77a,ge6526c86ff+0433e6603d,ge79ae78c31+0e5473021a,gee10cc3b42+585e252eca,gff1a9f87cc+86cf3d8bc9,w.2024.17
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | Static Protected 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

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

Public Attributes

 detectors_focal_plane_regions
 
 regionless_dets
 

Static Public Attributes

 ConfigClass = MeasureExtendedPsfConfig
 

Static Protected Attributes

str _DefaultName = "measureExtendedPsf"
 

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 with all available data.

Definition at line 509 of file extended_psf.py.

Constructor & Destructor Documentation

◆ __init__()

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

Definition at line 524 of file extended_psf.py.

524 def __init__(self, initInputs=None, *args, **kwargs):
525 super().__init__(*args, **kwargs)
526 self.makeSubtask("stack_bright_stars")
527 self.detectors_focal_plane_regions = self.config.detectors_focal_plane_regions
528 self.regionless_dets = []
529

Member Function Documentation

◆ runQuantum()

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

Definition at line 559 of file extended_psf.py.

559 def runQuantum(self, butlerQC, inputRefs, outputRefs):
560 input_data = butlerQC.get(inputRefs)
561 bss_ref_list = input_data["input_brightStarStamps"]
562 # Creating the metadata dictionary to store the number of stars used to
563 # generate the PSF model(s).
564 self.metadata["psfStarCount"] = {}
565 if not self.config.detectors_focal_plane_regions:
566 self.log.info(
567 "No detector groups were provided to MeasureExtendedPsfTask; computing a single, "
568 "constant extended PSF model over all available observations."
569 )
570 # Creating the sub-dictionary to store the number of stars when one
571 # PSF modle is generated for focal plane.
572 self.metadata["psfStarCount"]["all"] = 0
573 output_e_psf = ExtendedPsf(
574 self.stack_bright_stars.run(bss_ref_list, self.metadata["psfStarCount"])
575 )
576 else:
577 output_e_psf = ExtendedPsf()
578 region_ref_list = self.select_detector_refs(bss_ref_list)
579 for region_name, ref_list in region_ref_list.items():
580 if not ref_list:
581 # no valid references found
582 self.log.warning(
583 "No valid brightStarStamps reference found for region '%s'; skipping it.",
584 region_name,
585 )
586 continue
587 # Creating the sub-dictionary to store the number of stars
588 # that are used to generate the PSF model for the current
589 # region.
590 self.metadata["psfStarCount"][region_name] = 0
591 ext_psf = self.stack_bright_stars.run(ref_list, self.metadata["psfStarCount"], region_name)
592 output_e_psf.add_regional_extended_psf(
593 ext_psf, region_name, self.detectors_focal_plane_regions[region_name]
594 )
595 output = Struct(extended_psf=output_e_psf)
596 butlerQC.put(output, outputRefs)

◆ select_detector_refs()

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 530 of file extended_psf.py.

530 def select_detector_refs(self, ref_list):
531 """Split available sets of bright star stamps according to focal plane
532 regions.
533
534 Parameters
535 ----------
536 ref_list : `list` of
537 `lsst.daf.butler._deferredDatasetHandle.DeferredDatasetHandle`
538 List of available bright star stamps data references.
539 """
540 region_ref_list = {region: [] for region in self.detectors_focal_plane_regions.keys()}
541 for dataset_handle in ref_list:
542 detector_id = dataset_handle.ref.dataId["detector"]
543 if detector_id in self.regionless_dets:
544 continue
545 try:
546 region_name = find_region_for_detector(detector_id, self.detectors_focal_plane_regions)
547 except KeyError:
548 self.log.warning(
549 "Bright stars were available for detector %d, but it was missing from the %s config "
550 "field, so they will not be used to build any of the extended PSF models.",
551 detector_id,
552 "'detectors_focal_plane_regions'",
553 )
554 self.regionless_dets.append(detector_id)
555 continue
556 region_ref_list[region_name].append(dataset_handle)
557 return region_ref_list
558

Member Data Documentation

◆ _DefaultName

str lsst.pipe.tasks.extended_psf.MeasureExtendedPsfTask._DefaultName = "measureExtendedPsf"
staticprotected

Definition at line 522 of file extended_psf.py.

◆ ConfigClass

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

Definition at line 521 of file extended_psf.py.

◆ detectors_focal_plane_regions

lsst.pipe.tasks.extended_psf.MeasureExtendedPsfTask.detectors_focal_plane_regions

Definition at line 527 of file extended_psf.py.

◆ regionless_dets

lsst.pipe.tasks.extended_psf.MeasureExtendedPsfTask.regionless_dets

Definition at line 528 of file extended_psf.py.


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