PSF Correction#
The point spread function (PSF) of the imagers varies across the field-of-view (FOV) of each imager. The PSFs have to be homogenized to be similar before creating mosaic images. Otherwise, the tails of the PSFs would combine in messy ways and create artifacts. In addition, the pointing refinement algorithm expects a uniform PSF across the FOV.
Concept#
The PSF correction is carried out by the regularizepsf package. The description of the algorithm and code is available here. There’s also an accompanying paper with more rigorous description.
Applying correction#
The correction is carried out primarily in the punchbowl.level1.psf.correct_psf_task
function:
- punchbowl.level1.psf.correct_psf_task(data_object: NDCube, model_path: str | Callable | None = None, max_workers: int | None = None) NDCube
Prefect Task to correct the PSF of an image.
- Parameters:
data_object (NDCube) – data to operate on
model_path (str) – path to the PSF model to use in the correction
max_workers (int) – the maximum number of worker threads to use
- Returns:
modified version of the input with the PSF corrected
- Return type:
NDCube
If you wish to incorporate this as a Prefect task in a custom pipeline,
using something like the punchbowl.level1.psf.correct_psf_task
is recommended.