GenericPlugin#

class lsst.meas.base.GenericPlugin(config, name, schema, metadata, logName=None)#

Bases: BasePlugin

Abstract base class for a generic plugin.

Parameters#

configlsst.pex.config.Config

An instance of this class’ ConfigClass.

namestr

Name of this measurement plguin, for registering.

schemalsst.afw.table.Schema

The catalog schema. New fields should be added here to hold measurements produced by this plugin.

metadatalsst.daf.base.PropertySet

Metadata that will be attached to the output catalog.

logNamestr, 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.

Attributes Summary

ConfigClass

Plugin configuration information (lsst.pex.config.Config).

Methods Summary

fail(measRecord[, error])

Record a measurement failure.

getExecutionOrder()

Get the relative execution order of this plugin.

makeForcedPlugin(name)

Produce a ForcedPlugin subclass from this GenericPlugin class.

makeSingleFramePlugin(name)

Produce a SingleFramePlugin subclass from this GenericPlugin class.

measure(measRecord, exposure, center)

Measure a single source.

measureN(measCat, exposure, refCat, refWcs)

Measure multiple sources.

Attributes Documentation

ConfigClass = None#

Plugin configuration information (lsst.pex.config.Config).

Methods Documentation

fail(measRecord, error=None)#

Record a measurement failure.

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

Parameters#

measRecordlsst.afw.table.SourceRecord

Catalog record for the source being measured.

errorException

Error causing failure, or None.

classmethod getExecutionOrder()#

Get the relative execution order of this plugin.

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

classmethod makeForcedPlugin(name)#

Produce a ForcedPlugin subclass from this GenericPlugin class.

The class is also registered.

Parameters#

namestr

Name of plugin to register.

classmethod makeSingleFramePlugin(name)#

Produce a SingleFramePlugin subclass from this GenericPlugin class.

The class is also registered.

Parameters#

namestr

Name of plugin to register.

measure(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#

measRecordlsst.afw.table.SourceRecord

Catalog record for the source being measured.

exposurelsst.afw.image.Exposure

Exposure on which the source is being measured.

centerlsst.geom.Point2D

Pixel coordinates of the object.

Raises#

MeasurementError

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

measureN(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#

measCatlsst.afw.table.SourceCatalog

Catalog for the sources being measured.

exposurelsst.afw.image.Exposure

Exposure on which the source is being measured.

refCatlsst.afw.table.SourceCatalog

Reference catalog.

refWcslsst.afw.image.Wcs

Astrometric solution for the reference image.

Raises#

MeasurementError

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