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.ForcedTransformedShapePlugin Class Reference
Inheritance diagram for lsst.meas.base.plugins.ForcedTransformedShapePlugin:
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)
 

Public Attributes

 shapeKey
 
 flagKey
 

Static Public Attributes

 ConfigClass = ForcedTransformedShapeConfig
 

Detailed Description

Record the transformation of the reference catalog shape.

The shape recorded in the reference catalog is tranformed to the
measurement coordinate system and stored.

Parameters
----------
config : `ForcedTransformedShapeConfig`
    Plugin configuration
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.

Notes
-----
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 896 of file plugins.py.

Constructor & Destructor Documentation

◆ __init__()

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

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

Definition at line 927 of file plugins.py.

927 def __init__(self, config, name, schemaMapper, metadata):
928 ForcedPlugin.__init__(self, config, name, schemaMapper, metadata)
929 schema = schemaMapper.editOutputSchema()
930 # Allocate xx, yy, xy fields, join these into a single FunctorKey for ease-of-use.
931 xxKey = schema.addField(name + "_xx", type="D", doc="transformed reference shape x^2 moment",
932 units="pixel^2")
933 yyKey = schema.addField(name + "_yy", type="D", doc="transformed reference shape y^2 moment",
934 units="pixel^2")
935 xyKey = schema.addField(name + "_xy", type="D", doc="transformed reference shape xy moment",
936 units="pixel^2")
937 self.shapeKey = lsst.afw.table.QuadrupoleKey(xxKey, yyKey, xyKey)
938 # Because we're taking the reference position as given, we don't bother transforming its
939 # uncertainty and reporting that here, so there are no sigma or cov fields. We do propagate
940 # the flag field, if it exists.
941 if "slot_Shape_flag" in schemaMapper.getInputSchema():
942 self.flagKey = schema.addField(name + "_flag", type="Flag",
943 doc="whether the reference shape is marked as bad")
944 else:
945 self.flagKey = None
946
A FunctorKey used to get or set a geom::ellipses::Quadrupole from a tuple of constituent Keys.
Definition aggregates.h:369

Member Function Documentation

◆ getExecutionOrder()

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

924 def getExecutionOrder(cls):
925 return cls.SHAPE_ORDER
926

◆ measure()

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

947 def measure(self, measRecord, exposure, refRecord, refWcs):
948 targetWcs = exposure.getWcs()
949 if not refWcs == targetWcs:
950 fullTransform = lsst.afw.geom.makeWcsPairTransform(refWcs, targetWcs)
951 localTransform = lsst.afw.geom.linearizeTransform(fullTransform, refRecord.getCentroid())
952 measRecord.set(self.shapeKey, refRecord.getShape().transform(localTransform.getLinear()))
953 else:
954 measRecord.set(self.shapeKey, refRecord.getShape())
955 if self.flagKey is not None:
956 measRecord.set(self.flagKey, refRecord.getShapeFlag())
std::shared_ptr< TransformPoint2ToPoint2 > makeWcsPairTransform(SkyWcs const &src, SkyWcs const &dst)
A Transform obtained by putting two SkyWcs objects "back to back".
Definition SkyWcs.cc:146
lsst::geom::AffineTransform linearizeTransform(TransformPoint2ToPoint2 const &original, lsst::geom::Point2D const &inPoint)
Approximate a Transform by its local linearization.

Member Data Documentation

◆ ConfigClass

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

Definition at line 921 of file plugins.py.

◆ flagKey

lsst.meas.base.plugins.ForcedTransformedShapePlugin.flagKey

Definition at line 942 of file plugins.py.

◆ shapeKey

lsst.meas.base.plugins.ForcedTransformedShapePlugin.shapeKey

Definition at line 937 of file plugins.py.


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