lsst.meas.base  16.0-17-g7e0e4ff+12
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.meas.base.sfm.SingleFramePlugin Class Reference

Base class for single-frame plugin algorithms. More...

Inheritance diagram for lsst.meas.base.sfm.SingleFramePlugin:
lsst.meas.base.baseMeasurement.BaseMeasurementPlugin lsst.meas.base.pluginsBase.BasePlugin lsst.meas.base.plugins.SingleFrameFPPositionPlugin lsst.meas.base.plugins.SingleFrameJacobianPlugin lsst.meas.base.plugins.SingleFramePeakCentroidPlugin lsst.meas.base.plugins.SingleFrameSkyCoordPlugin lsst.meas.base.wrappers.WrappedSingleFramePlugin

Public Member Functions

def __init__ (self, config, name, schema, metadata, logName=None, kwds)
 Initialize the measurement object. More...
 
def measure (self, measRecord, exposure)
 Measure the properties of a source on a single image (single-epoch image or coadd). More...
 
def measureN (self, measCat, exposure)
 Measure the properties of a group of blended sources on a single image (single-epoch image or coadd). More...
 
def getExecutionOrder (cls)
 
def getLogName (self)
 
def fail (self, measRecord, error=None)
 Record a failure of the measure or measureN() method. More...
 

Static Public Member Functions

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

Public Attributes

 config
 
 name
 
 logName
 

Static Public Attributes

 registry = PluginRegistry(SingleFramePluginConfig)
 
 ConfigClass = SingleFramePluginConfig
 
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

Base class for single-frame plugin algorithms.

New Plugins can be created in Python by inheriting directly from this class and implementing measure(), fail() (from BasePlugin), and optionally init and measureN(). Plugins can also be defined in C++ via the WrappedSingleFramePlugin class.

Definition at line 50 of file sfm.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.meas.base.sfm.SingleFramePlugin.__init__ (   self,
  config,
  name,
  schema,
  metadata,
  logName = None,
  kwds 
)

Initialize the measurement object.

Parameters
[in]configAn instance of this class's ConfigClass.
[in]nameThe string the plugin was registered with.
[in,out]schemaThe Source schema. New fields should be added here to hold measurements produced by this plugin.
[in]metadataPlugin metadata that will be attached to the output catalog
[in]logNameMay include logName to use for this plugin

Definition at line 64 of file sfm.py.

Member Function Documentation

◆ fail()

def lsst.meas.base.pluginsBase.BasePlugin.fail (   self,
  measRecord,
  error = None 
)
inherited

Record a failure of the measure or measureN() method.

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

If the exception is a 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.

Definition at line 93 of file pluginsBase.py.

◆ getExecutionOrder()

def lsst.meas.base.pluginsBase.BasePlugin.getExecutionOrder (   cls)
inherited
Sets the relative order of plugins (smaller numbers run first).

In general, the following class constants should be used (other values
are also allowed, but should be avoided unless they are needed):
CENTROID_ORDER      centroids and other algorithms that require only a Footprint
            and its Peaks as input
SHAPE_ORDER         shape measurements and other algorithms that require getCentroid() to return
            a good centroid (in addition to a Footprint and its Peaks).
FLUX_ORDER          flux algorithms that require both getShape() and getCentroid(),
            in addition to a Footprint and its Peaks
DEFAULT_CATALOGCALCULATION plugins that only operate on the catalog

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

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.

Definition at line 55 of file pluginsBase.py.

◆ getLogName()

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

Definition at line 90 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 115 of file pluginsBase.py.

◆ measure()

def lsst.meas.base.sfm.SingleFramePlugin.measure (   self,
  measRecord,
  exposure 
)

Measure the properties of a source on a single image (single-epoch image or coadd).

Parameters
[in,out]measRecordlsst.afw.table.SourceRecord to be filled with outputs, and from which previously-measured quantities can be retreived.
[in]exposurelsst.afw.image.ExposureF, containing the pixel data to be measured and the associated Psf, Wcs, etc. All other sources in the image will have been replaced by noise according to deblender outputs.

Definition at line 77 of file sfm.py.

◆ measureN()

def lsst.meas.base.sfm.SingleFramePlugin.measureN (   self,
  measCat,
  exposure 
)

Measure the properties of a group of blended sources on a single image (single-epoch image or coadd).

Parameters
[in,out]measCatlsst.afw.table.SourceCatalog to be filled with outputs, and from which previously-measured quantities can be retrieved, containing only the sources that should be measured together in this call.
[in]exposurelsst.afw.image.ExposureF, containing the pixel data to be measured and the associated Psf, Wcs, etc. Sources not in the blended hierarchy to be measured will have been replaced with noise using deblender outputs.

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.

Definition at line 93 of file sfm.py.

Member Data Documentation

◆ APCORR_ORDER

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

Definition at line 51 of file pluginsBase.py.

◆ CENTROID_ORDER

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

Definition at line 48 of file pluginsBase.py.

◆ config

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

Definition at line 86 of file pluginsBase.py.

◆ ConfigClass

lsst.meas.base.sfm.SingleFramePlugin.ConfigClass = SingleFramePluginConfig
static

Definition at line 62 of file sfm.py.

◆ DEFAULT_CATALOGCALCULATION

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

Definition at line 52 of file pluginsBase.py.

◆ FLUX_ORDER

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

Definition at line 50 of file pluginsBase.py.

◆ logName

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

Definition at line 88 of file pluginsBase.py.

◆ name

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

Definition at line 87 of file pluginsBase.py.

◆ registry

lsst.meas.base.sfm.SingleFramePlugin.registry = PluginRegistry(SingleFramePluginConfig)
static

Definition at line 61 of file sfm.py.

◆ SHAPE_ORDER

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

Definition at line 49 of file pluginsBase.py.


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