lsst.meas.astrom gf1cff7945b+3975d4ac1c
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 106 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 128 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 350 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 448 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 140 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 189 of file astrometry.py.

Member Data Documentation

◆ _DefaultName

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

Definition at line 126 of file astrometry.py.

◆ ConfigClass

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

Definition at line 125 of file astrometry.py.

◆ usedKey

lsst.meas.astrom.astrometry.AstrometryTask.usedKey

Definition at line 132 of file astrometry.py.


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