AstrometryTask

AstrometryTask matches a source catalog with objects from a reference catalog and attempts to fit a WCS.

Processing summary

AstrometryTask runs this sequence of operations:

  • Find position reference stars that overlap the exposure.
  • Match input source catalog to the position reference stars.
  • Fit a WCS based on the matches.

Python API summary

from lsst.meas.astrom.astrometry import AstrometryTask
classAstrometryTask(refObjLoader, schema=None, **kwargs)

Match an input source catalog with objects from a reference catalog and solve for the WCS...

attributeconfig

Access configuration fields and retargetable subtasks.

methodrun(sourceCat, exposure)

Load reference objects, match sources and optionally fit a WCS...

See also

See the AstrometryTask API reference for complete details.

Retargetable subtasks

matcher

Default
lsst.meas.astrom.matchPessimisticB.MatchPessimisticBTask
Field type
ConfigurableField
reference object/source matcher

referenceSelector

Default
lsst.meas.algorithms.sourceSelector.ReferenceSourceSelectorTask
Field type
ConfigurableField
How to select reference objects for cross-matching.

sourceSelector

Default
'science'
Field type
Single-selection RegistryField
Choices
'science'
lsst.meas.algorithms.sourceSelector.ScienceSourceSelectorTask
'references'
lsst.meas.algorithms.sourceSelector.ReferenceSourceSelectorTask
'objectSize'
lsst.meas.algorithms.objectSizeStarSelector.ObjectSizeStarSelectorTask
'flagged'
lsst.meas.algorithms.flaggedSourceSelector.FlaggedSourceSelectorTask
'astrometry'
lsst.meas.algorithms.astrometrySourceSelector.AstrometrySourceSelectorTask
'matcher'
lsst.meas.algorithms.matcherSourceSelector.MatcherSourceSelectorTask
'diaCatalog'
lsst.ip.diffim.diaCatalogSourceSelector.DiaCatalogSourceSelectorTask
How to select sources for cross-matching.

wcsFitter

Default
lsst.meas.astrom.fitTanSipWcs.FitTanSipWcsTask
Field type
ConfigurableField
WCS fitter

Configuration fields

doMagnitudeOutlierRejection

Default
False
Field type
bool Field
If True then a rough zeropoint will be computed from matched sources and outliers will be rejected in the iterations.

forceKnownWcs

Default
False
Field type
bool Field
If True then load reference objects and match sources but do not fit a WCS; this simply controls whether ‘run’ calls ‘solve’ or ‘loadAndMatch’

magnitudeOutlierRejectionNSigma

Default
3.0
Field type
float Field
Number of sigma (measured from the distribution) in magnitude for a potential reference/source match to be rejected during iteration.

matchDistanceSigma

Default
2
Field type
float RangeField
Range
[0,inf)
the maximum match distance is set to mean_match_distance + matchDistanceSigma*std_dev_match_distance; ignored if not fitting a WCS

maxIter

Default
3
Field type
int RangeField
Range
[1,inf)
maximum number of iterations of match sources and fit WCSignored if not fitting a WCS

minMatchDistanceArcSec

Default
0.001
Field type
float RangeField
Range
[0,inf)
the match distance below which further iteration is pointless (arcsec); ignored if not fitting a WCS

sourceFluxType

Default
'Calib'
Field type
str Field
Source flux type to use in source selection.

Examples

See lsst.pipe.tasks.photoCal.PhotoCalTask.

Note

Task documentation is currently in the process of being converted from the old (Doxygen) system to this site. Until that conversion is complete, refer to the Doxygen documentation for PhotoCalTask.

Debugging

The lsst.pipe.base.CmdLineTask command line task interface supports a flag -d to import debug.py from your PYTHONPATH; see lsstDebug for more about debug.py files.

The available variables in AstrometryTask are

display (bool)
If True display information at three stages: after finding reference objects, after matching sources to reference objects, and after fitting the WCS; defaults to False
frame (int)
frame to use to display the reference objects; the next two frames are used to display the match list and the results of the final WCS; defaults to 0

To investigate the meas_astrom_astrometry_Debug, put something like

import lsstDebug
def DebugInfo(name):
    debug = lsstDebug.getInfo(name) # N.b. lsstDebug.Info(name) would call us recursively
    if name == "lsst.meas.astrom.astrometry":
        debug.display = True

    return debug

lsstDebug.Info = DebugInfo

into your debug.py file and run this task with the –debug flag.