lsst.meas.base g51c93253c0+c18275eecd
Loading...
Searching...
No Matches
lsst.meas.base.wrappers.GenericPlugin Class Reference
Inheritance diagram for lsst.meas.base.wrappers.GenericPlugin:
lsst.meas.base.pluginsBase.BasePlugin lsst.meas.base.plugins.EvaluateLocalPhotoCalibPlugin lsst.meas.base.plugins.EvaluateLocalWcsPlugin lsst.meas.base.plugins.InputCountPlugin lsst.meas.base.plugins.VariancePlugin

Public Member Functions

 getExecutionOrder (cls)
 
 __init__ (self, config, name, schema, metadata, logName=None)
 
 measure (self, measRecord, exposure, center)
 
 measureN (self, measCat, exposure, refCat, refWcs)
 
 fail (self, measRecord, error=None)
 
 makeSingleFramePlugin (cls, name)
 
 makeForcedPlugin (cls, name)
 
 getLogName (self)
 

Static Public Member Functions

 getTransformClass ()
 

Public Attributes

 config = config
 
 name = name
 
 logName = logName
 

Static Public Attributes

float CENTROID_ORDER = 0.0
 
float SHAPE_ORDER = 1.0
 
float FLUX_ORDER = 2.0
 
float APCORR_ORDER = 3.0
 
float DEFAULT_CATALOGCALCULATION = 4.0
 
 ConfigClass = BasePluginConfig
 

Protected Attributes

 _failKey = schema.addField(name + '_flag', type="Flag", doc="Set for any fatal failure")
 
 _generic = cls(config, name, schema, metadata)
 

Detailed Description

Abstract base class for a generic plugin.

Parameters
----------
config : `lsst.pex.config.Config`
    An instance of this class' ``ConfigClass``.
name : `str`
    Name of this measurement plguin, for registering.
schema : `lsst.afw.table.Schema`
    The catalog schema. New fields should be added here to
    hold measurements produced by this plugin.
metadata : `lsst.daf.base.PropertySet`
    Metadata that will be attached to the output catalog.
logName : `str`, optional
    Name of log component.

Notes
-----
A generic plugin can be used with the `singleFramePluginFromGeneric`
and/or `forcedPluginFromGeneric` wrappers to create classes that can be
used for single frame measurement and/or forced measurement (as
appropriate). The only real difference between `SingleFramePlugin` and
`ForcedPlugin` is the ``measure`` method; this class introduces a shared
signature for `measure` that, in combination with the aforementioned
wrappers, allows both plugin styles to share a single implementation.

This doesn't use `abc.ABCMeta` because I couldn't get it to work
with a superclass.

Sub-classes should set `ConfigClass` and implement the `measure` and
`measureN` methods. They may optionally provide alternative
implementations for the `__init__`, `fail` and `getExecutionOrder`
methods.

This default implementation simply adds a field for recording
a fatal failure of the measurement plugin.

Definition at line 501 of file wrappers.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.meas.base.wrappers.GenericPlugin.__init__ ( self,
config,
name,
schema,
metadata,
logName = None )

Definition at line 545 of file wrappers.py.

Member Function Documentation

◆ fail()

lsst.meas.base.wrappers.GenericPlugin.fail ( self,
measRecord,
error = None )
Record a measurement failure.

This default implementation simply records the failure in the source
record.

Parameters
----------
measRecord : `lsst.afw.table.SourceRecord`
    Catalog record for the source being measured.
error : `Exception`
    Error causing failure, or `None`.

Reimplemented from lsst.meas.base.pluginsBase.BasePlugin.

Reimplemented in lsst.meas.base.plugins.InputCountPlugin, and lsst.meas.base.plugins.VariancePlugin.

Definition at line 595 of file wrappers.py.

◆ getExecutionOrder()

lsst.meas.base.wrappers.GenericPlugin.getExecutionOrder ( cls)
Get the relative execution order of this plugin.

Must be reimplemented as a class method by concrete derived classes.

Reimplemented from lsst.meas.base.pluginsBase.BasePlugin.

Reimplemented in lsst.meas.base.plugins.EvaluateLocalPhotoCalibPlugin, lsst.meas.base.plugins.EvaluateLocalWcsPlugin, lsst.meas.base.plugins.InputCountPlugin, and lsst.meas.base.plugins.VariancePlugin.

Definition at line 542 of file wrappers.py.

◆ getLogName()

lsst.meas.base.pluginsBase.BasePlugin.getLogName ( self)
inherited

Definition at line 134 of file pluginsBase.py.

◆ getTransformClass()

lsst.meas.base.pluginsBase.BasePlugin.getTransformClass ( )
staticinherited
Get the measurement transformation appropriate to this plugin.

This returns a subclass of `transforms.MeasurementTransform`, which
may be instantiated with details of the algorithm configuration and
then called with information about calibration and WCS to convert from
raw measurement quantities to calibrated units. Calibrated data is
then provided in a separate output table.

