lsst.meas.algorithms g1581cd22ba+5952b5fc83
Loading...
Searching...
No Matches
lsst.meas.algorithms.adaptive_thresholds.AdaptiveThresholdDetectionTask Class Reference
Inheritance diagram for lsst.meas.algorithms.adaptive_thresholds.AdaptiveThresholdDetectionTask:

Public Member Functions

 run (self, table, exposure, initialThreshold=None, initialThresholdMultiplier=2.0)
 

Static Public Attributes

 ConfigClass = AdaptiveThresholdDetectionConfig
 

Static Protected Attributes

str _DefaultName = "adaptiveThresholdDetection"
 

Detailed Description

Detection of sources on an image using an adaptive scheme for
the detection threshold.

Definition at line 95 of file adaptive_thresholds.py.

Member Function Documentation

◆ run()

lsst.meas.algorithms.adaptive_thresholds.AdaptiveThresholdDetectionTask.run ( self,
table,
exposure,
initialThreshold = None,
initialThresholdMultiplier = 2.0 )
Perform detection with an adaptive threshold detection scheme
conditioned to maximize the likelihood of a successful PSF model fit
for any given "scene".

In particular, we'd like to be able to handle different scenes, from
sparsely populated ones through very crowded ones, and possibly high
fill-factor nebulosity along the way, with a single pipeline (and set
of configs). This requires some flexibility in setting the detection
thresholds in order to detect enough sources suitable for PSF modeling
(e.g. crowded fields require higher thresholds to ensure the detections
don't end up overlapping into a single or very small number of blended
footprints.

We first detect sources using the default threshold and multiplier.
Then, cycling through a series of criteria based on the DETECTED mask
planes (number of footprints, number of peaks, number of isolated
footprints, number of peaks-per-footrpint, etc.) conditioned to identify
a "Goldilocks Zone" where we have enough isolated peaks from which to
measure the PSF, we iterate while adjusting the detection thresholds
in the appropriate direction until all criteria are met (or the maximum
number of iterations is reached).

Parameters
----------
table : `lsst.afw.table.SourceTable`
    Table object that will be used to create the SourceCatalog.
exposure : `lsst.afw.image.Exposure`
    Exposure to process; DETECTED mask plane will be set in-place.
initialThreshold : `float`, optional
    Initial threshold for detection of PSF sources.
initialThresholdMultiplier : `float`, optional
    Initial threshold for detection of PSF sources.

Returns
-------
results : `lsst.pipe.base.Struct`
    The adaptive threshold detection results as a struct with
    attributes:

    ``detections``
        Results of the final round of detection as a struch with
        attributes:

        ``sources``
            Detected sources on the exposure
            (`lsst.afw.table.SourceCatalog`).
        ``positive``
            Positive polarity footprints
            (`lsst.afw.detection.FootprintSet` or `None`).
        ``negative``
            Negative polarity footprints
            (`lsst.afw.detection.FootprintSet` or `None`).
        ``numPos``
            Number of footprints in positive or 0 if detection polarity was
            negative (`int`).
        ``numNeg``
            Number of footprints in negative or 0 if detection polarity was
            positive (`int`).
        ``background``
            Always `None`; provided for compatibility with
            `SourceDetectionTask`.
        ``factor``
            Multiplication factor applied to the configured detection
            threshold. (`float`).
    ``thresholdValue``
        The final threshold value used to the configure the final round
        of detection (`float`).
    ``includeThresholdMultiplier``
        The final multiplication factor applied to the configured detection
        threshold. (`float`).

Definition at line 102 of file adaptive_thresholds.py.

Member Data Documentation

◆ _DefaultName

str lsst.meas.algorithms.adaptive_thresholds.AdaptiveThresholdDetectionTask._DefaultName = "adaptiveThresholdDetection"
staticprotected

Definition at line 100 of file adaptive_thresholds.py.

◆ ConfigClass

lsst.meas.algorithms.adaptive_thresholds.AdaptiveThresholdDetectionTask.ConfigClass = AdaptiveThresholdDetectionConfig
static

Definition at line 99 of file adaptive_thresholds.py.


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