lsst.meas.base  18.1.0-3-g62b5e86
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.meas.base.forcedPhotImage.for Class Reference
Inheritance diagram for lsst.meas.base.forcedPhotImage.for:
lsst.meas.base.forcedMeasurement.ForcedMeasurementTask lsst.meas.base.references.MultiBandReferencesTask

Public Member Functions

def getWcs (self, dataRef)
 
def fetchInPatches (self, dataRef, patchList)
 
def fetchInBox (self, dataRef, bbox, wcs, pad=0)
 
def fetchInBox (self, dataRef, bbox, wcs)
 
def getSchema (self, butler)
 
def subset (self, sources, bbox, wcs)
 
def run (self, measCat, exposure, refCat, refWcs, exposureId=None, beginOrder=None, endOrder=None)
 
def generateMeasCat (self, exposure, refCat, refWcs, idFactory=None)
 
def attachTransformedFootprints (self, sources, refCat, exposure, refWcs)
 
def getPluginLogName (self, pluginName)
 
def initializePlugins (self, kwds)
 
def callMeasure (self, measRecord, args, kwds)
 
def doMeasurement (self, plugin, measRecord, args, kwds)
 
def callMeasureN (self, measCat, args, kwds)
 
def doMeasurementN (self, plugin, measCat, args, kwds)
 

Public Attributes

 schema
 
 mapper
 
 schema
 
 undeblendedPlugins
 

Static Public Attributes

 ConfigClass = MultiBandReferencesConfig
 
string datasetSuffix = "ref"
 
 ConfigClass = ForcedMeasurementConfig
 
 plugins = None
 
 algMetadata = None
 

Detailed Description

Definition at line 97 of file forcedPhotImage.py.

Member Function Documentation

◆ attachTransformedFootprints()

def lsst.meas.base.forcedMeasurement.ForcedMeasurementTask.attachTransformedFootprints (   self,
  sources,
  refCat,
  exposure,
  refWcs 
)
inherited
Attach Footprints to blank sources prior to measurement.

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.

Note that `ForcedPhotImageTask` delegates to this method in its own
`~ForcedPhotImageTask.attachFootprints` method.  This method can be
overridden by its subclasses to define how their
`~lsst.afw.detection.Footprint`\s should be generated.

See the documentation for `run` for information about the
relationships between `run`, `generateMeasCat`, and
`attachTransformedFootprints`.

Definition at line 425 of file forcedMeasurement.py.

◆ callMeasure()

def lsst.meas.base.baseMeasurement.BaseMeasurementTask.callMeasure (   self,
  measRecord,
  args,
  kwds 
)
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 289 of file baseMeasurement.py.

◆ callMeasureN()

def lsst.meas.base.baseMeasurement.BaseMeasurementTask.callMeasureN (   self,
  measCat,
  args,
  kwds 
)
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 375 of file baseMeasurement.py.

◆ doMeasurement()

def lsst.meas.base.baseMeasurement.BaseMeasurementTask.doMeasurement (   self,
  plugin,
  measRecord,
  args,
  kwds 
)
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 333 of file baseMeasurement.py.

◆ doMeasurementN()

def lsst.meas.base.baseMeasurement.BaseMeasurementTask.doMeasurementN (   self,
  plugin,
  measCat,
  args,
  kwds 
)
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 418 of file baseMeasurement.py.

◆ fetchInBox() [1/2]

def lsst.meas.base.references.BaseReferencesTask.fetchInBox (   self,
  dataRef,
  bbox,
  wcs 
)
inherited
Return reference sources within a given bounding box.

Reference sources are selected if they overlap a region defined by a
pixel-coordinate bounding box and corresponding WCS.

Parameters
----------
dataRef : `lsst.daf.persistence.ButlerDataRef`
    Butler data reference. The implied data ID must contain the
    ``tract`` key.
bbox : `lsst.afw.geom.Box2I` or `lsst.afw.geom.Box2D`
    Defines the selection region in pixel coordinates.
wcs : `lsst.afw.image.SkyWcs`
    Maps ``bbox`` to sky coordinates.

Returns
-------
sources : iterable of `~lsst.afw.table.SourceRecord`
    Reference sources. May be any Python iterable, including a lazy
    iterator.

Notes
-----
The returned set of sources should be complete and close to minimal.

Definition at line 108 of file references.py.

◆ fetchInBox() [2/2]

def lsst.meas.base.references.CoaddSrcReferencesTask.fetchInBox (   self,
  dataRef,
  bbox,
  wcs,
  pad = 0 
)
inherited
Return reference sources within a given bounding box.

Reference sources are selected if they overlap a region defined by a
pixel-coordinate bounding box and corresponding WCS.

Parameters
----------
dataRef : `lsst.daf.persistence.ButlerDataRef`
    Butler data reference. The implied data ID must contain the
    ``tract`` key.
bbox : `lsst.afw.geom.Box2I` or `lsst.afw.geom.Box2D`
    Defines the selection region in pixel coordinates.
wcs : `lsst.afw.image.SkyWcs`
    Maps ``bbox`` to sky coordinates.
pad : `int`
    a buffer to grow the bounding box by after catalogs have been loaded, but
    before filtering them to include just the given bounding box.

Returns
-------
sources : iterable of `~lsst.afw.table.SourceRecord`
    Reference sources. May be any Python iterable, including a lazy
    iterator.