Notes
-----
By default, we copy everything from the input to the output without
transformation.

Reimplemented in lsst.meas.base.plugins.ForcedPeakCentroidPlugin, and lsst.meas.base.plugins.SingleFramePeakCentroidPlugin.

Definition at line 169 of file pluginsBase.py.

◆ makeForcedPlugin()

lsst.meas.base.wrappers.GenericPlugin.makeForcedPlugin ( cls,
name )
Produce a ForcedPlugin subclass from this GenericPlugin class.

The class is also registered.

Parameters
----------
name : `str`
    Name of plugin to register.

Definition at line 652 of file wrappers.py.

◆ makeSingleFramePlugin()

lsst.meas.base.wrappers.GenericPlugin.makeSingleFramePlugin ( cls,
name )
Produce a SingleFramePlugin subclass from this GenericPlugin class.

The class is also registered.

Parameters
----------
name : `str`
    Name of plugin to register.

Definition at line 611 of file wrappers.py.

◆ measure()

lsst.meas.base.wrappers.GenericPlugin.measure ( self,
measRecord,
exposure,
center )
Measure a single source.

It is the responsibility of this method to perform the desired
measurement and record the result in the `measRecord`.

Parameters
----------
measRecord : `lsst.afw.table.SourceRecord`
    Catalog record for the source being measured.
exposure : `lsst.afw.image.Exposure`
    Exposure on which the source is being measured.
center : `lsst.geom.Point2D`
    Pixel coordinates of the object.

Raises
------
MeasurementError
    Raised if the measurement fails for a known/justifiable reason.

Reimplemented in lsst.meas.base.plugins.EvaluateLocalPhotoCalibPlugin, lsst.meas.base.plugins.EvaluateLocalWcsPlugin, lsst.meas.base.plugins.InputCountPlugin, and lsst.meas.base.plugins.VariancePlugin.

Definition at line 549 of file wrappers.py.

◆ measureN()

lsst.meas.base.wrappers.GenericPlugin.measureN ( self,
measCat,
exposure,
refCat,
refWcs )
Measure multiple sources.

It is the responsibility of this method to perform the desired
measurement and record the result in the `measCat`.

Parameters
----------
measCat : `lsst.afw.table.SourceCatalog`
    Catalog for the sources being measured.
exposure : `lsst.afw.image.Exposure`
    Exposure on which the source is being measured.
refCat : `lsst.afw.table.SourceCatalog`
    Reference catalog.
refWcs : `lsst.afw.image.Wcs`
    Astrometric solution for the reference image.

Raises
------
MeasurementError
    Raised if the measurement fails for a known/justifiable reason.

Definition at line 571 of file wrappers.py.

Member Data Documentation

◆ _failKey

lsst.meas.base.wrappers.GenericPlugin._failKey = schema.addField(name + '_flag', type="Flag", doc="Set for any fatal failure")
protected

Definition at line 547 of file wrappers.py.

◆ _generic

lsst.meas.base.wrappers.GenericPlugin._generic = cls(config, name, schema, metadata)
protected

Definition at line 630 of file wrappers.py.

◆ APCORR_ORDER

float lsst.meas.base.pluginsBase.BasePlugin.APCORR_ORDER = 3.0
staticinherited

Definition at line 98 of file pluginsBase.py.

◆ CENTROID_ORDER

float lsst.meas.base.pluginsBase.BasePlugin.CENTROID_ORDER = 0.0
staticinherited

Definition at line 72 of file pluginsBase.py.

◆ config

lsst.meas.base.pluginsBase.BasePlugin.config = config
inherited

Definition at line 130 of file pluginsBase.py.

◆ ConfigClass

lsst.meas.base.pluginsBase.BasePlugin.ConfigClass = BasePluginConfig
staticinherited

Definition at line 116 of file pluginsBase.py.

◆ DEFAULT_CATALOGCALCULATION

float lsst.meas.base.pluginsBase.BasePlugin.DEFAULT_CATALOGCALCULATION = 4.0
staticinherited

Definition at line 108 of file pluginsBase.py.

◆ FLUX_ORDER

float lsst.meas.base.pluginsBase.BasePlugin.FLUX_ORDER = 2.0
staticinherited

Definition at line 89 of file pluginsBase.py.

◆ logName

lsst.meas.base.pluginsBase.BasePlugin.logName = logName
inherited

Definition at line 132 of file pluginsBase.py.

◆ name

lsst.meas.base.pluginsBase.BasePlugin.name = name
inherited

Definition at line 131 of file pluginsBase.py.

◆ SHAPE_ORDER

float lsst.meas.base.pluginsBase.BasePlugin.SHAPE_ORDER = 1.0
staticinherited

Definition at line 80 of file pluginsBase.py.


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