Recovering the PSF from the CORR images

Tags: #<Tag:0x00007fb38477f4b8> #<Tag:0x00007fb38477f2b0>

Hi Community

I am trying to recover the PSFs created by processCcd or singleFrameDriver. I can see the PSFex outputs are stored in extensions 15 and 16 binary tables. Specifically, it seems the basis functions are in extension 16, table extension 5, with coefficients in table extension 2, and the psf shape in table extension 4. Great.

What I can’t figure out from the limited PSFex documentation i can find, is what is the functional form of the PSF from its basis functions? For example, is it a linear sum of the form:

PSF = c_1basis_1 + c_2basis_2 + …

or a power series:

PSF = c_1basis_1^1 + c_2basis_2^2 + …

or something else?

FWIW the power series produces something reasonable looking. But can’t be sure it’s correct.


Hi Wes,
I notice that this question remains unanswered, so I did a bit of digging in the documentation to try and find something relevant to respark this discussion. In this doxygen documentation for the LSST pipelines measurement of the PSFEx PSF, it says that the PSF is represented as a linear combination of PSFEX (Karhunen-Loeve) basis functions. I’m not sure that this is relevant to your question, especially as it seemed to you that a power series was the likely functional form.
Hopefully someone more knowledgable can chime in on this!

Hi Melissa
Thanks! Yes I realized not too long after my post that the extensions I was seeing are basis functions to be added linearly according to position. x, y, xy, etc. Unfortunately, it must be of the form (x-x0) as using non-referenced points causes psfs that don’t look like stars. Still not sure what the exact form is.


Oh, you really don’t want to be reverse-engineering that format, since it’s LSST on top of Astromatics. I suggest reading it in using the LSST python tools, realising it at the points of interest, and writing those out for postprocessing.