Overview of the AP pipeline

lsst.ap.pipe is a data processing pipeline for Prompt Data Products. It operates on ingested raw data in a Butler repository. It also requires appropriate calibration products and templates. As it runs, the pipeline generates calibrated exposures, difference images, difference image source catalogs, and a source association database.

The initial motivation for lsst.ap.pipe, information about one of the original test datasets, and an outdated tutorial are available in DMTN-039.

The AP Pipeline calls several main tasks and their associated subtasks:

  1. IsrTask, which performs image reduction;
  2. CharacterizeImageTask, which estimates the background and point-spread function of an image;
  3. CalibrateTask, which performs photometric and astrometric calibration;
  4. ImageDifferenceTask, which uses many utilities from lsst.ip.diffim; and
  5. DiaPipelineTask, which makes a catalog of Difference Image Analysis (DIA) Objects from the DIASources created during image differencing.

In practice, lsst.ap.pipe is often discussed in the context of lsst.ap.verify. The former is responsible for running the AP Pipeline. The latter uses lsst.ap.pipe to verify the output.

ap_pipe is entirely written in Python. Key contents include:

  • ApPipeTask: a CmdLineTask for running the entire AP Pipeline in the older, “Gen 2” data processing framework
  • ApPipeConfig: a config for customizing ApPipeTask for a particular dataset’s needs. Supported observatory packages should provide a config override file that does most of the work.
  • ApPipe.yaml: a Pipeline configuration for running the entire AP Pipeline in the newer, “Gen 3” framework

By default the pipeline is limited to running on data taken in filter bands whose names match those used by the Rubin Observatory LSST Camera (that is ugrizy). In order to run on bands outside of these filters, one must add the associated columns to the Apdb schema and add the band names to the config of DiaPipelineTask.