AstrometryTask#
- class lsst.meas.astrom.AstrometryTask(refObjLoader=None, schema=None, **kwargs)#
Bases:
RefMatchTaskMatch an input source catalog with objects from a reference catalog and solve for the WCS.
This task is broken into two main subasks: matching and WCS fitting which are very interactive. The matching here can be considered in part a first pass WCS fitter due to the fitter’s sensitivity to outliers.
Parameters#
- refObjLoader
lsst.meas.algorithms.ReferenceLoader A reference object loader object; gen3 pipeline tasks will pass
Noneand callsetRefObjLoaderinrunQuantum.- schema
lsst.afw.table.Schema Used to set “calib_astrometry_used” flag in output source catalog.
- **kwargs
Additional keyword arguments for pipe_base
lsst.pipe.base.Task.__init__.
Methods Summary
check(exposure, sourceCat, nMatches)Validate the astrometric fit against the maxMeanDistance threshold.
run(sourceCat, exposure)Load reference objects, match sources and optionally fit a WCS.
solve(exposure, sourceCat)Load reference objects overlapping an exposure, match to sources and fit a WCS
Methods Documentation
- check(exposure, sourceCat, nMatches)#
Validate the astrometric fit against the maxMeanDistance threshold.
If the distMean metric does not satisfy the requirement of being less than the value set in config.maxMeanDistanceArcsec, the WCS on the exposure will be set to None and the coordinate values in the source catalog will be set to NaN to reflect a failed astrometric fit.
Parameters#
- exposure
lsst.afw.image.Exposure The exposure whose astrometric fit is being evaluated.
- sourceCat
lsst.afw.table.SourceCatalog The catalog of sources associated with the exposure.
- nMatches
int The number of matches that were found and used during the astrometric fit (for logging purposes only).
Raises#
- BadAstrometryFit
If the measured mean on-sky distance between the matched source and reference objects is greater than
self.config.maxMeanDistanceArcsec.
- exposure
- run(sourceCat, exposure)#
Load reference objects, match sources and optionally fit a WCS.
This is a thin layer around solve or loadAndMatch, depending on config.forceKnownWcs.
Parameters#
- exposure
lsst.afw.image.Exposure exposure whose WCS is to be fit The following are read only:
bbox
filter (may be unset)
detector (if wcs is pure tangent; may be absent)
The following are updated:
wcs (the initial value is used as an initial guess, and is required)
- sourceCat
lsst.afw.table.SourceCatalog catalog of sources detected on the exposure
Returns#
- result
lsst.pipe.base.Struct with these fields:
refCat: reference object catalog of objects that overlap the exposure (with some margin) (lsst.afw.table.SimpleCatalog).matches: astrometric matches (listoflsst.afw.table.ReferenceMatch).scatterOnSky: median on-sky separation between reference objects and sources in “matches” (lsst.afw.geom.Angle) orNoneif config.forceKnownWcs TruematchMeta: metadata needed to unpersist matches (lsst.daf.base.PropertyList)
- exposure
- solve(exposure, sourceCat)#
Load reference objects overlapping an exposure, match to sources and fit a WCS
Returns#
- result
lsst.pipe.base.Struct Result struct with components:
refCat: reference object catalog of objects that overlap the exposure (with some margin) (lsst::afw::table::SimpleCatalog).matches: astrometric matches (listoflsst.afw.table.ReferenceMatch).scatterOnSky: median on-sky separation between reference objects and sources in “matches” (lsst.geom.Angle)matchMeta: metadata needed to unpersist matches (lsst.daf.base.PropertyList)
Raises#
- BadAstrometryFit
If the measured mean on-sky distance between the matched source and reference objects is greater than
self.config.maxMeanDistanceArcsec.
Notes#
ignores config.forceKnownWcs
- result
- refObjLoader