LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.meas.base.plugins.ForcedTransformedShapePlugin Class Reference
Inheritance diagram for lsst.meas.base.plugins.ForcedTransformedShapePlugin:

Public Member Functions

def getExecutionOrder
 
def __init__
 
def measure
 

Public Attributes

 shapeKey
 
 flagKey
 

Static Public Attributes

 ConfigClass = ForcedTransformedShapeConfig
 

Detailed Description

A shape pseudo-algorithm for forced measurement that simply transforms the shape
from the reference catalog to the measurement coordinate system.  This is used as
the slot shape by default in forced measurement, allowing subsequent measurements
to simply refer to the slot value just as they would in single-frame measurement.

Definition at line 289 of file plugins.py.

Constructor & Destructor Documentation

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

Definition at line 302 of file plugins.py.

303  def __init__(self, config, name, schemaMapper, metadata):
304  ForcedPlugin.__init__(self, config, name, schemaMapper, metadata)
305  schema = schemaMapper.editOutputSchema()
306  # Allocate xx, yy, xy fields, join these into a single FunctorKey for ease-of-use.
307  xxKey = schema.addField(name + "_xx", type="D", doc="transformed reference shape x^2 moment",
308  units="pixels^2")
309  yyKey = schema.addField(name + "_yy", type="D", doc="transformed reference shape y^2 moment",
310  units="pixels^2")
311  xyKey = schema.addField(name + "_xy", type="D", doc="transformed reference shape xy moment",
312  units="pixels^2")
313  self.shapeKey = lsst.afw.table.QuadrupoleKey(xxKey, yyKey, xyKey)
314  # Because we're taking the reference position as given, we don't bother transforming its
315  # uncertainty and reporting that here, so there are no sigma or cov fields. We do propagate
316  # the flag field, if it exists.
317  if "slot_Shape_flag" in schemaMapper.getInputSchema():
318  self.flagKey = schema.addField(name + "_flag", type="Flag",
319  doc="whether the reference shape is marked as bad")
320  else:
321  self.flagKey = None
A FunctorKey used to get or set a geom::ellipses::Quadrupole from a tuple of constituent Keys...
Definition: aggregates.h:188

Member Function Documentation

def lsst.meas.base.plugins.ForcedTransformedShapePlugin.getExecutionOrder (   cls)

Definition at line 299 of file plugins.py.

300  def getExecutionOrder(cls):
301  return cls.SHAPE_ORDER
def lsst.meas.base.plugins.ForcedTransformedShapePlugin.measure (   self,
  measRecord,
  exposure,
  refRecord,
  refWcs 
)

Definition at line 322 of file plugins.py.

323  def measure(self, measRecord, exposure, refRecord, refWcs):
324  targetWcs = exposure.getWcs()
325  if not refWcs == targetWcs:
326  fullTransform = lsst.afw.image.XYTransformFromWcsPair(targetWcs, refWcs)
327  localTransform = fullTransform.linearizeForwardTransform(refRecord.getCentroid())
328  measRecord.set(self.shapeKey, refRecord.getShape().transform(localTransform.getLinear()))
329  else:
330  measRecord.set(self.shapeKey, refRecord.getShape())
331  if self.flagKey is not None:
332  measRecord.set(self.flagKey, refRecord.getShapeFlag())
XYTransformFromWcsPair: An XYTransform obtained by putting two Wcs objects "back to back"...
Definition: Wcs.h:432

Member Data Documentation

lsst.meas.base.plugins.ForcedTransformedShapePlugin.ConfigClass = ForcedTransformedShapeConfig
static

Definition at line 296 of file plugins.py.

lsst.meas.base.plugins.ForcedTransformedShapePlugin.flagKey

Definition at line 317 of file plugins.py.

lsst.meas.base.plugins.ForcedTransformedShapePlugin.shapeKey

Definition at line 312 of file plugins.py.


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