LSST Applications g0b6bd0c080+a72a5dd7e6,g1182afd7b4+2a019aa3bb,g17e5ecfddb+2b8207f7de,g1d67935e3f+06cf436103,g38293774b4+ac198e9f13,g396055baef+6a2097e274,g3b44f30a73+6611e0205b,g480783c3b1+98f8679e14,g48ccf36440+89c08d0516,g4b93dc025c+98f8679e14,g5c4744a4d9+a302e8c7f0,g613e996a0d+e1c447f2e0,g6c8d09e9e7+25247a063c,g7271f0639c+98f8679e14,g7a9cd813b8+124095ede6,g9d27549199+a302e8c7f0,ga1cf026fa3+ac198e9f13,ga32aa97882+7403ac30ac,ga786bb30fb+7a139211af,gaa63f70f4e+9994eb9896,gabf319e997+ade567573c,gba47b54d5d+94dc90c3ea,gbec6a3398f+06cf436103,gc6308e37c7+07dd123edb,gc655b1545f+ade567573c,gcc9029db3c+ab229f5caf,gd01420fc67+06cf436103,gd877ba84e5+06cf436103,gdb4cecd868+6f279b5b48,ge2d134c3d5+cc4dbb2e3f,ge448b5faa6+86d1ceac1d,gecc7e12556+98f8679e14,gf3ee170dca+25247a063c,gf4ac96e456+ade567573c,gf9f5ea5b4d+ac198e9f13,gff490e6085+8c2580be5c,w.2022.27
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 
)

Reimplemented in lsst.meas.algorithms.astrometrySourceSelector.AstrometrySourceSelectorTask, and lsst.meas.algorithms.matcherSourceSelector.MatcherSourceSelectorTask.

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
A class to contain the data, WCS, and other information needed to describe an image of the sky.
Definition: Exposure.h:72
def run(self, coaddExposures, bbox, wcs, dataIds, **kwargs)
Definition: getTemplate.py:596
Lightweight representation of a geometric match between two records.
Definition: Match.h:67

◆ 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.algorithms.astrometrySourceSelector.AstrometrySourceSelectorTask, lsst.meas.algorithms.flaggedSourceSelector.FlaggedSourceSelectorTask, lsst.meas.algorithms.matcherSourceSelector.MatcherSourceSelectorTask, lsst.meas.algorithms.objectSizeStarSelector.ObjectSizeStarSelectorTask, lsst.meas.algorithms.sourceSelector.ScienceSourceSelectorTask, lsst.meas.algorithms.sourceSelector.ReferenceSourceSelectorTask, and lsst.meas.extensions.psfex.psfexStarSelector.PsfexStarSelectorTask.

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: