Hi all,
I’m working on a source injection pipeline for star cluster detection and need to extract PSF information from deepCoadd images at arbitrary pixel positions.
I’ve gone through the relevant tutorial but I’m running into an issue where the PSF parameters I get back at certain positions seem unphysical. For example FWHM values that are either extremely large, extremely small, or discontinuous relative to neighboring positions.
A few specific questions:
- Is the deepCoadd PSF guaranteed to be well-defined at every pixel position?, or are there known regions (e.g. near patch/tract boundaries, bright star halos, or masked regions) where
getPsf().computeImage(Point2D(x, y))returns unreliable results? - Is there a recommended way to validate PSF measurements across the image e.g. sampling on a grid and flagging outliers before using the PSF for convolution?
- For injection purposes, is it better to use the spatially-varying PSF evaluated at each injection position, or to use a single representative PSF (e.g. evaluated at the image centre)?
My current code looks like this:
from lsst.geom import Point2D
psf = exposure.getPsf()
psf_image = psf.computeImage(Point2D(x, y))
psf_array = psf_image.array
psf_fwhm = psf.computeShape(Point2D(x, y)).getDeterminantRadius() * 2.355
Any guidance on whether there are known edge cases or a more robust approach would be really appreciated. Thanks!