LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | Static Protected Attributes | List of all members
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 170 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 194 of file catalogCalculation.py.

194 def __init__(self, schema, plugMetadata=None, **kwargs):
195 lsst.pipe.base.Task.__init__(self, **kwargs)
196 self.schema = schema
197 if plugMetadata is None:
198 plugMetadata = lsst.daf.base.PropertyList()
199 self.plugMetadata = plugMetadata
200 self.plugins = PluginMap()
201
202 self.initializePlugins()
203
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 241 of file catalogCalculation.py.

241 def callCompute(self, catalog):
242 """Run each of the plugins on the catalog.
243
244 Parameters
245 ----------
246 catalog : `lsst.afw.table.SourceCatalog`
247 The catalog on which the plugins will operate.
248 """
249 for runlevel in sorted(self.executionDict):
250 # Run all of the plugins which take a whole catalog first
251 for plug in self.executionDict[runlevel].multi:
252 with CCContext(plug, catalog, self.log):
253 plug.calculate(catalog)
254 # Run all the plugins which take single catalog entries
255 for measRecord in catalog:
256 for plug in self.executionDict[runlevel].single:
257 with CCContext(plug, measRecord, self.log):
258 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 204 of file catalogCalculation.py.

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

◆ 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 231 of file catalogCalculation.py.

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

Member Data Documentation

◆ _DefaultName

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

Definition at line 192 of file catalogCalculation.py.

◆ ConfigClass

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

Definition at line 191 of file catalogCalculation.py.

◆ executionDict

lsst.meas.base.catalogCalculation.CatalogCalculationTask.executionDict

Definition at line 209 of file catalogCalculation.py.

◆ log

lsst.meas.base.catalogCalculation.CatalogCalculationTask.log

Definition at line 252 of file catalogCalculation.py.

◆ plugins

lsst.meas.base.catalogCalculation.CatalogCalculationTask.plugins

Definition at line 200 of file catalogCalculation.py.

◆ plugMetadata

lsst.meas.base.catalogCalculation.CatalogCalculationTask.plugMetadata

Definition at line 199 of file catalogCalculation.py.

◆ schema

lsst.meas.base.catalogCalculation.CatalogCalculationTask.schema

Definition at line 196 of file catalogCalculation.py.


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