ApPipeWithFakes pipeline¶
This document provides an overview of the ApPipeWithFakes pipeline, which extends the standard Alert Production (AP) pipeline to include the capability of injecting synthetic (fake) sources into images for testing and validation purposes.
Note
The ApPipeWithFakes.yaml ingredients file is not a standard static file in the codebase.
Instead, it is automatically generated at compilation time by the build script SConstruct.
This ensures the fakes pipeline always reflects the latest base pipeline and injection tasks.
Do not attempt to manually edit or add this file; any changes will be overwritten during the next build.
Pipeline Structure¶
The ApPipeWithFakes pipeline is built upon the standard AP pipeline but includes additional tasks for:
Source injection: Using
lsst.source.injection.VisitInjectTaskto add synthetic point sources (stars) into images prior to difference imagingFake source matching: Matching of detected sources in difference images to the true injected sources using
lsst.pipe.tasks.matchDiffimSourceInjectedtasksPerformance analysis: Evaluating recovery rates and measurement accuracy, including detailed analysis of fake source recovery across various magnitude and SNR ranges using
analysis_toolstasks.
Build-Time Pipeline Generation¶
The _ingredients/ApPipeWithFakes.yaml file is automatically generated during package compilation, not manually maintained. This process is controlled by the SConstruct file at the package root.
The SConstruct file defines the build process for generating the ApPipeWithFakes pipeline, where the base _ingredients/ApPipe.yaml is taken as input and by using the source_injection make_injection_pipeline command to automatically add injection tasks as well as including the post injection specific tasks from _ingredients/injection/ApPipePostInjectedTasks.yaml.
The generated ApPipeWithFakes.yaml file should not be manually edited, instead, modifications should be made to:
The base
_ingredients/ApPipe.yamlpipelineThe
_ingredients/injection/ApPipePostInjectedTasks.yamlinjection-specific and metrics tasksThe
SConstructbuild configuration
Running the Pipeline¶
Prerequisites¶
Running ApPipeWithFakes requires the same prerequisites as the standard ApPipe pipeline, and in addition an injection catalog, that should be ingested into the input collection to use.
Check documentation on how to run this pipeline and create a fake catalog:
Running the AP pipeline: Tutorial for running AP pipelines
source_injection: Creating an injection catalog
Output Products¶
The ApPipeWithFakes pipeline produces all standard AP pipeline outputs (with fakes_ prefix) plus additional fake-specific datasets.
The key additional outputs include:
fakes_preliminary_visit_image_catalog: Catalog of injected source propertiesfakes_goodSeeingDiff_matchDiaSrc: Matches between injected and detected sourcesfakes_goodSeeingDiff_matchAssocDiaSrc: Matches for successfully associated sources