lsst.pipe.tasks  v23.0.x-gdc4d0a22fc+ac2300cb10
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.pipe.tasks.propagateVisitFlags.PropagateVisitFlagsTask Class Reference

Task to propagate flags from single-frame measurements to coadd measurements. More...

Inheritance diagram for lsst.pipe.tasks.propagateVisitFlags.PropagateVisitFlagsTask:

Public Member Functions

def __init__ (self, schema, **kwargs)
 
def run (self, butler, coaddSources, ccdInputs, coaddWcs, visitCatalogs=None, wcsUpdates=None)
 Propagate flags from individual visit measurements to coadd. More...
 

Static Public Member Functions

def getCcdInputs (coaddExposure)
 Convenience method to retrieve the CCD inputs table from a coadd exposure. More...
 

Public Attributes

 schema
 

Static Public Attributes

 ConfigClass = PropagateVisitFlagsConfig
 

Detailed Description

Task to propagate flags from single-frame measurements to coadd measurements.

Propagate flags from individual visit measurements to coadd measurements

Contents

Description

PropagateVisitFlagsTask

We want to be able to set a flag for sources on the coadds using flags that were determined from the individual visits. A common example is sources that were used for PSF determination, since we do not do any PSF determination on the coadd but use the individual visits. This requires matching the coadd source catalog to each of the catalogs from the inputs (see PropagateVisitFlagsConfig.matchRadius), and thresholding on the number of times a source is flagged on the input catalog.

An important consideration in this is that the flagging of sources in the individual visits can be somewhat stochastic, e.g., the same stars may not always be used for PSF determination because the field of view moves slightly between visits, or the seeing changed. We there threshold on the relative occurrence of the flag in the visits (see PropagateVisitFlagsConfig.flags). Flagging a source that is always flagged in inputs corresponds to a threshold of 1, while flagging a source that is flagged in any of the input corresponds to a threshold of 0. But neither of these extrema are really useful in practise.

Setting the threshold too high means that sources that are not consistently flagged (e.g., due to chip gaps) will not have the flag propagated. Setting that threshold too low means that random sources which are falsely flagged in the inputs will start to dominate. If in doubt, we suggest making this threshold relatively low, but not zero (e.g., 0.1 to 0.2 or so). The more confidence in the quality of the flagging, the lower the threshold can be.

The relative occurrence accounts for the edge of the field-of-view of the camera, but does not include chip gaps, bad or saturated pixels, etc.

Initialization

Beyond the usual Task initialization, PropagateVisitFlagsTask also requires a schema for the catalog that is being constructed.

Configuration parameters

See PropagateVisitFlagsConfig

Use

The 'run' method (described below) is the entry-point for operations. The 'getCcdInputs' staticmethod is provided as a convenience for retrieving the 'ccdInputs' (CCD inputs table) from an Exposure.

Propagate flags from individual visit measurements to coadd.

    This requires matching the coadd source catalog to each of the catalogs
    from the inputs, and thresholding on the number of times a source is
    flagged on the input catalog.  The threshold is made on the relative
    occurrence of the flag in each source.  Flagging a source that is always
    flagged in inputs corresponds to a threshold of 1, while flagging a
    source that is flagged in any of the input corresponds to a threshold of
    0.  But neither of these extrema are really useful in practise.

    Setting the threshold too high means that sources that are not consistently
    flagged (e.g., due to chip gaps) will not have the flag propagated.  Setting
    that threshold too low means that random sources which are falsely flagged in
    the inputs will start to dominate.  If in doubt, we suggest making this threshold
    relatively low, but not zero (e.g., 0.1 to 0.2 or so).  The more confidence in
    the quality of the flagging, the lower the threshold can be.

    The relative occurrence accounts for the edge of the field-of-view of
    the camera, but does not include chip gaps, bad or saturated pixels, etc.

    @param[in] butler  Data butler, for retrieving the input source catalogs
    @param[in,out] coaddSources  Source catalog from the coadd
    @param[in] ccdInputs  Table of CCDs that contribute to the coadd
    @param[in] coaddWcs  Wcs for coadd
    @param[in] visitCatalogs List of loaded source catalogs for each input ccd in
                             the coadd. If provided this is used instead of this
                             method loading in the catalogs itself
    @param[in] wcsUpdates optional, If visitCatalogs is a list of ccd catalogs, this
                          should be a list of updated wcs to apply

