LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.meas.base.forcedMeasurement.ForcedPlugin Class Reference
Inheritance diagram for lsst.meas.base.forcedMeasurement.ForcedPlugin:
lsst.meas.base.baseMeasurement.BaseMeasurementPlugin lsst.meas.base.pluginsBase.BasePlugin lsst.meas.base.plugins.ForcedPeakCentroidPlugin lsst.meas.base.plugins.ForcedTransformedCentroidPlugin lsst.meas.base.plugins.ForcedTransformedShapePlugin lsst.meas.base.wrappers.WrappedForcedPlugin lsst.meas.modelfit.cmodel.cmodelContinued.CModelForcedPlugin lsst.meas.modelfit.psf.psfContinued.GeneralShapeletPsfApproxForcedPlugin lsst.meas.base.plugins.ForcedTransformedCentroidFromCoordPlugin

Public Member Functions

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

Static Public Member Functions

def getTransformClass ()
 

Public Attributes

 config
 
 name
 
 logName
 

Static Public Attributes

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

Detailed Description

Base class for forced measurement plugins.

Parameters
----------
config : `ForcedPlugin.ConfigClass`
    Configuration for this plugin.
name : `str`
    The string with which the plugin was registered.
schemaMapper : `lsst.afw.table.SchemaMapper`
    A mapping from reference catalog fields to output catalog fields.
    Output fields should be added to the output schema. While most plugins
    will not need to map fields from the reference schema, if they do so,
    those fields will be transferred before any plugins are run.
metadata : `lsst.daf.base.PropertySet`
    Plugin metadata that will be attached to the output catalog.
logName : `str`, optional
    Name to use when logging errors.

Definition at line 76 of file forcedMeasurement.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.meas.base.forcedMeasurement.ForcedPlugin.__init__ (   self,
  config,
  name,
  schemaMapper,
  metadata,
  logName = None 
)

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

Definition at line 102 of file forcedMeasurement.py.

102  def __init__(self, config, name, schemaMapper, metadata, logName=None):
103  BaseMeasurementPlugin.__init__(self, config, name, logName=logName)
104 

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.

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.meas.modelfit.psf.psfContinued.GeneralShapeletPsfApproxForcedPlugin, lsst.meas.modelfit.psf.psfContinued.GeneralShapeletPsfApproxSingleFramePlugin, lsst.meas.modelfit.cmodel.cmodelContinued.CModelForcedPlugin, lsst.meas.modelfit.cmodel.cmodelContinued.CModelSingleFramePlugin, lsst.meas.extensions.trailedSources.VeresPlugin.SingleFrameVeresTrailPlugin, lsst.meas.extensions.trailedSources.NaivePlugin.SingleFrameNaiveTrailPlugin, lsst.meas.base.wrappers.GenericPlugin, lsst.meas.base.wrappers.WrappedForcedPlugin, lsst.meas.base.wrappers.WrappedSingleFramePlugin, lsst.meas.base.plugins.SingleFrameSkyCoordPlugin, lsst.meas.base.plugins.SingleFramePeakCentroidPlugin, lsst.meas.base.plugins.InputCountPlugin, lsst.meas.base.plugins.VariancePlugin, lsst.meas.base.plugins.SingleFrameJacobianPlugin, lsst.meas.base.plugins.SingleFrameFPPositionPlugin, lsst.meas.base.footprintArea.CatalogCalculationFootprintAreaPlugin, lsst.meas.base.classification.CatalogCalculationClassificationPlugin, and lsst.ip.diffim.dipoleMeasurement.ClassificationDipolePlugin.

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

def lsst.meas.base.pluginsBase.BasePlugin.getExecutionOrder (   cls)
inherited
Get the relative execution order of this plugin.

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

Reimplemented in lsst.meas.extensions.trailedSources.VeresPlugin.SingleFrameVeresTrailPlugin, lsst.meas.extensions.trailedSources.NaivePlugin.SingleFrameNaiveTrailPlugin, lsst.meas.base.wrappers.GenericPlugin, lsst.meas.base.plugins.ForcedTransformedShapePlugin, lsst.meas.base.plugins.ForcedTransformedCentroidPlugin, lsst.meas.base.plugins.ForcedPeakCentroidPlugin, lsst.meas.base.plugins.SingleFrameSkyCoordPlugin, lsst.meas.base.plugins.SingleFramePeakCentroidPlugin, lsst.meas.base.plugins.EvaluateLocalWcsPlugin, lsst.meas.base.plugins.EvaluateLocalPhotoCalibPlugin, lsst.meas.base.plugins.InputCountPlugin, lsst.meas.base.plugins.VariancePlugin, lsst.meas.base.plugins.SingleFrameJacobianPlugin, lsst.meas.base.plugins.SingleFrameFPPositionPlugin, lsst.meas.base.footprintArea.CatalogCalculationFootprintAreaPlugin, lsst.meas.base.diaCalculationPlugins.SigmaDiaTotFlux, lsst.meas.base.diaCalculationPlugins.WeightedMeanDiaTotFlux, lsst.meas.base.diaCalculationPlugins.StetsonJDiaPsFlux, lsst.meas.base.diaCalculationPlugins.LinearFitDiaPsFlux, lsst.meas.base.diaCalculationPlugins.ErrMeanDiaPsFlux, lsst.meas.base.diaCalculationPlugins.MaxSlopeDiaPsFlux, lsst.meas.base.diaCalculationPlugins.MinMaxDiaPsFlux, lsst.meas.base.diaCalculationPlugins.SkewDiaPsFlux, lsst.meas.base.diaCalculationPlugins.MadDiaPsFlux, lsst.meas.base.diaCalculationPlugins.Chi2DiaPsFlux, lsst.meas.base.diaCalculationPlugins.SigmaDiaPsFlux, lsst.meas.base.diaCalculationPlugins.PercentileDiaPsFlux, lsst.meas.base.diaCalculationPlugins.WeightedMeanDiaPsFlux, lsst.meas.base.diaCalculationPlugins.SimpleSourceFlagDiaPlugin, lsst.meas.base.diaCalculationPlugins.NumDiaSourcesDiaPlugin, lsst.meas.base.diaCalculationPlugins.HTMIndexDiaPosition, lsst.meas.base.diaCalculationPlugins.MeanDiaPosition, lsst.meas.base.classification.CatalogCalculationClassificationPlugin, lsst.meas.base.catalogCalculation.CatalogCalculationPlugin, and lsst.ip.diffim.dipoleMeasurement.ClassificationDipolePlugin.

