Following RFC-866 we have switched both the AP and DRP pipelines to use the new image differencing tasks. The old lsst.pipe.tasks.ImageDifferenceTask
and related lsst.pipe.tasks.ImageDifferenceFromTemplateTask
are now deprecated, and will eventually be removed.
Image differencing is now divided into three distinct steps, each with its own PipelineTask:
-
lsst.ip.diffim.GetTemplateTask
which constructs the warped and cropped (and possibly DCR-corrected) templateExp. This step was implemented previously as part oflsst.pipe.tasks.ImageDifferenceFromTemplateTask
. -
lsst.ip.diffim.AlardLuptonSubtractTask
which PSF-matches either the template or science image, and subtracts the template from the science image. This Task can be replaced by other algorithms, such as a (yet to be written)ZogySubtractTask
with the appropriate input and output connections. -
lsst.ip.diffim.DetectAndMeasureTask
which runs source detection and measurement on the difference image, including adding sky sources and forced measurement. For a futureZogySubtractTask
or other image subtraction Task that produces a maximum likelihood image as an output connection we will create a newDetectAndMeasureLikelihoodTask
that inherits fromDetectAndMeasureTask
.
In order to simplify the transition to the new image differencing pipeline, lsst.ip.diffim.AlardLuptonSubtractTask
has been implemented with a temporary config option forceCompatibility
which currently defaults to True
. With this option enabled, the new task will produce results that are very similar to the old lsst.pipe.tasks.ImageDifferenceFromTemplateTask
. After a period of additional testing and verification we will disable the forceCompatibility
option.
The current implementation supports only image differencing based on the Alard&Lupton algorithm, though either the template or science image may be convolved and the decorrelation afterburner is included. In the future we will also implement Alard&Lupton with preconvolution, and ZOGY may be implemented.