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

APCORR_ORDER

Order for algorithms which require shape, centroid and flux (float).

CENTROID_ORDER

Order for algorithms which require only Footprint and Peaks (float).

ConfigClass

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

DEFAULT_CATALOGCALCULATION

Order for catalog calculation plugins.

FLUX_ORDER

Order for algorithms which require a shape and a centroid (float).

SHAPE_ORDER

Order for algorithms which require a centroid (float).

Methods Summary

fail(measRecord[, error])

Record a measurement failure.

getExecutionOrder()

Get the relative execution order of this plugin.

getLogName()

getTransformClass()

Get the measurement transformation appropriate to 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

APCORR_ORDER = 3.0

Order for algorithms which require shape, centroid and flux (float).

Notes

These algorithms may assume that getCentroid and getShape will return good values, that flux has been measured, and that and that a Footprint and its Peaks are available.

CENTROID_ORDER = 0.0

Order for algorithms which require only Footprint and Peaks (float).

Notes

Algorithms with this execution order include centroids.

ConfigClass = None

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

DEFAULT_CATALOGCALCULATION = 4.0

Order for catalog calculation plugins.

Notes

These plugins only operate on catalogs; they may not access pixel values.

FLUX_ORDER = 2.0

Order for algorithms which require a shape and a centroid (float).

Notes

These algorithms may assume that both getCentroid and getShape will return good values, and that a Footprint and its Peaks are available.

SHAPE_ORDER = 1.0

Order for algorithms which require a centroid (float).

Notes

These algorithms may refer assume that getCentroid will return a good centroid, and that a Footprint and its Peaks are available.

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.

getLogName()
static getTransformClass()

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.

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.