Raypier - A Non-sequential optical ray-tracing framework
Raypier is a non-sequential ray-tracing framework for modelling optical systems. Its main features are:
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
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)
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, ellipsoidal mirrors, prisms
STEP model/trace export for integration with external CAD systems
There are still a few “big” features missing:
The documentation is not comprehensive (yet).
Requirements
Raypier requires:
python-3.6 (older versions work on 2.7)
numpy
scipy
traits / traitsui
Cython
Mayavi (for TVTK) / VTK
(Optionally) PythonOCC - for STEP export
(Optionally) Chaco / Enable - for integrating line-plots into the UI
Installation
The best way to install and run Raypier is using a Conda environment.
Install miniconda (or the full Anaconda distribution)
Create a fresh conda-environment using the environment.yml file included in this raypier repo.
Metadata
Release files for raypier 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| raypier-0.2.3.tar.gz | 1.4 MB | Details |
Release files / raypier-0.2.3.tar.gz
| Download URL | raypier-0.2.3.tar.gz |
|---|---|
| Size | 1.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e7813e835f29cc4ffab4332785e1ccb49148c7433895a0fbd0f15dcaf2b4eb7a
|
|
BLAKE2b-256 checksum How to use checksums |
82ed36a83491e8d97f3f225897efcedbc2be2352dd786bed11d92b5a6f070800
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0.post20201009 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9
|