LSST Applications g00274db5b6+edbf708997,g00d0e8bbd7+edbf708997,g199a45376c+5137f08352,g1fd858c14a+1d4b6db739,g262e1987ae+f4d9505c4f,g29ae962dfc+7156fb1a53,g2cef7863aa+73c82f25e4,g35bb328faa+edbf708997,g3e17d7035e+5b3adc59f5,g3fd5ace14f+852fa6fbcb,g47891489e3+6dc8069a4c,g53246c7159+edbf708997,g64539dfbff+9f17e571f4,g67b6fd64d1+6dc8069a4c,g74acd417e5+ae494d68d9,g786e29fd12+af89c03590,g7ae74a0b1c+a25e60b391,g7aefaa3e3d+536efcc10a,g7cc15d900a+d121454f8d,g87389fa792+a4172ec7da,g89139ef638+6dc8069a4c,g8d7436a09f+28c28d8d6d,g8ea07a8fe4+db21c37724,g92c671f44c+9f17e571f4,g98df359435+b2e6376b13,g99af87f6a8+b0f4ad7b8d,gac66b60396+966efe6077,gb88ae4c679+7dec8f19df,gbaa8f7a6c5+38b34f4976,gbf99507273+edbf708997,gc24b5d6ed1+9f17e571f4,gca7fc764a6+6dc8069a4c,gcc769fe2a4+97d0256649,gd7ef33dd92+6dc8069a4c,gdab6d2f7ff+ae494d68d9,gdbb4c4dda9+9f17e571f4,ge410e46f29+6dc8069a4c,geaed405ab2+e194be0d2b,w.2025.47
LSST Data Management Base Package
Loading...
Searching...
No Matches
lsst.meas.base.plugins.ForcedPeakCentroidPlugin Class Reference
Inheritance diagram for lsst.meas.base.plugins.ForcedPeakCentroidPlugin:
lsst.meas.base.forcedMeasurement.ForcedPlugin lsst.meas.base.baseMeasurement.BaseMeasurementPlugin lsst.meas.base.pluginsBase.BasePlugin

Public Member Functions

 getExecutionOrder (cls)
 
 __init__ (self, config, name, schemaMapper, metadata)
 
 measure (self, measRecord, exposure, refRecord, refWcs)
 
 measureN (self, measCat, exposure, refCat, refWcs)
 
 getLogName (self)
 
 fail (self, measRecord, error=None)
 

Static Public Member Functions

 getTransformClass ()
 

Public Attributes

 keyX = schema.addField(name + "_x", type="D", doc="peak centroid", units="pixel")
 
 keyY = schema.addField(name + "_y", type="D", doc="peak centroid", units="pixel")
 
 config = config
 
 name = name
 
 logName = logName
 

Static Public Attributes

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

Detailed Description

Record the highest peak in a source footprint as its centroid.

This is of course a relatively poor measure of the true centroid of the
object; this algorithm is provided mostly for testing and debugging.

This is similar to `SingleFramePeakCentroidPlugin`, except that transforms
the peak coordinate from the original (reference) coordinate system to the
coordinate system of the exposure being measured.

Parameters
----------
config : `ForcedPeakCentroidConfig`
    Plugin configuraion.
name : `str`
    Plugin name.
schemaMapper : `lsst.afw.table.SchemaMapper`
    A mapping from reference catalog fields to output
    catalog fields. Output fields are added to the output schema.
metadata : `lsst.daf.base.PropertySet`
    Plugin metadata that will be attached to the output catalog.

Definition at line 775 of file plugins.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.meas.base.plugins.ForcedPeakCentroidPlugin.__init__ ( self,
config,
name,
schemaMapper,
metadata )

Definition at line 804 of file plugins.py.

804 def __init__(self, config, name, schemaMapper, metadata):
805 ForcedPlugin.__init__(self, config, name, schemaMapper, metadata)
806 schema = schemaMapper.editOutputSchema()
807 self.keyX = schema.addField(name + "_x", type="D", doc="peak centroid", units="pixel")
808 self.keyY = schema.addField(name + "_y", type="D", doc="peak centroid", units="pixel")
809

Member Function Documentation

◆ fail()

