Skip to content

Commit

Permalink
Add some notes about the new sequential mode to the docs.
Browse files Browse the repository at this point in the history
  • Loading branch information
bryancole committed Jan 3, 2022
1 parent 71930fb commit c961b63
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 2 deletions.
3 changes: 2 additions & 1 deletion README.rst
Expand Up @@ -6,11 +6,12 @@ Raypier is a non-sequential ray-tracing framework for modelling optical systems.

#. It's pretty fast. The tracing algorithms are written in Cython (i.e. C) and use efficient data-structures for handling many thousands of rays.
#. Correctly handles polarisation
#. Sequential and non-sequential tracing.
#. Support for dispersion including a comprehensive library of glass-types (taken from refractive-index.info)
and diffraction-gratings
#. Point Spread Function (PSF) and E-Field evaluation by summation of of Gaussian modes.
#. Paraxial Gaussian mode evaluation covers generally astigmatic modes.
#. Tracing support for conics section and general aspherics (conic + polnomial)
#. Tracing support for conics section, general aspherics (conic + polnomial) and 2D polynomial surfaces.
#. Zurnike polynomial surface distortions.
#. An interactive user-interface with 3D model/ray rendering through VTK. Tracing is performed "live".
#. A modest selection of optic-types including singlet and achromatic doublet lenses (with AR coating), plane-mirrors,
Expand Down
3 changes: 2 additions & 1 deletion doc/source/introduction.rst
@@ -1,11 +1,12 @@
Introduction to Raypier
=======================

Raypier is a non-sequential optical ray-tracing program. It is intended as a
Raypier is a optical ray-tracing program. It is intended as a
design tools for modelling optical systems (cameras, imaging systems, telescopes etc.).

The main features of ray-trace are:
- Non-sequential tracing (no need to specify the order of optical components)
- Optional sequential tracing where the surface-sequence is discovered using a non-sequential initial trace.
- Physical optics propagation with "Gausslet" tracing and beam decomposition
- Nice visualisation of the traced result
- Live update to the traced result as the user adjusts the model
Expand Down
4 changes: 4 additions & 0 deletions doc/source/ray_sources.rst
Expand Up @@ -5,6 +5,10 @@ Ray sources generate the input rays for the model. The Ray-source objects also h
:py:attr:`traced_rays` attribute, as a list of :py:class:`RayCollection` objects. Each item in this list represents one "generation"
of rays.

Ray sources have a :py:attr:`sequential` attribute. When set True, the source will be traced sequentially using a pre-defined list of surfaces.
If no list of surfaces exists, the trace will default to the usual non-sequential mode and the surface-sequence obtained by this trace
will be stored for use in subsequent sequential traces. The stored sequence can be cleared by assigning to the :py:attr:`clear_sequence` event-trait.

Ray source classes are subclasses of :py:class:`raypier.sources.BaseRaySource`. Besides generating the :py:attr:`input_rays` (a :py:class:`RayCollection`
instance) attribute as the input to the model, and holding the trace results in the :py:attr:`traced_rays` member, the source
objects also control the visualisation of the rays. The following visualisation-related attributes are available.
Expand Down

0 comments on commit c961b63

Please sign in to comment.