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 | Static Public Attributes | List of all members
lsst.meas.algorithms.sourceSelector.ScienceSourceSelectorTask Class Reference
Inheritance diagram for lsst.meas.algorithms.sourceSelector.ScienceSourceSelectorTask:
lsst.meas.algorithms.sourceSelector.BaseSourceSelectorTask

Public Member Functions

def selectSources (self, sourceCat, matches=None, exposure=None)
 
def run (self, sourceCat, sourceSelectedField=None, matches=None, exposure=None)
 

Static Public Attributes

 ConfigClass = ScienceSourceSelectorConfig
 
bool usesMatches = False
 

Detailed Description

Science source selector

By "science" sources, we mean sources that are on images that we
are processing, as opposed to sources from reference catalogs.

This selects (science) sources by (optionally) applying each of a
magnitude limit, flag requirements and star/galaxy separation.

Definition at line 508 of file sourceSelector.py.

Member Function Documentation

◆ run()

def lsst.meas.algorithms.sourceSelector.BaseSourceSelectorTask.run (   self,
  sourceCat,
  sourceSelectedField = None,
  matches = None,
  exposure = None 
)
inherited
Select sources and return them.

The input catalog must be contiguous in memory.

Parameters:
-----------
sourceCat : `lsst.afw.table.SourceCatalog` or `pandas.DataFrame`
            or `astropy.table.Table`
    Catalog of sources to select from.
sourceSelectedField : `str` or None
    Name of flag field in sourceCat to set for selected sources.
    If set, will modify sourceCat in-place.
matches : `list` of `lsst.afw.table.ReferenceMatch` or None
    List of matches to use for source selection.
    If usesMatches is set in source selector this field is required.
    If not, it is ignored.
exposure : `lsst.afw.image.Exposure` or None
    The exposure the catalog was built from; used for debug display.

