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=None, 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

'null'

lsst.meas.algorithms.sourceSelector.NullSourceSelectorTask

'objectSize'

lsst.meas.algorithms.objectSizeStarSelector.ObjectSizeStarSelectorTask

'flagged'

lsst.meas.algorithms.flaggedSourceSelector.FlaggedSourceSelectorTask

'astrometry'

lsst.meas.algorithms.astrometrySourceSelector.AstrometrySourceSelectorTask

'matcher'

lsst.meas.algorithms.matcherSourceSelector.MatcherSourceSelectorTask

How to select sources for cross-matching.

wcsFitter

Default

lsst.meas.astrom.fitTanSipWcs.FitTanSipWcsTask

Field type

ConfigurableField

WCS fitter

Configuration fields

doMagnitudeOutlierRejection

Default
True
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

maxMeanDistanceArcsec

Default
0.5
Field type

float RangeField

Range

[0,inf)

Maximum mean on-sky distance (in arcsec) between matched source and reference objects post-fit. A mean distance greater than this threshold raises BadAstrometryFit and the WCS fit is considered a failure. The default is set to the maximum tolerated by the external global calibration (e.g. jointcal) step for conceivable recovery; the appropriate value will be dataset and workflow dependent.

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
'Psf'
Field type

str Field

Source flux type to use in source selection.

Debugging

The lsst.pipe.base.cmdLineTask.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.