LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.meas.base.plugins.SingleFrameMomentsClassifierPlugin Class Reference
Inheritance diagram for lsst.meas.base.plugins.SingleFrameMomentsClassifierPlugin:
lsst.meas.base.sfm.SingleFramePlugin lsst.meas.base.baseMeasurement.BaseMeasurementPlugin lsst.meas.base.pluginsBase.BasePlugin

Public Member Functions

 getExecutionOrder (cls)
 
 __init__ (self, config, name, schema, metadata)
 
None measure (self, measRecord, exposure)
 
None fail (self, measRecord, error=None)
 

Public Attributes

 key
 
 flag
 

Static Public Attributes

 ConfigClass = SingleFrameMomentsClassifierConfig
 

Detailed Description

Classify objects by comparing their moments-based trace radius to PSF's.

The plugin computes chi^2 as ((T_obj - T_psf)/T_psf^exponent)^2, where
T_obj is the sum of Ixx and Iyy moments of the object, and T_psf is the
sum of Ixx and Iyy moments of the PSF. The exponent is configurable.
The measure of being a galaxy is then 1 - exp(-0.5*chi^2).

Parameters
----------
config : `MomentsClassifierConfig`
    Plugin configuration.
name : `str`
    Plugin name.
schema : `~lsst.afw.table.Schema`
    The schema for the measurement output catalog. New fields will be
    added to hold measurements produced by this plugin.
metadata : `~lsst.daf.base.PropertySet`
    Plugin metadata that will be attached to the output catalog.

Notes
-----
The ``measure`` method of the plugin requires a value for the ``exposure``
argument to maintain consistent API, but it is not used in the measurement.

Definition at line 660 of file plugins.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.meas.base.plugins.SingleFrameMomentsClassifierPlugin.__init__ ( self,
config,
name,
schema,
metadata )

Reimplemented from lsst.meas.base.sfm.SingleFramePlugin.

Definition at line 692 of file plugins.py.

692 def __init__(self, config, name, schema, metadata):
693 SingleFramePlugin.__init__(self, config, name, schema, metadata)
694 self.key = schema.addField(name + "_value",
695 type="D",
696 doc="Measure of being a galaxy based on trace of second order moments",
697 )
698 self.flag = schema.addField(name + "_flag", type="Flag", doc="Moments-based classification failed")
699

Member Function Documentation

◆ fail()

None lsst.meas.base.plugins.SingleFrameMomentsClassifierPlugin.fail ( self,
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.

Reimplemented from lsst.meas.base.pluginsBase.BasePlugin.

Definition at line 721 of file plugins.py.

721 def fail(self, measRecord, error=None) -> None:
722 # Docstring inherited.
723 measRecord.set(self.key, np.nan)
724 measRecord.set(self.flag, True)
725
726

◆ getExecutionOrder()

lsst.meas.base.plugins.SingleFrameMomentsClassifierPlugin.getExecutionOrder ( cls)
Get the relative execution order of this plugin.

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

Reimplemented from lsst.meas.base.pluginsBase.BasePlugin.

Definition at line 689 of file plugins.py.

689 def getExecutionOrder(cls):
690 return cls.FLUX_ORDER
691

◆ measure()

None lsst.meas.base.plugins.SingleFrameMomentsClassifierPlugin.measure ( self,
measRecord,
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
----------
measRecord : `lsst.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.
exposure : `lsst.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.

Reimplemented from lsst.meas.base.sfm.SingleFramePlugin.

Definition at line 700 of file plugins.py.

700 def measure(self, measRecord, exposure) -> None:
701 # Docstring inherited.
702
703 if measRecord.getShapeFlag():
704 raise MeasurementError("Shape flag is set. Required for " + self.name + " algorithm")
705
706 shape = measRecord.getShape()
707 psf_shape = measRecord.getPsfShape()
708
709 ixx = shape.getIxx()
710 iyy = shape.getIyy()
711 ixx_psf = psf_shape.getIxx()
712 iyy_psf = psf_shape.getIyy()
713
714 object_t = ixx + iyy
715 psf_t = ixx_psf + iyy_psf
716
717 chi_sq = ((object_t - psf_t)/(psf_t**self.config.exponent))**2.
718 likelihood = 1. - np.exp(-0.5*chi_sq)
719 measRecord.set(self.key, likelihood)
720

Member Data Documentation

◆ ConfigClass

lsst.meas.base.plugins.SingleFrameMomentsClassifierPlugin.ConfigClass = SingleFrameMomentsClassifierConfig
static

Definition at line 686 of file plugins.py.

◆ flag

lsst.meas.base.plugins.SingleFrameMomentsClassifierPlugin.flag

Definition at line 698 of file plugins.py.

◆ key

lsst.meas.base.plugins.SingleFrameMomentsClassifierPlugin.key

Definition at line 694 of file plugins.py.


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