Return
------
struct : `lsst.pipe.base.Struct`
    The struct contains the following data:

    - sourceCat : `lsst.afw.table.SourceCatalog` or `pandas.DataFrame`
                  or `astropy.table.Table`
        The catalog of sources that were selected.
        (may not be memory-contiguous)
    - selected : `numpy.ndarray` of `bool``
        Boolean array of sources that were selected, same length as
        sourceCat.

Raises
------
RuntimeError
    Raised if ``sourceCat`` is not contiguous.

Definition at line 71 of file sourceSelector.py.

71  def run(self, sourceCat, sourceSelectedField=None, matches=None, exposure=None):
72  """Select sources and return them.
73 
74  The input catalog must be contiguous in memory.
75 
76  Parameters:
77  -----------
78  sourceCat : `lsst.afw.table.SourceCatalog` or `pandas.DataFrame`
79  or `astropy.table.Table`
80  Catalog of sources to select from.
81  sourceSelectedField : `str` or None
82  Name of flag field in sourceCat to set for selected sources.
83  If set, will modify sourceCat in-place.
84  matches : `list` of `lsst.afw.table.ReferenceMatch` or None
85  List of matches to use for source selection.
86  If usesMatches is set in source selector this field is required.
87  If not, it is ignored.
88  exposure : `lsst.afw.image.Exposure` or None
89  The exposure the catalog was built from; used for debug display.
90 
91  Return
92  ------
93  struct : `lsst.pipe.base.Struct`
94  The struct contains the following data:
95 
96  - sourceCat : `lsst.afw.table.SourceCatalog` or `pandas.DataFrame`
97  or `astropy.table.Table`
98  The catalog of sources that were selected.
99  (may not be memory-contiguous)
100  - selected : `numpy.ndarray` of `bool``
101  Boolean array of sources that were selected, same length as
102  sourceCat.
103 
104  Raises
105  ------
106  RuntimeError
107  Raised if ``sourceCat`` is not contiguous.
108  """
109  if hasattr(sourceCat, 'isContiguous'):
110  # Check for continuity on afwTable catalogs
111  if not sourceCat.isContiguous():
112  raise RuntimeError("Input catalogs for source selection must be contiguous.")
113 
114  result = self.selectSources(sourceCat=sourceCat,
115  exposure=exposure,
116  matches=matches)
117 
118  if sourceSelectedField is not None:
119  if isinstance(sourceCat, (pandas.DataFrame, astropy.table.Table)):
120  sourceCat[sourceSelectedField] = result.selected
121  else:
122  source_selected_key = \
123  sourceCat.getSchema()[sourceSelectedField].asKey()
124  # TODO: Remove for loop when DM-6981 is completed.
125  for source, flag in zip(sourceCat, result.selected):
126  source.set(source_selected_key, bool(flag))
127  return pipeBase.Struct(sourceCat=sourceCat[result.selected],
128  selected=result.selected)
129 
def run(self, coaddExposures, bbox, wcs)
Definition: getTemplate.py:603

◆ selectSources()

def lsst.meas.algorithms.sourceSelector.ScienceSourceSelectorTask.selectSources (   self,
  sourceCat,
  matches = None,
  exposure = None 
)
Return a selection of sources selected by specified criteria.

Parameters
----------
sourceCat : `lsst.afw.table.SourceCatalog`
    Catalog of sources to select from.
    This catalog must be contiguous in memory.
matches : `list` of `lsst.afw.table.ReferenceMatch` or None
    Ignored in this SourceSelector.
exposure : `lsst.afw.image.Exposure` or None
    The exposure the catalog was built from; used for debug display.

Return
------
struct : `lsst.pipe.base.Struct`
    The struct contains the following data:

    - selected : `array` of `bool``
        Boolean array of sources that were selected, same length as
        sourceCat.

Reimplemented from lsst.meas.algorithms.sourceSelector.BaseSourceSelectorTask.

Definition at line 519 of file sourceSelector.py.

519  def selectSources(self, sourceCat, matches=None, exposure=None):
520  """Return a selection of sources selected by specified criteria.
521 
522  Parameters
523  ----------
524  sourceCat : `lsst.afw.table.SourceCatalog`
525  Catalog of sources to select from.
526  This catalog must be contiguous in memory.
527  matches : `list` of `lsst.afw.table.ReferenceMatch` or None
528  Ignored in this SourceSelector.
529  exposure : `lsst.afw.image.Exposure` or None
530  The exposure the catalog was built from; used for debug display.
531 
532  Return
533  ------
534  struct : `lsst.pipe.base.Struct`
535  The struct contains the following data:
536 
537  - selected : `array` of `bool``
538  Boolean array of sources that were selected, same length as
539  sourceCat.
540  """
541  selected = np.ones(len(sourceCat), dtype=bool)
542  if self.config.doFluxLimit:
543  selected &= self.config.fluxLimit.apply(sourceCat)
544  if self.config.doFlags:
545  selected &= self.config.flags.apply(sourceCat)
546  if self.config.doUnresolved:
547  selected &= self.config.unresolved.apply(sourceCat)
548  if self.config.doSignalToNoise:
549  selected &= self.config.signalToNoise.apply(sourceCat)
550  if self.config.doIsolated:
551  selected &= self.config.isolated.apply(sourceCat)
552 
553  self.log.info("Selected %d/%d sources", selected.sum(), len(sourceCat))
554 
555  return pipeBase.Struct(selected=selected)
556 
557 

Member Data Documentation

◆ ConfigClass

lsst.meas.algorithms.sourceSelector.ScienceSourceSelectorTask.ConfigClass = ScienceSourceSelectorConfig
static

Definition at line 517 of file sourceSelector.py.

◆ usesMatches

bool lsst.meas.algorithms.sourceSelector.BaseSourceSelectorTask.usesMatches = False
staticinherited

Definition at line 66 of file sourceSelector.py.


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