LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
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: