lsst.meas.base g51c93253c0+03e4aa831d
Loading...
Searching...
No Matches
lsst.meas.base.diaCalculation.DiaObjectCalculationTask Class Reference
Inheritance diagram for lsst.meas.base.diaCalculation.DiaObjectCalculationTask:
lsst.meas.base.catalogCalculation.CatalogCalculationTask

Public Member Functions

 __init__ (self, plugMetadata=None, **kwargs)
 
 initializePlugins (self)
 
 run (self, diaObjectCat, diaSourceCat, updatedDiaObjectIds, filterNames)
 
 callCompute (self, diaObjectCat, diaSourceCat, updatedDiaObjectIds, filterNames)
 

Public Attributes

list outputCols = []
 
 schema = schema
 
 plugMetadata = plugMetadata
 
 plugins = PluginMap()
 
dict executionDict = {}
 
 log
 

Static Public Attributes

 ConfigClass = CatalogCalculationConfig
 

Protected Member Functions

 _validatePluginCols (self, plug)
 
 _run_all_plugins (self, updatedDiaObjectIds, diaObjectsToUpdate, updatingDiaSources, diaSourcesGB, band)
 
 _initialize_dia_object (self, objId)
 

Static Protected Attributes

str _DefaultName = "catalogCalculation"
 

Detailed Description

Run plugins which operate on a catalog of DIA 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.

This task differs from CatalogCaculationTask in the following ways:

-No multi mode is available for plugins. All plugins are assumed to run
 in single mode.

-Input and output catalog types are assumed to be `pandas.DataFrames` with
 columns following those used in the Apdb.

-No schema argument is passed to the plugins. Each plugin specifies
 output columns and required inputs.

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 172 of file diaCalculation.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.meas.base.diaCalculation.DiaObjectCalculationTask.__init__ ( self,
plugMetadata = None,
** kwargs )

Definition at line 207 of file diaCalculation.py.

Member Function Documentation

◆ _initialize_dia_object()

lsst.meas.base.diaCalculation.DiaObjectCalculationTask._initialize_dia_object ( self,
objId )
protected
Create a new DiaObject with values required to be initialized by the
Apdb.

Parameters
----------
objid : `int`
    ``diaObjectId`` value for the of the new DiaObject.

Returns
-------
diaObject : `dict`
    Newly created DiaObject with keys:

    ``diaObjectId``
        Unique DiaObjectId (`int`).
    ``pmParallaxNdata``
        Number of data points used for parallax calculation (`int`).
    ``nearbyObj1``
        Id of the a nearbyObject in the Object table (`int`).
    ``nearbyObj2``
        Id of the a nearbyObject in the Object table (`int`).
    ``nearbyObj3``
        Id of the a nearbyObject in the Object table (`int`).
    ``?_psfFluxNdata``
        Number of data points used to calculate point source flux
        summary statistics in each bandpass (`int`).

Definition at line 494 of file diaCalculation.py.

◆ _run_all_plugins()

lsst.meas.base.diaCalculation.DiaObjectCalculationTask._run_all_plugins ( self,
updatedDiaObjectIds,
diaObjectsToUpdate,
updatingDiaSources,
diaSourcesGB,
band )
protected
Run each of the plugins on specific data and band.

All catalogs are modified in-place.

Parameters
----------
updatedDiaObjectIds : `numpy.ndarray`
    Integer ids of the DiaObjects to update and create.
diaObjectsToUpdate : indexer for a `pandas.DataFrame`
    A modifiable subset of DiaObjects to update values of and append
    new objects to. Should be indexed on "diaObjectId".
updatingDiaSources : indexer for a `pandas.DataFrame`
    A modifiable subset of DiaSources associated with the DiaObjects in
    diaObjectCat. Must be indexed on ["diaObjectId", "band", "diaSourceId"].
diaSourcesGB :
    A copy of ``updatingDiaSources`` grouped by diaObjectId.
band : `str` or `None`
    The filter to process, or `None` to run filter-agnostic plugins.

Definition at line 413 of file diaCalculation.py.

◆ _validatePluginCols()

lsst.meas.base.diaCalculation.DiaObjectCalculationTask._validatePluginCols ( self,
plug )
protected
Assert that output columns are not duplicated and input columns
exist for dependent plugins.

Parameters
----------
plug : `lsst.ap.association.DiaCalculationPlugin`
    Plugin to test for output collisions and input needs.

Definition at line 247 of file diaCalculation.py.

◆ callCompute()

