lsst.meas.astrom gfb315b4925+ae1c6b761c
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Attributes | List of all members
lsst.meas.astrom.astrometry.AstrometryTask Class Reference
Inheritance diagram for lsst.meas.astrom.astrometry.AstrometryTask:
lsst.meas.astrom.ref_match.RefMatchTask

Public Member Functions

 __init__ (self, refObjLoader=None, schema=None, **kwargs)
 
 run (self, sourceCat, exposure)
 
 solve (self, exposure, sourceCat)
 

Public Attributes

 usedKey
 

Static Public Attributes

 ConfigClass = AstrometryConfig
 

Protected Member Functions

 _matchAndFitWcs (self, refCat, sourceCat, goodSourceCat, refFluxField, bbox, wcs, match_tolerance, exposure=None)
 
 _removeMagnitudeOutliers (self, sourceFluxField, refFluxField, matchesIn)
 

Static Protected Attributes

str _DefaultName = "astrometricSolver"
 

Detailed Description

Match 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 `None`
    and call `setRefObjLoader` in `runQuantum`.
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__`.

Definition at line 100 of file astrometry.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.meas.astrom.astrometry.AstrometryTask.__init__ (   self,
  refObjLoader = None,
  schema = None,
**  kwargs 
)

Reimplemented from lsst.meas.astrom.ref_match.RefMatchTask.

Definition at line 122 of file astrometry.py.

Member Function Documentation

◆ _matchAndFitWcs()

lsst.meas.astrom.astrometry.AstrometryTask._matchAndFitWcs (   self,
  refCat,
  sourceCat,
  goodSourceCat,
  refFluxField,
  bbox,
  wcs,
  match_tolerance,
  exposure = None 
)
protected
Match sources to reference objects and fit a WCS.

Parameters
----------
refCat : `lsst.afw.table.SimpleCatalog`
    catalog of reference objects
sourceCat : `lsst.afw.table.SourceCatalog`
    catalog of sources detected on the exposure
goodSourceCat : `lsst.afw.table.SourceCatalog`
    catalog of down-selected good sources detected on the exposure
refFluxField : 'str'
    field of refCat to use for flux
bbox : `lsst.geom.Box2I`
    bounding box of exposure
wcs : `lsst.afw.geom.SkyWcs`
    initial guess for WCS of exposure
match_tolerance : `lsst.meas.astrom.MatchTolerance`
    a MatchTolerance object (or None) specifying
    internal tolerances to the matcher. See the MatchTolerance
    definition in the respective matcher for the class definition.
exposure : `lsst.afw.image.Exposure`
    exposure whose WCS is to be fit, or None; used only for the debug
    display.

Returns
-------
result : `lsst.pipe.base.Struct`
    Result struct with components:

    - ``matches``:  astrometric matches
      (`list` of `lsst.afw.table.ReferenceMatch`).
    - ``wcs``:  the fit WCS (lsst.afw.geom.SkyWcs).
    - ``scatterOnSky`` :  median on-sky separation between reference
      objects and sources in "matches" (`lsst.afw.geom.Angle`).

Definition at line 344 of file astrometry.py.

◆ _removeMagnitudeOutliers()

lsst.meas.astrom.astrometry.AstrometryTask._removeMagnitudeOutliers (   self,
  sourceFluxField,
  refFluxField,
  matchesIn 
)
protected
Remove magnitude outliers, computing a simple zeropoint.

Parameters
----------
sourceFluxField : `str`
    Field in source catalog for instrumental fluxes.
refFluxField : `str`
    Field in reference catalog for fluxes (nJy).
matchesIn : `list` [`lsst.afw.table.ReferenceMatch`]
    List of source/reference matches input

Returns
-------
matchesOut : `list` [`lsst.afw.table.ReferenceMatch`]
    List of source/reference matches with magnitude
    outliers removed.

Definition at line 442 of file astrometry.py.

◆ run()

lsst.meas.astrom.astrometry.AstrometryTask.run (   self,
  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
      (`list` of `lsst.afw.table.ReferenceMatch`).
    - ``scatterOnSky`` :  median on-sky separation between reference
      objects and sources in "matches"
      (`lsst.afw.geom.Angle`) or `None` if config.forceKnownWcs True
    - ``matchMeta`` :  metadata needed to unpersist matches
      (`lsst.daf.base.PropertyList`)

Definition at line 134 of file astrometry.py.

◆ solve()

lsst.meas.astrom.astrometry.AstrometryTask.solve (   self,
  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
      (`list` of `lsst.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
------
TaskError
    If the measured mean on-sky distance between the matched source and
    reference objects is greater than
    ``self.config.maxMeanDistanceArcsec``.

Notes
-----
ignores config.forceKnownWcs

Definition at line 183 of file astrometry.py.

Member Data Documentation

◆ _DefaultName

str lsst.meas.astrom.astrometry.AstrometryTask._DefaultName = "astrometricSolver"
staticprotected

Definition at line 120 of file astrometry.py.

◆ ConfigClass

lsst.meas.astrom.astrometry.AstrometryTask.ConfigClass = AstrometryConfig
static

Definition at line 119 of file astrometry.py.

◆ usedKey

lsst.meas.astrom.astrometry.AstrometryTask.usedKey

Definition at line 126 of file astrometry.py.


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