lsst.meas.base.pluginsBase.BasePlugin.fail ( self,
measRecord,
error = None )
inherited
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 in lsst.ip.diffim.dipoleMeasurement.ClassificationDipolePlugin, lsst.meas.base.classification.CatalogCalculationClassificationPlugin, lsst.meas.base.compensatedGaussian._compensatedGaussian.SingleFrameCompensatedGaussianFluxPlugin, lsst.meas.base.compensatedGaussian._compensatedTophat.SingleFrameCompensatedTophatFluxPlugin, lsst.meas.base.diaCalculation.DiaObjectCalculationPlugin, lsst.meas.base.footprintArea.CatalogCalculationFootprintAreaPlugin, lsst.meas.base.plugins.InputCountPlugin, lsst.meas.base.plugins.SingleFrameClassificationSizeExtendednessPlugin, lsst.meas.base.plugins.SingleFrameFPPositionPlugin, lsst.meas.base.plugins.SingleFrameJacobianPlugin, lsst.meas.base.plugins.SingleFramePeakCentroidPlugin, lsst.meas.base.plugins.SingleFrameSkyCoordPlugin, lsst.meas.base.plugins.VariancePlugin, lsst.meas.base.wrappers.GenericPlugin, lsst.meas.base.wrappers.WrappedForcedPlugin, lsst.meas.base.wrappers.WrappedSingleFramePlugin, lsst.meas.extensions.trailedSources.NaivePlugin.SingleFrameNaiveTrailPlugin, lsst.meas.extensions.trailedSources.VeresPlugin.SingleFrameVeresTrailPlugin, lsst.meas.modelfit.cmodel.cmodelContinued.CModelForcedPlugin, lsst.meas.modelfit.cmodel.cmodelContinued.CModelSingleFramePlugin, lsst.meas.modelfit.psf.psfContinued.GeneralShapeletPsfApproxForcedPlugin, and lsst.meas.modelfit.psf.psfContinued.GeneralShapeletPsfApproxSingleFramePlugin.

Definition at line 137 of file pluginsBase.py.

137 def fail(self, measRecord, error=None):
138 """Record a failure of the `measure` or `measureN` method.
139
140 Parameters
141 ----------
142 measRecord : `lsst.afw.table.SourceRecord`
143 Table record describing the source being measured.
144 error : `MeasurementError`, optional
145 Only provided if the measurement failed due to a
146 `MeasurementError` being raised; otherwise, will be `None`.
147
148 Notes
149 -----
150 When the plugin raises an exception, framework will call
151 `BasePlugin.fail` to allow the plugin to set its failure flag
152 field(s). When `BasePlugin.measureN` raises an exception,
153 `BasePlugin.fail` will be called repeatedly with all the records that
154 were being measured.
155
156 If the exception is an `MeasurementError`, it will be passed as the
157 error argument; in all other cases the error argument will be `None`,
158 and the failure will be logged by the measurement framework as a
159 warning.
160
161 """
162 traceback.print_exc()
163 message = ("The algorithm '%s' thinks it cannot fail, but it did; "
164 "please report this as a bug (the full traceback is above)."
165 % (self.__class__.__name__,))
166 raise NotImplementedError(message)
167

◆ getExecutionOrder()

lsst.meas.base.plugins.ForcedPeakCentroidPlugin.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 801 of file plugins.py.

801 def getExecutionOrder(cls):
802 return cls.CENTROID_ORDER
803

◆ getLogName()

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

Definition at line 134 of file pluginsBase.py.

134 def getLogName(self):
135 return self.logName
136

◆ getTransformClass()

lsst.meas.base.plugins.ForcedPeakCentroidPlugin.getTransformClass ( )
static
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.

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

Definition at line 819 of file plugins.py.

819 def getTransformClass():
820 return SimpleCentroidTransform
821
822

◆ measure()

lsst.meas.base.plugins.ForcedPeakCentroidPlugin.measure ( self,
measRecord,
exposure,
refRecord,
refWcs )
Measure the properties of a source given an image and a reference.

Parameters
----------
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.
measRecord : `lsst.afw.table.SourceRecord`
    Record describing the object being measured. Previously-measured
    quantities will be retrieved from here, and it will be updated
    in-place with the outputs of this plugin.
refRecord : `lsst.afw.table.SimpleRecord`
    Additional parameters to define the fit, as measured elsewhere.
refWcs : `lsst.afw.geom.SkyWcs` or `lsst.afw.geom.Angle`
    The coordinate system for the reference catalog values. An
    `~lsst.geom.Angle` may be passed, indicating that a local tangent
    WCS should be created for each object using the given angle as a
    pixel scale.

Notes
-----
In the normal mode of operation, the source centroid will be set to
the WCS-transformed position of the reference object, so plugins that
only require a reference position should not have to access the
reference object at all.

Reimplemented from lsst.meas.base.forcedMeasurement.ForcedPlugin.

Definition at line 810 of file plugins.py.

