LSST Applications g00274db5b6+edbf708997,g00d0e8bbd7+edbf708997,g199a45376c+5137f08352,g1fd858c14a+1d4b6db739,g262e1987ae+f4d9505c4f,g29ae962dfc+7156fb1a53,g2cef7863aa+73c82f25e4,g35bb328faa+edbf708997,g3e17d7035e+5b3adc59f5,g3fd5ace14f+852fa6fbcb,g47891489e3+6dc8069a4c,g53246c7159+edbf708997,g64539dfbff+9f17e571f4,g67b6fd64d1+6dc8069a4c,g74acd417e5+ae494d68d9,g786e29fd12+af89c03590,g7ae74a0b1c+a25e60b391,g7aefaa3e3d+536efcc10a,g7cc15d900a+d121454f8d,g87389fa792+a4172ec7da,g89139ef638+6dc8069a4c,g8d7436a09f+28c28d8d6d,g8ea07a8fe4+db21c37724,g92c671f44c+9f17e571f4,g98df359435+b2e6376b13,g99af87f6a8+b0f4ad7b8d,gac66b60396+966efe6077,gb88ae4c679+7dec8f19df,gbaa8f7a6c5+38b34f4976,gbf99507273+edbf708997,gc24b5d6ed1+9f17e571f4,gca7fc764a6+6dc8069a4c,gcc769fe2a4+97d0256649,gd7ef33dd92+6dc8069a4c,gdab6d2f7ff+ae494d68d9,gdbb4c4dda9+9f17e571f4,ge410e46f29+6dc8069a4c,geaed405ab2+e194be0d2b,w.2025.47
LSST Data Management Base Package
Loading...
Searching...
No Matches
lsst.meas.algorithms.sourceSelector.ScienceSourceSelectorTask Class Reference
Inheritance diagram for lsst.meas.algorithms.sourceSelector.ScienceSourceSelectorTask:
lsst.meas.algorithms.sourceSelector.BaseSourceSelectorTask

Public Member Functions

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

Static Public Attributes

 ConfigClass = BaseSourceSelectorConfig
 
bool usesMatches = False
 

Static Protected Attributes

str _DefaultName = "sourceSelector"
 

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 719 of file sourceSelector.py.

Member Function Documentation

◆ run()

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 : Various table formats
    Catalog of sources to select from. Can be
    `lsst.afw.table.SourceCatalog` or `pandas.DataFrame` or
    `astropy.table.Table`,
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.

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

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

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

Definition at line 72 of file sourceSelector.py.

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

◆ selectSources()

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.

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

    ``selected``
        Boolean array of sources that were selected, same length as
        sourceCat.
        (`numpy.ndarray` of `bool`)

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

Definition at line 730 of file sourceSelector.py.

730 def selectSources(self, sourceCat, matches=None, exposure=None):
731 """Return a selection of sources selected by specified criteria.
732
733 Parameters
734 ----------
735 sourceCat : `lsst.afw.table.SourceCatalog`
736 Catalog of sources to select from.
737 This catalog must be contiguous in memory.
738 matches : `list` of `lsst.afw.table.ReferenceMatch` or None
739 Ignored in this SourceSelector.
740 exposure : `lsst.afw.image.Exposure` or None
741 The exposure the catalog was built from; used for debug display.
742
743 Returns
744 -------
745 struct : `lsst.pipe.base.Struct`
746 The struct contains the following data:
747
748 ``selected``
749 Boolean array of sources that were selected, same length as
750 sourceCat.
751 (`numpy.ndarray` of `bool`)
752 """
753 selected = np.ones(len(sourceCat), dtype=bool)
754 if self.config.doFluxLimit:
755 selected &= self.config.fluxLimit.apply(sourceCat)
756 if self.config.doFlags:
757 selected &= self.config.flags.apply(sourceCat)
758 if self.config.doUnresolved:
759 selected &= self.config.unresolved.apply(sourceCat)
760 if self.config.doSignalToNoise:
761 selected &= self.config.signalToNoise.apply(sourceCat)
762 if self.config.doIsolated:
763 selected &= self.config.isolated.apply(sourceCat)
764 if self.config.doRequireFiniteRaDec:
765 selected &= self.config.requireFiniteRaDec.apply(sourceCat)
766 if self.config.doRequirePrimary:
767 selected &= self.config.requirePrimary.apply(sourceCat)
768 if self.config.doSkySources:
769 selected |= self.config.skyFlag.apply(sourceCat)
770 if self.config.doCentroidErrorLimit:
771 selected &= self.config.centroidErrorLimit.apply(sourceCat)
772
773 self.log.info("Selected %d/%d sources", selected.sum(), len(sourceCat))
774
775 return pipeBase.Struct(selected=selected)
776
777

Member Data Documentation

◆ _DefaultName

str lsst.meas.algorithms.sourceSelector.BaseSourceSelectorTask._DefaultName = "sourceSelector"
staticprotectedinherited

Definition at line 66 of file sourceSelector.py.

◆ ConfigClass

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

Definition at line 65 of file sourceSelector.py.

◆ usesMatches

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

Definition at line 67 of file sourceSelector.py.


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