HigherOrderMomentsSourcePlugin

class lsst.meas.extensions.shapeHSM.HigherOrderMomentsSourcePlugin(config, name, schema, metadata, logName=None)

Bases: HigherOrderMomentsPlugin

Plugin for Higher Order Moments measurement of objects.

The moments are measured in normalized coordinates, where the normalized x axis is along the major axis and the normalized y axis along the minor. The moments are dependent only on the light profile, and does not scale with the size or orientation of the object.

For any well-sampled image, the zeroth order moment is 1, the first order moments are 0, and the second order moments are 0.5 for xx and yy and 0 for xy. For a symmetric profile, the moments are zeros if either of the indices is odd.

Notes

This plugin requires the ext_shapeHSM_HsmSourceMoments plugin to be enabled in order to measure the higher order moments, and raises a FatalAlgorithmError otherwise. For accurate results, the weight function used must match those used for first and second order moments. Hence, this plugin does not use slots for centroids and shapes, but instead uses those measured by the ext_shapeHSM_HsmSourceMoments explicitly.

The only known failure mode of this plugin is if ext_shapeHSM_HsmSourceMoments measurement failed. The flags of that plugin are informative here as well and should be used to filter out unreliable measurements.

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).

registry

Registry of subclasses of SingleFramePlugin (PluginRegistry).

Methods Summary

fail(record[, 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.

measure(record, exposure)

Measure the properties of a source on a single image.

measureN(measCat, exposure)

Measure the properties of blended sources on a single image.

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.

registry = <lsst.meas.base.pluginRegistry.PluginRegistry object>

Registry of subclasses of SingleFramePlugin (PluginRegistry).

Methods Documentation

fail(record, error=None)

Record a failure of the measure or measureN method.

Parameters:
measRecordlsst.afw.table.SourceRecord

Table record describing the source being measured.

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

measure(record, exposure)

Measure the properties of a source on a single image.

The image may be from a single epoch, or it may be a coadd.

Parameters:
measRecordlsst.afw.table.SourceRecord

Record describing the object being measured. Previously-measured quantities may be retrieved from here, and it will be updated in-place tih the outputs of this plugin.

exposurelsst.afw.image.ExposureF

The pixel data to be measured, together with the associated PSF, WCS, etc. All other sources in the image should have been replaced by noise according to deblender outputs.

measureN(measCat, exposure)

Measure the properties of blended sources on a single image.

This operates on all members of a blend family at once. The image may be from a single epoch, or it may be a coadd.

Parameters:
measCatlsst.afw.table.SourceCatalog

Catalog describing the objects (and only those objects) being measured. Previously-measured quantities will be retrieved from here, and it will be updated in-place with the outputs of this plugin.

exposurelsst.afw.image.ExposureF

The pixel data to be measured, together with the associated PSF, WCS, etc. All other sources in the image should have been replaced by noise according to deblender outputs.

Notes

Derived classes that do not implement measureN should just inherit this disabled version. Derived classes that do implement measureN should additionally add a bool doMeasureN config field to their config class to signal that measureN-mode is available.