Paraxial Optics

DNOIS models paraxial optics (a.k.a. Gaussian optics or linear optics) by ParaxialSystem, which represents a paraxial optical system with properties like principal points. According to whether the focal lengths are finite or infinite, ParaxialSystem is subclassed by FiniteParaxialSystem and InfiniteParaxialSystem.

Rules for coordinates

The positions of principal points (and focal points or nodal points) are represented by their coordinates on the optical axis, where smaller coordinate implies object space. There is no prior assumption about its zero point, so only their relative values matter. Here a sign rule is needed for quantities like focal lengths, which is described as follows:

  1. The object focal length is positive if the object focal point is to the left of the object principal point and negative otherwise.

  2. The image focal length is positive if the image focal point is to the right of the image principal point and negative otherwise.

  3. When constructing a ParaxialSystem by calling from_interface(), the radius of curvature is positive when it is curved towards image space and negative when curved towards object space.

Composition

One can compose two ParaxialSystem objects by calling compose(), which takes as arguments another ParaxialSystem object and their distance and returns a new ParaxialSystem object. A FiniteParaxialSystem object can be composed with both finite or infinite system, but a InfiniteParaxialSystem object can only be composed with finite one.