LSSTApplications  19.0.0-14-gb0260a2+72efe9b372,20.0.0+7927753e06,20.0.0+8829bf0056,20.0.0+995114c5d2,20.0.0+b6f4b2abd1,20.0.0+bddc4f4cbe,20.0.0-1-g253301a+8829bf0056,20.0.0-1-g2b7511a+0d71a2d77f,20.0.0-1-g5b95a8c+7461dd0434,20.0.0-12-g321c96ea+23efe4bbff,20.0.0-16-gfab17e72e+fdf35455f6,20.0.0-2-g0070d88+ba3ffc8f0b,20.0.0-2-g4dae9ad+ee58a624b3,20.0.0-2-g61b8584+5d3db074ba,20.0.0-2-gb780d76+d529cf1a41,20.0.0-2-ged6426c+226a441f5f,20.0.0-2-gf072044+8829bf0056,20.0.0-2-gf1f7952+ee58a624b3,20.0.0-20-geae50cf+e37fec0aee,20.0.0-25-g3dcad98+544a109665,20.0.0-25-g5eafb0f+ee58a624b3,20.0.0-27-g64178ef+f1f297b00a,20.0.0-3-g4cc78c6+e0676b0dc8,20.0.0-3-g8f21e14+4fd2c12c9a,20.0.0-3-gbd60e8c+187b78b4b8,20.0.0-3-gbecbe05+48431fa087,20.0.0-38-ge4adf513+a12e1f8e37,20.0.0-4-g97dc21a+544a109665,20.0.0-4-gb4befbc+087873070b,20.0.0-4-gf910f65+5d3db074ba,20.0.0-5-gdfe0fee+199202a608,20.0.0-5-gfbfe500+d529cf1a41,20.0.0-6-g64f541c+d529cf1a41,20.0.0-6-g9a5b7a1+a1cd37312e,20.0.0-68-ga3f3dda+5fca18c6a4,20.0.0-9-g4aef684+e18322736b,w.2020.45
LSSTDataManagementBasePackage
flaggedSourceSelector.py
Go to the documentation of this file.
1 #
2 # LSST Data Management System
3 #
4 # Copyright 2008-2017 AURA/LSST.
5 #
6 # This product includes software developed by the
7 # LSST Project (http://www.lsst.org/).
8 #
9 # This program is free software: you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation, either version 3 of the License, or
12 # (at your option) any later version.
13 #
14 # This program is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 # GNU General Public License for more details.
18 #
19 # You should have received a copy of the LSST License Statement and
20 # the GNU General Public License along with this program. If not,
21 # see <https://www.lsstcorp.org/LegalNotices/>.
22 #
23 """Select sources that have an existing flag field set."""
24 import lsst.pex.config
25 import lsst.afw.table
26 import lsst.pipe.base as pipeBase
27 
28 from .sourceSelector import BaseSourceSelectorTask, sourceSelectorRegistry
29 
30 __all__ = ["FlaggedSourceSelectorConfig", "FlaggedSourceSelectorTask"]
31 
32 
33 class FlaggedSourceSelectorConfig(BaseSourceSelectorTask.ConfigClass):
35  dtype=str, default="calib_psf_used",
36  doc="Name of a flag field that is True for Sources that should be used.",
37  )
38 
39 
40 @lsst.pex.config.registerConfigurable("flagged", sourceSelectorRegistry)
42  """
43  A trivial SourceSelector that simply uses an existing flag field to filter
44  a SourceCatalog.
45 
46  This is most frequently used in steps that occur after the a PSF model has
47  been built, to allow other procedures that need Sources to use the set of
48  Sources used to determine the PSF.
49 
50  Attributes
51  ----------
52  usesMatches : `bool`
53  A boolean variable specify if the inherited source selector uses
54  matches.
55  """
56 
57  ConfigClass = FlaggedSourceSelectorConfig
58  _DefaultName = "flagged"
59 
60  def selectSources(self, sourceCat, matches=None, exposure=None):
61  """Return a bool array representing which sources to select from
62  sourceCat.
63 
64  The input catalog must be contiguous in memory.
65 
66  Parameters
67  ----------
68  sourceCat : `lsst.afw.table.SourceCatalog`
69  Catalog of sources to select from.
70  matches : `list` of `lsst.afw.table.ReferenceMatch` or None
71  Ignored in this SourceSelector.
72  exposure : `lsst.afw.image.Exposure` or None
73  The exposure the catalog was built from; used for debug display.
74 
75  Return
76  ------
77  struct : `lsst.pipe.base.Struct`
78  The struct contains the following data:
79 
80  - selected : `array` of `bool`
81  Boolean array of sources that were selected, same length as
82  ``sourceCat``.
83  """
84  key = sourceCat.schema.find(self.config.field).key
85  return pipeBase.Struct(selected=sourceCat.get(key))
lsst::meas::algorithms.flaggedSourceSelector.FlaggedSourceSelectorTask.selectSources
def selectSources(self, sourceCat, matches=None, exposure=None)
Definition: flaggedSourceSelector.py:60
lsst.pex.config
Definition: __init__.py:1
lsst::meas::algorithms.sourceSelector.BaseSourceSelectorTask
Definition: sourceSelector.py:45
lsst::afw::table
Definition: table.dox:3
lsst.pex.config.config.Field
Definition: config.py:247
lsst.pipe.base
Definition: __init__.py:1
lsst::meas::algorithms.flaggedSourceSelector.FlaggedSourceSelectorConfig
Definition: flaggedSourceSelector.py:33
lsst::meas::algorithms.flaggedSourceSelector.FlaggedSourceSelectorTask
Definition: flaggedSourceSelector.py:41