BasePlugin

class lsst.meas.base.BasePlugin(config, name, logName=None)

Bases: object

Base class for measurement plugins.

This is the base class for SingleFramePlugin and ForcedPlugin; derived classes should inherit from one of those.

Parameters:
config : BasePluginConfig

Plugin configuration.

name : str

Plugin name.

logName : str

Logger name.

Notes

Relative execution orders are defined by a series of named constants defined in this class: plugins with a lower execution number are run first.

This approach was chosen instead of a full graph-based analysis of dependencies because algorithm dependencies are usually both quite simple and entirely substitutable: an algorithm that requires a centroid can typically make use of any centroid algorithms outputs. That makes it relatively easy to figure out the correct value to use for any particular algorithm.

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).
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 failure of the measure or measureN method.
getExecutionOrder() Get the relative execution order of this plugin.
getLogName()
getTransformClass() Get the measurement transformation appropriate to this plugin.

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.

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 failure of the measure or measureN method.

Parameters:
measRecord : lsst.afw.table.SourceRecord

Table record describing the source being measured.

error : MeasurementError, optional

Only provided if the measurement failed due to a MeasurementError being raised; otherwise, will be None.

Notes

When the plugin raises an exception, framework will call BasePlugin.fail to allow the plugin to set its failure flag field(s). When BasePlugin.measureN raises an exception, BasePlugin.fail will be called repeatedly with all the records that were being measured.

If the exception is an MeasurementError, it will be passed as the error argument; in all other cases the error argument will be None, and the failure will be logged by the measurement framework as a warning.

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.