rayoptics package

The ray-optics geometrical ray tracing and optical modeling and analysis package

The optical model is contained in the optical subpackage. It is supported by the following subpackages:

  • optical: OpticalModel and OpticalBench import
  • seq: support for the Sequential model
  • elem: Element and PartTree models, geometry support, e.g. for profiles
  • oprops: optical property and actions
  • parax: support for paraxial optical design
  • raytr: support for ray tracing and analysis
  • codev: handles import of CODE V .seq files
  • zemax: handles import of Zemax .zmx files
  • opticalglass: this package interfaces with glass manufacturer optical data and the RefractiveIndex.Info website

The gui subpackage is a layer that implements the platform neutral part of the graphical user interface.

The mpl subpackage implements a variety of plotting/charting based graphics using the matplotlib package. The qtgui subpackage implements a desktop ui style application using Qt featuring interactive layouts and diagrams.

The util subpackage provides a variety of different math and other miscellaneous calculations.


Print wrapper function for listobj_str() method of obj.

listobj() is designed to be used in scripting environments where detailed, textual output is supported. It is a wrapper to a call of listobj_str on obj.

Classes may implement the listobj_str method that returns a string containing a formatted description of the object. Multi-line strings are allowed; each line should end with a newline character. Examples include DecenterData.listobj_str() and EvenPolynomial.listobj_str().