The PSF is stored as a radial distribution in the CCF component PSF1DRB. The routine reads the PSF from the PSF1DRB CCF component, where the PSF with the closest CFRR to the input countFrameRateRatio is selected. The radial width of the PSF is stretched by the factor f by multiplying the radial bin limits with f:

The stretching factor f is calculated for the specified
field position (rawX, rawY) from a 3rd order polynomial.

The 10 polynomial coefficients are listed as keywords in the extension headers:

keyword | variable name |

in equ. 35 | |

PARX0Y0 | |

PARX0Y1 | |

PARX0Y2 | |

PARX0Y3 | |

PARX1Y0 | |

PARX1Y1 | |

PARX1Y2 | |

PARX2Y0 | |

PARX2Y1 | |

PARX3Y0 |

- identify PSF1DRB extension associated with FilterId
- read polynomial coefficients in header
- calculate the stretching factor for the specified field position (rawX, rawY)
- read binary table extension
- apply stretching factor
- initialize PSF map as specified by input variables:

(nPixelsNegX+nPixelsPosX+1, nPixelsNegY+nPixelsPosY+1) - for each pixel of the PSF map
- calculate the minimum distance r of the pixel to the PSF centre (rawX, rawY)
- calculate the maximum distance r of the pixel to the PSF centre (rawX, rawY)
- calculate the normalization factor f:

- set the PSF pixel value to the interpolated intensity value at the radius
- normalize PSF pixel value with the normalization factor f

- normalize PSF map to 1