LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Member Functions | Public Attributes | Static Public 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

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

Public Attributes

 schema
 
 plugMetadata
 
 plugins
 
 executionDict
 

Static Public Attributes

 ConfigClass = CatalogCalculationConfig
 

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__()

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

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.
Definition: PropertyList.h:68

Member Function Documentation

◆ callCompute()

def 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.

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()

def 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 
def format(config, name=None, writeSourceLine=True, prefix="", verbose=False)
Definition: history.py:174

◆ run()

def 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.

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 
def run(self, coaddExposures, bbox, wcs)
Definition: getTemplate.py:603

Member Data Documentation

◆ 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.

◆ 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: