lsst.meas.base g070148d5b3+2c8977d7bc
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
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

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

Static Public Attributes

 ConfigClass = None
 

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 472 of file wrappers.py.

Constructor & Destructor Documentation

◆ __init__()

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

Member Function Documentation

◆ fail()

def 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.VariancePlugin, and lsst.meas.base.plugins.InputCountPlugin.

Definition at line 566 of file wrappers.py.

◆ getExecutionOrder()

def 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.VariancePlugin, lsst.meas.base.plugins.InputCountPlugin, lsst.meas.base.plugins.EvaluateLocalPhotoCalibPlugin, and lsst.meas.base.plugins.EvaluateLocalWcsPlugin.

Definition at line 513 of file wrappers.py.

◆ makeForcedPlugin()

def 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 623 of file wrappers.py.

◆ makeSingleFramePlugin()

def 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 582 of file wrappers.py.

◆ measure()

def 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.VariancePlugin, lsst.meas.base.plugins.InputCountPlugin, lsst.meas.base.plugins.EvaluateLocalPhotoCalibPlugin, and lsst.meas.base.plugins.EvaluateLocalWcsPlugin.

Definition at line 520 of file wrappers.py.

◆ measureN()

def 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 542 of file wrappers.py.

Member Data Documentation

◆ ConfigClass

lsst.meas.base.wrappers.GenericPlugin.ConfigClass = None
static

Definition at line 510 of file wrappers.py.


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