lsst.meas.base  14.0-12-g233aa8e+3
Public Member Functions | Static Public Member Functions | Public Attributes | 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.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)
 
def getLogName (self)
 

Static Public Member Functions

def getTransformClass ()
 Get the measurement transformation appropriate to this plugin. More...
 

Public Attributes

 config
 
 name
 
 logName
 

Static Public Attributes

 ConfigClass = None
 
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
 

Detailed Description

Abstract base class for a generic plugin

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 the `measure` method that, in combination
with the afore-mentioned 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.

Constructor 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`
    Name of log component.

Definition at line 449 of file wrappers.py.

Constructor & Destructor Documentation

◆ __init__()

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

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

Definition at line 489 of file wrappers.py.

Member Function Documentation

◆ fail()

def lsst.meas.base.wrappers.GenericPlugin.fail (   self,
  measRecord,
  error = None 
)
Record 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`.

Definition at line 544 of file wrappers.py.

◆ getExecutionOrder()

def lsst.meas.base.wrappers.GenericPlugin.getExecutionOrder (   cls)

Definition at line 486 of file wrappers.py.

◆ getLogName()

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

Definition at line 92 of file pluginsBase.py.

◆ getTransformClass()

def lsst.meas.base.pluginsBase.BasePlugin.getTransformClass ( )
staticinherited

Get the measurement transformation appropriate to this plugin.

This returns a subclass of 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.

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

Definition at line 117 of file pluginsBase.py.

◆ makeForcedPlugin()

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

The class is also registered.

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

Definition at line 601 of file wrappers.py.

◆ makeSingleFramePlugin()

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

The class is also registered.

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

Definition at line 560 of file wrappers.py.

◆ measure()

def lsst.meas.base.wrappers.GenericPlugin.measure (   self,
  measRecord,
  exposure,
  center 
)
Measure 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.afw.geom.Point2D`
    Pixel coordinates of the object.

Raises
------
`MeasurementError`
    If the measurement fails for a known/justifiable reason.

Definition at line 498 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`
    If the measurement fails for a known/justifiable reason.

Definition at line 520 of file wrappers.py.

Member Data Documentation

◆ APCORR_ORDER

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

Definition at line 53 of file pluginsBase.py.

◆ CENTROID_ORDER

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

Definition at line 50 of file pluginsBase.py.

◆ config

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

Definition at line 88 of file pluginsBase.py.

◆ ConfigClass

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

Definition at line 483 of file wrappers.py.

◆ DEFAULT_CATALOGCALCULATION

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

Definition at line 54 of file pluginsBase.py.

◆ FLUX_ORDER

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

Definition at line 52 of file pluginsBase.py.

◆ logName

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

Definition at line 90 of file pluginsBase.py.

◆ name

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

Definition at line 89 of file pluginsBase.py.

◆ SHAPE_ORDER

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

Definition at line 51 of file pluginsBase.py.


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