Optics raytrace - ISET/isetcam GitHub Wiki


Ray trace (shift-variant) optics

The ray trace optics model in ISETCam is a shift-variant calculation: unlike the shift-invariant wavefront model (see Wavefront and PSF representations), the point spread function is allowed to vary with position in the visual field (field height), not only with wavelength.

The true physical ray tracing — following rays through a 3D scene and a multi-element lens — is implemented in ISET3D, which uses PBRT to compute it directly from a scene and a lens description. The ISETCam ray trace calculation described here is a lighter-weight approximation: it assumes you have already extracted, from a lens design program, the geometric distortion, the relative illumination, and a set of point spread functions as a function of wavelength and field height. ISETCam then applies that distortion, illumination, and set of PSFs to a scene, so the computed optical image is blurred by different amounts as a function of both wavelength and field height. This is more elaborate than the shift-invariant (isoplanatic) calculation, which blurs by different amounts per wavelength but the same amount everywhere in the image.

We have extracted geometric distortion, relative illumination, and PSFs from two lens design programs, Zemax and Code V — see Zemax and Code V lens import for the conversion tools and scripts.

Back to Optics and Optical Images.