Definition at line 121 of file pluginsBase.py.

121  def getExecutionOrder(cls):
122  """Get the relative execution order of this plugin.
123 
124  Must be reimplemented as a class method by concrete derived classes.
125  """
126  raise NotImplementedError("All plugins must implement getExecutionOrder()")
127 

◆ getLogName()

def 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()

def lsst.meas.base.pluginsBase.BasePlugin.getTransformClass ( )
staticinherited
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 in lsst.meas.base.plugins.ForcedPeakCentroidPlugin, and lsst.meas.base.plugins.SingleFramePeakCentroidPlugin.

Definition at line 169 of file pluginsBase.py.

169  def getTransformClass():
170  """Get the measurement transformation appropriate to this plugin.
171 
172  This returns a subclass of `transforms.MeasurementTransform`, which
173  may be instantiated with details of the algorithm configuration and
174  then called with information about calibration and WCS to convert from
175  raw measurement quantities to calibrated units. Calibrated data is
176  then provided in a separate output table.
177 
178  Notes
179  -----
180  By default, we copy everything from the input to the output without
181  transformation.
182  """
183  return PassThroughTransform

◆ measure()

def lsst.meas.base.forcedMeasurement.ForcedPlugin.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 in lsst.meas.modelfit.psf.psfContinued.GeneralShapeletPsfApproxForcedPlugin, lsst.meas.modelfit.cmodel.cmodelContinued.CModelForcedPlugin, lsst.meas.base.wrappers.WrappedForcedPlugin, lsst.meas.base.plugins.ForcedTransformedShapePlugin, lsst.meas.base.plugins.ForcedTransformedCentroidFromCoordPlugin, lsst.meas.base.plugins.ForcedTransformedCentroidPlugin, and lsst.meas.base.plugins.ForcedPeakCentroidPlugin.

Definition at line 105 of file forcedMeasurement.py.

105  def measure(self, measRecord, exposure, refRecord, refWcs):
106  """Measure the properties of a source given an image and a reference.
107 
108  Parameters
109  ----------
110  exposure : `lsst.afw.image.ExposureF`
111  The pixel data to be measured, together with the associated PSF,
112  WCS, etc. All other sources in the image should have been replaced
113  by noise according to deblender outputs.
114  measRecord : `lsst.afw.table.SourceRecord`
115  Record describing the object being measured. Previously-measured
116  quantities will be retrieved from here, and it will be updated
117  in-place with the outputs of this plugin.
118  refRecord : `lsst.afw.table.SimpleRecord`
119  Additional parameters to define the fit, as measured elsewhere.
120  refWcs : `lsst.afw.geom.SkyWcs` or `lsst.afw.geom.Angle`
121  The coordinate system for the reference catalog values. An
122  `~lsst.geom.Angle` may be passed, indicating that a local tangent
123  WCS should be created for each object using the given angle as a
124  pixel scale.
125 
126  Notes
127  -----
128  In the normal mode of operation, the source centroid will be set to
129  the WCS-transformed position of the reference object, so plugins that
130  only require a reference position should not have to access the
131  reference object at all.
132  """
133  raise NotImplementedError()
134 
def measure(mi, x, y, size, statistic, stats)
Definition: fringe.py:517

◆ measureN()

def lsst.meas.base.forcedMeasurement.ForcedPlugin.measureN (   self,
  measCat,
  exposure,
  refCat,
  refWcs 
)
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 135 of file forcedMeasurement.py.

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

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
inherited

Definition at line 130 of file pluginsBase.py.

◆ ConfigClass

lsst.meas.base.forcedMeasurement.ForcedPlugin.ConfigClass = ForcedPluginConfig
static

Definition at line 100 of file forcedMeasurement.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.

◆ logName

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

Definition at line 132 of file pluginsBase.py.

◆ name

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

Definition at line 131 of file pluginsBase.py.

◆ registry

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

Definition at line 96 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: