Details
-
Type:
RFC
-
Status: Implemented
-
Resolution: Done
-
Component/s: DM
-
Labels:None
Description
Proposal to move the meas_extensions_gaap package to lsst organization on Github and add it to lsst_distrib.
`meas_extensions_gaap` is a measurement plugin intended to measure consistent galaxy colors for photometric redshift. It is an implementation of the Gaussian-Aperture and PSF photometry algorithm (Kuijken 2010, Kuijken et al. 2015) suited to Rubin science pipelines. Currently, it resides in https://github.com/lsst-dm/meas_extensions_gaap
The algorithm standardizes the seeing to a Gaussian and produces colors that are largely insensitive to the seeing. It differs from existing flux measurement plugins in two ways:
- Unlike `meas_extensions_convolved`, where the convolution kernel is a Gaussian, the PSF in GAaP is convolved to be a Gaussian;
- Similar to `base_GaussianFlux`, the aperture to measure flux is Gaussian, after compensating for the PSF.
These two characteristics ensure that the PSF is standardized more accurately, thus minimizing the seeing dependence. The hope is that the outputs of this plugin will become the standard color referred to in the Data Products Definition Document.
The code has been developed in various ticket branches, each of which has been reviewed. The code has been written according the DM Python style guide and the build passes with scons. The unit tests are fairly extensive and cover almost 100% of the code. The core development is complete, with a few optimization tweaks pending and will see a few more improvements as results are seen during operations. There is an accompanying tech note (DMTN-190) under construction explaining the algorithm, the special test cases and relating the config parameters in the implementation to the mathematical quantities defined in the algorithm.
By adding it to lsst_distrib, its performance on HSC RC2 data can be regularly monitored and improved upon after any regression.
Non-standard dependencies: This package depends on scipy.signal submodule for the implementation and spicy.signal, numpy and galsim for the unit tests. All of these are available on rubin-env.
Flagging per https://developer.lsst.io/communications/rfc.html#standard-procedures-that-require-an-rfc