LSST Applications g044012fb7c+304891ab8a,g04a91732dc+4e1b87f259,g07dc498a13+f701f15b83,g114c6a66ad+c7887c1284,g1409bbee79+f701f15b83,g1a7e361dbc+f701f15b83,g1fd858c14a+6ebd102b59,g35bb328faa+0eb18584fe,g3bd4b5ce2c+e83bf4edc8,g4e0f332c67+976ceb6bc8,g53246c7159+0eb18584fe,g5477a8d5ce+51234355ef,g60b5630c4e+c7887c1284,g623d845a50+c7887c1284,g6f0c2978f1+98123c34b6,g71fabbc107+c7887c1284,g75b6c65c88+ce466f4385,g78460c75b0+85633614c8,g786e29fd12+02b9b86fc9,g8852436030+cfe5cf5b7b,g89139ef638+f701f15b83,g9125e01d80+0eb18584fe,g95236ca021+d4f98599f0,g974caa22f6+0eb18584fe,g989de1cb63+f701f15b83,g9f33ca652e+b4908f5dcd,gaaedd4e678+f701f15b83,gabe3b4be73+543c3c03c9,gace736f484+07e57cea59,gb1101e3267+487fd1b06d,gb58c049af0+492386d360,gc99c83e5f0+a513197d39,gcf25f946ba+cfe5cf5b7b,gd0fa69b896+babbe6e5fe,gd6cbbdb0b4+3fef02d88a,gde0f65d7ad+e8379653a2,ge278dab8ac+ae64226a64,gfba249425e+0eb18584fe,w.2025.07
LSST Data Management Base Package
Loading...
Searching...
No Matches
lsst.meas.base.catalogCalculation.CatalogCalculationTask Class Reference
Inheritance diagram for lsst.meas.base.catalogCalculation.CatalogCalculationTask:
lsst.meas.base.diaCalculation.DiaObjectCalculationTask

Public Member Functions

 __init__ (self, schema, plugMetadata=None, **kwargs)
 
 initializePlugins (self)
 
 run (self, measCat)
 
 callCompute (self, catalog)
 

Public Attributes

 schema
 
 plugMetadata
 
 plugins
 
 executionDict
 
 log
 

Static Public Attributes

 ConfigClass = CatalogCalculationConfig
 

Static Protected Attributes

str _DefaultName = "catalogCalculation"
 

Detailed Description

Run plugins which operate on a catalog of sources.

This task facilitates running plugins which will operate on a source
catalog. These plugins may do things such as classifying an object based
on source record entries inserted during a measurement task.

Parameters
----------
plugMetaData : `lsst.daf.base.PropertyList` or `None`
    Will be modified in-place to contain metadata about the plugins being
    run. If `None`, an empty `~lsst.daf.base.PropertyList` will be
    created.
**kwargs
    Additional arguments passed to the superclass constructor.

Notes
-----
Plugins may either take an entire catalog to work on at a time, or work on
individual records.

Definition at line 173 of file catalogCalculation.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.meas.base.catalogCalculation.CatalogCalculationTask.__init__ ( self,
schema,
plugMetadata = None,
** kwargs )

Reimplemented in lsst.meas.base.diaCalculation.DiaObjectCalculationTask.

Definition at line 197 of file catalogCalculation.py.

197 def __init__(self, schema, plugMetadata=None, **kwargs):
198 lsst.pipe.base.Task.__init__(self, **kwargs)
199 self.schema = schema
200 if plugMetadata is None:
201 plugMetadata = lsst.daf.base.PropertyList()
202 self.plugMetadata = plugMetadata
203 self.plugins = PluginMap()
204
205 self.initializePlugins()
206
Class for storing ordered metadata with comments.

Member Function Documentation

◆ callCompute()

lsst.meas.base.catalogCalculation.CatalogCalculationTask.callCompute ( self,
catalog )
Run each of the plugins on the catalog.

Parameters
----------
catalog : `lsst.afw.table.SourceCatalog`
    The catalog on which the plugins will operate.

Reimplemented in lsst.meas.base.diaCalculation.DiaObjectCalculationTask.

Definition at line 244 of file catalogCalculation.py.

