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.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.
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.