FgcmBuildStarsTask

FgcmBuildStarsTask finds all the single-visit sources in a repository (or a subset based on command-line parameters) and extracts all the potential photometric calibration stars for input into fgcm. This task additionally uses fgcm to match star observations into unique stars, and performs as much cleaning of the input catalog as possible. A tutorial on the steps of running fgcmcal are found in the cookbook.

The fgcmcal code runs on calexp source catalogs from visits constrained by the --id parameter on the command line. Best results are obtained when fgcmcal is run with full visits.

In Gen2, due to limitations of the Gen2 Butler, optimal performance is obtained by specifying a single “reference” ccd on the command line (e.g. ccd=13) and setting the config variable checkAllCcds = True (which is the default). The alternative is to specify all the desired CCDs and set checkAllCcds = False, e.g., ccd=0..8^10..103. However, this is slower than the first option, and the improvement in speed in the first option is greater the more visits are specified. If instead you want to process all the visits in a rerun selected by filter, field, or some other dataid field, then by using a reference ccd and setting checkAllCcds = True you can speed things up by a factor of approximately 100 relative to the alternative (naming CCDs specifically).

Be aware that if a visit does not have a calexp available with the given reference CCD then it will be skipped. If this is possibly an issue, multiple reference ccds can be specified on the command line, although performance will degrade the more are specified.

At the current time, fgcmcal does not support Gen3.

This is the second task in a typical fgcmcal processing chain. The first is FgcmMakeLutTask, the third is FgcmFitCycleTask, and the fourth is FgcmOutputProductsTask.

FgcmBuildStarsTask is available as a command-line task, fgcmBuildStars.py.

Processing summary

FgcmBuildStarsTask runs this sequence of operations:

  1. Finds unique visits and collates visit metadata, including exposure time, pointing, typical psf size, background level.
  2. Reads in all sources, selecting good stars according to the chosen source selector.
  3. Matches sources internally across bands to get a unique multi-band list of possible calibration stars.
  4. Matches possible calibration stars to a reference catalog.
  5. All results are stored in the output repo fgcm-process directory.

fgcmBuildStars.py command-line interface

fgcmBuildStars.py REPOPATH [@file [@file2 ...]] [--output OUTPUTREPO | --rerun RERUN] [--id] [other options]

Key arguments:

REPOPATH
The input Butler repository’s URI or file path.

Key options:

--id:
The data IDs to process.

See also

See Command-line task argument reference for details and additional options.

Python API summary

from lsst.fgcmcal.fgcmBuildStars import FgcmBuildStarsTask
classFgcmBuildStarsTask(butler=None, **kwargs)

Build stars for the FGCM global calibration...

attributeconfig

Access configuration fields and retargetable subtasks.

methodrunDataRef(butler, dataRefs)

Cross-match and make star list for FGCM Input...

See also

See the FgcmBuildStarsTask API reference for complete details.

Butler datasets

When run as the fgcmBuildStars.py command-line task, or directly through the runDataRef method, FgcmBuildStarsTask obtains datasets from the input Butler data repository and persists outputs to the output Butler data repository. Note that configurations for FgcmBuildStarsTask, and its subtasks, affect what datasets are persisted and what their content is.

Input datasets

src
Full-depth source catalog (lsst.afw.table) produced by ProcessCcdTask
calexp
Calibrated exposure produced by ProcessCcdTask (for exposure metadata)
fgcmLookupTable
FGCM look-up table produced by FgcmMakeLutTask

Output datasets

fgcmVisitCatalog
Catalog (lsst.afw.table) of visit metadata
fgcmStarObservations
Catalog of star observations
fgcmStarIds
Catalog of unique star ids, positions, and number of observations
fgcmStarIndices
Catalog of indices linking unique star ids to star observations
fgcmReferenceStars
Catalog of reference stars matched to unique star ids.

Retargetable subtasks

fgcmLoadReferenceCatalog

Default
lsst.fgcmcal.fgcmLoadReferenceCatalog.FgcmLoadReferenceCatalogTask
Field type
ConfigurableField
FGCM reference object loader

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

Configuration fields

apertureInnerInstFluxField

Default
'base_CircularApertureFlux_12_0_instFlux'
Field type
str Field
Field that contains inner aperture for aperture correction proxy

apertureOuterInstFluxField

Default
'base_CircularApertureFlux_17_0_instFlux'
Field type
str Field
Field that contains outer aperture for aperture correction proxy

applyJacobian

Default
False
Field type
bool Field
Apply Jacobian correction? Deprecated: This field is no longer used, and has been deprecated by DM-20163. It will be removed after v20.

ccdDataRefName

Default
'ccd'
Field type
str Field
dataRef name for the ‘ccd’ field

checkAllCcds

Default
True
Field type
bool Field
Check repo for all CCDs for each visit specified. To be used when the full set of ids (visit/ccd) are not specified on the command line. For Gen2, specifying one ccd and setting checkAllCcds=True is significantly faster than the alternatives.

coarseNside

Default
8
Field type
int Field
Healpix coarse Nside for partitioning matches

densityCutMaxPerPixel

Default
1000
Field type
int Field
Density cut number of stars per pixel

densityCutNside

Default
128
Field type
int Field
Density cut healpix nside

doApplyWcsJacobian

Default
True
Field type
bool Field
Apply the jacobian of the WCS to the star observations prior to fit?

doReferenceMatches

Default
True
Field type
bool Field
Match reference catalog as additional constraint on calibration

doSubtractLocalBackground

Default
False
Field type
bool Field
Subtract the local background before performing calibration? This is only supported for circular aperture calibration fluxes.

filterMap

Default
{}
Field type
DictField
Key type
str
Value type
str
Mapping from ‘filterName’ to band.

instFluxField

Default
'slot_CalibFlux_instFlux'
Field type
str Field
Name of the source instFlux field to use. The associated flag field (‘<name>_flag’) will be implicitly included in badFlags

isolationRadius

Default
2.0
Field type
float Field
Isolation radius (arcseconds)

jacobianName

Default
'base_Jacobian_value'
Field type
str Field
Name of field with jacobian correction Deprecated: This field is no longer used, and has been deprecated by DM-20163. It will be removed after v20.

localBackgroundFluxField

Default
'base_LocalBackground_instFlux'
Field type
str Field
Name of the local background instFlux field to use.

matchNside

Default
4096
Field type
int Field
Healpix Nside for matching

matchRadius

Default
1.0
Field type
float Field
Match radius (arcseconds)

minPerBand

Default
2
Field type
int Field
Minimum observations per band

nVisitsPerCheckpoint

Default
500
Field type
int Field
Number of visits read between checkpoints

primaryBands

Default
None
Field type
str ListField
Bands for ‘primary’ star matches. A star must be observed in one of these bands to be considered as a calibration star.

psfCandidateName

Default
'calib_psf_candidate'
Field type
str Field
Name of field with psf candidate flag for propagation

referenceCCD

Default
13
Field type
int Field
Reference CCD for scanning visits

requiredBands

Default
()
Field type
str ListField
Bands required for each star

visitDataRefName

Default
'visit'
Field type
str Field
dataRef name for the ‘visit’ field

Examples

See the cookbook for worked examples.