lsst.meas.base.diaCalculation.DiaObjectCalculationTask.callCompute ( self,
diaObjectCat,
diaSourceCat,
updatedDiaObjectIds,
filterNames )
Run each of the plugins on the catalog.

For catalog column names see the SDM schema definitions for the
DiaObject and DiaSource tables (http://github.com/lsst/sdm_schemas/).

Parameters
----------
diaObjectCat : `pandas.DataFrame`
    DiaObjects to update values of and append new objects to. DataFrame
    should be indexed on "diaObjectId".
diaSourceCat : `pandas.DataFrame`
    DiaSources associated with the DiaObjects in diaObjectCat.
    DataFrame must be indexed on
    ["diaObjectId", "band", "diaSourceId"].
updatedDiaObjectIds : `numpy.ndarray`
    Integer ids of the DiaObjects to update and create.
filterNames : `list` of `str`
    List of string names of filters to be being processed.

Returns
-------
returnStruct : `lsst.pipe.base.Struct`
    Struct containing:

    ``diaObjectCat``
        Full set of DiaObjects including both un-updated and
        updated/new DiaObjects (`pandas.DataFrame`).
    ``updatedDiaObjects``
        Catalog of DiaObjects  that were updated or created by this
        task (`pandas.DataFrame`).

Raises
------
KeyError
    Raises if `pandas.DataFrame` indexing is not properly set.

Reimplemented from lsst.meas.base.catalogCalculation.CatalogCalculationTask.

Definition at line 346 of file diaCalculation.py.

◆ initializePlugins()

lsst.meas.base.diaCalculation.DiaObjectCalculationTask.initializePlugins ( self)
Initialize the plugins according to the configuration.

Reimplemented from lsst.meas.base.catalogCalculation.CatalogCalculationTask.

Definition at line 217 of file diaCalculation.py.

◆ run()

lsst.meas.base.diaCalculation.DiaObjectCalculationTask.run ( self,
diaObjectCat,
diaSourceCat,
updatedDiaObjectIds,
filterNames )
The entry point for the DIA catalog calculation task.

Run method both updates the values in the diaObjectCat and appends
newly created DiaObjects to the catalog. For catalog column names
see the SDM schema definitions for the DiaObject and DiaSource
tables (http://github.com/lsst/sdm_schemas/).

Parameters
----------
diaObjectCat : `pandas.DataFrame`
    DiaObjects to update values of and append new objects to. DataFrame
    should be indexed on "diaObjectId".
diaSourceCat : `pandas.DataFrame`
    DiaSources associated with the DiaObjects in diaObjectCat.
    DataFrame should be indexed on
    ["diaObjectId", "band", "diaSourceId"].
updatedDiaObjectIds : `numpy.ndarray`
    Integer ids of the DiaObjects to update and create.
filterNames : `list` of `str`
    List of string names of filters to be being processed.

Returns
-------
returnStruct : `lsst.pipe.base.Struct`
    Struct containing:

    ``diaObjectCat``
        Full set of DiaObjects including both un-updated and
        updated/new DiaObjects (`pandas.DataFrame`).
    ``updatedDiaObjects``
        Catalog of DiaObjects  that were updated or created by this
        task (`pandas.DataFrame`).

Reimplemented from lsst.meas.base.catalogCalculation.CatalogCalculationTask.

Definition at line 278 of file diaCalculation.py.

Member Data Documentation

◆ _DefaultName

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

Definition at line 195 of file catalogCalculation.py.

◆ ConfigClass

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

Definition at line 194 of file catalogCalculation.py.

◆ executionDict

lsst.meas.base.catalogCalculation.CatalogCalculationTask.executionDict = {}
inherited

Definition at line 212 of file catalogCalculation.py.

◆ log

lsst.meas.base.catalogCalculation.CatalogCalculationTask.log
inherited

Definition at line 255 of file catalogCalculation.py.

◆ outputCols

list lsst.meas.base.diaCalculation.DiaObjectCalculationTask.outputCols = []

Definition at line 213 of file diaCalculation.py.

◆ plugins

lsst.meas.base.catalogCalculation.CatalogCalculationTask.plugins = PluginMap()
inherited

Definition at line 203 of file catalogCalculation.py.

◆ plugMetadata

lsst.meas.base.catalogCalculation.CatalogCalculationTask.plugMetadata = plugMetadata
inherited

Definition at line 202 of file catalogCalculation.py.

◆ schema

lsst.meas.base.catalogCalculation.CatalogCalculationTask.schema = schema
inherited

Definition at line 199 of file catalogCalculation.py.


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