Example

# Requires:
# * butler: data butler, for retrieving the CCD catalogs
# * coaddCatalog: catalog of source measurements on the coadd (lsst.afw.table.SourceCatalog)
# * coaddExposure: coadd (lsst.afw.image.Exposure)
from lsst.pipe.tasks.propagateVisitFlags import PropagateVisitFlagsTask, PropagateVisitFlagsConfig
config = PropagateVisitFlagsConfig()
config.flags["calib_psf_used"] = 0.3 # Relative threshold for this flag
config.matchRadius = 0.5 # Matching radius in arcsec
task = PropagateVisitFlagsTask(coaddCatalog.schema, config=config)
ccdInputs = task.getCcdInputs(coaddExposure)
task.run(butler, coaddCatalog, ccdInputs, coaddExposure.getWcs())

Definition at line 51 of file propagateVisitFlags.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.pipe.tasks.propagateVisitFlags.PropagateVisitFlagsTask.__init__ (   self,
  schema,
**  kwargs 
)

Definition at line 133 of file propagateVisitFlags.py.

Member Function Documentation

◆ getCcdInputs()

def lsst.pipe.tasks.propagateVisitFlags.PropagateVisitFlagsTask.getCcdInputs (   coaddExposure)
static

Convenience method to retrieve the CCD inputs table from a coadd exposure.

Definition at line 140 of file propagateVisitFlags.py.

◆ run()

def lsst.pipe.tasks.propagateVisitFlags.PropagateVisitFlagsTask.run (   self,
  butler,
  coaddSources,
  ccdInputs,
  coaddWcs,
  visitCatalogs = None,
  wcsUpdates = None 
)

Propagate flags from individual visit measurements to coadd.

    This requires matching the coadd source catalog to each of the catalogs
    from the inputs, and thresholding on the number of times a source is
    flagged on the input catalog.  The threshold is made on the relative
    occurrence of the flag in each source.  Flagging a source that is always
    flagged in inputs corresponds to a threshold of 1, while flagging a
    source that is flagged in any of the input corresponds to a threshold of
    0.  But neither of these extrema are really useful in practise.

    Setting the threshold too high means that sources that are not consistently
    flagged (e.g., due to chip gaps) will not have the flag propagated.  Setting
    that threshold too low means that random sources which are falsely flagged in
    the inputs will start to dominate.  If in doubt, we suggest making this threshold
    relatively low, but not zero (e.g., 0.1 to 0.2 or so).  The more confidence in
    the quality of the flagging, the lower the threshold can be.

    The relative occurrence accounts for the edge of the field-of-view of
    the camera, but does not include chip gaps, bad or saturated pixels, etc.

    @param[in] butler  Data butler, for retrieving the input source catalogs
    @param[in,out] coaddSources  Source catalog from the coadd
    @param[in] ccdInputs  Table of CCDs that contribute to the coadd
    @param[in] coaddWcs  Wcs for coadd
    @param[in] visitCatalogs List of loaded source catalogs for each input ccd in
                             the coadd. If provided this is used instead of this
                             method loading in the catalogs itself
    @param[in] wcsUpdates optional, If visitCatalogs is a list of ccd catalogs, this
                          should be a list of updated wcs to apply

Definition at line 144 of file propagateVisitFlags.py.

Member Data Documentation

◆ ConfigClass

lsst.pipe.tasks.propagateVisitFlags.PropagateVisitFlagsTask.ConfigClass = PropagateVisitFlagsConfig
static

Definition at line 131 of file propagateVisitFlags.py.

◆ schema

lsst.pipe.tasks.propagateVisitFlags.PropagateVisitFlagsTask.schema

Definition at line 135 of file propagateVisitFlags.py.


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