810 def measure(self, measRecord, exposure, refRecord, refWcs):
811 targetWcs = exposure.getWcs()
812 peak = refRecord.getFootprint().getPeaks()[0]
813 result = lsst.geom.Point2D(peak.getFx(), peak.getFy())
814 result = targetWcs.skyToPixel(refWcs.pixelToSky(result))
815 measRecord.set(self.keyX, result.getX())
816 measRecord.set(self.keyY, result.getY())
817

◆ measureN()

lsst.meas.base.forcedMeasurement.ForcedPlugin.measureN ( self,
measCat,
exposure,
refCat,
refWcs )
inherited
Measure the properties of blended sources from image & reference.

This operates on all members of a blend family at once.

Parameters
----------
exposure : `lsst.afw.image.ExposureF`
    The pixel data to be measured, together with the associated PSF,
    WCS, etc. Sources not in the blended hierarchy to be measured
    should have been replaced with noise using deblender outputs.
measCat : `lsst.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.
refCat : `lsst.afw.table.SimpleCatalog`
    Additional parameters to define the fit, as measured elsewhere.
    Ordered such that ``zip(measCat, refcat)`` may be used.
refWcs : `lsst.afw.geom.SkyWcs` or `lsst.afw.geom.Angle`
    The coordinate system for the reference catalog values. An
    `~lsst.geom.Angle` may be passed, indicating that a local tangent
    WCS should be created for each object using the given angle as a
    pixel scale.

Notes
-----
In the normal mode of operation, the source centroids will be set to
the WCS-transformed position of the reference object, so plugins that
only require a reference position should not have to access the
reference object at all.

Reimplemented in lsst.meas.base.wrappers.WrappedForcedPlugin.

Definition at line 134 of file forcedMeasurement.py.

134 def measureN(self, measCat, exposure, refCat, refWcs):
135 """Measure the properties of blended sources from image & reference.
136
137 This operates on all members of a blend family at once.
138
139 Parameters
140 ----------
141 exposure : `lsst.afw.image.ExposureF`
142 The pixel data to be measured, together with the associated PSF,
143 WCS, etc. Sources not in the blended hierarchy to be measured
144 should have been replaced with noise using deblender outputs.
145 measCat : `lsst.afw.table.SourceCatalog`
146 Catalog describing the objects (and only those objects) being
147 measured. Previously-measured quantities will be retrieved from
148 here, and it will be updated in-place with the outputs of this
149 plugin.
150 refCat : `lsst.afw.table.SimpleCatalog`
151 Additional parameters to define the fit, as measured elsewhere.
152 Ordered such that ``zip(measCat, refcat)`` may be used.
153 refWcs : `lsst.afw.geom.SkyWcs` or `lsst.afw.geom.Angle`
154 The coordinate system for the reference catalog values. An
155 `~lsst.geom.Angle` may be passed, indicating that a local tangent
156 WCS should be created for each object using the given angle as a
157 pixel scale.
158
159 Notes
160 -----
161 In the normal mode of operation, the source centroids will be set to
162 the WCS-transformed position of the reference object, so plugins that
163 only require a reference position should not have to access the
164 reference object at all.
165 """
166 raise NotImplementedError()
167
168

Member Data Documentation

◆ APCORR_ORDER

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

Definition at line 98 of file pluginsBase.py.

◆ CENTROID_ORDER

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

Definition at line 72 of file pluginsBase.py.

◆ config

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

Definition at line 130 of file pluginsBase.py.

◆ ConfigClass

lsst.meas.base.pluginsBase.BasePlugin.ConfigClass = BasePluginConfig
staticinherited

Definition at line 116 of file pluginsBase.py.

◆ DEFAULT_CATALOGCALCULATION

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

Definition at line 108 of file pluginsBase.py.

◆ FLUX_ORDER

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

Definition at line 89 of file pluginsBase.py.

◆ keyX

lsst.meas.base.plugins.ForcedPeakCentroidPlugin.keyX = schema.addField(name + "_x", type="D", doc="peak centroid", units="pixel")

Definition at line 807 of file plugins.py.

◆ keyY

lsst.meas.base.plugins.ForcedPeakCentroidPlugin.keyY = schema.addField(name + "_y", type="D", doc="peak centroid", units="pixel")

Definition at line 808 of file plugins.py.

◆ logName

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

Definition at line 132 of file pluginsBase.py.

◆ name

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

Definition at line 131 of file pluginsBase.py.

◆ registry

lsst.meas.base.forcedMeasurement.ForcedPlugin.registry = PluginRegistry(ForcedPluginConfig)
staticinherited

Definition at line 95 of file forcedMeasurement.py.

◆ SHAPE_ORDER

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

Definition at line 80 of file pluginsBase.py.


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