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.BaseSourceSelectorTask Class Reference
Inheritance diagram for lsst.meas.algorithms.sourceSelector.BaseSourceSelectorTask:
lsst.meas.algorithms.astrometrySourceSelector.AstrometrySourceSelectorTask lsst.meas.algorithms.flaggedSourceSelector.FlaggedSourceSelectorTask lsst.meas.algorithms.matcherSourceSelector.MatcherSourceSelectorTask lsst.meas.algorithms.objectSizeStarSelector.ObjectSizeStarSelectorTask lsst.meas.algorithms.sourceSelector.ReferenceSourceSelectorTask lsst.meas.algorithms.sourceSelector.ScienceSourceSelectorTask lsst.meas.extensions.psfex.psfexStarSelector.PsfexStarSelectorTask

Public Member Functions

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

Static Public Attributes

 ConfigClass = BaseSourceSelectorConfig
 
bool usesMatches = False
 

Detailed Description

Base class for source selectors

Source selectors are classes that perform a selection on a catalog
object given a set of criteria or cuts. They return the selected catalog
and can optionally set a specified Flag field in the input catalog to
identify if the source was selected.

Register all source selectors with the sourceSelectorRegistry using:
    sourceSelectorRegistry.register(name, class)

Attributes
----------
usesMatches : `bool`
    A boolean variable specify if the inherited source selector uses
    matches to an external catalog, and thus requires the ``matches``
    argument to ``run()``.

Definition at line 45 of file sourceSelector.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.meas.algorithms.sourceSelector.BaseSourceSelectorTask.__init__ (   self,
**  kwargs 
)

Definition at line 68 of file sourceSelector.py.

68  def __init__(self, **kwargs):
69  pipeBase.Task.__init__(self, **kwargs)
70 

Member Function Documentation

◆ run()

def lsst.meas.algorithms.sourceSelector.BaseSourceSelectorTask.run (   self,
  sourceCat,
  sourceSelectedField = None,
  matches = None,
  exposure = None 
)
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.BaseSourceSelectorTask.selectSources (   self,
  sourceCat,
  matches = None,
  exposure = None 
)
Return a selection of sources selected by some criteria.

Parameters
----------
sourceCat : `lsst.afw.table.SourceCatalog` or `pandas.DataFrame`
            or `astropy.table.Table`
    Catalog of sources to select from.
    This catalog must be contiguous in memory.
matches : `list` of `lsst.afw.table.ReferenceMatch` or None
    A list of lsst.afw.table.ReferenceMatch objects
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 : `numpy.ndarray` of `bool``
        Boolean array of sources that were selected, same length as
        sourceCat.

Reimplemented in lsst.meas.extensions.psfex.psfexStarSelector.PsfexStarSelectorTask, lsst.meas.algorithms.sourceSelector.ReferenceSourceSelectorTask, lsst.meas.algorithms.sourceSelector.ScienceSourceSelectorTask, lsst.meas.algorithms.objectSizeStarSelector.ObjectSizeStarSelectorTask, lsst.meas.algorithms.matcherSourceSelector.MatcherSourceSelectorTask, lsst.meas.algorithms.flaggedSourceSelector.FlaggedSourceSelectorTask, and lsst.meas.algorithms.astrometrySourceSelector.AstrometrySourceSelectorTask.

Definition at line 131 of file sourceSelector.py.

131  def selectSources(self, sourceCat, matches=None, exposure=None):
132  """Return a selection of sources selected by some criteria.
133 
134  Parameters
135  ----------
136  sourceCat : `lsst.afw.table.SourceCatalog` or `pandas.DataFrame`
137  or `astropy.table.Table`
138  Catalog of sources to select from.
139  This catalog must be contiguous in memory.
140  matches : `list` of `lsst.afw.table.ReferenceMatch` or None
141  A list of lsst.afw.table.ReferenceMatch objects
142  exposure : `lsst.afw.image.Exposure` or None
143  The exposure the catalog was built from; used for debug display.
144 
145  Return
146  ------
147  struct : `lsst.pipe.base.Struct`
148  The struct contains the following data:
149 
150  - selected : `numpy.ndarray` of `bool``
151  Boolean array of sources that were selected, same length as
152  sourceCat.
153  """
154  raise NotImplementedError("BaseSourceSelectorTask is abstract")
155 
156 

Member Data Documentation

◆ ConfigClass

lsst.meas.algorithms.sourceSelector.BaseSourceSelectorTask.ConfigClass = BaseSourceSelectorConfig
static

Definition at line 64 of file sourceSelector.py.

◆ usesMatches

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

Definition at line 66 of file sourceSelector.py.


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