ISETCam PSF representations - ISET/isetcam GitHub Wiki
Notes
- More editing needed.
For many years, we used to represent as OTFs at specific spatial frequencies. We built the OTF from the f-number of diffraction limited lens. But we sampled at a fixed set of spatial frequencies. When the spatial frequencies we needed for the particular scene differed, we interpolated the stored OTF values to the different spatial frequencies needed for that scene. We converted the scene from the space domain into the Fourier domain, applied the OTF, and converted back to the space domain.
Around 2023 we decided we should represent the PSF as Zernike polynomials. This enabled us to use their continuous form to sample during oiCompute, using the actual spatial resolution of the scene and oi we are computing.
We were particularly motivated because we found small errors when we used the linear interpolation of the stored OTFs. The errors were small, and they were not generally a problem. But, when we rendered flare of very high dynamic range scenes the small error mattered. It made the approximation unacceptable. So we shifted all our computations to the wvf representation to (very slightly). This added a little more computation because we had to build the PSF/OTF from scratch for each scene, to match the spatial resolution. But computers had gotten faster and it improved the accuracy. We found the tradeoff useful.