PSF rendering (wcc_sim.psf)
Render the WCC PSF (in-focus Airy or 1/2-wave defocus) on an oversampled grid.
wcc_etc PSFSource.render(ctx) returns a detector-sampled PSF; we get an oversampled one by describing a finer detector to the context (pixel size and plate scale divided by oversample, npix multiplied by it). Jitter blur is applied by wcc_etc at the fine plate scale.
- wcc_sim.psf.centroid_offset(psf)[source]
(dx, dy) of the flux centroid from the grid centre (n-1)/2, in pixels.
- wcc_sim.psf.recenter_on_centroid(psf)[source]
Shift psf so its flux centroid sits on the grid centre; renormalize.
wcc_etc renders the Zemax Huygens defocus images about the chief ray (its fix for issue #18). The flux centroid of a defocused PSF still sits a little off the chief ray because the ring is asymmetric: +0.10 px for 1 wave and +0.19 px for 2 waves along +Y on zwo. A centroider recovers the centroid, not the chief ray, so recentring on it makes the catalog position the quantity a centroider recovers (issue #18).
- wcc_sim.psf.render_oversampled_psf(sim, focus, oversample=11, stamp_npix=None, jitter_sigma_mas=None, wavelength_m=None)[source]
Normalized PSF on a (stamp_npix*oversample)^2 fine grid, centered.
wavelength_m overrides the sensor central wavelength (Airy path only; DefocusPSF is a fixed Huygens image and ignores wavelength). Defocus PSFs are recentred on their flux centroid (see recenter_on_centroid).