LSST Applications  21.0.0-147-g0e635eb1+1acddb5be5,22.0.0+052faf71bd,22.0.0+1ea9a8b2b2,22.0.0+6312710a6c,22.0.0+729191ecac,22.0.0+7589c3a021,22.0.0+9f079a9461,22.0.1-1-g7d6de66+b8044ec9de,22.0.1-1-g87000a6+536b1ee016,22.0.1-1-g8e32f31+6312710a6c,22.0.1-10-gd060f87+016f7cdc03,22.0.1-12-g9c3108e+df145f6f68,22.0.1-16-g314fa6d+c825727ab8,22.0.1-19-g93a5c75+d23f2fb6d8,22.0.1-19-gb93eaa13+aab3ef7709,22.0.1-2-g8ef0a89+b8044ec9de,22.0.1-2-g92698f7+9f079a9461,22.0.1-2-ga9b0f51+052faf71bd,22.0.1-2-gac51dbf+052faf71bd,22.0.1-2-gb66926d+6312710a6c,22.0.1-2-gcb770ba+09e3807989,22.0.1-20-g32debb5+b8044ec9de,22.0.1-23-gc2439a9a+fb0756638e,22.0.1-3-g496fd5d+09117f784f,22.0.1-3-g59f966b+1e6ba2c031,22.0.1-3-g849a1b8+f8b568069f,22.0.1-3-gaaec9c0+c5c846a8b1,22.0.1-32-g5ddfab5d3+60ce4897b0,22.0.1-4-g037fbe1+64e601228d,22.0.1-4-g8623105+b8044ec9de,22.0.1-5-g096abc9+d18c45d440,22.0.1-5-g15c806e+57f5c03693,22.0.1-7-gba73697+57f5c03693,master-g6e05de7fdc+c1283a92b8,master-g72cdda8301+729191ecac,w.2021.39
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 169 of file catalogCalculation.py.

Constructor & Destructor Documentation

◆ __init__()

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

Definition at line 193 of file catalogCalculation.py.

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

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

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

230  def run(self, measCat):
231  """The entry point for the catalog calculation task.
232 
233  Parameters
234  ----------
235  meascat : `lsst.afw.table.SourceCatalog`
236  Catalog for measurement.
237  """
238  self.callCompute(measCat)
239 
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 190 of file catalogCalculation.py.

◆ executionDict

lsst.meas.base.catalogCalculation.CatalogCalculationTask.executionDict

Definition at line 208 of file catalogCalculation.py.

◆ plugins

lsst.meas.base.catalogCalculation.CatalogCalculationTask.plugins

Definition at line 199 of file catalogCalculation.py.

◆ plugMetadata

lsst.meas.base.catalogCalculation.CatalogCalculationTask.plugMetadata

Definition at line 198 of file catalogCalculation.py.

◆ schema

lsst.meas.base.catalogCalculation.CatalogCalculationTask.schema

Definition at line 195 of file catalogCalculation.py.


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