244 def callCompute(self, catalog):
245 """Run each of the plugins on the catalog.
246
247 Parameters
248 ----------
249 catalog : `lsst.afw.table.SourceCatalog`
250 The catalog on which the plugins will operate.
251 """
252 for runlevel in sorted(self.executionDict):
253 # Run all of the plugins which take a whole catalog first
254 for plug in self.executionDict[runlevel].multi:
255 with CCContext(plug, catalog, self.log):
256 plug.calculate(catalog)
257 # Run all the plugins which take single catalog entries
258 for measRecord in catalog:
259 for plug in self.executionDict[runlevel].single:
260 with CCContext(plug, measRecord, self.log):
261 plug.calculate(measRecord)

◆ initializePlugins()

lsst.meas.base.catalogCalculation.CatalogCalculationTask.initializePlugins ( self)
Initialize the plugins according to the configuration.

Reimplemented in lsst.meas.base.diaCalculation.DiaObjectCalculationTask.

Definition at line 207 of file catalogCalculation.py.

207 def initializePlugins(self):
208 """Initialize the plugins according to the configuration.
209 """
210
211 pluginType = namedtuple('pluginType', 'single multi')
212 self.executionDict = {}
213 # Read the properties for each plugin. Allocate a dictionary entry for each run level. Verify that
214 # the plugins are above the minimum run level for an catalogCalculation plugin. For each run level,
215 # the plugins are sorted into either single record, or multi record groups to later be run
216 # appropriately
217 for executionOrder, name, config, PluginClass in sorted(self.config.plugins.apply()):
218 if executionOrder not in self.executionDict:
219 self.executionDict[executionOrder] = pluginType(single=[], multi=[])
220 if PluginClass.getExecutionOrder() >= BasePlugin.DEFAULT_CATALOGCALCULATION:
221 plug = PluginClass(config, name, self.schema, metadata=self.plugMetadata)
222 self.plugins[name] = plug
223 if plug.plugType == 'single':
224 self.executionDict[executionOrder].single.append(plug)
225 elif plug.plugType == 'multi':
226 self.executionDict[executionOrder].multi.append(plug)
227 else:
228 errorTuple = (PluginClass, PluginClass.getExecutionOrder(),
229 BasePlugin.DEFAULT_CATALOGCALCULATION)
230 raise ValueError("{} has an execution order less than the minimum for an catalogCalculation "
231 "plugin. Value {} : Minimum {}".format(*errorTuple))
232

◆ run()

lsst.meas.base.catalogCalculation.CatalogCalculationTask.run ( self,
measCat )
The entry point for the catalog calculation task.

Parameters
----------
meascat : `lsst.afw.table.SourceCatalog`
    Catalog for measurement.

Reimplemented in lsst.meas.base.diaCalculation.DiaObjectCalculationTask.

Definition at line 234 of file catalogCalculation.py.

234 def run(self, measCat):
235 """The entry point for the catalog calculation task.
236
237 Parameters
238 ----------
239 meascat : `lsst.afw.table.SourceCatalog`
240 Catalog for measurement.
241 """
242 self.callCompute(measCat)
243

Member Data Documentation

◆ _DefaultName

str lsst.meas.base.catalogCalculation.CatalogCalculationTask._DefaultName = "catalogCalculation"
staticprotected

Definition at line 195 of file catalogCalculation.py.

◆ ConfigClass

lsst.meas.base.catalogCalculation.CatalogCalculationTask.ConfigClass = CatalogCalculationConfig
static

Definition at line 194 of file catalogCalculation.py.

◆ executionDict

lsst.meas.base.catalogCalculation.CatalogCalculationTask.executionDict

Definition at line 212 of file catalogCalculation.py.

◆ log

lsst.meas.base.catalogCalculation.CatalogCalculationTask.log

Definition at line 255 of file catalogCalculation.py.

◆ plugins

lsst.meas.base.catalogCalculation.CatalogCalculationTask.plugins

Definition at line 203 of file catalogCalculation.py.

◆ plugMetadata

lsst.meas.base.catalogCalculation.CatalogCalculationTask.plugMetadata

Definition at line 202 of file catalogCalculation.py.

◆ schema

lsst.meas.base.catalogCalculation.CatalogCalculationTask.schema

Definition at line 199 of file catalogCalculation.py.


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