LSST Applications g044012fb7c+6976b5ec80,g04a91732dc+88a5fc122b,g07dc498a13+7e3c5f68a2,g114c6a66ad+09472d7a76,g1409bbee79+7e3c5f68a2,g1a7e361dbc+7e3c5f68a2,g1fd858c14a+3a43eabc0e,g35bb328faa+fcb1d3bbc8,g3bd4b5ce2c+2647bb081c,g4e0f332c67+5d362be553,g53246c7159+fcb1d3bbc8,g5477a8d5ce+b19c77c7ae,g58d0cdf3ff+4a2e102ff8,g60b5630c4e+09472d7a76,g623d845a50+09472d7a76,g6f0c2978f1+fcf1c0bcd6,g71fabbc107+09472d7a76,g75b6c65c88+d0b1dc44cc,g78460c75b0+2f9a1b4bcd,g786e29fd12+cf7ec2a62a,g7b71ed6315+fcb1d3bbc8,g8852436030+349c7e81d4,g89139ef638+7e3c5f68a2,g9125e01d80+fcb1d3bbc8,g95236ca021+f7a31438ed,g989de1cb63+7e3c5f68a2,g9f33ca652e+f17d666fbc,gaaedd4e678+7e3c5f68a2,gabe3b4be73+1e0a283bba,gb1101e3267+f870f33517,gb58c049af0+f03b321e39,gc99c83e5f0+76d20ab76d,gcf25f946ba+349c7e81d4,gd0fa69b896+f3a65fa83c,gd6cbbdb0b4+c8606af20c,gde0f65d7ad+5bd27d919f,ge278dab8ac+932305ba37,gfba249425e+fcb1d3bbc8,w.2025.07
LSST Data Management Base Package
|
Public Member Functions | |
__init__ (self, refSchema, algMetadata=None, **kwds) | |
run (self, measCat, exposure, refCat, refWcs, exposureId=None, beginOrder=None, endOrder=None) | |
generateMeasCat (self, exposure, refCat, refWcs, idFactory=None) | |
attachTransformedFootprints (self, sources, refCat, exposure, refWcs) | |
attachPsfShapeFootprints (self, sources, exposure, scaling=3) | |
initializePlugins (self, **kwds) | |
callMeasure (self, measRecord, *args, **kwds) | |
doMeasurement (self, plugin, measRecord, *args, **kwds) | |
callMeasureN (self, measCat, *args, **kwds) | |
doMeasurementN (self, plugin, measCat, *args, **kwds) | |
Static Public Member Functions | |
getFootprintsFromCatalog (catalog) | |
Public Attributes | |
mapper = lsst.afw.table.SchemaMapper(refSchema) | |
schema = self.mapper.getOutputSchema() | |
undeblendedPlugins = PluginMap() | |
keyInvalidPsf = schema.find(invalidPsfName).key | |
Static Public Attributes | |
ConfigClass = BaseMeasurementConfig | |
plugins = None | |
algMetadata = None | |
Static Protected Attributes | |
str | _DefaultName = "measurement" |
Measure sources on an image, constrained by a reference catalog. A subtask for measuring the properties of sources on a single image, using an existing "reference" catalog to constrain some aspects of the measurement. Parameters ---------- refSchema : `lsst.afw.table.Schema` Schema of the reference catalog. Must match the catalog later passed to 'ForcedMeasurementTask.generateMeasCat` and/or `ForcedMeasurementTask.run`. algMetadata : `lsst.daf.base.PropertyList` or `None` Will be updated in place to to record information about each algorithm. An empty `~lsst.daf.base.PropertyList` will be created if `None`. **kwds Keyword arguments are passed to the supertask constructor. Notes ----- Note that while `SingleFrameMeasurementTask` is passed an initial `~lsst.afw.table.Schema` that is appended to in order to create the output `~lsst.afw.table.Schema`, `ForcedMeasurementTask` is initialized with the `~lsst.afw.table.Schema` of the reference catalog, from which a new `~lsst.afw.table.Schema` for the output catalog is created. Fields to be copied directly from the reference `~lsst.afw.table.Schema` are added before ``Plugin`` fields are added.
Definition at line 215 of file forcedMeasurement.py.
lsst.meas.base.forcedMeasurement.ForcedMeasurementTask.__init__ | ( | self, | |
refSchema, | |||
algMetadata = None, | |||
** | kwds ) |
Definition at line 248 of file forcedMeasurement.py.
lsst.meas.base.forcedMeasurement.ForcedMeasurementTask.attachPsfShapeFootprints | ( | self, | |
sources, | |||
exposure, | |||
scaling = 3 ) |
Attach Footprints to blank sources prior to measurement, by creating elliptical Footprints from the PSF moments. Parameters ---------- sources : `lsst.afw.table.SourceCatalog` Blank catalog (with all rows and columns, but values other than ``coord_ra``, ``coord_dec`` unpopulated). to which footprints should be attached. exposure : `lsst.afw.image.Exposure` Image object from which peak values and the PSF are obtained. scaling : `int`, optional Scaling factor to apply to the PSF second-moments ellipse in order to determine the footprint boundary. Notes ----- This is a utility function for use by parent tasks; see `attachTransformedFootprints` for more information.
Definition at line 457 of file forcedMeasurement.py.
lsst.meas.base.forcedMeasurement.ForcedMeasurementTask.attachTransformedFootprints | ( | self, | |
sources, | |||
refCat, | |||
exposure, | |||
refWcs ) |
Attach Footprints to blank sources prior to measurement, by transforming Footprints attached to the reference catalog. Notes ----- `~lsst.afw.detection.Footprint`\s for forced photometry must be in the pixel coordinate system of the image being measured, while the actual detections may start out in a different coordinate system. This default implementation transforms the Footprints from the reference catalog from the WCS to the exposure's WCS, which downgrades ``HeavyFootprint``\s into regular `~lsst.afw.detection.Footprint`\s, destroying deblend information. See the documentation for `run` for information about the relationships between `run`, `generateMeasCat`, and `attachTransformedFootprints`.
Definition at line 434 of file forcedMeasurement.py.
|
inherited |
Call ``measure`` on all plugins and consistently handle exceptions. Parameters ---------- measRecord : `lsst.afw.table.SourceRecord` The record corresponding to the object being measured. Will be updated in-place with the results of measurement. *args Positional arguments forwarded to ``plugin.measure`` **kwds Keyword arguments. Two are handled locally: beginOrder : `int` Beginning execution order (inclusive). Measurements with ``executionOrder`` < ``beginOrder`` are not executed. `None` for no limit. endOrder : `int` Ending execution order (exclusive). Measurements with ``executionOrder`` >= ``endOrder`` are not executed. `None` for no limit. Others are forwarded to ``plugin.measure()``. Notes ----- This method can be used with plugins that have different signatures; the only requirement is that ``measRecord`` be the first argument. Subsequent positional arguments and keyword arguments are forwarded directly to the plugin. This method should be considered "protected": it is intended for use by derived classes, not users.
Definition at line 344 of file baseMeasurement.py.
|
inherited |
Call ``measureN`` on all plugins and consistently handle exceptions. Parameters ---------- measCat : `lsst.afw.table.SourceCatalog` Catalog containing only the records for the source family to be measured, and where outputs should be written. *args Positional arguments forwarded to ``plugin.measure()`` **kwds Keyword arguments. Two are handled locally: beginOrder: Beginning execution order (inclusive): Measurements with ``executionOrder`` < ``beginOrder`` are not executed. `None` for no limit. endOrder: Ending execution order (exclusive): measurements with ``executionOrder`` >= ``endOrder`` are not executed. `None` for no ``limit``. Others are are forwarded to ``plugin.measure()``. Notes ----- This method can be used with plugins that have different signatures; the only requirement is that ``measRecord`` be the first argument. Subsequent positional arguments and keyword arguments are forwarded directly to the plugin. This method should be considered "protected": it is intended for use by derived classes, not users.
Definition at line 436 of file baseMeasurement.py.
|
inherited |
Call ``measure`` on the specified plugin. Exceptions are handled in a consistent way. Parameters ---------- plugin : subclass of `BasePlugin` Plugin that will be executed. measRecord : `lsst.afw.table.SourceRecord` The record corresponding to the object being measured. Will be updated in-place with the results of measurement. *args Positional arguments forwarded to ``plugin.measure()``. **kwds Keyword arguments forwarded to ``plugin.measure()``. Notes ----- This method can be used with plugins that have different signatures; the only requirement is that ``plugin`` and ``measRecord`` be the first two arguments. Subsequent positional arguments and keyword arguments are forwarded directly to the plugin. This method should be considered "protected": it is intended for use by derived classes, not users.
Definition at line 388 of file baseMeasurement.py.
|
inherited |
Call ``measureN`` on the specified plugin. Exceptions are handled in a consistent way. Parameters ---------- plugin : subclass of `BasePlugin` Plugin that will be executed. measCat : `lsst.afw.table.SourceCatalog` Catalog containing only the records for the source family to be measured, and where outputs should be written. *args Positional arguments forwarded to ``plugin.measureN()``. **kwds Keyword arguments forwarded to ``plugin.measureN()``. Notes ----- This method can be used with plugins that have different signatures; the only requirement is that the ``plugin`` and ``measCat`` be the first two arguments. Subsequent positional arguments and keyword arguments are forwarded directly to the plugin. This method should be considered "protected": it is intended for use by derived classes, not users.
Definition at line 479 of file baseMeasurement.py.
lsst.meas.base.forcedMeasurement.ForcedMeasurementTask.generateMeasCat | ( | self, | |
exposure, | |||
refCat, | |||
refWcs, | |||
idFactory = None ) |
Initialize an output catalog from the reference catalog. Parameters ---------- exposure : `lsst.afw.image.exposureF` Image to be measured. refCat : iterable of `lsst.afw.table.SourceRecord` Catalog of reference sources. refWcs : `lsst.afw.geom.SkyWcs` Defines the X,Y coordinate system of ``refCat``. This parameter is not currently used. idFactory : `lsst.afw.table.IdFactory`, optional Factory for creating IDs for sources. Returns ------- meascat : `lsst.afw.table.SourceCatalog` Source catalog ready for measurement. Notes ----- This generates a new blank `~lsst.afw.table.SourceRecord` for each record in ``refCat``. Note that this method does not attach any `~lsst.afw.detection.Footprint`\ s. Doing so is up to the caller (who may call `attachedTransformedFootprints` or define their own method - see `run` for more information).
Definition at line 394 of file forcedMeasurement.py.
|
staticinherited |
Get a set of footprints from a catalog, keyed by id. Parameters ---------- catalog : `lsst.afw.table.SourceCatalog` Catalog with `lsst.afw.detection.Footprint`s attached. Returns ------- footprints : `dict` [`int`: (`int`, `lsst.afw.detection.Footprint`)] Dictionary of footprint, keyed by id number, with a tuple of the parent id and footprint.
Definition at line 532 of file baseMeasurement.py.
|
inherited |
Initialize plugins (and slots) according to configuration. Parameters ---------- **kwds Keyword arguments forwarded directly to plugin constructors. Notes ----- Derived class constructors should call this method to fill the `plugins` attribute and add corresponding output fields and slot aliases to the output schema. In addition to the attributes added by `BaseMeasurementTask.__init__`, a ``schema``` attribute holding the output schema must be present before this method is called. Keyword arguments are forwarded directly to plugin constructors, allowing derived classes to use plugins with different signatures.
Definition at line 274 of file baseMeasurement.py.
lsst.meas.base.forcedMeasurement.ForcedMeasurementTask.run | ( | self, | |
measCat, | |||
exposure, | |||
refCat, | |||
refWcs, | |||
exposureId = None, | |||
beginOrder = None, | |||
endOrder = None ) |
Perform forced measurement. Parameters ---------- exposure : `lsst.afw.image.exposureF` Image to be measured. Must have at least a `lsst.afw.geom.SkyWcs` attached. measCat : `lsst.afw.table.SourceCatalog` Source catalog for measurement results; must be initialized with empty records already corresponding to those in ``refCat`` (via e.g. `generateMeasCat`). refCat : `lsst.afw.table.SourceCatalog` A sequence of `lsst.afw.table.SourceRecord` objects that provide reference information for the measurement. These will be passed to each plugin in addition to the output `~lsst.afw.table.SourceRecord`. refWcs : `lsst.afw.geom.SkyWcs` Defines the X,Y coordinate system of ``refCat``. exposureId : `int`, optional Optional unique exposureId used to calculate random number generator seed in the NoiseReplacer. beginOrder : `int`, optional Beginning execution order (inclusive). Algorithms with ``executionOrder`` < ``beginOrder`` are not executed. `None` for no limit. endOrder : `int`, optional Ending execution order (exclusive). Algorithms with ``executionOrder`` >= ``endOrder`` are not executed. `None` for no limit. Notes ----- Fills the initial empty `~lsst.afw.table.SourceCatalog` with forced measurement results. Two steps must occur before `run` can be called: - `generateMeasCat` must be called to create the output ``measCat`` argument. - `~lsst.afw.detection.Footprint`\ s appropriate for the forced sources must be attached to the ``measCat`` records. The `attachTransformedFootprints` method can be used to do this, but this degrades "heavy" (i.e., including pixel values) `~lsst.afw.detection.Footprint`\s to regular `~lsst.afw.detection.Footprint`\s, leading to non-deblended measurement, so most callers should provide `~lsst.afw.detection.Footprint`\s some other way. Typically, calling code will have access to information that will allow them to provide heavy footprints - for instance, `ForcedPhotCoaddTask` uses the heavy footprints from deblending run in the same band just before non-forced is run measurement in that band.
Definition at line 261 of file forcedMeasurement.py.
|
staticprotectedinherited |
Definition at line 250 of file baseMeasurement.py.
|
staticinherited |
Definition at line 259 of file baseMeasurement.py.
|
staticinherited |
Definition at line 249 of file baseMeasurement.py.
|
inherited |
Definition at line 336 of file baseMeasurement.py.
lsst.meas.base.forcedMeasurement.ForcedMeasurementTask.mapper = lsst.afw.table.SchemaMapper(refSchema) |
Definition at line 250 of file forcedMeasurement.py.
|
staticinherited |
Definition at line 252 of file baseMeasurement.py.
lsst.meas.base.forcedMeasurement.ForcedMeasurementTask.schema = self.mapper.getOutputSchema() |
Definition at line 258 of file forcedMeasurement.py.
|
inherited |
Definition at line 269 of file baseMeasurement.py.