Definition at line 329 of file references.py.

◆ fetchInPatches()

def lsst.meas.base.references.CoaddSrcReferencesTask.fetchInPatches (   self,
  dataRef,
  patchList 
)
inherited
Fetch the source catalog using the Butler.

Parameters
----------
dataRef : `lsst.daf.persistence.ButlerDataRef`
    Butler data reference. The implied data ID must contain the
    ``tract`` key.
patchList : `list` of `lsst.skymap.PatchInfo`
    Patches for which to fetch reference sources.

Returns
-------
sources : iterable of `~lsst.afw.table.SourceRecord`
    Reference sources. May be any Python iterable, including a lazy
    iterator.

Notes
-----
An implementation of `BaseReferencesTask.fetchInPatches` that loads
``Coadd_`` + `datasetSuffix` catalogs using the butler.

Definition at line 284 of file references.py.

◆ generateMeasCat()

def lsst.meas.base.forcedMeasurement.ForcedMeasurementTask.generateMeasCat (   self,
  exposure,
  refCat,
  refWcs,
  idFactory = None 
)
inherited
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``.
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 386 of file forcedMeasurement.py.

◆ getPluginLogName()

def lsst.meas.base.baseMeasurement.BaseMeasurementTask.getPluginLogName (   self,
  pluginName 
)
inherited

Definition at line 239 of file baseMeasurement.py.

◆ getSchema()

def lsst.meas.base.references.BaseReferencesTask.getSchema (   self,
  butler 
)
inherited
Return the schema for the reference sources.

Parameters
----------
butler : `lsst.daf.persistence.butler.Butler`
    Data butler from which the schema will be fetched.

Notes
-----
Must be available even before any data has been processed.

Definition at line 83 of file references.py.

◆ getWcs()

def lsst.meas.base.references.CoaddSrcReferencesTask.getWcs (   self,
  dataRef 
)
inherited
Return the WCS for reference sources.

Parameters
----------
dataRef : `lsst.daf.persistence.ButlerDataRef`
    Butler data reference. Must includ the trac in its dataId.

Definition at line 273 of file references.py.

◆ initializePlugins()

def lsst.meas.base.baseMeasurement.BaseMeasurementTask.initializePlugins (   self,
  kwds 
)
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 242 of file baseMeasurement.py.

◆ run()

def lsst.meas.base.forcedMeasurement.ForcedMeasurementTask.run (   self,
  measCat,
  exposure,
  refCat,
  refWcs,
  exposureId = None,
  beginOrder = None,
  endOrder = None 
)
inherited
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 262 of file forcedMeasurement.py.

◆ subset()

def lsst.meas.base.references.BaseReferencesTask.subset (   self,
  sources,
  bbox,
  wcs 
)
inherited
Filter a list of sources to only those within the bounding box.

Parameters
----------
sources : iterable of `~lsst.afw.table.SourceRecord`
    Reference sources. May be any Python iterable, including a lazy
    iterator.
bbox : `lsst.afw.geom.Box2I` or `lsst.afw.geom.Box2D`
    Defines the selection region.
wcs : `lsst.afw.image.SkyWcs`
    Maps ``bbox`` to sky coordinates.

Returns
-------
sources : iterable of `~lsst.afw.table.SourceRecord`
    Filtered sources. May be any Python iterable, including a lazy
    iterator.

Notes
-----
Instead of filtering sources directly via their positions, we filter
based on the positions of parent objects, then include or discard all
children based on their parent's status. This is necessary to support
replacement with noise in measurement, which requires all child
sources have their parent present.

This is not a part of the required `BaseReferencesTask` interface;
it's a convenience function used in implementing `fetchInBox` that may
be of use to subclasses.

Definition at line 162 of file references.py.

Member Data Documentation

◆ algMetadata

lsst.meas.base.baseMeasurement.BaseMeasurementTask.algMetadata = None
staticinherited

Definition at line 224 of file baseMeasurement.py.

◆ ConfigClass [1/2]

lsst.meas.base.forcedMeasurement.ForcedMeasurementTask.ConfigClass = ForcedMeasurementConfig
staticinherited

Definition at line 247 of file forcedMeasurement.py.

◆ ConfigClass [2/2]

lsst.meas.base.references.MultiBandReferencesTask.ConfigClass = MultiBandReferencesConfig
staticinherited

Definition at line 385 of file references.py.

◆ datasetSuffix

string lsst.meas.base.references.MultiBandReferencesTask.datasetSuffix = "ref"
staticinherited

Definition at line 386 of file references.py.

◆ mapper

lsst.meas.base.forcedMeasurement.ForcedMeasurementTask.mapper
inherited

Definition at line 251 of file forcedMeasurement.py.

◆ plugins

lsst.meas.base.baseMeasurement.BaseMeasurementTask.plugins = None
staticinherited

Definition at line 217 of file baseMeasurement.py.

◆ schema [1/2]

lsst.meas.base.forcedMeasurement.ForcedMeasurementTask.schema
inherited

Definition at line 259 of file forcedMeasurement.py.

◆ schema [2/2]

lsst.meas.base.references.CoaddSrcReferencesTask.schema
inherited

Definition at line 271 of file references.py.

◆ undeblendedPlugins

lsst.meas.base.baseMeasurement.BaseMeasurementTask.undeblendedPlugins
inherited

Definition at line 234 of file baseMeasurement.py.


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