LSST Applications 24.1.5,g02d81e74bb+fa3a7a026e,g180d380827+a53a32eff8,g2079a07aa2+86d27d4dc4,g2305ad1205+c0501b3732,g295015adf3+7d3e92f0ec,g2bbee38e9b+0e5473021a,g337abbeb29+0e5473021a,g33d1c0ed96+0e5473021a,g3a166c0a6a+0e5473021a,g3ddfee87b4+5dd1654d75,g48712c4677+3bf1020dcb,g487adcacf7+065c13d9cf,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+d7ac436cfb,g5a732f18d5+53520f316c,g64a986408d+fa3a7a026e,g858d7b2824+fa3a7a026e,g8a8a8dda67+585e252eca,g99cad8db69+a5a909b84f,g9ddcbc5298+9a081db1e4,ga1e77700b3+15fc3df1f7,ga8c6da7877+4cf350ccb2,gb0e22166c9+60f28cb32d,gba4ed39666+c2a2e4ac27,gbb8dafda3b+f991a0b59f,gc120e1dc64+9ccbfdb8be,gc28159a63d+0e5473021a,gcf0d15dbbd+5dd1654d75,gd96a1ce819+42fd0ee607,gdaeeff99f8+f9a426f77a,ge6526c86ff+0d71447b4b,ge79ae78c31+0e5473021a,gee10cc3b42+585e252eca,gff1a9f87cc+fa3a7a026e
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: